about summary refs log tree commit diff
path: root/pkgs/tools/misc/most
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2021-11-03 08:17:39 +0000
committerSergei Trofimovich <slyich@gmail.com>2021-11-03 08:19:04 +0000
commit7eaf05af307861a348bdada0645c425fac595d15 (patch)
treed117412e9447a508955cf12fb43fae23afdab13a /pkgs/tools/misc/most
parent5373418b446b0d71946ec086daa6baf68409a0cd (diff)
most: enable parallel building
Diffstat (limited to 'pkgs/tools/misc/most')
-rw-r--r--pkgs/tools/misc/most/default.nix7
-rw-r--r--pkgs/tools/misc/most/parallel-make.patch18
2 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index de2118083d984..2073e066ae73e 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "008537ns659pw2aag15imwjrxj73j26aqq90h285is6kz8gmv06v";
   };
 
+  patches = [
+    # Upstream patch to fix parallel build failure
+    ./parallel-make.patch
+  ];
+
   outputs = [ "out" "doc" ];
 
   makeFlags = [
@@ -26,6 +31,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ slang ncurses ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "A terminal pager similar to 'more' and 'less'";
     longDescription = ''
diff --git a/pkgs/tools/misc/most/parallel-make.patch b/pkgs/tools/misc/most/parallel-make.patch
new file mode 100644
index 0000000000000..07c2e47c673e3
--- /dev/null
+++ b/pkgs/tools/misc/most/parallel-make.patch
@@ -0,0 +1,18 @@
+Upstream commit c9cfad50a ("src/Makefile.in: Avoid a race condition
+when performing a parallel build")
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -54,6 +54,12 @@ COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) -DMOST_SYSTEM_INITFILE='"$(SYS_INITFILE)"'
+ all: $(EXEC)
+ $(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC)
+ 	@echo $(EXEC) created in $(OBJDIR)
++
++# C source files include autogenrated "config.h". Make sure
++# it's available before the compilation. Pessimistically assume
++# any source file can depend on "config.h".
++$(OBJS) $(OBJDIR)/chkslang.o: $(CONFIG_H)
++
+ $(OBJDIR)/$(EXEC): $(OBJS)
+ 	cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS)
+ #