summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-06-08 14:53:16 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-08 14:53:16 +0200
commit091eb323ba2787ce64a1fb2796e7e06dbee6037c (patch)
tree446a869245541bd48f303caef76e4c24f6e7d0bb /gnu/packages/patches
parent05fef7bfc60058763f5a64ec0feaf3876b56281d (diff)
parent0c5299200ffcd16370f047b7ccb187c60f30da34 (diff)
downloadguix-091eb323ba2787ce64a1fb2796e7e06dbee6037c.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/clang-14.0-libc-search-path.patch21
-rw-r--r--gnu/packages/patches/irrlicht-link-against-needed-libs.patch24
-rw-r--r--gnu/packages/patches/irrlicht-use-system-libs.patch95
-rw-r--r--gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch35
-rw-r--r--gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch156
-rw-r--r--gnu/packages/patches/ncftp-reproducible.patch29
-rw-r--r--gnu/packages/patches/pigx-bsseq-no-citeproc.patch33
-rw-r--r--gnu/packages/patches/pigx-chipseq-no-citeproc.patch33
8 files changed, 87 insertions, 339 deletions
diff --git a/gnu/packages/patches/clang-14.0-libc-search-path.patch b/gnu/packages/patches/clang-14.0-libc-search-path.patch
index 7e439cd1ef..78b0637cab 100644
--- a/gnu/packages/patches/clang-14.0-libc-search-path.patch
+++ b/gnu/packages/patches/clang-14.0-libc-search-path.patch
@@ -7,6 +7,7 @@ the distro-specific stuff and removes the hard-coded FHS directory names
 to make sure Clang also works on foreign distros.
 
 diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
+index 5ac38c34d112..2a704b418fdc 100644
 --- a/clang/lib/Driver/Distro.cpp
 +++ b/clang/lib/Driver/Distro.cpp
 @@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) {
@@ -21,6 +22,7 @@ diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
  
    // Newer freedesktop.org's compilant systemd-based systems
 diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp
+index 4a9f6d4c4e3e..0ae13ebebd27 100644
 --- a/clang/lib/Driver/ToolChains/Cuda.cpp
 +++ b/clang/lib/Driver/ToolChains/Cuda.cpp
 @@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector(
@@ -34,6 +36,7 @@ diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/
      std::string Path;
      bool StrictChecking;
 diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
+index 83cb41159de7..6b920e33d1ef 100644
 --- a/clang/lib/Driver/ToolChains/Linux.cpp
 +++ b/clang/lib/Driver/ToolChains/Linux.cpp
 @@ -186,6 +186,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
@@ -72,21 +75,19 @@ diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains
    Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
  
 +#if 0
-   // Similar to the logic for GCC above, if we are currently running Clang
-   // inside of the requested system root, add its parent library path to those
-   // searched.
-@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
-     if (OSLibDir != "lib")
-       addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
-   }
+   // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs
+   // libc++.so in D.Dir+"/../lib/". Detect this path.
+   // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported.
+@@ -310,6 +318,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+ 
+   addPathIfExists(D, SysRoot + "/lib", Paths);
+   addPathIfExists(D, SysRoot + "/usr/lib", Paths);
 +#endif
 +
 +  // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
 +  // and friends can be found.
 +  addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
- 
--  addPathIfExists(D, SysRoot + "/lib", Paths);
--  addPathIfExists(D, SysRoot + "/usr/lib", Paths);
++
 +  // Add GCC's lib/ directory so libstdc++.so can be found.
 +  addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths);
  }
