about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libzra
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
committerAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
commit99fcaeccb89621dd492203ce1f2d551c06f228ed (patch)
tree41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/libzra
parent59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff)
parent75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff)
downloadnixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/nixos/modules/config/console.nix
	nixpkgs/nixos/modules/services/mail/mailman.nix
	nixpkgs/nixos/modules/services/mail/public-inbox.nix
	nixpkgs/nixos/modules/services/mail/rss2email.nix
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/interpreters/python/default.nix
	nixpkgs/pkgs/development/node-packages/overrides.nix
	nixpkgs/pkgs/development/tools/b4/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix
	nixpkgs/pkgs/servers/mail/public-inbox/default.nix
	nixpkgs/pkgs/tools/security/pinentry/default.nix
	nixpkgs/pkgs/tools/text/unoconv/default.nix
	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libzra')
-rw-r--r--nixpkgs/pkgs/development/libraries/libzra/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libzra/fix-pkg-config.patch150
2 files changed, 155 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libzra/default.nix b/nixpkgs/pkgs/development/libraries/libzra/default.nix
index 3ebfc21095d1..feb0f1840b4d 100644
--- a/nixpkgs/pkgs/development/libraries/libzra/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libzra/default.nix
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  # in submodule dev as of 1.4.7
+  postPatch = ''
+    (cd submodule/zstd && patch -Np1 < ${./fix-pkg-config.patch})
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/zraorg/ZRA";
     description = "Library for ZStandard random access";
