nixpkgs/pkgs/development/tools/literate-programming/nuweb/default.nix
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00

46 lines
1.3 KiB
Nix

{lib, stdenv, fetchurl, tex}:
stdenv.mkDerivation rec {
pname = "nuweb";
version = "1.62";
src = fetchurl {
url = "mirror://sourceforge/project/nuweb/${pname}-${version}.tar.gz";
sha256 = "sha256-JVqPYkYPXBT0xLNWuW4DV6N6ZlKuBYQGT46frhnpU64=";
};
buildInputs = [ tex ];
patchPhase = ''
sed -ie 's|nuweb -r|./nuweb -r|' Makefile
'';
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: global.o:/build/nuweb-1.62/global.h:91: multiple definition of
# `current_sector'; main.o:/build/nuweb-1.62/global.h:91: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
buildPhase = ''
make nuweb
make nuweb.pdf nuwebdoc.pdf all
'';
installPhase = ''
install -d $out/bin $out/share/man/man1 $out/share/doc/${pname}-${version} $out/share/emacs/site-lisp
cp nuweb $out/bin
cp nuweb.el $out/share/emacs/site-lisp
gzip -c nuweb.1 > $out/share/man/man1/nuweb.1.gz
cp htdocs/index.html nuweb.w nuweb.pdf nuwebdoc.pdf README $out/share/doc/${pname}-${version}
'';
meta = with lib; {
description = "A simple literate programming tool";
homepage = "https://nuweb.sourceforge.net";
license = licenses.free;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}
# TODO: nuweb.el Emacs integration