about summary refs log tree commit diff
path: root/pkgs/by-name/di
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-27 19:27:00 +0200
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-28 18:07:35 +0200
commitf128c2a5a764b1cb0098efc9c3735c0dccb582ae (patch)
tree9b3d4b9e3bea4fb8ff08582acc90108793b9e210 /pkgs/by-name/di
parentc3d06f4d2163fbd7588dccc3176d41f098a1ce62 (diff)
disarchive: rename from guile-disarchive, fix program
Diffstat (limited to 'pkgs/by-name/di')
-rw-r--r--pkgs/by-name/di/disarchive/package.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/by-name/di/disarchive/package.nix b/pkgs/by-name/di/disarchive/package.nix
new file mode 100644
index 0000000000000..9bc24e531552d
--- /dev/null
+++ b/pkgs/by-name/di/disarchive/package.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, lib
+, fetchurl
+, guile
+, autoreconfHook
+, guile-gcrypt
+, guile-lzma
+, guile-quickcheck
+, makeWrapper
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "disarchive";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "https://files.ngyro.com/disarchive/disarchive-${version}.tar.gz";
+    hash = "sha256-Agt7v5HTpaskXuYmMdGDRIolaqCHUpwd/CfbZCe9Ups=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    guile
+    guile-gcrypt
+    guile-lzma
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    guile
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    guile-gcrypt
+    guile-lzma
+  ];
+
+  doCheck = !stdenv.isDarwin;
+
+  nativeCheckInputs = [
+    guile-quickcheck
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/disarchive \
+      --prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
+      --prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
+  '';
+
+  meta = with lib; {
+    description = "Disassemble software into data and metadata";
+    homepage = "https://ngyro.com/software/disarchive.html";
+    license = licenses.gpl3Plus;
+    mainProgram = "disarchive";
+    maintainers = with maintainers; [ foo-dogsquared ];
+    platforms = guile.meta.platforms;
+  };
+}