From 7054ffd22715c8c887a07895738eac335f0e0215 Mon Sep 17 00:00:00 2001 From: Sean Krueger Date: Mon, 10 Jun 2024 16:52:13 -0500 Subject: [PATCH] Separately pin QT nixpkg version (#244) * Add missing libraries for video player * Pin qt6 package version to 6.6.3 Currently, this succesfully launches the program. Pinning qt seperatly allows the rest of unstable nixpkgs to be updated even after the qt package version has been bumped. This fixes vim failing to launch in the nix shell because of a bad gcc version. Bumping the package version to qt6.7.1 also will require bumping PySide to 6.7.1, otherwise it will fail to find qt. Qt 6.7.1 nixpkg commit is 47da0aee5616a063015f10ea593688646f2377e4 * fixup: Pin Qtcreator also QtCreator was still against nixpkgs not the specific qt variant. --- flake.lock | 25 +++++++++++++++++++++---- flake.nix | 37 ++++++++++++++++++++++++++----------- 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 5dafd370..e6a43b0b 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1712473363, - "narHash": "sha256-TIScFAVdI2yuybMxxNjC4YZ/j++c64wwuKbpnZnGiyU=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e89cf1c932006531f454de7d652163a9a5c86668", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { @@ -16,9 +16,26 @@ "type": "github" } }, + "qt6Nixpkgs": { + "locked": { + "lastModified": 1711460435, + "narHash": "sha256-Qb/J9NFk2Qemg7vTl8EDCto6p3Uf/GGORkGhTQJLj9U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f862bd46d3020bcfe7195b3dad638329271b0524", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f862bd46d3020bcfe7195b3dad638329271b0524", + "type": "github" + } + }, "root": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "qt6Nixpkgs": "qt6Nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index f827ba07..dbe54de5 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,18 @@ { - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - outputs = { self, nixpkgs, }: + qt6Nixpkgs = { + # Commit bumping to qt6.6.3 + url = "github:NixOS/nixpkgs/f862bd46d3020bcfe7195b3dad638329271b0524"; + }; + }; + + outputs = { self, nixpkgs, qt6Nixpkgs }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; + + qt6Pkgs = qt6Nixpkgs.legacyPackages.x86_64-linux; in { devShells.x86_64-linux.default = pkgs.mkShell { LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ @@ -17,19 +26,19 @@ pkgs.xorg.libxcb pkgs.freetype pkgs.dbus - pkgs.qt6.qtwayland - pkgs.qt6.full - pkgs.qt6.qtbase pkgs.zstd + # For PySide6 Multimedia + pkgs.libpulseaudio + pkgs.libkrb5 + + qt6Pkgs.qt6.qtwayland + qt6Pkgs.qt6.full + qt6Pkgs.qt6.qtbase ]; buildInputs = with pkgs; [ cmake gdb zstd - qt6.qtbase - qt6.full - qt6.qtwayland - qtcreator python312Packages.pip python312Full python312Packages.virtualenv # run virtualenv . @@ -49,11 +58,17 @@ fontconfig xorg.libxcb - # this is for the shellhook portion - qt6.wrapQtAppsHook makeWrapper bashInteractive + ] ++ [ + qt6Pkgs.qt6.qtbase + qt6Pkgs.qt6.full + qt6Pkgs.qt6.qtwayland + qt6Pkgs.qtcreator + + # this is for the shellhook portion + qt6Pkgs.qt6.wrapQtAppsHook ]; # set the environment variables that Qt apps expect shellHook = ''