commit:     a1aff54cec26bce15bd284fe93c52bc56533d47d
Author:     Karlson2k (Evgeny Grin) <k2k <AT> narod <DOT> ru>
AuthorDate: Fri Jan 12 07:42:45 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 22 19:23:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1aff54c

net-libs/libmicrohttpd: add verify-sig support

Signed-off-by: Karlson2k (Evgeny Grin) <k2k <AT> narod.ru>
Closes: https://github.com/gentoo/gentoo/pull/34994
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libmicrohttpd/Manifest                    |   3 +
 .../libmicrohttpd/libmicrohttpd-0.9.76-r1.ebuild   | 104 +++++++++++++++++++++
 .../libmicrohttpd/libmicrohttpd-0.9.77-r1.ebuild   |  88 +++++++++++++++++
 .../libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild    |  89 ++++++++++++++++++
 4 files changed, 284 insertions(+)

diff --git a/net-libs/libmicrohttpd/Manifest b/net-libs/libmicrohttpd/Manifest
index 287f05186784..fed90be31127 100644
--- a/net-libs/libmicrohttpd/Manifest
+++ b/net-libs/libmicrohttpd/Manifest
@@ -1,3 +1,6 @@
 DIST libmicrohttpd-0.9.76.tar.gz 2199858 BLAKE2B 
2c2de77d731ff130bb1491733b91e9e0b0c68bc30ea1a826f7f1d97aaf83fa7f6bec3c219f81c5293de72595b26d1e6eb66cdd4bfe3b16bd37a10e3acd3c6446
 SHA512 
9ff8a837892142376eaeaf50c0b0dba76697d0ff44b908434cba8db4324c57dfb8bbcc1a922b97d825891ac10f50693dee9388531856e0fa81fa2cfeac538581
+DIST libmicrohttpd-0.9.76.tar.gz.sig 566 BLAKE2B 
84c9ecf45cdd24223374831a1a635db389119196312685d74d6324bbe133a075615026252e4317baf0496bb4ddb249d76560ade5a91cf5995bfc8cca4699957f
 SHA512 
304421dbf2b0763113affa50dcdcefd6d44bcc33b8af521ac9a3002ba4befafe9b78d49a3ab63bd8972e95e65c7bac47592b7bb05a78de1e84d4690220dbceaa
 DIST libmicrohttpd-0.9.77.tar.gz 1896679 BLAKE2B 
09a07c7da77d6072e5aa0fb121aedffb66b6cfdb2da30d1809583469282365832beb935417e779ddb31876949358d25c10bf79616079393503ca5860d88ac052
 SHA512 
001025c023dd94c4a0cf017ed575e65a577b5ce595e7e450346bfb75def77eaa8a4cfbeffb9f4b912e34165c2cfca147c02c895e067a4f6c5a321a12035758a5
+DIST libmicrohttpd-0.9.77.tar.gz.sig 581 BLAKE2B 
99ea14c7a80b0ed542672752617b045bea9a16a906e43422a130e83de048ea4d989ab53978b25b77f2982da9599aea711357c05b5a48fb5be84583c04596686c
 SHA512 
60489620bfb2388afb19dd91c105927e593c6a17ba0293b4814c746b66d4f0418edafe49837de333640c1479bacde3e46740b031c2d4ec5bd106493122c87b19
 DIST libmicrohttpd-1.0.1.tar.gz 2239593 BLAKE2B 
a29e49c719fc544ae72224d81cba7b7ef914f2641efe4b90d580d2212f2c3357a6d70499c43a6f50d14f4ec9d3102da8de899fe0420bf6660eb413080d89b7f7
 SHA512 
c99b8b93cae5feee8debcc5667ee3ff043412a84b30696fe852e6c138f3c890bb43c8fcd7199f1d2f809d522fef159e83b607c743d6cf3401a57050fbdf9b5c1
+DIST libmicrohttpd-1.0.1.tar.gz.sig 581 BLAKE2B 
6b8eda94d348d63e070f0b2046ea51ac7e4480593ef20c5d1445c66d7c0a611bbd0f9fba2b2df5f2e20665522b5ec79b51794435a649f17f5745a86e0302c97e
 SHA512 
c4c00b71f1afb4fa2da0ac578ab8975a4691d2118863454eeba2a5084ef0fa428b58bb30351a4e5d0f5068d04ebbc59c24574eec0043388a6e13766da909e55e

