about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2019-02-21 09:48:49 +0000
committerGitHub <noreply@github.com>2019-02-21 09:48:49 +0000
commitecfcf8bdf0f21ca0ca5e7407d597b4831014df48 (patch)
tree7375361976e72308a05f8f44963c47a1adcde422 /pkgs/tools
parent0b91fa43e40c121ff4682256aa46a425c984da6c (diff)
parentb0ec4c1fd3c34235826e81cbeeceef4a7ddfefa7 (diff)
downloadnixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar.gz
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar.bz2
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar.lz
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar.xz
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.tar.zst
nixlib-ecfcf8bdf0f21ca0ca5e7407d597b4831014df48.zip
Merge pull request #53878 from msteen/nix-prefetch
nix-prefetch: init at 0.1.0
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/package-management/nix-prefetch/default.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/nix-prefetch/default.nix b/pkgs/tools/package-management/nix-prefetch/default.nix
new file mode 100644
index 000000000000..96a283a8ea8a
--- /dev/null
+++ b/pkgs/tools/package-management/nix-prefetch/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt
+, coreutils, gawk, gnugrep, gnused, jq, nix }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "nix-prefetch";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "msteen";
+    repo = "nix-prefetch";
+    rev = "f9507a655651b51f3a3ebacde85bb40758853615";
+    sha256 = "0ykrbvbwwpz348424yy2452idgw8dffi3klh7n85n96dfflyyd4s";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
+  ];
+
+  configurePhase = ''
+    . configure.sh
+  '';
+
+  buildPhase = ''
+    a2x -f manpage doc/nix-prefetch.1.asciidoc
+  '';
+
+  installPhase = ''
+    lib=$out/lib/${pname}
+    mkdir -p $lib
+    substitute src/main.sh $lib/main.sh \
+      --subst-var-by lib $lib \
+      --subst-var-by version '${version}'
+    chmod +x $lib/main.sh
+    patchShebangs $lib/main.sh
+    cp lib/*.nix $lib/
+
+    mkdir -p $out/bin
+    makeWrapper $lib/main.sh $out/bin/${pname} \
+      --prefix PATH : '${makeBinPath [ coreutils gawk gnugrep gnused jq nix ]}'
+
+    substitute src/tests.sh $lib/tests.sh \
+      --subst-var-by bin $out/bin
+    chmod +x $lib/tests.sh
+    patchShebangs $lib/tests.sh
+
+    mkdir -p $out/share/man/man1
+    substitute doc/nix-prefetch.1 $out/share/man/man1/nix-prefetch.1 \
+      --subst-var-by version '${version}' \
+      --replace '01/01/1970' "$date"
+
+    install -D contrib/nix-prefetch-completion.bash $out/share/bash-completion/completions/nix-prefetch
+    install -D contrib/nix-prefetch-completion.zsh $out/share/zsh/site-functions/_nix_prefetch
+
+    mkdir $out/contrib
+    cp -r contrib/hello_rs $out/contrib/
+  '';
+
+  meta = {
+    description = "Prefetch any fetcher function call, e.g. package sources";
+    homepage = https://github.com/msteen/nix-prefetch;
+    license = licenses.mit;
+    maintainers = with maintainers; [ msteen ];
+    platforms = platforms.all;
+  };
+}