diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/libgpg-error | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-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/libgpg-error')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgpg-error/default.nix | 37 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch | 142 |
2 files changed, 17 insertions, 162 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix index 181829156c99..fa3dc1b95b09 100644 --- a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix +++ b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix @@ -17,33 +17,22 @@ }; in stdenv.mkDerivation (rec { pname = "libgpg-error"; - version = "1.42"; + version = "1.47"; src = fetchurl { url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-/AfnD2xhX4xPWQqON6m43S4soelAj45gRZxnRSuSXiM="; + sha256 = "sha256-njxnCWa5bsx0bCjCxBlUHjvLeH0ac5MPXl9eG8u7m9s="; }; - # 1.42 breaks (some?) cross-compilation (e.g. x86_64 -> aarch64). - # Backporting this fix (merged in upstream master but no release cut) by David Michael <fedora.dm0@gmail.com> https://dev.gnupg.org/rE33593864cd54143db594c4237bba41e14179061c - patches = [ ./fix-1.42-cross-compilation.patch ]; - postPatch = '' sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure - '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) '' - ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h - ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h - '' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) '' - ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h - '' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) '' - ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h - '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) '' - ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h - ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h - '' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) '' - ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h ''; + configureFlags = [ + # See https://dev.gnupg.org/T6257#164567 + "--enable-install-gpg-error-config" + ]; + outputs = [ "out" "dev" "info" ]; outputBin = "dev"; # deps want just the lib, most likely @@ -53,13 +42,21 @@ in stdenv.mkDerivation (rec { nativeBuildInputs = [ gettext ]; postConfigure = - lib.optionalString stdenv.isSunOS # For some reason, /bin/sh on OpenIndiana leads to this at the end of the # `config.status' run: # ./config.status[1401]: shift: (null): bad number # (See <https://hydra.nixos.org/build/2931046/nixlog/1/raw>.) # Thus, re-run it with Bash. - "${stdenv.shell} config.status"; + lib.optionalString stdenv.isSunOS '' + ${stdenv.shell} config.status + '' + # ./configure errorneous decides to use weak symbols on pkgsStatic, + # which, together with other defines results in locking functions in + # src/posix-lock.c to be no-op, causing tests/t-lock.c to fail. + + lib.optionalString stdenv.hostPlatform.isStatic '' + sed '/USE_POSIX_THREADS_WEAK/ d' config.h + echo '#undef USE_POSIX_THREADS_WEAK' >> config.h + ''; doCheck = true; # not cross diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch b/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch deleted file mode 100644 index 6c3099f72144..000000000000 --- a/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh -index a710f0c..258eec6 100755 ---- a/src/gen-lock-obj.sh -+++ b/src/gen-lock-obj.sh -@@ -1,136 +1,136 @@ - #! /bin/sh - # - # gen-lock-obj.sh - Build tool to construct the lock object. - # - # Copyright (C) 2020, 2021 g10 Code GmbH - # - # This file is part of libgpg-error. - # - # libgpg-error is free software; you can redistribute it and/or - # modify it under the terms of the GNU Lesser General Public License - # as published by the Free Software Foundation; either version 2.1 of - # the License, or (at your option) any later version. - # - # libgpg-error is distributed in the hope that it will be useful, but - # WITHOUT ANY WARRANTY; without even the implied warranty of - # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - # Lesser General Public License for more details. - # - # You should have received a copy of the GNU Lesser General Public - # License along with this program; if not, see <https://www.gnu.org/licenses/>. - # - - # - # Following variables should be defined to invoke this script - # - # CC - # OBJDUMP - # AWK - # ac_ext - # ac_object - # host - # LOCK_ABI_VERSION - # - # An example: - # - # LOCK_ABI_VERSION=1 host=x86_64-pc-linux-gnu host_alias=x86_64-linux-gnu \ - # CC=$host_alias-gcc OBJDUMP=$host_alias-objdump ac_ext=c ac_objext=o \ - # AWK=gawk ./gen-lock-obj.sh - # - --if test -n `echo -n`; then -+if test -n "`echo -n`"; then - ECHO_C='\c' - ECHO_N='' - else - ECHO_C='' - ECHO_N='-n' - fi - - if test "$1" = --disable-threads; then - cat <<EOF - ## lock-obj-pub.$host.h - NO LOCK SUPPORT - ## File created by gen-lock-obj.sh - DO NOT EDIT - ## To be included by mkheader into gpg-error.h - - /* Dummy object - no locking available. */ - typedef struct - { - long _vers; - } gpgrt_lock_t; - - #define GPGRT_LOCK_INITIALIZER {-1} - EOF - else - AWK_VERSION_OUTPUT=$($AWK 'BEGIN { print PROCINFO["version"] }') - if test -n "$AWK_VERSION_OUTPUT"; then - # It's GNU awk, which supports PROCINFO. - AWK_OPTION=--non-decimal-data - fi - - cat <<'EOF' >conftest.$ac_ext - #include <pthread.h> - pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; - EOF - - if $CC -c conftest.$ac_ext; then : - ac_mtx_size=$($OBJDUMP -j .bss -t conftest.$ac_objext \ - | $AWK $AWK_OPTION ' - /mtx$/ { mtx_size = int("0x" $5) } - END { print mtx_size }') - else - echo "Can't determine mutex size" - exit 1 - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - cat <<EOF - ## lock-obj-pub.$host.h - ## File created by gen-lock-obj.sh - DO NOT EDIT - ## To be included by mkheader into gpg-error.h - - typedef struct - { - long _vers; - union { - volatile char _priv[$ac_mtx_size]; - long _x_align; - long *_xp_align; - } u; - } gpgrt_lock_t; - - EOF - - # FIXME: Support different alignment conditions of: - # - # USE_16BYTE_ALIGNMENT - # USE_DOUBLE_FOR_ALIGNMENT - # USE_LONG_DOUBLE_FOR_ALIGNMENT - # - - echo ${ECHO_N} "#define GPGRT_LOCK_INITIALIZER {$LOCK_ABI_VERSION,{{${ECHO_C}" - - i=0 - while test "$i" -lt $ac_mtx_size; do - if test "$i" -ne 0 -a "$(( $i % 8 ))" -eq 0; then - echo ' \' - echo ${ECHO_N} " ${ECHO_C}" - fi - echo ${ECHO_N} "0${ECHO_C}" - if test "$i" -lt $(($ac_mtx_size - 1)); then - echo ${ECHO_N} ",${ECHO_C}" - fi - i=$(( i + 1 )) - done - fi - - cat <<'EOF' - }}} - ## - ## Local Variables: - ## mode: c - ## buffer-read-only: t - ## End: - ## - EOF - - exit 0 |