summaryrefslogtreecommitdiff
path: root/dev-libs/libsigsegv
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libsigsegv')
-rw-r--r--dev-libs/libsigsegv/Manifest2
-rw-r--r--dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch79
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild40
3 files changed, 121 insertions, 0 deletions
diff --git a/dev-libs/libsigsegv/Manifest b/dev-libs/libsigsegv/Manifest
index bcc31f4ca3b2..4bcf8457f144 100644
--- a/dev-libs/libsigsegv/Manifest
+++ b/dev-libs/libsigsegv/Manifest
@@ -1,6 +1,8 @@
AUX libsigsegv-2.12-skip-stackoverflow-tests.patch 461 BLAKE2B 021932c6eeb8a4a3a538a7a2d9c04e777aa49bdff15db9439f4cf835a42f2c7cafe6d560ca4c957a0d57cdb00b3b3f68432ff8528ede15927874a62c6b64e027 SHA512 9bf6ff64bff1dd8550b97bbcabb7ccae24bae7af200dde7c296a237c4c149cb78e42bc7fcad3c76554ceb550ab39ce65134b53ad1e521dc6229f0141ab047cdf
+AUX libsigsegv-2.14-c99.patch 2998 BLAKE2B 1970f642bd4c220a57f43e9f7bc8a29627358c5c24d8decfe8b470f2de9c6930dc8fedcea955c8df7e05d4c4424756b97c19bd4eb49e511560fd6e77ca75fe00 SHA512 0a30cc398f2cb597b24b51e1f2477e609cc3909ce51734034735266c6fadcd778747c1130448c33644203c07e4cbe9a82b223b05fe6fee4b3153b234bf6c4335
DIST libsigsegv-2.13.tar.gz 460736 BLAKE2B 2202ef92e96b2b46d7496a69427159b06b0413e9610daa9bc035dd18f193fd650a06dcc5a2db3b36b6c68f95593f2da047579e644d5ca4e54bc17160a57dac8f SHA512 9c0cf01ee2a39f77f2e42eb06a2aa60644e10fe2cd39089de58f6206baf7fe7d61fe0ec6bf187276fcfccf61585154ce904fe374b474b7ba9fa050a61a2f3918
DIST libsigsegv-2.14.tar.gz 464658 BLAKE2B 1b6d93dc5414c686de458cc62412c95ebf8932aac3aa463bb76da67e1b25779880d760b229d9a2c6ee0a2a22c2d3c7a81a364e8731fe5a4f1f639a0f68d6ea57 SHA512 423dade56636fe38356f0976e1288178cb1c7c059615e9f70ad693a1e4194feba47a583b0804717e95a866da271b1ea5f80083c54a121577983dd23e5aa9f056
EBUILD libsigsegv-2.13.ebuild 770 BLAKE2B a74a2a87a78fe02cbe5c6e725feab76ba7244cbbf0cb601e5d69fe793fc6e409dc27a1e68a923bbf1b3df0fff8c1b07695bd73606da80936e7c70f8fd6681894 SHA512 5a38e50ea7cd9a11fc6461088855b97a9d6ddf5874533d6d0e47b7492c5901af9a2f405f01e66f2b4321cc619a84a0705625ba3823ed652f4e512265c5ca38ff
+EBUILD libsigsegv-2.14-r1.ebuild 1012 BLAKE2B a43cce05770f8e84c192141f412679ef08dfc6a3ea4eaa58db0583e62edea001af136aaec23e8173e0f49d317cb61f8216c1d569a10fa5c939fcd9146f334f0c SHA512 bd07dac831bd240a786743594aebd3225f4b7fd1bdc77416de9cfd6294c828c406c04be45463d0fac44195e229218a09c54af45a659b8f7d05fe51925b96c440
EBUILD libsigsegv-2.14.ebuild 980 BLAKE2B d7577cb8b4fb9ae33ddfbb899485e1a513e2c860ad19d8b0320c7395a15da702fcb6e4b74620342af2ff5e996bac087f66f7126ea7f59b448751b807e9f206b0 SHA512 5b2ee0f5dbd1a46c4fed192058a5dc7808a49927bca52ab6cb550fd78f38a856bc6290b652f74f6c94d6fe89dee0f4773a67b8f3cb693d0bb3b624a4c51370ee
MISC metadata.xml 812 BLAKE2B e8fc8b173c996466766862116cd4ece9d4d66ad3a87f7766c24d4501af2038ace288a4c49e6c302cd9404f123abf66dc4279ebf9e1d32a5c5634883c5cd67ac4 SHA512 f758cb653cc4f60c1f503426d853de42baa89156973aa0b07dcbaf9999bf91c9c774f3905d15f3db8f9d7ec810e3f9f0981acbe6ec8a8e13b635c030ddd0381f
diff --git a/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch b/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch
new file mode 100644
index 000000000000..73eb0ab8ca9b
--- /dev/null
+++ b/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/855953
+https://bugs.gentoo.org/893896
+https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=3030c472c9d7e1ffb2c6ce8c815545146a6ff8b8
+https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=bfa4d54ddbd8caabbe2e9a943395905e40f45f00
+
+From 3030c472c9d7e1ffb2c6ce8c815545146a6ff8b8 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sat, 11 Feb 2023 18:43:46 +0100
+Subject: [PATCH] Don't let configure tests fail due to the picky clang 16
+ compiler.
+
+clang 16 will report an error for -Wincompatible-function-pointer-types
+by default.
+
+Reported by Sam James <sam@gentoo.org> in
+<https://savannah.gnu.org/bugs/index.php?63788>.
+
+* configure.ac (MacOSX/Darwin7 PowerPC): Add a cast when assigning to
+action.sa_sigaction.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,7 +1,7 @@
+ dnl Autoconf configuration for libsigsegv.
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+-dnl Copyright (C) 2002-2022 Bruno Haible <bruno@clisp.org>
++dnl Copyright (C) 2002-2023 Bruno Haible <bruno@clisp.org>
+ dnl
+ dnl This program is free software: you can redistribute it and/or modify
+ dnl it under the terms of the GNU General Public License as published by
+@@ -238,7 +238,7 @@ SV_TRY_FAULT([MacOSX/Darwin7 PowerPC], sv_cv_fault_macosdarwin7_ppc,
+ [#include "$srcdir/src/fault-macosdarwin7-powerpc.c"],
+ [int sig, siginfo_t *sip, ucontext_t *ucp],
+ [get_fault_addr (sip, ucp)],
+- [action.sa_sigaction = &sigsegv_handler;
++ [action.sa_sigaction = (void (*) (int, siginfo_t *, void *)) &sigsegv_handler;
+ action.sa_flags = SA_SIGINFO;])
+
+ if test "$sv_cv_fault_macosdarwin7_ppc" != yes; then
+--
+2.17.1
+
+From bfa4d54ddbd8caabbe2e9a943395905e40f45f00 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Thu, 29 Jun 2023 11:24:26 +0200
+Subject: [PATCH] Make the autoconf tests more robust.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Triggered by
+https://gitlab.com/redhat/centos-stream/rpms/libsigsegv/-/blob/c9s/configure.patch
+from Petr Å abata <contyk@redhat.com>.
+
+* m4/fault.m4 (SV_TRY_FAULT): Mark the variables that are accessed by
+the signal handler as 'volatile'.
+--- a/m4/fault.m4
++++ b/m4/fault.m4
+@@ -1,5 +1,5 @@
+-# fault.m4 serial 9 (libsigsegv-2.12)
+-dnl Copyright (C) 2002-2003, 2011, 2017 Bruno Haible <bruno@clisp.org>
++# fault.m4 serial 10 (libsigsegv-2.15)
++dnl Copyright (C) 2002-2003, 2011, 2017, 2023 Bruno Haible <bruno@clisp.org>
+ dnl This file is free software, distributed under the terms of the GNU
+ dnl General Public License. As a special exception to the GNU General
+ dnl Public License, this file may be distributed as part of a program
+@@ -52,8 +52,8 @@ static int zero_fd;
+ #else
+ # define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
+ #endif
+-unsigned long page;
+-int handler_called = 0;
++unsigned long volatile page;
++int volatile handler_called = 0;
+ void sigsegv_handler ($5)
+ {
+ void *fault_address = (void *) ($6);
+--
+2.17.1
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
new file mode 100644
index 000000000000..9311409de504
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Library for handling page faults in user mode"
+HOMEPAGE="https://www.gnu.org/software/libsigsegv/"
+SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-shared
+
+ if tc-is-cross-compiler && [[ ${CHOST} == sparc64* ]] ; then
+ # Tries to use fault-linux-sparc-old.h otherwise which is
+ # for non-POSIX systems.
+ # bug #833469
+ sed -i -e "s:fault-linux-sparc-old.h:fault-linux-sparc.h:" config.status config.h.in config.h || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ rm -f "${ED}/usr/$(get_libdir)"/*.la || die
+ dodoc AUTHORS ChangeLog* NEWS PORTING README
+}