diff --git a/gnu/packages/patches/irrlicht-link-against-needed-libs.patch b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch
new file mode 100644
index 0000000000..2e9f5c78d5
--- /dev/null
+++ b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch
@@ -0,0 +1,24 @@
+From: Christoph Egger <Christoph.Egger@gmx.de>
+Subject: [PATCH] debian/link-against-needed-libs
+
+There are quite some libraries irrlicht needs but does not link
+against. This patch makes irrlicht link correctly against all the
+needed libraries.
+
+Signed-off-by: Christoph Egger <Christoph.Egger@gmx.de>
+
+---
+ source/Irrlicht/Makefile |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+--- irrlicht.orig/source/Irrlicht/Makefile
++++ irrlicht/source/Irrlicht/Makefile
+@@ -90,7 +90,7 @@
+ LIB_PATH = ../../lib/$(SYSTEM)

+ INSTALL_DIR = /usr/local/lib

+ sharedlib install: SHARED_LIB = libIrrlicht.so

+-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm

++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2

+ staticlib sharedlib: CXXINCS += -I/usr/X11R6/include

+ 

+ #OSX specific options

diff --git a/gnu/packages/patches/irrlicht-use-system-libs.patch b/gnu/packages/patches/irrlicht-use-system-libs.patch
index e764f411d3..06cb6db062 100644
--- a/gnu/packages/patches/irrlicht-use-system-libs.patch
+++ b/gnu/packages/patches/irrlicht-use-system-libs.patch
@@ -1,40 +1,13 @@
-This patch is a combination of the two following patches with minor
-changes to the install code
-https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/link-against-needed-libs.diff/
-https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/use-system-libs.diff/
+Subject: [PATCH] debian/use-system-libs
 
+Path to build irrlicht using the system libraries for png,zlib and
+jpeg as well as the glext family of header files.
 
----
- include/IrrCompileConfig.h                  | 26 +++++++++------------
- source/Irrlicht/CIrrDeviceLinux.h           |  2 +-
- source/Irrlicht/COpenGLExtensionHandler.h   |  8 +++----
- source/Irrlicht/COpenGLSLMaterialRenderer.h |  2 +-
- source/Irrlicht/Makefile                    | 15 ++++++------
- 5 files changed, 25 insertions(+), 28 deletions(-)
+Signed-off-by: Christoph Egger <debian@christoph-egger.org
 
-diff --git a/include/IrrCompileConfig.h b/include/IrrCompileConfig.h
-index 6bb0589..2216353 100644
---- a/include/IrrCompileConfig.h
-+++ b/include/IrrCompileConfig.h
-@@ -238,6 +238,17 @@ for Windows based systems. You also have to set #define UNICODE for this to comp
- #undef _IRR_WCHAR_FILESYSTEM

- #endif

- 

-+//! Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.

-+/** This enables the engine to read from compressed .zip archives. If you

-+disable this feature, the engine can still read archives, but only uncompressed

-+ones. */

-+#define _IRR_COMPILE_WITH_ZLIB_

-+

-+//! Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.

-+/** If this is commented out, Irrlicht will try to compile using the zlib installed in the system.

-+	This is only used when _IRR_COMPILE_WITH_ZLIB_ is defined. */

-+#undef _IRR_USE_NON_SYSTEM_ZLIB_

-+

- //! Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.

- /** This enables the engine to read jpeg images. If you comment this out,

- the engine will no longer read .jpeg images. */

-@@ -249,10 +260,7 @@ the engine will no longer read .jpeg images. */
+--- irrlicht.orig/include/IrrCompileConfig.h
++++ irrlicht/include/IrrCompileConfig.h
+@@ -253,10 +253,7 @@
  //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.

  /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.

  	This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */

@@ -45,7 +18,7 @@ index 6bb0589..2216353 100644
  

  //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.

  /** This enables the engine to read png images. If you comment this out,

-@@ -265,10 +273,7 @@ the engine will no longer read .png images. */
+@@ -269,10 +266,7 @@
  //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.

  /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.

  	This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */

@@ -56,7 +29,7 @@ index 6bb0589..2216353 100644
  

  //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9

  /** If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h,

-@@ -602,10 +607,7 @@ ones. */
+@@ -606,10 +600,7 @@
  /** If this is commented out, Irrlicht will try to compile using the zlib

  installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is

  defined. */