diff --git a/net-libs/libmicrohttpd/libmicrohttpd-0.9.76-r1.ebuild 
b/net-libs/libmicrohttpd/libmicrohttpd-0.9.76-r1.ebuild
new file mode 100644
index 000000000000..d8703f48bb12
--- /dev/null
+++ b/net-libs/libmicrohttpd/libmicrohttpd-0.9.76-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit multilib-minimal verify-sig
+
+MY_P="${P/_/}"
+
+DESCRIPTION="Small C library to run an HTTP server as part of another 
application"
+HOMEPAGE="https://www.gnu.org/software/libmicrohttpd/";
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz
+       verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="|| ( LGPL-2.1+ !ssl? ( GPL-2+-with-eCos-exception-2 ) )"
+SLOT="0/12"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="+epoll ssl static-libs test +thread-names verify-sig"
+RESTRICT="!test? ( test )"
+
+KEYRING_VER=201906
+
+RDEPEND="ssl? ( >net-libs/gnutls-2.12.20:=[${MULTILIB_USEDEP}] )"
+# libcurl and the curl binary are used during tests on CHOST
+DEPEND="${RDEPEND}
+       test? ( net-misc/curl[ssl?] )"
+BDEPEND="ssl? ( virtual/pkgconfig )
+       verify-sig? ( ~sec-keys/openpgp-keys-libmicrohttpd-${KEYRING_VER} )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libmicrohttpd-${KEYRING_VER}.asc
+
+DOCS=( AUTHORS NEWS COPYING README ChangeLog )
+
+PATCHES=( "${FILESDIR}"/${PN}-0.9.75-fix-testsuite-with-lto.patch )
+
+# All checks in libmicrohttpd's configure are correct
+# Gentoo Bug #898662
+# Gentoo Bug #923760
+QA_CONFIG_IMPL_DECL_SKIP=(
+       'pthread_sigmask'
+       'CreateThread'
+       'pthread_attr_init'
+       'pthread_attr_setname_np'
+       'pthread_setname_np'
+       '__builtin_bswap32'
+       '__builtin_bswap64'
+       'WSAPoll'
+       'epoll_create1'
+       'eventfd'
+       'pipe'
+       'pipe2'
+       'socketpair'
+       'gmtime_s'
+       'host_get_clock_service'
+       'clock_get_time'
+       'mach_port_deallocate'
+       'gethrtime'
+       'timespec_get'
+       'gettimeofday'
+       'sendfile'
+       'gnutls_privkey_import_x509_raw'
+       'calloc'
+       'fork'
+       'waitpid'
+       'random'
+       'rand'
+       'getsockname'
+       'sysconf'
+       'sysctl'
+       'sysctlbyname'
+       'usleep'
+       'nanosleep'
+       'stpncpy'
+)
+
+multilib_src_configure() {
+       ECONF_SOURCE="${S}" \
+       econf \
+               --enable-shared \
+               $(use_enable static-libs static) \
+               --disable-nls \
+               --enable-bauth \
+               --enable-dauth \
+               --disable-examples \
+               --enable-messages \
+               --enable-postprocessor \
+               --enable-httpupgrade \
+               --disable-experimental \
+               --disable-heavy-tests \
+               $(use_enable thread-names) \
+               $(use_enable epoll) \
+               $(use_enable test curl) \
+               $(use_enable ssl https) \
+               $(use_with ssl gnutls)
+}
+
+multilib_src_install_all() {
+       default
+
+       if ! use static-libs; then
+               find "${ED}" -name '*.la' -delete || die
+       fi
+}

diff --git a/net-libs/libmicrohttpd/libmicrohttpd-0.9.77-r1.ebuild 
b/net-libs/libmicrohttpd/libmicrohttpd-0.9.77-r1.ebuild
new file mode 100644
index 000000000000..60b8ffcd7e11
--- /dev/null
+++ b/net-libs/libmicrohttpd/libmicrohttpd-0.9.77-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit linux-info multilib-minimal verify-sig
+
+MY_P="${P/_/}"
+
+DESCRIPTION="Small C library to run an HTTP server as part of another 
application"
+HOMEPAGE="https://www.gnu.org/software/libmicrohttpd/";
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz
+       verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="|| ( LGPL-2.1+ !ssl? ( GPL-2+-with-eCos-exception-2 ) )"
+SLOT="0/12"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="+epoll +eventfd ssl static-libs test +thread-names verify-sig"
+REQUIRED_USE="epoll? ( kernel_linux )"
+RESTRICT="!test? ( test )"
+
+KEYRING_VER=201906
+
+RDEPEND="ssl? ( >net-libs/gnutls-2.12.20:=[${MULTILIB_USEDEP}] )"
+# libcurl and the curl binary are used during tests on CHOST
+DEPEND="${RDEPEND}
+       test? ( net-misc/curl[ssl?] )"
+BDEPEND="ssl? ( virtual/pkgconfig )
+       verify-sig? ( ~sec-keys/openpgp-keys-libmicrohttpd-${KEYRING_VER} )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libmicrohttpd-${KEYRING_VER}.asc
+
+DOCS=( AUTHORS NEWS COPYING README ChangeLog )
+
+# All checks in libmicrohttpd's configure are correct
+# Gentoo Bug #923760
+QA_CONFIG_IMPL_DECL_SKIP=(
+       'stpncpy'
+)
+
+pkg_pretend() {
+       if use kernel_linux ; then
+               CONFIG_CHECK=""
+               use epoll && CONFIG_CHECK+=" ~EPOLL"
+               ERROR_EPOLL="EPOLL is not enabled in kernel, but enabled in 
libmicrohttpd."
+               ERROR_EPOLL+=" libmicrohttpd will fail to start with 
'automatic' configuration."
+               use eventfd && CONFIG_CHECK+=" ~EVENTFD"
+               ERROR_EVENTFD="EVENTFD is not enabled in kernel, but enabled in 
libmicrohttpd."
+               ERROR_EVENTFD+=" libmicrohttpd will not work."
+               check_extra_config
+       fi
+}
+
+multilib_src_configure() {
+       local itc_type
+       if use eventfd ; then
+               itc_type="eventfd"
+       else
+               itc_type="pipe"
+       fi
+       ECONF_SOURCE="${S}" \
+       econf \
+               --enable-shared \
+               $(use_enable static-libs static) \
+               --disable-nls \
+               --enable-bauth \
+               --enable-dauth \
+               --disable-examples \
+               --enable-messages \
+               --enable-postprocessor \
+               --enable-httpupgrade \
+               --disable-experimental \
+               --disable-heavy-tests \
+               --enable-itc=${itc_type} \
+               $(use_enable thread-names) \
+               $(use_enable epoll) \
+               $(use_enable test curl) \
+               $(use_enable ssl https)
+}
+
+multilib_src_install_all() {
+       default
+
+       if ! use static-libs; then
+               find "${ED}" -name '*.la' -delete || die
+       fi
+}

