summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2023-10-17 00:10:35 +0200
committerLinnnus <[email protected]>2023-10-17 00:10:35 +0200
commit92020850688cfb2f4af79f19a93f372578d56807 (patch)
tree15c26cc79311fd2c39fb22c520ead0a5eb80134a
parentbbde1a5fa77da35065ab548ff4bd14e39f33f753 (diff)
Install noweb
-rw-r--r--home/default.nix1
-rw-r--r--home/noweb/default.nix8
-rw-r--r--overlays/default.nix13
-rw-r--r--overlays/noweb-no-unnecessary-cflags.patch33
4 files changed, 55 insertions, 0 deletions
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)