From 2e36e8ad73cfcdbb759e52190f52fc02eff6af0d Mon Sep 17 00:00:00 2001 From: Rick van Schijndel Date: Thu, 15 Jul 2021 22:19:54 +0200 Subject: asciidoc: support cross-compilation Be explicit in patchShebangs by suggestion of SuperSandro2000. Enable strictDeps to enforce better support in the future. --- pkgs/tools/typesetting/asciidoc/default.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'pkgs') diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index ce3b142fbc5..cc45455eeaf 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -40,6 +40,8 @@ # java is problematic on some platforms, where it is unfree , enableJava ? true + +, buildPackages }: assert enableStandardFeatures -> @@ -157,7 +159,9 @@ stdenv.mkDerivation rec { sha256 = "1clf1axkns23wfmh48xfspzsnw04pjh4mq1pshpzvj0cwxhz0yaq"; }; + strictDeps = true; nativeBuildInputs = [ python3 unzip autoreconfHook ]; + buildInputs = [ python3 ]; # install filters early, so their shebangs are patched too postPatch = with lib; '' @@ -262,7 +266,20 @@ stdenv.mkDerivation rec { -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ -i a2x.py '') + '' - patchShebangs . + patchShebangs --host \ + asciidoc.py \ + a2x.py \ + tests/testasciidoc.py \ + filters/code/code-filter.py \ + filters/latex/latex2img.py \ + filters/music/music2png.py \ + filters/unwraplatex.py \ + filters/graphviz/graphviz2png.py + + # Hardcode the path to its own asciidoc. + # This helps with cross-compilation. + substituteInPlace a2x.py \ + --replace "find_executable(ASCIIDOC)" "'${placeholder "out"}/bin/asciidoc'" # Note: this substitution will not work in the planned 10.0.0 release: # @@ -273,6 +290,10 @@ stdenv.mkDerivation rec { # --replace "python3 -m asciidoc.a2x" "python3 -m asciidoc.a2x -a revdate=01/01/1980" substituteInPlace Makefile.in \ --replace "python3 a2x.py" "python3 a2x.py -a revdate=01/01/1980" + '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + # We want to use asciidoc from the build platform to build the documentation. + substituteInPlace Makefile.in \ + --replace "python3 a2x.py" "python3 ${buildPackages.asciidoc}/bin/a2x.py" ''; preInstall = "mkdir -p $out/etc/vim"; -- cgit 1.4.1 From 982d06127188c2bc6c669b2a8982c46187c910f3 Mon Sep 17 00:00:00 2001 From: Rick van Schijndel Date: Fri, 16 Jul 2021 08:53:41 +0200 Subject: asciidoc: enable tests with doCheck --- pkgs/tools/typesetting/asciidoc/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pkgs') diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index cc45455eeaf..0618a55df44 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -290,6 +290,12 @@ stdenv.mkDerivation rec { # --replace "python3 -m asciidoc.a2x" "python3 -m asciidoc.a2x -a revdate=01/01/1980" substituteInPlace Makefile.in \ --replace "python3 a2x.py" "python3 a2x.py -a revdate=01/01/1980" + + # Fix tests + for f in $(grep -R --files-with-matches "2002-11-25") ; do + substituteInPlace $f --replace "2002-11-25" "1970-01-01" + substituteInPlace $f --replace "00:37:42" "00:00:01" + done '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' # We want to use asciidoc from the build platform to build the documentation. substituteInPlace Makefile.in \ @@ -299,6 +305,9 @@ stdenv.mkDerivation rec { preInstall = "mkdir -p $out/etc/vim"; makeFlags = lib.optional stdenv.isCygwin "DESTDIR=/."; + checkInputs = [ sourceHighlight ]; + doCheck = true; + meta = with lib; { description = "Text-based document generation system"; longDescription = '' -- cgit 1.4.1