@@ -67,7 +40,7 @@ index 6bb0589..2216353 100644
  //! Define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ if you want to read AES-encrypted ZIP archives

  #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_

  #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_

-@@ -623,18 +625,12 @@ library. */
+@@ -627,18 +618,12 @@
  /** If this is commented out, Irrlicht will try to compile using the bzlib

  installed on the system. This is only used when _IRR_COMPILE_WITH_BZLIB_ is

  defined. */

@@ -86,10 +59,8 @@ index 6bb0589..2216353 100644
  

  //! Define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ if you want to mount folders as archives

  #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_

-diff --git a/source/Irrlicht/CIrrDeviceLinux.h b/source/Irrlicht/CIrrDeviceLinux.h
-index 4d2a2c6..8cf24ba 100644
---- a/source/Irrlicht/CIrrDeviceLinux.h
-+++ b/source/Irrlicht/CIrrDeviceLinux.h
+--- irrlicht.orig/source/Irrlicht/CIrrDeviceLinux.h
++++ irrlicht/source/Irrlicht/CIrrDeviceLinux.h
 @@ -22,7 +22,7 @@
  #define GLX_GLXEXT_LEGACY 1

  #include <GL/glx.h>

@@ -99,10 +70,8 @@ index 4d2a2c6..8cf24ba 100644
  #endif

  #endif

  

-diff --git a/source/Irrlicht/COpenGLExtensionHandler.h b/source/Irrlicht/COpenGLExtensionHandler.h
-index 1b77bad..3886a0e 100644
---- a/source/Irrlicht/COpenGLExtensionHandler.h
-+++ b/source/Irrlicht/COpenGLExtensionHandler.h
+--- irrlicht.orig/source/Irrlicht/COpenGLExtensionHandler.h
++++ irrlicht/source/Irrlicht/COpenGLExtensionHandler.h
 @@ -35,7 +35,7 @@
  	#endif

  	#include <OpenGL/gl.h>

@@ -133,10 +102,8 @@ index 1b77bad..3886a0e 100644
  	#endif

  #endif

  

-diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.h b/source/Irrlicht/COpenGLSLMaterialRenderer.h
-index ff71150..f8a6007 100644
---- a/source/Irrlicht/COpenGLSLMaterialRenderer.h
-+++ b/source/Irrlicht/COpenGLSLMaterialRenderer.h
+--- irrlicht.orig/source/Irrlicht/COpenGLSLMaterialRenderer.h
++++ irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h
 @@ -25,7 +25,7 @@
  	#include <GL/gl.h>

  #endif

@@ -146,11 +113,9 @@ index ff71150..f8a6007 100644
  #endif

  #endif

  

-diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile
-index 67a3899..d9ea7f3 100644
---- a/source/Irrlicht/Makefile
-+++ b/source/Irrlicht/Makefile
-@@ -43,7 +43,7 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CIm
+--- irrlicht.orig/source/Irrlicht/Makefile
++++ irrlicht/source/Irrlicht/Makefile
+@@ -45,7 +45,7 @@
  	CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o

  IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)

  IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o

@@ -159,7 +124,7 @@ index 67a3899..d9ea7f3 100644
  IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o

  IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o

  ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o

-@@ -56,14 +56,14 @@ BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o
+@@ -58,14 +58,14 @@
  EXTRAOBJ =

  LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \

  	$(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \

@@ -178,25 +143,11 @@ index 67a3899..d9ea7f3 100644
  ifndef NDEBUG

  CXXFLAGS += -g -D_DEBUG

  else

-@@ -88,7 +88,7 @@ STATIC_LIB = libIrrlicht.a
- LIB_PATH = ../../lib/$(SYSTEM)

- INSTALL_DIR = /usr/local/lib

- sharedlib install: SHARED_LIB = libIrrlicht.so

--sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm

-+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2

- staticlib sharedlib: CXXINCS += -I/usr/X11R6/include

- 

- #OSX specific options

-@@ -153,7 +153,8 @@ install install_osx:
- 	$(RM) -r $(INSTALL_DIR)/../include/irrlicht

+@@ -156,6 +156,7 @@
  	mkdir -p $(INSTALL_DIR)/../include/irrlicht

  	cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/

--	cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)

