From 843dca38b836801f153d43669d2f95852d6aa637 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Mon, 27 Sep 2021 13:38:32 +0200 Subject: [PATCH] fdtools: pin to older skalibs version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fdtools hasn’t caught up with skalibs yet. We also add a revdep test that alerts us in the future if a skalibs bumb breaks fdtools again. --- .../skaware/build-skaware-package.nix | 5 ++- pkgs/development/libraries/skalibs/2_10.nix | 31 +++++++++++++++++++ .../development/libraries/skalibs/default.nix | 8 ++++- pkgs/tools/misc/fdtools/default.nix | 9 ++++-- pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/libraries/skalibs/2_10.nix diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix index a186f9bfe72..50d83f2ffff 100644 --- a/pkgs/build-support/skaware/build-skaware-package.nix +++ b/pkgs/build-support/skaware/build-skaware-package.nix @@ -22,7 +22,8 @@ , postInstall # : list Maintainer , maintainers ? [] - + # : passtrhu arguments (e.g. tests) +, passthru ? {} }: @@ -108,4 +109,6 @@ in stdenv.mkDerivation { [ pmahoney Profpatsch qyliss ] ++ maintainers; }; + inherit passthru; + } diff --git a/pkgs/development/libraries/skalibs/2_10.nix b/pkgs/development/libraries/skalibs/2_10.nix new file mode 100644 index 00000000000..af4c04dab1e --- /dev/null +++ b/pkgs/development/libraries/skalibs/2_10.nix @@ -0,0 +1,31 @@ +{ skawarePackages }: + +skawarePackages.buildPackage { + pname = "skalibs"; + version = "2.10.0.3"; + sha256 = "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p"; + + description = "A set of general-purpose C programming libraries"; + + outputs = [ "lib" "dev" "doc" "out" ]; + + configureFlags = [ + # assume /dev/random works + "--enable-force-devr" + "--libdir=\${lib}/lib" + "--dynlibdir=\${lib}/lib" + "--includedir=\${dev}/include" + "--sysdepdir=\${lib}/lib/skalibs/sysdeps" + # Empty the default path, which would be "/usr/bin:bin". + # It would be set when PATH is empty. This hurts hermeticity. + "--with-default-path=" + ]; + + postInstall = '' + rm -rf sysdeps.cfg + rm libskarnet.* + + mv doc $doc/share/doc/skalibs/html + ''; + +} diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix index a896b5cf2f8..7e3e457d503 100644 --- a/pkgs/development/libraries/skalibs/default.nix +++ b/pkgs/development/libraries/skalibs/default.nix @@ -1,4 +1,4 @@ -{ skawarePackages }: +{ skawarePackages, pkgs }: with skawarePackages; @@ -30,4 +30,10 @@ buildPackage { mv doc $doc/share/doc/skalibs/html ''; + passthru.tests = { + # fdtools is one of the few non-skalib packages that depends on skalibs + # and might break if skalibs gets an breaking update. + fdtools = pkgs.fdtools; + }; + } diff --git a/pkgs/tools/misc/fdtools/default.nix b/pkgs/tools/misc/fdtools/default.nix index e9efd66b2f1..f55c7f6d3b3 100644 --- a/pkgs/tools/misc/fdtools/default.nix +++ b/pkgs/tools/misc/fdtools/default.nix @@ -2,8 +2,10 @@ let pname = "fdtools"; + # When you update, check whether we can drop the skalibs pin. version = "2020.05.04"; sha256 = "0lnafcp4yipi0dl8gh33zjs8wlpz0mim8mwmiz9s49id0b0fmlla"; + skalibs = skawarePackages.skalibs_2_10; in stdenv.mkDerivation { inherit pname version; @@ -16,7 +18,10 @@ in stdenv.mkDerivation { patches = [ ./new-skalibs.patch ]; outputs = [ "bin" "lib" "dev" "doc" "out" ]; - buildInputs = [ skawarePackages.skalibs ]; + buildInputs = [ + # temporary, until fdtools catches up to skalibs + skalibs + ]; configurePhase = '' cd ${pname}-${version} @@ -27,7 +32,7 @@ in stdenv.mkDerivation { conf-compile/defaults/host_compile.sh \ > conf-compile/host_compile.sh - echo "${skawarePackages.skalibs.lib}/lib/skalibs/sysdeps" \ + echo "${skalibs.lib}/lib/skalibs/sysdeps" \ > conf-compile/depend_skalibs_sysdeps ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 07d3333cd23..f3855b7e04c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18948,6 +18948,7 @@ with pkgs; skaffold = callPackage ../development/tools/skaffold { }; skalibs = skawarePackages.skalibs; + skalibs_2_10 = skawarePackages.skalibs_2_10; skawarePackages = recurseIntoAttrs rec { cleanPackaging = callPackage ../build-support/skaware/clean-packaging.nix { }; @@ -18957,6 +18958,7 @@ with pkgs; buildManPages = callPackage ../build-support/skaware/build-skaware-man-pages.nix { }; skalibs = callPackage ../development/libraries/skalibs { }; + skalibs_2_10 = callPackage ../development/libraries/skalibs/2_10.nix { }; execline = callPackage ../tools/misc/execline { }; execline-man-pages = callPackage ../data/documentation/execline-man-pages {