diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-07-17 02:30:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-07-17 02:30:06 +0100 |
commit | a6266c63b23ed0ee16865627ca53e4f5353f0a5c (patch) | |
tree | 6ed71ecc485e9c4903818db305f6ebee454a38db /net-libs/nghttp2 | |
parent | 1fd4e372381e1318aae1b7d3338c04156e5da974 (diff) |
gentoo auto-resync : 17:07:2022 - 02:30:06
Diffstat (limited to 'net-libs/nghttp2')
-rw-r--r-- | net-libs/nghttp2/Manifest | 6 | ||||
-rw-r--r-- | net-libs/nghttp2/files/nghttp2-1.48.0-pthread.patch | 576 | ||||
-rw-r--r-- | net-libs/nghttp2/nghttp2-1.48.0.ebuild | 17 | ||||
-rw-r--r-- | net-libs/nghttp2/nghttp2-9999.ebuild | 14 |
4 files changed, 12 insertions, 601 deletions
diff --git a/net-libs/nghttp2/Manifest b/net-libs/nghttp2/Manifest index 4931882e23e8..b6e8b1038de1 100644 --- a/net-libs/nghttp2/Manifest +++ b/net-libs/nghttp2/Manifest @@ -1,7 +1,7 @@ -AUX nghttp2-1.48.0-pthread.patch 24917 BLAKE2B 22013d89685be603094aa82f69da8741d4c0d76aea8a01de1322c19cef053964fdf0bec937650382f85607ac74466d4d052e6d40217101bc1e40326ad0ddc003 SHA512 bdebc50f13584826d6693aae201db9be63fcadcb8a68af188e94f008e005a2fd6aa6b91b31de2f07f84b93d981a003c8752c5fb4d47502f768bd94e21635627f DIST nghttp2-1.47.0.tar.xz 4028580 BLAKE2B 4f5302701c8d8a89c3ae72cbb8acb4cbcbe32cd0e2995643e0b669cf802ae28e8f6e52b2d59f69f87e0d12fc64a73c251edbe01c2b0eca2676626a9e456df93f SHA512 ad6266a15789fec966db6be8ac0b9ee6cca257a3bb91fdd34a58acf0e472643a571941b5974d16c98f6ac5bfa6a03c4b70a6dff222fb0cd50909178b7e94ce48 +DIST nghttp2-1.48.0-pthread.patch 24917 BLAKE2B 22013d89685be603094aa82f69da8741d4c0d76aea8a01de1322c19cef053964fdf0bec937650382f85607ac74466d4d052e6d40217101bc1e40326ad0ddc003 SHA512 bdebc50f13584826d6693aae201db9be63fcadcb8a68af188e94f008e005a2fd6aa6b91b31de2f07f84b93d981a003c8752c5fb4d47502f768bd94e21635627f DIST nghttp2-1.48.0.tar.xz 4112072 BLAKE2B a52dc1ef4c9658298acef5ad703bec1708e538ebe19584dd5fcfe39089777e105594a998c7db696ee54bc8f17d3086828c09e921d8714b7ad3efbf33d04aaca0 SHA512 77c22371290f77e8a538b9efea225d23567cc27cb60b71703cbcb057839b5f117cf50796aa82bf4518f22b38a5773e90a1c273eafff4b17c435ac5858bdf7c6f EBUILD nghttp2-1.47.0.ebuild 2025 BLAKE2B 7c4dbcfe5083f983192851ff027a016ad9b4d03c645c8ae1ff752864dc818210d8defea0186a3f59141d9da5012cb97c0f729c9512592e6fb8c5fd56035a66be SHA512 ca9538daaa140b909ab39228b9f43033f787e0c8e5fe4533f00b0fe6da80327feabc05e8ce2f09770e8d6d5150c02e5790b6db5332c20e11ffe8abd5dc515df5 -EBUILD nghttp2-1.48.0.ebuild 2160 BLAKE2B 06069da939191b0952a65a4e99ce56bcf1ab9a6ebf527eab0d144b5679fa9df919f2e164cf04727f669bc8b08bd08017d0a19394ed74bdaf1c2e9699e0e56be0 SHA512 1196b16c552cfdb60e2075148d993d8480e2db41714e0be5a51b46948abe49713001d74dcc6247879920b4db04f3ceaeb71d709b6d438b40c5e41efd214bbaff -EBUILD nghttp2-9999.ebuild 2058 BLAKE2B 040607a124190990383dfcc01e77ffceee4e094dc27590908a774ac68a1141bca75b674763d3179bf5b3a873a5af84466ec4307446b4035daa98e151cfb95f77 SHA512 45a0bb985c8e2a2fb86d193734e0432804f8c2dd536de5cc60884b58f7f31a380dc40389ecd8130794124da0b31f2998c144338b7f17febd0f976c59803ed452 +EBUILD nghttp2-1.48.0.ebuild 2032 BLAKE2B d8741cec65bf900a048470eafceafe4a5a41aca357c511c8aceafe5e4b8e8def7a68299d5035232fcd3ecc8b9bfe94a7200589c46650af3a47c832819f4953e3 SHA512 661b6583e28d8dddf846652c07395075f5d6b003a1aa29590c3eac3fa230214eaa52040ddaebf156661d468e8bd20dc3d620e6e44329ce9e105760be2e9b5f51 +EBUILD nghttp2-9999.ebuild 1716 BLAKE2B b1aa96a914e2b23216a3ff0a134a4167f48f968694b880890801d2b72e64abba173da2ad5530d22fd414fbca471711fc9282f9e7347e666fcd332a99d4c5a0d2 SHA512 1d28fecd66f3dc20ddec8504988bef8513e6718b1ed7090422889b7a7e7d5493bf417c019ba17aaeefe14f23a978e0034766f64475e1616a8739a7cd7f368b88 MISC metadata.xml 494 BLAKE2B 674699650c76287d91d7e10f3c534f6ece6a3620231a2c09c2b337ea9d9dd9cb9ca793378182589780a93afb790a214cb19eb07e0da7fa5a4d13295fa38f97d2 SHA512 ef1701f1c7089aa13795c18a5c50221bdb7d082247e450f792deaf787516039b6e53ead3b2d5e2324cf1edee4fc9a4d270c7ff5f924a2d9487d39404c659e828 diff --git a/net-libs/nghttp2/files/nghttp2-1.48.0-pthread.patch b/net-libs/nghttp2/files/nghttp2-1.48.0-pthread.patch deleted file mode 100644 index b3c5ad2ad1aa..000000000000 --- a/net-libs/nghttp2/files/nghttp2-1.48.0-pthread.patch +++ /dev/null @@ -1,576 +0,0 @@ -From 9051916665843b144fb176a122fe0ea3c9192e64 Mon Sep 17 00:00:00 2001 -From: orbea <orbea@riseup.net> -Date: Thu, 18 Mar 2021 08:29:19 -0700 -Subject: [PATCH] build: Fix undefined pthread references. - ---- - configure.ac | 9 +- - lib/Makefile.am | 1 + - m4/ax_pthread.m4 | 507 +++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 511 insertions(+), 6 deletions(-) - create mode 100644 m4/ax_pthread.m4 - -diff --git a/configure.ac b/configure.ac -index 18ed382496..17401d0e03 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -322,10 +322,6 @@ case "$host_os" in - # android does not need -pthread, but needs followng 3 libs for C++ - APPLDFLAGS="$APPLDFLAGS -lstdc++ -latomic -lsupc++" - ;; -- *) -- PTHREAD_LDFLAGS="-pthread" -- APPLDFLAGS="$APPLDFLAGS $PTHREAD_LDFLAGS" -- ;; - esac - - case "$host_os" in -@@ -531,14 +527,14 @@ if test "x${request_jemalloc}" != "xno"; then - if test "x${JEMALLOC_LIBS}" = "x" && test "x${JEMALLOC_CFLAGS}" = "x"; then - save_LIBS=$LIBS - AC_SEARCH_LIBS([malloc_stats_print], [jemalloc], [have_jemalloc=yes], [], -- [$PTHREAD_LDFLAGS]) -+ []) - - if test "x${have_jemalloc}" = "xyes"; then - jemalloc_libs=${ac_cv_search_malloc_stats_print} - else - # On Darwin, malloc_stats_print is je_malloc_stats_print - AC_SEARCH_LIBS([je_malloc_stats_print], [jemalloc], [have_jemalloc=yes], [], -- [$PTHREAD_LDFLAGS]) -+ []) - - if test "x${have_jemalloc}" = "xyes"; then - jemalloc_libs=${ac_cv_search_je_malloc_stats_print} -@@ -568,6 +564,7 @@ if test "x${request_asio_lib}" = "xyes"; then - AX_BOOST_BASE([1.54.0], [have_boost_base=yes], [have_boost_base=no]) - - if test "x${have_boost_base}" = "xyes"; then -+ AX_PTHREAD - AX_BOOST_ASIO() - AX_BOOST_SYSTEM() - AX_BOOST_THREAD() -diff --git a/lib/Makefile.am b/lib/Makefile.am -index bb2691f0c8..936689c65e 100644 ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -71,5 +71,6 @@ HFILES = nghttp2_pq.h nghttp2_int.h nghttp2_map.h nghttp2_queue.h \ - nghttp2_ksl.h - - libnghttp2_la_SOURCES = $(HFILES) $(OBJECTS) -+libnghttp2_la_LIBADD = $(PTHREAD_LIBS) - libnghttp2_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined \ - -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4 -new file mode 100644 -index 0000000000..1598d077ff ---- /dev/null -+++ b/m4/ax_pthread.m4 -@@ -0,0 +1,507 @@ -+# =========================================================================== -+# https://www.gnu.org/software/autoconf-archive/ax_pthread.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -+# -+# DESCRIPTION -+# -+# This macro figures out how to build C programs using POSIX threads. It -+# sets the PTHREAD_LIBS output variable to the threads library and linker -+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -+# flags that are needed. (The user can also force certain compiler -+# flags/libs to be tested by setting these environment variables.) -+# -+# Also sets PTHREAD_CC to any special C compiler that is needed for -+# multi-threaded programs (defaults to the value of CC otherwise). (This -+# is necessary on AIX to use the special cc_r compiler alias.) -+# -+# NOTE: You are assumed to not only compile your program with these flags, -+# but also to link with them as well. For example, you might link with -+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -+# -+# If you are only building threaded programs, you may wish to use these -+# variables in your default LIBS, CFLAGS, and CC: -+# -+# LIBS="$PTHREAD_LIBS $LIBS" -+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+# CC="$PTHREAD_CC" -+# -+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -+# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to -+# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -+# -+# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the -+# PTHREAD_PRIO_INHERIT symbol is defined when compiling with -+# PTHREAD_CFLAGS. -+# -+# ACTION-IF-FOUND is a list of shell commands to run if a threads library -+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -+# is not found. If ACTION-IF-FOUND is not specified, the default action -+# will define HAVE_PTHREAD. -+# -+# Please let the authors know if this macro fails on any platform, or if -+# you have any other suggestions or comments. This macro was based on work -+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -+# Alejandro Forero Cuervo to the autoconf macro repository. We are also -+# grateful for the helpful feedback of numerous users. -+# -+# Updated for Autoconf 2.68 by Daniel Richard G. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -+# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> -+# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl> -+# -+# This program is free software: you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by the -+# Free Software Foundation, either version 3 of the License, or (at your -+# option) any later version. -+# -+# This program 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 General -+# Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program. If not, see <https://www.gnu.org/licenses/>. -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 27 -+ -+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -+AC_DEFUN([AX_PTHREAD], [ -+AC_REQUIRE([AC_CANONICAL_HOST]) -+AC_REQUIRE([AC_PROG_CC]) -+AC_REQUIRE([AC_PROG_SED]) -+AC_LANG_PUSH([C]) -+ax_pthread_ok=no -+ -+# We used to check for pthread.h first, but this fails if pthread.h -+# requires special compiler flags (e.g. on Tru64 or Sequent). -+# It gets checked for in the link test anyway. -+ -+# First of all, check if the user has set any of the PTHREAD_LIBS, -+# etcetera environment variables, and if threads linking works using -+# them: -+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then -+ ax_pthread_save_CC="$CC" -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) -+ AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) -+ AC_MSG_RESULT([$ax_pthread_ok]) -+ if test "x$ax_pthread_ok" = "xno"; then -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+ fi -+ CC="$ax_pthread_save_CC" -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+fi -+ -+# We must check for the threads library under a number of different -+# names; the ordering is very important because some systems -+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -+# libraries is broken (non-POSIX). -+ -+# Create a list of thread flags to try. Items with a "," contain both -+# C compiler flags (before ",") and linker flags (after ","). Other items -+# starting with a "-" are C compiler flags, and remaining items are -+# library names, except for "none" which indicates that we try without -+# any flags at all, and "pthread-config" which is a program returning -+# the flags for the Pth emulation library. -+ -+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" -+ -+# The ordering *is* (sometimes) important. Some notes on the -+# individual items follow: -+ -+# pthreads: AIX (must check this before -lpthread) -+# none: in case threads are in libc; should be tried before -Kthread and -+# other compiler flags to prevent continual compiler warnings -+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 -+# (Note: HP C rejects this with "bad form for `-t' option") -+# -pthreads: Solaris/gcc (Note: HP C also rejects) -+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -+# doesn't hurt to check since this sometimes defines pthreads and -+# -D_REENTRANT too), HP C (must be checked before -lpthread, which -+# is present but should not be used directly; and before -mthreads, -+# because the compiler interprets this as "-mt" + "-hreads") -+# -mthreads: Mingw32/gcc, Lynx/gcc -+# pthread: Linux, etcetera -+# --thread-safe: KAI C++ -+# pthread-config: use pthread-config program (for GNU Pth library) -+ -+case $host_os in -+ -+ freebsd*) -+ -+ # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -+ # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -+ -+ ax_pthread_flags="-kthread lthread $ax_pthread_flags" -+ ;; -+ -+ hpux*) -+ -+ # From the cc(1) man page: "[-mt] Sets various -D flags to enable -+ # multi-threading and also sets -lpthread." -+ -+ ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" -+ ;; -+ -+ openedition*) -+ -+ # IBM z/OS requires a feature-test macro to be defined in order to -+ # enable POSIX threads at all, so give the user a hint if this is -+ # not set. (We don't define these ourselves, as they can affect -+ # other portions of the system API in unpredictable ways.) -+ -+ AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], -+ [ -+# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) -+ AX_PTHREAD_ZOS_MISSING -+# endif -+ ], -+ [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) -+ ;; -+ -+ solaris*) -+ -+ # On Solaris (at least, for some versions), libc contains stubbed -+ # (non-functional) versions of the pthreads routines, so link-based -+ # tests will erroneously succeed. (N.B.: The stubs are missing -+ # pthread_cleanup_push, or rather a function called by this macro, -+ # so we could check for that, but who knows whether they'll stub -+ # that too in a future libc.) So we'll check first for the -+ # standard Solaris way of linking pthreads (-mt -lpthread). -+ -+ ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" -+ ;; -+esac -+ -+# Are we compiling with Clang? -+ -+AC_CACHE_CHECK([whether $CC is Clang], -+ [ax_cv_PTHREAD_CLANG], -+ [ax_cv_PTHREAD_CLANG=no -+ # Note that Autoconf sets GCC=yes for Clang as well as GCC -+ if test "x$GCC" = "xyes"; then -+ AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], -+ [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ -+# if defined(__clang__) && defined(__llvm__) -+ AX_PTHREAD_CC_IS_CLANG -+# endif -+ ], -+ [ax_cv_PTHREAD_CLANG=yes]) -+ fi -+ ]) -+ax_pthread_clang="$ax_cv_PTHREAD_CLANG" -+ -+ -+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) -+ -+# Note that for GCC and Clang -pthread generally implies -lpthread, -+# except when -nostdlib is passed. -+# This is problematic using libtool to build C++ shared libraries with pthread: -+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 -+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 -+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 -+# To solve this, first try -pthread together with -lpthread for GCC -+ -+AS_IF([test "x$GCC" = "xyes"], -+ [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) -+ -+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first -+ -+AS_IF([test "x$ax_pthread_clang" = "xyes"], -+ [ax_pthread_flags="-pthread,-lpthread -pthread"]) -+ -+ -+# The presence of a feature test macro requesting re-entrant function -+# definitions is, on some systems, a strong hint that pthreads support is -+# correctly enabled -+ -+case $host_os in -+ darwin* | hpux* | linux* | osf* | solaris*) -+ ax_pthread_check_macro="_REENTRANT" -+ ;; -+ -+ aix*) -+ ax_pthread_check_macro="_THREAD_SAFE" -+ ;; -+ -+ *) -+ ax_pthread_check_macro="--" -+ ;; -+esac -+AS_IF([test "x$ax_pthread_check_macro" = "x--"], -+ [ax_pthread_check_cond=0], -+ [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) -+ -+ -+if test "x$ax_pthread_ok" = "xno"; then -+for ax_pthread_try_flag in $ax_pthread_flags; do -+ -+ case $ax_pthread_try_flag in -+ none) -+ AC_MSG_CHECKING([whether pthreads work without any flags]) -+ ;; -+ -+ *,*) -+ PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` -+ PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` -+ AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) -+ ;; -+ -+ -*) -+ AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) -+ PTHREAD_CFLAGS="$ax_pthread_try_flag" -+ ;; -+ -+ pthread-config) -+ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) -+ AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) -+ PTHREAD_CFLAGS="`pthread-config --cflags`" -+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" -+ ;; -+ -+ *) -+ AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) -+ PTHREAD_LIBS="-l$ax_pthread_try_flag" -+ ;; -+ esac -+ -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ -+ # Check for various functions. We must include pthread.h, -+ # since some functions may be macros. (On the Sequent, we -+ # need a special flag -Kthread to make this header compile.) -+ # We check for pthread_join because it is in -lpthread on IRIX -+ # while pthread_create is in libc. We check for pthread_attr_init -+ # due to DEC craziness with -lpthreads. We check for -+ # pthread_cleanup_push because it is one of the few pthread -+ # functions on Solaris that doesn't have a non-functional libc stub. -+ # We try pthread_create on general principles. -+ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> -+# if $ax_pthread_check_cond -+# error "$ax_pthread_check_macro must be defined" -+# endif -+ static void *some_global = NULL; -+ static void routine(void *a) -+ { -+ /* To avoid any unused-parameter or -+ unused-but-set-parameter warning. */ -+ some_global = a; -+ } -+ static void *start_routine(void *a) { return a; }], -+ [pthread_t th; pthread_attr_t attr; -+ pthread_create(&th, 0, start_routine, 0); -+ pthread_join(th, 0); -+ pthread_attr_init(&attr); -+ pthread_cleanup_push(routine, 0); -+ pthread_cleanup_pop(0) /* ; */])], -+ [ax_pthread_ok=yes], -+ []) -+ -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+ -+ AC_MSG_RESULT([$ax_pthread_ok]) -+ AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) -+ -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+done -+fi -+ -+ -+# Clang needs special handling, because older versions handle the -pthread -+# option in a rather... idiosyncratic way -+ -+if test "x$ax_pthread_clang" = "xyes"; then -+ -+ # Clang takes -pthread; it has never supported any other flag -+ -+ # (Note 1: This will need to be revisited if a system that Clang -+ # supports has POSIX threads in a separate library. This tends not -+ # to be the way of modern systems, but it's conceivable.) -+ -+ # (Note 2: On some systems, notably Darwin, -pthread is not needed -+ # to get POSIX threads support; the API is always present and -+ # active. We could reasonably leave PTHREAD_CFLAGS empty. But -+ # -pthread does define _REENTRANT, and while the Darwin headers -+ # ignore this macro, third-party headers might not.) -+ -+ # However, older versions of Clang make a point of warning the user -+ # that, in an invocation where only linking and no compilation is -+ # taking place, the -pthread option has no effect ("argument unused -+ # during compilation"). They expect -pthread to be passed in only -+ # when source code is being compiled. -+ # -+ # Problem is, this is at odds with the way Automake and most other -+ # C build frameworks function, which is that the same flags used in -+ # compilation (CFLAGS) are also used in linking. Many systems -+ # supported by AX_PTHREAD require exactly this for POSIX threads -+ # support, and in fact it is often not straightforward to specify a -+ # flag that is used only in the compilation phase and not in -+ # linking. Such a scenario is extremely rare in practice. -+ # -+ # Even though use of the -pthread flag in linking would only print -+ # a warning, this can be a nuisance for well-run software projects -+ # that build with -Werror. So if the active version of Clang has -+ # this misfeature, we search for an option to squash it. -+ -+ AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], -+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], -+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown -+ # Create an alternate version of $ac_link that compiles and -+ # links in two steps (.c -> .o, .o -> exe) instead of one -+ # (.c -> exe), because the warning occurs only in the second -+ # step -+ ax_pthread_save_ac_link="$ac_link" -+ ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' -+ ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` -+ ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do -+ AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) -+ CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" -+ ac_link="$ax_pthread_save_ac_link" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], -+ [ac_link="$ax_pthread_2step_ac_link" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], -+ [break]) -+ ]) -+ done -+ ac_link="$ax_pthread_save_ac_link" -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) -+ ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" -+ ]) -+ -+ case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in -+ no | unknown) ;; -+ *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; -+ esac -+ -+fi # $ax_pthread_clang = yes -+ -+ -+ -+# Various other checks: -+if test "x$ax_pthread_ok" = "xyes"; then -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ -+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. -+ AC_CACHE_CHECK([for joinable pthread attribute], -+ [ax_cv_PTHREAD_JOINABLE_ATTR], -+ [ax_cv_PTHREAD_JOINABLE_ATTR=unknown -+ for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], -+ [int attr = $ax_pthread_attr; return attr /* ; */])], -+ [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], -+ []) -+ done -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ -+ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ -+ test "x$ax_pthread_joinable_attr_defined" != "xyes"], -+ [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], -+ [$ax_cv_PTHREAD_JOINABLE_ATTR], -+ [Define to necessary symbol if this constant -+ uses a non-standard name on your system.]) -+ ax_pthread_joinable_attr_defined=yes -+ ]) -+ -+ AC_CACHE_CHECK([whether more special flags are required for pthreads], -+ [ax_cv_PTHREAD_SPECIAL_FLAGS], -+ [ax_cv_PTHREAD_SPECIAL_FLAGS=no -+ case $host_os in -+ solaris*) -+ ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" -+ ;; -+ esac -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ -+ test "x$ax_pthread_special_flags_added" != "xyes"], -+ [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" -+ ax_pthread_special_flags_added=yes]) -+ -+ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], -+ [ax_cv_PTHREAD_PRIO_INHERIT], -+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], -+ [[int i = PTHREAD_PRIO_INHERIT; -+ return i;]])], -+ [ax_cv_PTHREAD_PRIO_INHERIT=yes], -+ [ax_cv_PTHREAD_PRIO_INHERIT=no]) -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ -+ test "x$ax_pthread_prio_inherit_defined" != "xyes"], -+ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) -+ ax_pthread_prio_inherit_defined=yes -+ ]) -+ -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+ -+ # More AIX lossage: compile with *_r variant -+ if test "x$GCC" != "xyes"; then -+ case $host_os in -+ aix*) -+ AS_CASE(["x/$CC"], -+ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], -+ [#handle absolute path differently from PATH based program lookup -+ AS_CASE(["x$CC"], -+ [x/*], -+ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], -+ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) -+ ;; -+ esac -+ fi -+fi -+ -+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" -+ -+AC_SUBST([PTHREAD_LIBS]) -+AC_SUBST([PTHREAD_CFLAGS]) -+AC_SUBST([PTHREAD_CC]) -+ -+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -+if test "x$ax_pthread_ok" = "xyes"; then -+ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) -+ : -+else -+ ax_pthread_ok=no -+ $2 -+fi -+AC_LANG_POP -+])dnl AX_PTHREAD diff --git a/net-libs/nghttp2/nghttp2-1.48.0.ebuild b/net-libs/nghttp2/nghttp2-1.48.0.ebuild index 12c096a2127b..3d7864b42e52 100644 --- a/net-libs/nghttp2/nghttp2-1.48.0.ebuild +++ b/net-libs/nghttp2/nghttp2-1.48.0.ebuild @@ -5,21 +5,16 @@ EAPI=8 -inherit multilib-minimal - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/nghttp2/nghttp2.git" - inherit autotools git-r3 -else - SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi +inherit autotools multilib-minimal DESCRIPTION="HTTP/2 C Library" HOMEPAGE="https://nghttp2.org/" +SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz + https://dev.gentoo.org/~voyageur/distfiles/${P}-pthread.patch" LICENSE="MIT" SLOT="0/1.14" # <C++>.<C> SONAMEs +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="cxx debug hpack-tools jemalloc static-libs test +threads utils xml" RESTRICT="!test? ( test )" @@ -46,13 +41,11 @@ DEPEND="${RDEPEND} BDEPEND="virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${P}-pthread.patch + "${DISTDIR}"/${P}-pthread.patch ) src_prepare() { default - # Restore when patch is merged/dropped - #[[ ${PV} == 9999 ]] && eautoreconf eautoreconf } diff --git a/net-libs/nghttp2/nghttp2-9999.ebuild b/net-libs/nghttp2/nghttp2-9999.ebuild index fc3c9a321036..44a9ccc69a4e 100644 --- a/net-libs/nghttp2/nghttp2-9999.ebuild +++ b/net-libs/nghttp2/nghttp2-9999.ebuild @@ -5,21 +5,15 @@ EAPI=8 -inherit multilib-minimal - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/nghttp2/nghttp2.git" - inherit autotools git-r3 -else - SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi +inherit autotools git-r3 multilib-minimal DESCRIPTION="HTTP/2 C Library" HOMEPAGE="https://nghttp2.org/" +EGIT_REPO_URI="https://github.com/nghttp2/nghttp2.git" LICENSE="MIT" SLOT="0/1.14" # <C++>.<C> SONAMEs +KEYWORDS="" IUSE="cxx debug hpack-tools jemalloc static-libs test +threads utils xml" RESTRICT="!test? ( test )" @@ -47,7 +41,7 @@ BDEPEND="virtual/pkgconfig" src_prepare() { default - [[ ${PV} == 9999 ]] && eautoreconf + eautoreconf } multilib_src_configure() { |