-+	cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) || true

-+	cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) || true

+ 	cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)

++	cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR)

  	cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME)

  	cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB)

  #	ldconfig -n $(INSTALL_DIR)

--- 
-2.18.0
-
diff --git a/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch b/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch
deleted file mode 100644
index e8d5dce0ed..0000000000
--- a/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch
+++ /dev/null
@@ -1,35 +0,0 @@
- Disable usage of SSLv3 in testing
-
- Integrated uptream version 0.9.74
-
-
-diff --git a/src/testcurl/https/test_tls_options.c b/src/testcurl/https/test_tls_options.c
-
---- a/src/testcurl/https/test_tls_options.c
-+++ b/src/testcurl/https/test_tls_options.c
-@@ -119,11 +119,6 @@ main (int argc, char *const *argv)
-     fprintf (stderr, "Curl does not support SSL.  Cannot run the test.\n");
-     return 77;
-   }
--  if (0 != strncmp (ssl_version, "GnuTLS", 6))
--  {
--    fprintf (stderr, "This test can be run only with libcurl-gnutls.\n");
--    return 77;
--  }
- 
-   if (! testsuite_curl_global_init ())
-     return 99;
-@@ -152,10 +147,10 @@ main (int argc, char *const *argv)
-   fprintf (stderr,
-            "The following handshake should fail (and print an error message)...\n");
-   if (0 !=
--      test_wrap ("TLS1.0 vs SSL3",
-+      test_wrap ("TLS1.1 vs TLS1.0",
-                  &test_unmatching_ssl_version, NULL, port, daemon_flags,
-                  aes256_sha,
--                 CURL_SSLVERSION_SSLv3,
-+                 CURL_SSLVERSION_TLSv1_1,
-                  MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
-                  MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
-                  MHD_OPTION_HTTPS_PRIORITIES,
-
diff --git a/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch b/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch
deleted file mode 100644
index 41338e6e6f..0000000000
--- a/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From d10ea2ad7efc2364a8a2007b4c6d3e85511e2f84 Mon Sep 17 00:00:00 2001
-From: Maxime Devos <maximedevos@telenet.be>
-Date: Tue, 3 Aug 2021 01:00:23 +0200
-Subject: [PATCH] Add environment variable MINETEST_MOD_PATH
-
-This adds an environment variable MINETEST_MOD_PATH.
-When it exists, Minetest will look there for mods
-in addition to ~/.minetest/mods/.  Mods can still be
-installed to ~/.minetest/mods/ with the built-in installer.
-
-With thanks to Liliana Marie Prikler.
----
- builtin/mainmenu/pkgmgr.lua       |  7 +++----
- doc/menu_lua_api.txt              |  8 +++++++-
- src/content/subgames.cpp          | 11 +++++++++++
- src/script/lua_api/l_mainmenu.cpp | 23 +++++++++++++++++++++++
- src/script/lua_api/l_mainmenu.h   |  2 ++
- 5 files changed, 46 insertions(+), 5 deletions(-)
-
-diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua
-index 787936e31..d8fba0ebe 100644
---- a/builtin/mainmenu/pkgmgr.lua
-+++ b/builtin/mainmenu/pkgmgr.lua
-@@ -682,10 +682,9 @@ function pkgmgr.preparemodlist(data)
- 	local game_mods = {}
- 
- 	--read global mods
--	local modpath = core.get_modpath()
--
--	if modpath ~= nil and
--		modpath ~= "" then
-+	local modpaths = core.get_modpaths()
-+	--XXX what was ‘modpath ~= ""’ and ‘modpath ~= nil’ for?
-+	for _,modpath in ipairs(modpaths) do
- 		get_mods(modpath,global_mods)
- 	end
- 
-diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt
-index b3975bc1d..132444b14 100644
---- a/doc/menu_lua_api.txt
-+++ b/doc/menu_lua_api.txt
-@@ -218,7 +218,13 @@ Package - content which is downloadable from the content db, may or may not be i
-     * returns path to global user data,
-       the directory that contains user-provided mods, worlds, games, and texture packs.
- * core.get_modpath() (possible in async calls)
--    * returns path to global modpath
-+    * returns path to global modpath, where mods can be installed
-+* core.get_modpaths() (possible in async calls)
-+    * returns list of paths to global modpaths, where mods have been installed
-+
-+      The difference with "core.get_modpath" is that no mods should be installed in these
-+      directories by Minetest -- they might be read-only.
-+
- * core.get_clientmodpath() (possible in async calls)
-     * returns path to global client-side modpath
- * core.get_gamepath() (possible in async calls)
-diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp
-index e9dc609b0..d73f95a1f 100644
---- a/src/content/subgames.cpp
-+++ b/src/content/subgames.cpp
-@@ -61,6 +61,12 @@ std::string getSubgamePathEnv()
- 	return subgame_path ? std::string(subgame_path) : "";
- }
- 
-+std::string getModPathEnv()
-+{
-+	char *mod_path = getenv("MINETEST_MOD_PATH");
-+	return mod_path ? std::string(mod_path) : "";
-+}
-+
- SubgameSpec findSubgame(const std::string &id)
- {
- 	if (id.empty())
-@@ -110,6 +116,11 @@ SubgameSpec findSubgame(const std::string &id)
- 	std::set<std::string> mods_paths;
- 	if (!user_game)
- 		mods_paths.insert(share + DIR_DELIM + "mods");
-+
-+	Strfnd mod_search_paths(getModPathEnv());
-+	while (!mod_search_paths.at_end())
-+		mods_paths.insert(mod_search_paths.next(PATH_DELIM));
-+
- 	if (user != share || user_game)
- 		mods_paths.insert(user + DIR_DELIM + "mods");
- 
-diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp
-index 3e9709bde..903ac3a22 100644
---- a/src/script/lua_api/l_mainmenu.cpp
-+++ b/src/script/lua_api/l_mainmenu.cpp
-@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
- #include "lua_api/l_internal.h"
- #include "common/c_content.h"
- #include "cpp_api/s_async.h"
-+#include "util/strfnd.h"
- #include "gui/guiEngine.h"
- #include "gui/guiMainMenu.h"
- #include "gui/guiKeyChangeMenu.h"
-@@ -502,6 +503,26 @@ int ModApiMainMenu::l_get_modpath(lua_State *L)
- 	return 1;
- }
- 
-+/******************************************************************************/
-+int ModApiMainMenu::l_get_modpaths(lua_State *L)
-+{
-+	const char *c_modpath = getenv("MINETEST_MOD_PATH");
-+	if (c_modpath == NULL)
-+		c_modpath = "";
-+	int index = 1;
-+	lua_newtable(L);
-+	Strfnd mod_search_paths{std::string(c_modpath)};
-+	while (!mod_search_paths.at_end()) {
-+		std::string component = mod_search_paths.next(PATH_DELIM);
-+		lua_pushstring(L, component.c_str());
-+		lua_rawseti(L, -2, index);
-+		index++;
-+	}
-+	ModApiMainMenu::l_get_modpath(L);
-+	lua_rawseti(L, -2, index);
-+	return 1;
-+}
-+
- /******************************************************************************/
- int ModApiMainMenu::l_get_clientmodpath(lua_State *L)
- {
-@@ -949,6 +970,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
- 	API_FCT(get_mapgen_names);
- 	API_FCT(get_user_path);
- 	API_FCT(get_modpath);
-+	API_FCT(get_modpaths);
- 	API_FCT(get_clientmodpath);
- 	API_FCT(get_gamepath);
- 	API_FCT(get_texturepath);
-@@ -983,6 +1005,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
- 	API_FCT(get_mapgen_names);
- 	API_FCT(get_user_path);
- 	API_FCT(get_modpath);
-+	API_FCT(get_modpaths);
- 	API_FCT(get_clientmodpath);
- 	API_FCT(get_gamepath);
- 	API_FCT(get_texturepath);
-diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h
-index 33ac9e721..a6a54a2cb 100644
---- a/src/script/lua_api/l_mainmenu.h
-+++ b/src/script/lua_api/l_mainmenu.h
-@@ -112,6 +112,8 @@ class ModApiMainMenu: public ModApiBase
- 
- 	static int l_get_modpath(lua_State *L);
- 
-+	static int l_get_modpaths(lua_State *L);
-+
- 	static int l_get_clientmodpath(lua_State *L);
- 
- 	static int l_get_gamepath(lua_State *L);
--- 
-2.32.0
-
diff --git a/gnu/packages/patches/ncftp-reproducible.patch b/gnu/packages/patches/ncftp-reproducible.patch
new file mode 100644
index 0000000000..043b3b1e70
--- /dev/null
+++ b/gnu/packages/patches/ncftp-reproducible.patch
@@ -0,0 +1,29 @@
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Date: 2016-07-01 16:00:02 UTC
+Bug-Debian: https://bugs.debian.org/829249
+
+	make ncftp build reproducible.
+
+diff --git a/ncftp/main.c b/ncftp/main.c
+index a7fccac..b27a94e 100644
+--- a/ncftp/main.c
++++ b/ncftp/main.c
+@@ -62,7 +62,7 @@ static void
+ Usage(void)
+ {
+ 	FILE *fp;
+-#ifdef UNAME
++#if 0
+ 	char s[80];
+ #endif
+ 
+@@ -76,7 +76,7 @@ Usage(void)
+   -F     Dump a sample $HOME/.ncftp/firewall prefs file to stdout and exit.\n");
+ 
+ 	(void) fprintf(fp, "\nProgram version:  %s\nLibrary version:  %s\n", gVersion + 5, gLibNcFTPVersion + 5);
+-#ifdef UNAME
++#if 0
+ 	AbbrevStr(s, UNAME, 60, 1);
+ 	(void) fprintf(fp, "Build system:     %s\n", s);
+ #endif
+

diff --git a/gnu/packages/patches/pigx-bsseq-no-citeproc.patch b/gnu/packages/patches/pigx-bsseq-no-citeproc.patch
deleted file mode 100644
index 882e660fe4..0000000000
--- a/gnu/packages/patches/pigx-bsseq-no-citeproc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur pigx_bsseq-0.1.5/configure.ac pigx_bsseq-0.1.5.patched/configure.ac
---- pigx_bsseq-0.1.5/configure.ac	2021-06-08 15:28:08.000000000 +0200
-+++ pigx_bsseq-0.1.5.patched/configure.ac	2021-10-05 14:43:56.806529137 +0200
-@@ -38,7 +38,6 @@
- find_or_override_prog([GNUBASH],         [bash])
- find_or_override_prog([SNAKEMAKE],       [snakemake])
- find_or_override_prog([PANDOC],          [pandoc])
--find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc])
- find_or_override_prog([FASTQC],          [fastqc])
- find_or_override_prog([MULTIQC],         [multiqc])
- find_or_override_prog([TRIMGALORE],      [trim_galore])
-diff -Naur pigx_bsseq-0.1.5/Makefile.in pigx_bsseq-0.1.5.patched/Makefile.in
---- pigx_bsseq-0.1.5/Makefile.in	2021-06-08 16:17:03.000000000 +0200
-+++ pigx_bsseq-0.1.5.patched/Makefile.in	2021-10-05 14:43:34.635876855 +0200
-@@ -408,7 +408,6 @@
- PACKAGE_URL = @PACKAGE_URL@
- PACKAGE_VERSION = @PACKAGE_VERSION@
- PANDOC = @PANDOC@
--PANDOC_CITEPROC = @PANDOC_CITEPROC@
- PATH_SEPARATOR = @PATH_SEPARATOR@
- PYTHON = @PYTHON@
- PYTHONPATH = @PYTHONPATH@
-diff -Naur pigx_bsseq-0.1.5/pigx-common/common/pigx-runner.in pigx_bsseq-0.1.5.patched/pigx-common/common/pigx-runner.in
---- pigx_bsseq-0.1.5/pigx-common/common/pigx-runner.in	2021-06-08 10:14:29.000000000 +0200
-+++ pigx_bsseq-0.1.5.patched/pigx-common/common/pigx-runner.in	2021-10-05 14:43:44.296161069 +0200
-@@ -375,7 +375,6 @@
-     if path.exists(bin): shutil.rmtree(bin)
-     os.makedirs(bin, exist_ok=True)
-     os.symlink('@PANDOC@', path.join(bin, "pandoc"))
--    os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc"))
-     os.symlink('@RSCRIPT@', path.join(bin, "Rscript"))
-     os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
-     os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
diff --git a/gnu/packages/patches/pigx-chipseq-no-citeproc.patch b/gnu/packages/patches/pigx-chipseq-no-citeproc.patch
deleted file mode 100644
index b01820f110..0000000000
--- a/gnu/packages/patches/pigx-chipseq-no-citeproc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur pigx_chipseq-0.0.53/configure.ac pigx_chipseq-0.0.53.patched/configure.ac
---- pigx_chipseq-0.0.53/configure.ac	2021-09-28 11:14:12.000000000 +0200
-+++ pigx_chipseq-0.0.53.patched/configure.ac	2021-10-07 14:48:53.034054327 +0200
-@@ -52,7 +52,6 @@
- find_or_override_prog([MACS2],           [macs2])
- find_or_override_prog([SNAKEMAKE],       [snakemake])
- find_or_override_prog([PANDOC],          [pandoc])
--find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc])
- find_or_override_prog([FASTQC],          [fastqc])
- find_or_override_prog([BOWTIE2],         [bowtie2])
- find_or_override_prog([BOWTIE2_BUILD],   [bowtie2-build])
-diff -Naur pigx_chipseq-0.0.53/Makefile.in pigx_chipseq-0.0.53.patched/Makefile.in
---- pigx_chipseq-0.0.53/Makefile.in	2021-09-28 11:55:05.000000000 +0200
-+++ pigx_chipseq-0.0.53.patched/Makefile.in	2021-10-07 14:48:37.195577143 +0200
-@@ -407,7 +407,6 @@
- PACKAGE_URL = @PACKAGE_URL@
- PACKAGE_VERSION = @PACKAGE_VERSION@
- PANDOC = @PANDOC@
--PANDOC_CITEPROC = @PANDOC_CITEPROC@
- PATH_SEPARATOR = @PATH_SEPARATOR@
- PERL = @PERL@
- PYTHON = @PYTHON@
-diff -Naur pigx_chipseq-0.0.53/pigx-common/common/pigx-runner.in pigx_chipseq-0.0.53.patched/pigx-common/common/pigx-runner.in
---- pigx_chipseq-0.0.53/pigx-common/common/pigx-runner.in	2021-09-27 18:16:42.000000000 +0200
-+++ pigx_chipseq-0.0.53.patched/pigx-common/common/pigx-runner.in	2021-10-07 14:48:44.200788218 +0200
-@@ -379,7 +379,6 @@
-     if path.exists(bin): shutil.rmtree(bin)
-     os.makedirs(bin, exist_ok=True)
-     os.symlink('@PANDOC@', path.join(bin, "pandoc"))
--    os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc"))
-     os.symlink('@RSCRIPT@', path.join(bin, "Rscript"))
-     os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
-     os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH']