From 92020850688cfb2f4af79f19a93f372578d56807 Mon Sep 17 00:00:00 2001 From: Linnnus Date: Tue, 17 Oct 2023 00:10:35 +0200 Subject: Install noweb --- home/default.nix | 1 + home/noweb/default.nix | 8 ++++++++ overlays/default.nix | 13 ++++++++++++ overlays/noweb-no-unnecessary-cflags.patch | 33 ++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 home/noweb/default.nix create mode 100644 overlays/noweb-no-unnecessary-cflags.patch diff --git a/home/default.nix b/home/default.nix index 8184382..8a813cb 100644 --- a/home/default.nix +++ b/home/default.nix @@ -22,6 +22,7 @@ ./git ./dev-utils ./iterm2 + ./noweb ] ++ builtins.attrValues flakeOutputs.homeModules; diff --git a/home/noweb/default.nix b/home/noweb/default.nix new file mode 100644 index 0000000..b7019d4 --- /dev/null +++ b/home/noweb/default.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + home.packages = with pkgs; [noweb texlive.combined.scheme-small]; + + # Prepend nowebs STY files to the search path. I chose to do it globally, + # rather than using `makeWrapper` because I sometimes want to manually invoke + # `pdflatex` and the like on the output of `nowave`. + home.sessionVariables.TEXINPUTS = "${pkgs.noweb.tex}/tex/latex/noweb/:$TEXINPUTS"; +} diff --git a/overlays/default.nix b/overlays/default.nix index d6ec47c..b87fbfb 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -18,5 +18,18 @@ (old.env.NIX_CFLAGS_COMPILE or "") + (final.lib.strings.optionalString (final.stdenv.cc.isGNU or false) " -Wno-maybe-uninitialized"); }); + + # Use newest version. + noweb = prev.noweb.overrideAttrs (old: rec { + version = "2_13rc3"; + src = final.fetchFromGitHub { + owner = "nrnrnr"; + repo = "noweb"; + rev = "v${builtins.replaceStrings ["."] ["_"] version}"; + sha256 = "COcWyrYkheRaSr2gqreRRsz9SYRTX2PSl7km+g98ljs="; + }; + # Have to discard old patches as the no longer apply cleanly. + patches = [./noweb-no-unnecessary-cflags.patch]; + }); }; } diff --git a/overlays/noweb-no-unnecessary-cflags.patch b/overlays/noweb-no-unnecessary-cflags.patch new file mode 100644 index 0000000..8c43653 --- /dev/null +++ b/overlays/noweb-no-unnecessary-cflags.patch @@ -0,0 +1,33 @@ +diff --git a/src/c/Makefile b/src/c/Makefile +index 5d06b69..ee975d0 100644 +--- a/c/Makefile ++++ b/c/Makefile +@@ -45,22 +45,22 @@ CPIF=> + all: nt markup mnt finduses nwmktemp + + nt: $(TANGLEOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TANGLEOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(TANGLEOBJS) + + markup: $(MARKUPOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(MARKUPOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(MARKUPOBJS) + + mnt: $(MNTOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(MNTOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(MNTOBJS) + + finduses: $(FINDUSESOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FINDUSESOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(FINDUSESOBJS) + + nwmktemp: $(NWMKTEMPOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(NWMKTEMPOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(NWMKTEMPOBJS) + + fakepretty: $(FPOBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FPOBJS) ++ $(CC) $(LDFLAGS) -o $@ $(FPOBJS) + + source: $(SRCS) + touch: $(SRCS) -- cgit v1.2.3