Skip to content

cabal2nix: map 'x11' pkg-config dependency to 'libX11', not 'xlibsWra…#589

Merged
sternenseemann merged 1 commit intoNixOS:masterfrom
trofi:cabal2nix-without-xlibsWrapper
Dec 8, 2022
Merged

cabal2nix: map 'x11' pkg-config dependency to 'libX11', not 'xlibsWra…#589
sternenseemann merged 1 commit intoNixOS:masterfrom
trofi:cabal2nix-without-xlibsWrapper

Conversation

@trofi
Copy link
Copy Markdown
Contributor

@trofi trofi commented Dec 6, 2022

…pper'

There are only 3 packages that use xlibsWrapper as a provider of x11 pkg-config input. Thes are: gi-xlib, greenclip, gtk-traymanager.

There should be no reason to use transitional xlibsWrapper package.

…pper'

There are only 3 packages that use `xlibsWrapper` as a provider of `x11`
`pkg-config` input. Thes are: `gi-xlib`, `greenclip`, `gtk-traymanager`.

There should be no reason to use transitional `xlibsWrapper` package.
@sternenseemann
Copy link
Copy Markdown
Member

Can you post the diff of regenerating hackage-packages.nix here with this patch applied? You do this by running env HACKAGE2NIX=/path/to/local/build ./maintainers/scripts/haskell/regenerate-hackage-packages.nix in nixpkgs. Additionally it'd be great if you could check that the changed expressions still compile.

@trofi
Copy link
Copy Markdown
Contributor Author

trofi commented Dec 8, 2022

Had to modify the command slightly: env HACKAGE2NIX=$dev/cabal2nix/.../hackage2nix distribution_nixpkgs_datadir=$dev/cabal2nix/distribution-nixpkgs ./maintainers/scripts/haskell/regenerate-hackage-packages.sh

Here is the diff against master:

--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1,4 +1,4 @@
-/* hackage-packages.nix is an auto-generated file -- DO NOT EDIT! */
+/* hackage-packages.nix is auto-generated by hackage2nix -- DO NOT EDIT MANUALLY! */

 { pkgs, lib, callPackage }:

@@ -113358,8 +113358,8 @@ self: {

   "gi-xlib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     , xlibsWrapper
+     , haskell-gi-base, haskell-gi-overloading, libX11, text
+     , transformers
      }:
      mkDerivation {
        pname = "gi-xlib";
@@ -113370,10 +113370,10 @@ self: {
          base bytestring containers haskell-gi haskell-gi-base
          haskell-gi-overloading text transformers
        ];
-       libraryPkgconfigDepends = [ xlibsWrapper ];
+       libraryPkgconfigDepends = [ libX11 ];
        description = "xlib bindings";
        license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) xlibsWrapper;};
+     }) {inherit (pkgs.xorg) libX11;};

   "giak" = callPackage
     ({ mkDerivation, async, base, bytestring, Cabal, containers
@@ -120725,9 +120725,8 @@ self: {

   "greenclip" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, exceptions
-     , hashable, libXau, libXScrnSaver, microlens, microlens-mtl
+     , hashable, libX11, libXau, libXScrnSaver, microlens, microlens-mtl
      , protolude, text, tomland, unix, vector, wordexp, X11, xcb, xdmcp
-     , xlibsWrapper
      }:
      mkDerivation {
        pname = "greenclip";
@@ -120740,13 +120739,13 @@ self: {
          microlens-mtl protolude text tomland unix vector wordexp X11
        ];
        executablePkgconfigDepends = [
-         libXau libXScrnSaver xcb xdmcp xlibsWrapper
+         libX11 libXau libXScrnSaver xcb xdmcp
        ];
        description = "Simple clipboard manager to be integrated with rofi";
        license = lib.licenses.bsd3;
        mainProgram = "greenclip";
-     }) {inherit (pkgs.xorg) libXScrnSaver; inherit (pkgs.xorg) libXau;
-         xcb = null; xdmcp = null; inherit (pkgs) xlibsWrapper;};
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXScrnSaver;
+         inherit (pkgs.xorg) libXau; xcb = null; xdmcp = null;};

   "greg-client" = callPackage
     ({ mkDerivation, base, binary, bytestring, clock, hostname, network
@@ -121974,16 +121973,16 @@ self: {
      }) {};

   "gtk-traymanager" = callPackage
-    ({ mkDerivation, base, glib, gtk3, xlibsWrapper }:
+    ({ mkDerivation, base, glib, gtk3, libX11 }:
      mkDerivation {
        pname = "gtk-traymanager";
        version = "1.0.1";
        sha256 = "0vc1gwhg5l7l5iqb1i3zwd1bsy8fxsiwkwzza7j15zi07f97k7di";
        libraryHaskellDepends = [ base glib gtk3 ];
-       libraryPkgconfigDepends = [ xlibsWrapper ];
+       libraryPkgconfigDepends = [ libX11 ];
        description = "A wrapper around the eggtraymanager library for Linux system trays";
        license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) xlibsWrapper;};
+     }) {inherit (pkgs.xorg) libX11;};

   "gtk2hs-buildtools" = callPackage
     ({ mkDerivation, alex, array, base, Cabal, containers, directory
@@ -312543,7 +312542,10 @@ self: {
        description = "A tiling window manager";
        license = lib.licenses.bsd3;
        mainProgram = "xmonad";
-       maintainers = [ lib.maintainers.peti ];
+       maintainers = [
+         lib.maintainers.dschrempf lib.maintainers.ivanbrennan
+         lib.maintainers.peti
+       ];
      }) {};

   "xmonad-bluetilebranch" = callPackage
@@ -312589,7 +312591,10 @@ self: {
        ];
        description = "Community-maintained extensions for xmonad";
        license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.peti ];
+       maintainers = [
+         lib.maintainers.dschrempf lib.maintainers.ivanbrennan
+         lib.maintainers.peti
+       ];
      }) {};

   "xmonad-contrib-bluetilebranch" = callPackage

nix build --no-link -f. haskellPackages.gi-xlib haskellPackages.gtk-traymanager haskellPackages.greenclip built all 3 packages successfully.

@sternenseemann
Copy link
Copy Markdown
Member

distribution_nixpkgs_datadir=$dev/cabal2nix/distribution-nixpkgs

Right, that is a good reminder, I need to remember to add that bit back to the shell.nix we have in here.

built all 3 packages successfully

great!

@sternenseemann sternenseemann merged commit 0c1eeff into NixOS:master Dec 8, 2022
@sternenseemann
Copy link
Copy Markdown
Member

NixOS/nixpkgs@5bc95ac

@trofi trofi deleted the cabal2nix-without-xlibsWrapper branch December 8, 2022 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants