nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
fork

Configure Feed

Select the types of activity you want to include in your feed.

git-annex: adjust for 10.20250320

- git-annex now supports either filepath-bytestring or filepath (>=
1.5.2) with the new OsPath API. For GHC 9.8, we have too stick to
filepath-bytestring and manually disable the OsPath flag. However,
we can already support building git-annex with GHC 9.10 and implement
our overrides in a future proof way.

Due to code changes relating to OsPath, our patch has to be rebased.

- The Utility.* modules gain a few dependencies, but for modules that
aren't used in Setup.hs. Consequently, our approach of reusing the
setup package db in GHC for the installer tool managed by the
git-annex Makefile is no longer enough.

+48 -31
+34 -26
pkgs/development/haskell-modules/configuration-common.nix
··· 463 463 464 464 # The Hackage tarball is purposefully broken, because it's not intended to be, like, useful. 465 465 # https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/ 466 - git-annex = overrideCabal (drv: { 467 - src = pkgs.fetchgit { 468 - name = "git-annex-${super.git-annex.version}-src"; 469 - url = "git://git-annex.branchable.com/"; 470 - rev = "refs/tags/" + super.git-annex.version; 471 - sha256 = "08k0qlx97j0c7vx07nwhzwxb2rxcnzwzlg2x3j01cx033vwch8hq"; 472 - # delete android and Android directories which cause issues on 473 - # darwin (case insensitive directory). Since we don't need them 474 - # during the build process, we can delete it to prevent a hash 475 - # mismatch on darwin. 476 - postFetch = '' 477 - rm -r $out/doc/?ndroid* 478 - ''; 479 - }; 466 + git-annex = lib.pipe super.git-annex ( 467 + [ 468 + (overrideCabal (drv: { 469 + src = pkgs.fetchgit { 470 + name = "git-annex-${super.git-annex.version}-src"; 471 + url = "git://git-annex.branchable.com/"; 472 + rev = "refs/tags/" + super.git-annex.version; 473 + sha256 = "18n6ah4d5i8qhx1s95zsb8bg786v0nv9hcjyxggrk88ya77maxha"; 474 + # delete android and Android directories which cause issues on 475 + # darwin (case insensitive directory). Since we don't need them 476 + # during the build process, we can delete it to prevent a hash 477 + # mismatch on darwin. 478 + postFetch = '' 479 + rm -r $out/doc/?ndroid* 480 + ''; 481 + }; 480 482 481 - patches = drv.patches or [ ] ++ [ 482 - # Prevent .desktop files from being installed to $out/usr/share. 483 - # TODO(@sternenseemann): submit upstreamable patch resolving this 484 - # (this should be possible by also taking PREFIX into account). 485 - ./patches/git-annex-no-usr-prefix.patch 486 - ]; 483 + patches = drv.patches or [ ] ++ [ 484 + # Prevent .desktop files from being installed to $out/usr/share. 485 + # TODO(@sternenseemann): submit upstreamable patch resolving this 486 + # (this should be possible by also taking PREFIX into account). 487 + ./patches/git-annex-no-usr-prefix.patch 488 + ]; 487 489 488 - postPatch = '' 489 - substituteInPlace Makefile \ 490 - --replace-fail 'InstallDesktopFile $(PREFIX)/bin/git-annex' \ 491 - 'InstallDesktopFile git-annex' 492 - ''; 493 - }) super.git-annex; 490 + postPatch = '' 491 + substituteInPlace Makefile \ 492 + --replace-fail 'InstallDesktopFile $(PREFIX)/bin/git-annex' \ 493 + 'InstallDesktopFile git-annex' 494 + ''; 495 + })) 496 + ] 497 + ++ lib.optionals (lib.versionOlder self.ghc.version "9.10") [ 498 + (disableCabalFlag "OsPath") 499 + (addBuildDepends [ self.filepath-bytestring ]) 500 + ] 501 + ); 494 502 495 503 # Too strict bounds on servant 496 504 # Pending a hackage revision: https://github.com/berberman/arch-web/commit/5d08afee5b25e644f9e2e2b95380a5d4f4aa81ea#commitcomment-89230555
+9
pkgs/development/haskell-modules/configuration-nix.nix
··· 851 851 executableSystemDepends = runtimeExecDeps; 852 852 enableSharedExecutables = false; 853 853 854 + # Unnecessary for Setup.hs, but we reuse the setup package db 855 + # for the installation utilities. 856 + setupHaskellDepends = drv.setupHaskellDepends or [ ] ++ [ 857 + self.buildHaskellPackages.unix-compat 858 + self.buildHaskellPackages.IfElse 859 + self.buildHaskellPackages.QuickCheck 860 + self.buildHaskellPackages.data-default 861 + ]; 862 + 854 863 preConfigure = 855 864 drv.preConfigure or "" 856 865 + ''
+5 -5
pkgs/development/haskell-modules/patches/git-annex-no-usr-prefix.patch
··· 2 2 index 896b89b991..6cbb4f90ae 100644 3 3 --- a/Utility/FreeDesktop.hs 4 4 +++ b/Utility/FreeDesktop.hs 5 - @@ -112,7 +112,7 @@ desktopfile f = f ++ ".desktop" 5 + @@ -106,7 +106,7 @@ desktopfile f = toOsPath $ f ++ ".desktop" 6 6 7 7 {- Directory used for installation of system wide data files.. -} 8 - systemDataDir :: FilePath 9 - -systemDataDir = "/usr/share" 10 - +systemDataDir = "/share" 8 + systemDataDir :: OsPath 9 + -systemDataDir = literalOsPath "/usr/share" 10 + +systemDataDir = literalOsPath "/share" 11 11 12 12 {- Directory used for installation of system wide config files. -} 13 - systemConfigDir :: FilePath 13 + systemConfigDir :: OsPath