about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authormaxice8 <thinkabit.ukim@gmail.com>2022-03-07 23:53:33 -0300
committerYt <raphael@megzari.com>2022-03-22 09:23:25 -0400
commit55381a3ce18de3bc60f38990b5f3c7ddef5e6075 (patch)
treebab9bca07e1d420ac05bb4163c70f6d6ae35ffa3 /pkgs/development/tools
parent6d5d2d8803e79e75d684e8d15bb8082e2d91ac65 (diff)
downloadnixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar.gz
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar.bz2
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar.lz
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar.xz
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.tar.zst
nixlib-55381a3ce18de3bc60f38990b5f3c7ddef5e6075.zip
abuild: 3.7.0 -> 3.9.0
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/abuild/default.nix40
1 files changed, 37 insertions, 3 deletions
diff --git a/pkgs/development/tools/abuild/default.nix b/pkgs/development/tools/abuild/default.nix
index 144ec8be9d4e..a597213b866c 100644
--- a/pkgs/development/tools/abuild/default.nix
+++ b/pkgs/development/tools/abuild/default.nix
@@ -1,32 +1,48 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, makeWrapper
 , pkg-config
+, file
+, scdoc
 , openssl
 , zlib
 , busybox
+, apk-tools
+, perl
 }:
 
 stdenv.mkDerivation rec {
   pname = "abuild";
-  version = "3.7.0";
+  version = "3.9.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.alpinelinux.org";
     owner = "alpine";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1xsik9hyzzq861bi922sb5r8c6r4wpnpxz5kd30i9f20vvfpp5jx";
+    rev = version;
+    sha256 = "1zs8slaqiv8q8bim8mwfy08ymar78rqpkgqksw8y1lsjrj49fqy4";
   };
 
   buildInputs = [
     openssl
     zlib
     busybox
+    # for $out/bin/apkbuild-cpan and $out/bin/apkbuild-pypi
+    (perl.withPackages (ps: with ps; [
+      LWP
+      JSON
+      ModuleBuildTiny
+      LWPProtocolHttps
+      IPCSystemSimple
+    ]))
   ];
 
   nativeBuildInputs = [
     pkg-config
+    scdoc
+    makeWrapper
+    file
   ];
 
   patchPhase = ''
@@ -43,6 +59,24 @@ stdenv.mkDerivation rec {
     "sysconfdir=${placeholder "out"}/etc"
   ];
 
+  postInstall = ''
+    # this script requires unpackaged 'augeas' rubygem, no reason
+    # to ship it if we can't provide the dependencies for it
+    rm -f ${placeholder "out"}/bin/apkbuild-gem-resolver
+
+    # Find all executables that are not compiled binaries and wrap
+    # them, make `apk-tools` available in their PATH and also the
+    # $out directory since many of the binaries provided call into
+    # other binaries
+    for prog in \
+      $(find ${placeholder "out"}/bin -type f -exec ${file}/bin/file -i '{}' + \
+      | grep -v x-executable | cut -d : -f1); do
+      wrapProgram $prog \
+        --prefix PATH : "${lib.makeBinPath [ apk-tools ]}" \
+        --prefix PATH : "${placeholder "out"}/bin"
+    done
+  '';
+
   meta = with lib; {
     description = "Alpine Linux build tools";
     homepage = "https://gitlab.alpinelinux.org/alpine/abuild";