From 8ef15659429d351d3c8a87b90a19c3d6bd2c3a77 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 25 Oct 2026 17:37:22 +0100 Subject: [PATCH] pcre: drop The package is considered end of life and was last maintainted in 2015. We spent the 26.11 cycle working on removing our reliance on it and this is the final stretch. --- pkgs/by-name/pc/pcre/package.nix | 101 ------------------ .../by-name/pc/pcre/stacksize-detection.patch | 16 --- pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 117 deletions(-) delete mode 100644 pkgs/by-name/pc/pcre/package.nix delete mode 100644 pkgs/by-name/pc/pcre/stacksize-detection.patch diff --git a/pkgs/by-name/pc/pcre/package.nix b/pkgs/by-name/pc/pcre/package.nix deleted file mode 100644 index a341256205ebd..0000000000000 --- a/pkgs/by-name/pc/pcre/package.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - fetchpatch, - updateAutotoolsGnuConfigScriptsHook, - pcre, - windows ? null, - # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 - enableJit ? !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64), - variant ? null, -}: - -assert lib.elem variant [ - null - "cpp" - "pcre32" -]; - -stdenv.mkDerivation rec { - pname = - "pcre" - + lib.optionalString (variant == "cpp") "-cpp" - + lib.optionalString (variant != "cpp" && variant != null) variant; - version = "8.45"; - - src = fetchurl { - url = "mirror://sourceforge/project/pcre/pcre/${version}/pcre-${version}.tar.bz2"; - sha256 = "sha256-Ta5v3NK7C7bDe1+Xwzwr6VTadDmFNpzdrDVG4yGL/7g="; - }; - - outputs = [ - "bin" - "dev" - "out" - "doc" - "man" - ]; - - hardeningDisable = lib.optional enableJit "shadowstack"; - - configureFlags = [ - "--enable-unicode-properties" - "--disable-cpp" - ] - ++ lib.optional enableJit "--enable-jit=auto" - ++ lib.optional (variant != null) "--enable-${variant}"; - - patches = [ - # https://bugs.exim.org/show_bug.cgi?id=2173 - ./stacksize-detection.patch - - # Fix segfaults & tests on powerpc64 - (fetchpatch { - name = "sljit-ppc-icache-flush.patch"; - url = "https://github.com/void-linux/void-packages/raw/d286e231ee680875ad8e80f90ea62e46f5edd812/srcpkgs/pcre/patches/ppc-icache-flush.patch"; - hash = "sha256-pttmKwihLzKrAV6O4qVLp2pu4NwNJEFS/9Id8/b3nAU="; - }) - ]; - - # necessary to build on FreeBSD native pending inclusion of - # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - - preCheck = '' - patchShebangs RunGrepTest - ''; - - doCheck = - !(with stdenv.hostPlatform; isCygwin || isFreeBSD) && stdenv.hostPlatform == stdenv.buildPlatform; - # XXX: test failure on Cygwin - # we are running out of stack on both freeBSDs on Hydra - - postFixup = '' - moveToOutput bin/pcre-config "$dev" - '' - + lib.optionalString (variant != null) '' - ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.{so.*.*.*,*dylib,*a} - ''; - - meta = { - homepage = "https://www.pcre.org/"; - description = "Library for Perl Compatible Regular Expressions"; - license = lib.licenses.bsd3; - - longDescription = '' - The PCRE library is a set of functions that implement regular - expression pattern matching using the same syntax and semantics as - Perl 5. PCRE has its own native API, as well as a set of wrapper - functions that correspond to the POSIX regular expression API. The - PCRE library is free, even for building proprietary software. - ''; - - platforms = lib.platforms.all; - maintainers = [ ]; - pkgConfigModules = [ - "libpcre" - "libpcreposix" - ]; - }; -} diff --git a/pkgs/by-name/pc/pcre/stacksize-detection.patch b/pkgs/by-name/pc/pcre/stacksize-detection.patch deleted file mode 100644 index 4bc97069b1e2c..0000000000000 --- a/pkgs/by-name/pc/pcre/stacksize-detection.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/pcre_exec.c b/pcre_exec.c ---- a/pcre_exec.c -+++ b/pcre_exec.c -@@ -509,6 +509,12 @@ - (e.g. stopped by repeated call or recursion limit) - */ - -+#ifdef __GNUC__ -+static int -+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, -+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, -+ unsigned int rdepth) __attribute__((noinline,noclone)); -+#endif - static int - match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, - PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7a6a123c7cc76..09006453f6a1c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2088,6 +2088,7 @@ mapAliases { pcmciaUtils = warnAlias "'pcmciaUtils' has been renamed to 'pcmciautils'" pcmciautils; # Added 2026-02-12 pcp = throw "'pcp' has been removed because the upstream repo was archived and it hasn't been updated since 2021"; # Added 2025-09-23 pcre16 = throw "'pcre16' has been removed because it is obsolete. Consider migrating to 'pcre2' instead."; # Added 2025-05-29 + pcre = throw "'pcre' has been removed because it is end of life and was not updated upstream since 2015"; # Added 2026-10-25 pcre-cpp = throw "'pcre-cpp' has been removed because it is obsolete. Consider migrating to 'pcre2' instead."; # Added 2026-10-20 pcsctools = throw "'pcsctools' has been renamed to/replaced by 'pcsc-tools'"; # Converted to throw 2025-10-27 pcsx2-bin = throw "pcsx2-bin has been removed as it only supported x86_64-darwin"; # Added 2026-06-26