diff --git a/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild 
b/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..24ef94c0237f
--- /dev/null
+++ b/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit linux-info multilib-minimal verify-sig
+
+MY_P="${P/_/}"
+
+DESCRIPTION="Small C library to run an HTTP server as part of another 
application"
+HOMEPAGE="https://www.gnu.org/software/libmicrohttpd/";
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz
+       verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="|| ( LGPL-2.1+ !ssl? ( GPL-2+-with-eCos-exception-2 ) )"
+SLOT="0/12"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="debug +epoll +eventfd ssl static-libs test +thread-names verify-sig"
+REQUIRED_USE="epoll? ( kernel_linux )"
+RESTRICT="!test? ( test )"
+
+KEYRING_VER=201906
+
+RDEPEND="ssl? ( >net-libs/gnutls-2.12.20:=[${MULTILIB_USEDEP}] )"
+# libcurl and the curl binary are used during tests on CHOST
+DEPEND="${RDEPEND}
+       test? ( net-misc/curl[ssl?] )"
+BDEPEND="ssl? ( virtual/pkgconfig )
+       verify-sig? ( ~sec-keys/openpgp-keys-libmicrohttpd-${KEYRING_VER} )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libmicrohttpd-${KEYRING_VER}.asc
+
+DOCS=( AUTHORS NEWS COPYING README ChangeLog )
+
+# All checks in libmicrohttpd's configure are correct
+# Gentoo Bug #923760
+QA_CONFIG_IMPL_DECL_SKIP=(
+       'stpncpy'
+)
+
+pkg_pretend() {
+       if use kernel_linux ; then
+               CONFIG_CHECK=""
+               use epoll && CONFIG_CHECK+=" ~EPOLL"
+               ERROR_EPOLL="EPOLL is not enabled in kernel, but enabled in 
libmicrohttpd."
+               ERROR_EPOLL+=" libmicrohttpd will fail to start with 
'automatic' configuration."
+               use eventfd && CONFIG_CHECK+=" ~EVENTFD"
+               ERROR_EVENTFD="EVENTFD is not enabled in kernel, but enabled in 
libmicrohttpd."
+               ERROR_EVENTFD+=" libmicrohttpd will not work."
+               check_extra_config
+       fi
+}
+
+multilib_src_configure() {
+       local itc_type
+       if use eventfd; then
+               itc_type="eventfd"
+       else
+               itc_type="pipe"
+       fi
+       ECONF_SOURCE="${S}" \
+       econf \
+               --enable-shared \
+               $(use_enable static-libs static) \
+               --enable-bauth \
+               --enable-dauth \
+               --enable-messages \
+               --enable-postprocessor \
+               --enable-httpupgrade \
+               --disable-examples \
+               --disable-tools \
+               --disable-experimental \
+               --disable-heavy-tests \
+               --enable-itc=${itc_type} \
+               $(use_enable debug asserts) \
+               $(use_enable thread-names) \
+               $(use_enable epoll) \
+               $(use_enable test curl) \
+               $(use_enable ssl https)
+}
+
+multilib_src_install_all() {
+       default
+
+       if ! use static-libs; then
+               find "${ED}" -name '*.la' -delete || die
+       fi
+}

Reply via email to