diff --git a/nixpkgs/pkgs/development/libraries/libzra/fix-pkg-config.patch b/nixpkgs/pkgs/development/libraries/libzra/fix-pkg-config.patch
new file mode 100644
index 000000000000..5b0d40a4233f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libzra/fix-pkg-config.patch
@@ -0,0 +1,150 @@
+From 7be7e35d61d8d499599623502a35460d410de114 Mon Sep 17 00:00:00 2001
+From: Alexander Shpilkin <ashpilkin@gmail.com>
+Date: Thu, 26 May 2022 16:03:27 +0300
+Subject: [PATCH] Squashed commit of the following:
+
+commit 9aacb9d5da65a64c3845937a6f9eede329d43989
+Author: W. Felix Handte <w@felixhandte.com>
+Date:   Tue Dec 8 20:46:02 2020 -0500
+
+    Apply Same Strategy to CMake
+
+    (cherry picked from commit a75f9ce3e924564ab358c2c1aa95b6268383ec42)
+
+commit e21b7ad0d98d1322ea92f99fcd1f85e2d6b6f6b7
+Author: W. Felix Handte <w@felixhandte.com>
+Date:   Tue Dec 8 20:10:05 2020 -0500
+
+    Avoid Use of Regexes in Building Package-Config File
+
+    (cherry picked from commit b521183c74795bd9bdd9bdebe74af01cae4d3d43)
+---
+ build/cmake/lib/CMakeLists.txt | 29 ++++++++++++++++++++++++----
+ lib/Makefile                   | 35 ++++++++++++++++------------------
+ lib/libzstd.pc.in              |  6 +++---
+ 3 files changed, 44 insertions(+), 26 deletions(-)
+
+diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
+index 32ae7525..466c2c7b 100644
+--- a/build/cmake/lib/CMakeLists.txt
++++ b/build/cmake/lib/CMakeLists.txt
+@@ -137,12 +137,33 @@ endif ()
+ if (UNIX)
+     # pkg-config
+     set(PREFIX "${CMAKE_INSTALL_PREFIX}")
+-    set(LIBDIR "${CMAKE_INSTALL_LIBDIR}")
+-    set(INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}")
++    set(EXEC_PREFIX "\\$$\{prefix}")
++    set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
++    set(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+     set(VERSION "${zstd_VERSION}")
++
++    string(LENGTH "${PREFIX}" PREFIX_LENGTH)
++    string(SUBSTRING "${LIBDIR}" 0 ${PREFIX_LENGTH} LIBDIR_PREFIX)
++    string(SUBSTRING "${LIBDIR}" ${PREFIX_LENGTH} -1 LIBDIR_SUFFIX)
++    string(SUBSTRING "${INCLUDEDIR}" 0 ${PREFIX_LENGTH} INCLUDEDIR_PREFIX)
++    string(SUBSTRING "${INCLUDEDIR}" ${PREFIX_LENGTH} -1 INCLUDEDIR_SUFFIX)
++
++    if ("${INCLUDEDIR_PREFIX}" STREQUAL "${PREFIX}")
++        set(INCLUDEDIR_PREFIX "\\$$\{prefix}")
++    endif()
++    if ("${LIBDIR_PREFIX}" STREQUAL "${PREFIX}")
++        set(LIBDIR_PREFIX "\\$$\{exec_prefix}")
++    endif()
++
+     add_custom_target(libzstd.pc ALL
+-            ${CMAKE_COMMAND} -DIN="${LIBRARY_DIR}/libzstd.pc.in" -DOUT="libzstd.pc"
+-            -DPREFIX="${PREFIX}" -DLIBDIR="${LIBDIR}" -DINCLUDEDIR="${INCLUDEDIR}" -DVERSION="${VERSION}"
++            ${CMAKE_COMMAND}
++            -DIN="${LIBRARY_DIR}/libzstd.pc.in"
++            -DOUT="libzstd.pc"
++            -DPREFIX="${PREFIX}"
++            -DEXEC_PREFIX="${EXEC_PREFIX}"
++            -DINCLUDEDIR="${INCLUDEDIR_PREFIX}${INCLUDEDIR_SUFFIX}"
++            -DLIBDIR="${LIBDIR_PREFIX}${LIBDIR_SUFFIX}"
++            -DVERSION="${VERSION}"
+             -P "${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig.cmake"
+             COMMENT "Creating pkg-config file")
+ 
+diff --git a/lib/Makefile b/lib/Makefile
+index 4a9ab799..2893ec21 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -257,6 +257,8 @@ ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD Ne
+ 
+ all: libzstd.pc
+ 
++HAS_EXPLICIT_EXEC_PREFIX := $(if $(or $(EXEC_PREFIX),$(exec_prefix)),1,)
++
+ DESTDIR     ?=
+ # directory variables : GNU conventions prefer lowercase
+ # see https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html
+@@ -270,24 +272,17 @@ LIBDIR      ?= $(libdir)
+ includedir  ?= $(PREFIX)/include
+ INCLUDEDIR  ?= $(includedir)
+ 
+-PCLIBDIR ?= $(shell echo "$(LIBDIR)" | sed -n $(SED_ERE_OPT) -e "s@^$(EXEC_PREFIX)(/|$$)@@p")
+-PCINCDIR ?= $(shell echo "$(INCLUDEDIR)" | sed -n $(SED_ERE_OPT) -e "s@^$(PREFIX)(/|$$)@@p")
++PCINCDIR := $(patsubst $(PREFIX)%,%,$(INCLUDEDIR))
++PCLIBDIR := $(patsubst $(EXEC_PREFIX)%,%,$(LIBDIR))
+ 
+-ifeq (,$(PCLIBDIR))
+-# Additional prefix check is required, since the empty string is technically a
+-# valid PCLIBDIR
+-ifeq (,$(shell echo "$(LIBDIR)" | sed -n $(SED_ERE_OPT) -e "\\@^$(EXEC_PREFIX)(/|$$)@ p"))
+-$(error configured libdir ($(LIBDIR)) is outside of prefix ($(PREFIX)), can't generate pkg-config file)
+-endif
+-endif
++# If we successfully stripped off a prefix, we'll add a reference to the
++# relevant pc variable.
++PCINCPREFIX := $(if $(findstring $(INCLUDEDIR),$(PCINCDIR)),,$${prefix})
++PCLIBPREFIX := $(if $(findstring $(LIBDIR),$(PCLIBDIR)),,$${exec_prefix})
+ 
+-ifeq (,$(PCINCDIR))
+-# Additional prefix check is required, since the empty string is technically a
+-# valid PCINCDIR
+-ifeq (,$(shell echo "$(INCLUDEDIR)" | sed -n $(SED_ERE_OPT) -e "\\@^$(PREFIX)(/|$$)@ p"))
+-$(error configured includedir ($(INCLUDEDIR)) is outside of exec_prefix ($(EXEC_PREFIX)), can't generate pkg-config file)
+-endif
+-endif
++# If no explicit EXEC_PREFIX was set by the caller, write it out as a reference
++# to PREFIX, rather than as a resolved value.
++PCEXEC_PREFIX := $(if $(HAS_EXPLICIT_EXEC_PREFIX),$(EXEC_PREFIX),$${prefix})
+ 
+ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
+ PKGCONFIGDIR ?= $(PREFIX)/libdata/pkgconfig
+@@ -308,9 +303,11 @@ INSTALL_DATA    ?= $(INSTALL) -m 644
+ libzstd.pc:
+ libzstd.pc: libzstd.pc.in
+ 	@echo creating pkgconfig
+-	$(Q)@sed $(SED_ERE_OPT) -e 's|@PREFIX@|$(PREFIX)|' \
+-          -e 's|@LIBDIR@|$(PCLIBDIR)|' \
+-          -e 's|@INCLUDEDIR@|$(PCINCDIR)|' \
++	$(Q)@sed $(SED_ERE_OPT) \
++	        -e 's|@PREFIX@|$(PREFIX)|' \
++	        -e 's|@EXEC_PREFIX@|$(PCEXEC_PREFIX)|' \
++          -e 's|@INCLUDEDIR@|$(PCINCPREFIX)$(PCINCDIR)|' \
++          -e 's|@LIBDIR@|$(PCLIBPREFIX)$(PCLIBDIR)|' \
+           -e 's|@VERSION@|$(VERSION)|' \
+           $< >$@
+ 
+diff --git a/lib/libzstd.pc.in b/lib/libzstd.pc.in
+index 8ec0235a..8465c977 100644
+--- a/lib/libzstd.pc.in
++++ b/lib/libzstd.pc.in
+@@ -3,9 +3,9 @@
+ #   BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ 
+ prefix=@PREFIX@
+-exec_prefix=${prefix}
+-includedir=${prefix}/@INCLUDEDIR@
+-libdir=${exec_prefix}/@LIBDIR@
++exec_prefix=@EXEC_PREFIX@
++includedir=@INCLUDEDIR@
++libdir=@LIBDIR@
+ 
+ Name: zstd
+ Description: fast lossless compression algorithm library
+-- 
+2.36.0
+