summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2022-06-28 15:11:21 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2022-06-28 15:13:30 +0200
commit365831bb446c67be2b26793eab40e6f58a672500 (patch)
treea7183e6948b93b6f166ba036f690586a7992c6e8
parent038d9b4d2f987b7e56fab736a259a9778262e802 (diff)
downloadnixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar.gz
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar.bz2
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar.lz
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar.xz
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.tar.zst
nixpkgs-365831bb446c67be2b26793eab40e6f58a672500.zip
pcre2: fix gitea websearch crashing when searching for a plain string
The nixos gitea module sets MemoryDenyWriteExecute=true which requires
pcre2 to be compiled with --enable-jit-sealloc otherwise it fails with
"-48".

See https://github.com/go-gitea/gitea/issues/10840 and https://github.com/archlinux/svntogit-packages/commit/920838a6a4ca3ff466b8751d8dc4c24c5383767f
-rw-r--r--pkgs/development/libraries/pcre2/default.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 221272a45bc..ea0ca3e4030 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -6,16 +6,20 @@
 stdenv.mkDerivation rec {
   pname = "pcre2";
   version = "10.40";
+
   src = fetchurl {
     url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2";
     hash = "sha256-FOS4PEeDkz3BfpZDGOYyT3yuG8ddjzx5vGlp8AwVnWg=";
   };
 
-  # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51
   configureFlags = [
     "--enable-pcre2-16"
     "--enable-pcre2-32"
-  ] ++ lib.optional (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--enable-jit=auto";
+    # only enable jit on supported platforms which excludes Apple Silicon, see https://github.com/zherczeg/sljit/issues/51
+    "--enable-jit=auto"
+    # fix pcre jit in systemd units that set MemoryDenyWriteExecute=true like gitea
+    "--enable-jit-sealloc"
+  ];
 
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
 
@@ -24,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://www.pcre.org/";
+    homepage = "https://www.pcre.org/";
     description = "Perl Compatible Regular Expressions";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ttuegel ];