From 52c06182eb21c293e7fd3498799da9f7d20b3341 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Fri, 17 Apr 2020 21:10:24 +0800 Subject: [PATCH] nix-prefetch: 0.3.0 -> 0.3.1 (#85367) * nix-prefetch: 0.3.0 -> 0.3.1 * nix-prefetch: date in man page * nix-prefetch: use UTC --- .../nix-prefetch/default.nix | 79 ++++++++++--------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/pkgs/tools/package-management/nix-prefetch/default.nix b/pkgs/tools/package-management/nix-prefetch/default.nix index 19a40b7395fa6b..1a750da6930158 100644 --- a/pkgs/tools/package-management/nix-prefetch/default.nix +++ b/pkgs/tools/package-management/nix-prefetch/default.nix @@ -1,67 +1,74 @@ -{ stdenv, fetchFromGitHub, makeWrapper -, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt -, coreutils, gawk, gnugrep, gnused, jq, nix }: +{ stdenv, fetchFromGitHub, installShellFiles, makeWrapper, asciidoc +, docbook_xml_dtd_45, git, docbook_xsl, libxml2, libxslt, coreutils, gawk +, gnugrep, gnused, jq, nix }: -stdenv.mkDerivation rec { +let + binPath = stdenv.lib.makeBinPath [ coreutils gawk git gnugrep gnused jq nix ]; + +in stdenv.mkDerivation rec { pname = "nix-prefetch"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "msteen"; repo = "nix-prefetch"; rev = version; - sha256 = "0b9gdi7xzmfq0j258x724xsll8gi31m0m4pzfjkqinlm6zwr3sgm"; + sha256 = "15h6f743nn6sdq8l771sjxh92cyzqznkcs7szrc7nm066xvx8rd4"; + # the stat call has to be in a subshell or we get the current date + extraPostFetch = '' + echo $(stat -c %Y $out) > $out/.timestamp + ''; }; + postPatch = '' + lib=$out/lib/${pname} + + substituteInPlace doc/nix-prefetch.1.asciidoc \ + --subst-var-by version $version + + substituteInPlace src/main.sh \ + --subst-var-by lib $lib \ + --subst-var-by version $version + + substituteInPlace src/tests.sh \ + --subst-var-by bin $out/bin + ''; + nativeBuildInputs = [ + asciidoc + docbook_xml_dtd_45 + docbook_xsl + installShellFiles + libxml2 + libxslt makeWrapper - asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt ]; - configurePhase = '' - . configure.sh - ''; + dontConfigure = true; buildPhase = '' - a2x -f manpage doc/nix-prefetch.1.asciidoc + a2x -a revdate=$(date --utc --date=@$(cat $src/.timestamp) +%d/%m/%Y) \ + -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 + install -Dm555 -t $lib src/*.sh + install -Dm444 -t $lib lib/* makeWrapper $lib/main.sh $out/bin/${pname} \ - --prefix PATH : '${stdenv.lib.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 + --prefix PATH : ${binPath} - 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" + installManPage doc/nix-prefetch.? - 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 + installShellCompletion --name ${pname} contrib/nix-prefetch-completion.{bash,zsh} mkdir -p $out/share/doc/${pname}/contrib - cp -r contrib/hello_rs $out/share/doc/${pname}/contrib/ + cp -r contrib/hello_rs $out/share/doc/${pname}/contrib ''; meta = with stdenv.lib; { 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; + inherit (src.meta) homepage; }; }