nixpkgs/pkgs/by-name/nu/nuweb/package.nix
Anderson Torres f0e64ce16f treewide: migrate packages maintained by AndersonTorres to by-name
Manual migration for the sake of by-name migration is no longer discouraged
since #340235.
2024-09-16 14:26:47 -03:00

47 lines
1.4 KiB
Nix

{lib, stdenv, fetchurl, texliveMedium}:
stdenv.mkDerivation rec {
pname = "nuweb";
version = "1.62";
src = fetchurl {
url = "mirror://sourceforge/project/nuweb/${pname}-${version}.tar.gz";
sha256 = "sha256-JVqPYkYPXBT0xLNWuW4DV6N6ZlKuBYQGT46frhnpU64=";
};
buildInputs = [ texliveMedium ];
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 = "Simple literate programming tool";
mainProgram = "nuweb";
homepage = "https://nuweb.sourceforge.net";
license = licenses.free;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}
# TODO: nuweb.el Emacs integration