mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
Merge updates from master
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
DIST nss-3.104-cacert-class1-class3.patch 22038 BLAKE2B 66e2dd47230d6aa58a767e35c9c069fa29f3111d470345e0f69486d1eead3cd1741939ac394f6b9b637e79a10d658cfb1a9da4387953b8968a9001bab94d4de0 SHA512 bafc4212e0e0ca3eb129a5b88767727159c6ec3da450c7625d0b282f82699378d64eaa2c3fecb72c61000ec9b6d3c24f20bc7defdac6edc673e0fbb26e0c1f7e
|
||||
DIST nss-3.112.5.tar.gz 76633068 BLAKE2B 389b2c98c8e99a951f1dc496107e72d87e11cbfb25e595dde5a2c4586760dd4cf7297599177bda7f2b261aacb26eda7447c8c964bb606ece7363327301ae95b5 SHA512 2ca321ce81785ceff5642592270514cf233ab9f68165610bbad2fda8dacd97f4616671f43d29e39940b86cf86909edfece45c34c505e924090ac8a2df248c584
|
||||
DIST nss-3.125.tar.gz 78567913 BLAKE2B 14d4a710464f9889a29441fba61556aab1b4074c284e21312272db6c43649398269235e9a3398b17052344dc535f36477d090a41bbb803de50052817471a2444 SHA512 8051cd13a1963d1a1b019e8aef6255fa6780170ea9d435b13ce81224c6e646968608dea7426c0903a4b83090acc25c06eba021b908981b65dca9748afc5471c6
|
||||
DIST nss-3.126.tar.gz 78769092 BLAKE2B c0afe01a87593768f10f47bf50340fe6337d3ddcfed10706379d150e7b42b0c8aab146b09b2fead172687bc3481db83f5611014600ddeefe607ed79e5eca08b9 SHA512 58d3b77e449ce4d3408051f1cf08ee1b7b0d86f8382d5d2103acc097de3503345e78edaf06af824122efe8cdb20eca7c0f295692aedbf5a14676411be27624b9
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
diff --git a/coreconf/Linux.mk b/coreconf/Linux.mk
|
||||
--- a/coreconf/Linux.mk
|
||||
+++ b/coreconf/Linux.mk
|
||||
@@ -186,10 +186,18 @@
|
||||
FREEBL_LOWHASH = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
+# Test toolchain for endianness and set LITTLE_ENDIAN variable accordingly
|
||||
+ENDIANNESS := $(shell echo | $(CC) -dM -E - | grep __BYTE_ORDER__)
|
||||
+ifeq ($(findstring __ORDER_LITTLE_ENDIAN__,$(ENDIANNESS)),__ORDER_LITTLE_ENDIAN__)
|
||||
+ LITTLE_ENDIAN := 1
|
||||
+else
|
||||
+ LITTLE_ENDIAN := 0
|
||||
+endif
|
||||
+
|
||||
USE_SYSTEM_ZLIB = 1
|
||||
ZLIB_LIBS = -lz
|
||||
|
||||
# The -rpath '$$ORIGIN' linker option instructs this library to search for its
|
||||
# dependencies in the same directory where it resides.
|
||||
diff '--color=auto' -Naur a/lib/freebl/Makefile b/lib/freebl/Makefile
|
||||
--- a/lib/freebl/Makefile 2026-07-19 11:30:59.568272858 +0300
|
||||
+++ b/lib/freebl/Makefile 2026-07-19 12:20:56.138305051 +0300
|
||||
@@ -112,7 +112,10 @@
|
||||
# NSS_X64 means the target is a 64-bits 64 CPU architecture
|
||||
# NSS_X86_OR_X64 means the target is either x86 or x64
|
||||
ifeq (,$(filter-out i386 x386 x86 x86_64,$(CPU_ARCH)))
|
||||
- DEFINES += -DNSS_X86_OR_X64 -DHAVE_PLATFORM_GHASH
|
||||
+ DEFINES += -DNSS_X86_OR_X64
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += ghash-x86.c aes-x86.c
|
||||
$(OBJDIR)/ghash-x86.o: CFLAGS += -mpclmul -maes
|
||||
$(OBJDIR)/aes-x86.o: CFLAGS += -mpclmul -maes
|
||||
@@ -138,7 +141,10 @@
|
||||
endif
|
||||
ifeq ($(CPU_ARCH),aarch64)
|
||||
ifdef CC_IS_CLANG
|
||||
- DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
|
||||
+ DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
|
||||
else ifeq (1,$(CC_IS_GCC))
|
||||
# GCC versions older than 4.9 don't support ARM AES. The check
|
||||
@@ -146,11 +152,17 @@
|
||||
# and then rejects any major versions prior to 5. Note that
|
||||
# there has been no GCC 4.10, as it was renamed to GCC 5.
|
||||
ifneq (,$(filter 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
|
||||
- DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
|
||||
+ DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
|
||||
endif
|
||||
ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
|
||||
- DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
|
||||
+ DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
|
||||
endif
|
||||
endif
|
||||
@@ -183,7 +195,9 @@
|
||||
endif
|
||||
ifeq ($(CPU_ARCH),arm)
|
||||
ifndef NSS_DISABLE_ARM32_NEON
|
||||
- DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += ghash-arm32-neon.c
|
||||
endif
|
||||
ifdef CC_IS_CLANG
|
||||
@@ -316,7 +330,9 @@
|
||||
MPI_SRCS += mpi_arm.c
|
||||
endif
|
||||
ifeq ($(CPU_ARCH),ppc)
|
||||
- DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ ifeq ($(LITTLE_ENDIAN),1)
|
||||
+ DEFINES += -DHAVE_PLATFORM_GHASH
|
||||
+ endif
|
||||
EXTRA_SRCS += ghash-ppc.c
|
||||
ifdef USE_64
|
||||
DEFINES += -DNSS_NO_INIT_SUPPORT
|
||||
438
dev-libs/nss/nss-3.126.ebuild
Normal file
438
dev-libs/nss/nss-3.126.ebuild
Normal file
@@ -0,0 +1,438 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit dot-a flag-o-matic multilib toolchain-funcs multilib-minimal
|
||||
|
||||
NSPR_VER="4.39"
|
||||
RTM_NAME="NSS_${PV//./_}_RTM"
|
||||
|
||||
# If the release is made in Github only, not released at the official archive.mozilla.org. These
|
||||
# Github-only tarballs have a different directory structure. Leave the variable empty for
|
||||
# archive.mozilla.org release:
|
||||
# GH_ONLY_REL=
|
||||
GH_ONLY_REL=
|
||||
|
||||
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
|
||||
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
|
||||
|
||||
if [[ -n ${GH_ONLY_REL} ]] ; then
|
||||
SRC_URI="https://github.com/nss-dev/nss/archive/refs/tags/${RTM_NAME}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${RTM_NAME}"
|
||||
else
|
||||
SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz"
|
||||
S="${WORKDIR}/${P}/${PN}"
|
||||
fi
|
||||
SRC_URI+=" cacert? ( https://dev.gentoo.org/~juippis/mozilla/patchsets/nss-3.104-cacert-class1-class3.patch )"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"
|
||||
IUSE="cacert test test-full +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
|
||||
|
||||
REQUIRED_USE="test-full? ( test )"
|
||||
|
||||
PROPERTIES="test_network"
|
||||
RESTRICT="test"
|
||||
|
||||
# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
|
||||
RDEPEND="
|
||||
>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
|
||||
>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
|
||||
>=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="dev-lang/perl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nss-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/nss-3.126-bmo-2027768-fix-build-failure-due-to-missing-gcm-stubs-if-on-big-endian.patch
|
||||
"${FILESDIR}"/nss-3.103-gentoo-fixes-add-pkgconfig-files.patch
|
||||
"${FILESDIR}"/nss-3.21-gentoo-fixup-warnings.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use cacert ; then
|
||||
eapply -p2 "${DISTDIR}"/nss-3.104-cacert-class1-class3.patch
|
||||
fi
|
||||
|
||||
pushd coreconf >/dev/null || die
|
||||
# hack nspr paths
|
||||
echo 'INCLUDES += -I$(DIST)/include/dbm' \
|
||||
>> headers.mk || die "failed to append include"
|
||||
|
||||
# modify install path
|
||||
sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
|
||||
-i source.mk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
|
||||
|
||||
# Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
|
||||
sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
|
||||
|
||||
popd >/dev/null || die
|
||||
|
||||
# Fix pkgconfig file for Prefix
|
||||
sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
|
||||
config/Makefile || die
|
||||
|
||||
# use host shlibsign if need be #436216
|
||||
if tc-is-cross-compiler ; then
|
||||
sed -i \
|
||||
-e 's:"${2}"/shlibsign:shlibsign:' \
|
||||
cmd/shlibsign/sign.sh || die
|
||||
fi
|
||||
|
||||
# dirty hack
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
|
||||
lib/ssl/config.mk || die
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
|
||||
cmd/platlibs.mk || die
|
||||
|
||||
multilib_copy_sources
|
||||
lto-guarantee-fat
|
||||
|
||||
strip-flags
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Ensure we stay multilib aware
|
||||
sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
|
||||
}
|
||||
|
||||
nssarch() {
|
||||
# Most of the arches are the same as $ARCH
|
||||
local t=${1:-${CHOST}}
|
||||
case ${t} in
|
||||
*86*-pc-solaris2*) echo "i86pc" ;;
|
||||
aarch64*) echo "aarch64" ;;
|
||||
hppa*) echo "parisc" ;;
|
||||
i?86*) echo "i686" ;;
|
||||
x86_64*) echo "x86_64" ;;
|
||||
*) tc-arch ${t} ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# @USAGE: <pointer bytes> <tuple>
|
||||
nssbits() {
|
||||
case $1 in
|
||||
4) [[ $2 == x86_64* ]] && echo USE_X32=1 ;;
|
||||
8) echo USE_64=1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export_build_env
|
||||
|
||||
local makeargs=(
|
||||
CC="$(tc-getCC)"
|
||||
CCC="$(tc-getCXX)"
|
||||
AR="$(tc-getAR) rc \$@"
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
OPTIMIZER=
|
||||
disable_ckbi=0
|
||||
$(nssbits "$(tc-get-ptr-size)" "${CHOST}")
|
||||
)
|
||||
|
||||
# Take care of nspr settings #436216
|
||||
local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags) -D_FILE_OFFSET_BITS=64"
|
||||
unset NSPR_INCLUDE_DIR
|
||||
|
||||
export NSS_ALLOW_SSLKEYLOGFILE=1
|
||||
export NSS_ENABLE_WERROR=0 #567158
|
||||
export BUILD_OPT=1
|
||||
export NSS_USE_SYSTEM_SQLITE=1
|
||||
export NSDISTMODE=copy
|
||||
export FREEBL_NO_DEPEND=1
|
||||
export FREEBL_LOWHASH=1
|
||||
export NSS_SEED_ONLY_DEV_URANDOM=1
|
||||
export USE_SYSTEM_ZLIB=1
|
||||
export ZLIB_LIBS=-lz
|
||||
export ASFLAGS=""
|
||||
# Fix build failure on arm64
|
||||
export NS_USE_GCC=1
|
||||
# Detect compiler type and set proper environment value
|
||||
if tc-is-gcc; then
|
||||
export CC_IS_GCC=1
|
||||
elif tc-is-clang; then
|
||||
export CC_IS_CLANG=1
|
||||
|
||||
# bgo#927839
|
||||
export NSS_DISABLE_UNLOAD=1
|
||||
fi
|
||||
|
||||
export NSS_DISABLE_GTESTS=$(usex !test 1 0)
|
||||
|
||||
# Include exportable custom settings defined by users, #900915
|
||||
# Two examples uses:
|
||||
# EXTRA_NSSCONF="MYONESWITCH=1"
|
||||
# EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
|
||||
# e.g.
|
||||
# EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
|
||||
# or
|
||||
# EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
|
||||
# etc.
|
||||
if [[ -n "${EXTRA_NSSCONF}" ]]; then
|
||||
ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
|
||||
read -a myextranssconf <<< "${EXTRA_NSSCONF}"
|
||||
|
||||
for (( i=0; i<${#myextranssconf[@]}; i++ )); do
|
||||
export "${myextranssconf[$i]}"
|
||||
echo "exported ${myextranssconf[$i]}"
|
||||
done
|
||||
fi
|
||||
|
||||
# explicitly disable altivec/vsx if not requested
|
||||
# https://bugs.gentoo.org/789114
|
||||
case ${ARCH} in
|
||||
ppc*)
|
||||
use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
|
||||
use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
|
||||
;;
|
||||
esac
|
||||
|
||||
use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
|
||||
use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
|
||||
|
||||
local d
|
||||
|
||||
# Disables calling shlibsign during the build #956431 and #436216
|
||||
tc-is-cross-compiler && makeargs+=( CROSS_COMPILE=1 )
|
||||
|
||||
# Build the host tools first.
|
||||
LDFLAGS="${BUILD_LDFLAGS}" \
|
||||
XCFLAGS="${BUILD_CFLAGS} -D_FILE_OFFSET_BITS=64" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -C coreconf \
|
||||
CC="$(tc-getBUILD_CC)" \
|
||||
$(nssbits "$(tc-get-build-ptr-size)" "${CBUILD}")
|
||||
makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
|
||||
|
||||
# Then build the target tools.
|
||||
for d in . lib/dbm ; do
|
||||
CPPFLAGS="${myCPPFLAGS}" \
|
||||
XCFLAGS="${CFLAGS} ${CPPFLAGS} -D_FILE_OFFSET_BITS=64" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
einfo "Tests can take a *long* time, especially on a multilib system."
|
||||
einfo "~10 minutes per lib configuration with only 'standard' tests,"
|
||||
einfo "~40 minutes per lib configuration with 'full' tests. Bug #852755"
|
||||
|
||||
# https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
|
||||
# https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
|
||||
# https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
|
||||
export BUILD_OPT=1
|
||||
export HOST="localhost"
|
||||
export DOMSUF="localdomain"
|
||||
export USE_IP=TRUE
|
||||
export IP_ADDRESS="127.0.0.1"
|
||||
|
||||
# Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
|
||||
# per lib implementation.
|
||||
if use test-full ; then
|
||||
# export NSS_CYCLES="standard pkix sharedb"
|
||||
:;
|
||||
else
|
||||
export NSS_CYCLES="standard"
|
||||
fi
|
||||
|
||||
NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
|
||||
|
||||
cd "${BUILD_DIR}"/tests || die
|
||||
# Hack to get current objdir (prefixed dir where built binaries are)
|
||||
# Without this, at least multilib tests go wrong when building the amd64 variant
|
||||
# after x86.
|
||||
local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
|
||||
|
||||
# Can tweak to a subset of tests in future if we need to, but would prefer not
|
||||
OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
|
||||
}
|
||||
|
||||
# Altering these 3 libraries breaks the CHK verification.
|
||||
# All of the following cause it to break:
|
||||
# - stripping
|
||||
# - prelink
|
||||
# - ELF signing
|
||||
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
|
||||
# Either we have to NOT strip them, or we have to forcibly resign after
|
||||
# stripping.
|
||||
#local_libdir="$(get_libdir)"
|
||||
#export STRIP_MASK="
|
||||
# */${local_libdir}/libfreebl3.so*
|
||||
# */${local_libdir}/libnssdbm3.so*
|
||||
# */${local_libdir}/libsoftokn3.so*"
|
||||
|
||||
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
|
||||
|
||||
generate_chk() {
|
||||
local shlibsign="$1"
|
||||
local libdir="$2"
|
||||
einfo "Resigning core NSS libraries for FIPS validation"
|
||||
shift 2
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libname=lib${i}.so
|
||||
local chkname=lib${i}.chk
|
||||
"${shlibsign}" \
|
||||
-i "${libdir}"/${libname} \
|
||||
-o "${libdir}"/${chkname}.tmp \
|
||||
&& mv -f \
|
||||
"${libdir}"/${chkname}.tmp \
|
||||
"${libdir}"/${chkname} \
|
||||
|| die "Failed to sign ${libname}"
|
||||
done
|
||||
}
|
||||
|
||||
cleanup_chk() {
|
||||
local libdir="$1"
|
||||
shift 1
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libfname="${libdir}/lib${i}.so"
|
||||
# If the major version has changed, then we have old chk files.
|
||||
[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
|
||||
&& rm -f "${libfname}.chk"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
pushd dist >/dev/null || die
|
||||
|
||||
dodir /usr/$(get_libdir)
|
||||
cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
|
||||
local i
|
||||
for i in freebl nssb nssckfw ; do
|
||||
cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
|
||||
done
|
||||
|
||||
# Install nss-config and pkgconfig file
|
||||
dodir /usr/bin
|
||||
cp -L */bin/nss-config "${ED}"/usr/bin || die
|
||||
dodir /usr/$(get_libdir)/pkgconfig
|
||||
cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
|
||||
|
||||
# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
|
||||
# bug 517266
|
||||
sed -e 's#Libs:#Libs: -lfreebl#' \
|
||||
-e 's#Cflags:#Cflags: -I${includedir}/private#' \
|
||||
*/lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
|
||||
|| die "could not create nss-softokn.pc"
|
||||
|
||||
# all the include files
|
||||
insinto /usr/include/nss
|
||||
doins public/nss/*.{h,api}
|
||||
insinto /usr/include/nss/private
|
||||
doins private/nss/{blapi,alghmac,cmac}.h
|
||||
|
||||
popd >/dev/null || die
|
||||
|
||||
local f nssutils
|
||||
# Always enabled because we need it for chk generation.
|
||||
nssutils=( shlibsign )
|
||||
|
||||
if multilib_is_native_abi ; then
|
||||
if use utils; then
|
||||
# The tests we do not need to install.
|
||||
#nssutils_test="bltest crmftest dbtest dertimetest
|
||||
#fipstest remtest sdrtest"
|
||||
# checkcert utils has been removed in nss-3.22:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
|
||||
# https://hg.mozilla.org/projects/nss/rev/df1729d37870
|
||||
# certcgi has been removed in nss-3.36:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
|
||||
# conflict removed in 3.122.
|
||||
nssutils+=(
|
||||
addbuiltin
|
||||
atob
|
||||
baddbdir
|
||||
btoa
|
||||
certutil
|
||||
cmsutil
|
||||
crlutil
|
||||
derdump
|
||||
digest
|
||||
makepqg
|
||||
mangle
|
||||
modutil
|
||||
multinit
|
||||
nonspr10
|
||||
ocspclnt
|
||||
oidcalc
|
||||
p7content
|
||||
p7env
|
||||
p7sign
|
||||
p7verify
|
||||
pk11mode
|
||||
pk12util
|
||||
pp
|
||||
rsaperf
|
||||
selfserv
|
||||
signtool
|
||||
signver
|
||||
ssltap
|
||||
strsclnt
|
||||
symkeyutil
|
||||
tstclnt
|
||||
vfychain
|
||||
vfyserv
|
||||
)
|
||||
# install man-pages for utils (bug #516810)
|
||||
doman doc/nroff/*.1
|
||||
fi
|
||||
pushd dist/*/bin >/dev/null || die
|
||||
for f in ${nssutils[@]}; do
|
||||
dobin ${f}
|
||||
done
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
strip-lto-bytecode
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n "${ROOT}" ]]; then
|
||||
elog "You appear to to be installing in a seperate \$ROOT"
|
||||
elog "to complete the setup and re-sign libraries please run:"
|
||||
elog "emerge --config '=${CATEGORY}/${PF}'"
|
||||
else
|
||||
sign_libraries
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
sign_libraries
|
||||
}
|
||||
|
||||
sign_libraries() {
|
||||
multilib_pkg_postinst() {
|
||||
# We must re-sign the libraries AFTER they are stripped.
|
||||
local shlibsign="${EROOT}/usr/bin/shlibsign"
|
||||
# See if we can execute it (cross-compiling & such). #436216
|
||||
"${shlibsign}" -h >&/dev/null
|
||||
if [[ $? -gt 1 ]] ; then
|
||||
shlibsign="shlibsign"
|
||||
fi
|
||||
generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
multilib_pkg_postrm() {
|
||||
cleanup_chk "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
https://bugs.gentoo.org/979518
|
||||
https://bugs.kde.org/523105
|
||||
https://invent.kde.org/frameworks/kimageformats/-/merge_requests/525
|
||||
https://invent.kde.org/frameworks/kimageformats/-/commit/ad0fb9dde4ffb1977a3ea800d90a26665de687b8
|
||||
|
||||
From ad0fb9dde4ffb1977a3ea800d90a26665de687b8 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle Alexander Buan <me@kylxbn.com>
|
||||
Date: Thu, 16 Jul 2026 15:33:49 +0800
|
||||
Subject: [PATCH] HEIF: keep reader callback table alive
|
||||
|
||||
libheif retains the heif_reader pointer after
|
||||
heif_context_read_from_reader returns. The callback table was scoped
|
||||
to the non-sequential branch and could be destroyed before
|
||||
tiled image decoding used it from worker threads.
|
||||
|
||||
Give the callback table static storage duration.
|
||||
|
||||
BUG: 523105
|
||||
--- a/src/imageformats/heif.cpp
|
||||
+++ b/src/imageformats/heif.cpp
|
||||
@@ -845,7 +845,8 @@ bool HEIFHandler::ensureDecoder()
|
||||
buffer = deviceRead(dev, kMaxQVectorSize);
|
||||
err = heif_context_read_from_memory(ctx, static_cast<const void *>(buffer.constData()), buffer.size(), nullptr);
|
||||
} else {
|
||||
- heif_reader reader = create_heif_reader_for_qiodevice();
|
||||
+ // Must not be destroyed until decoding ends
|
||||
+ static const heif_reader reader = create_heif_reader_for_qiodevice();
|
||||
err = heif_context_read_from_reader(ctx, &reader, dev, nullptr);
|
||||
}
|
||||
if (err.code) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -33,6 +33,10 @@ DEPEND="${RDEPEND}
|
||||
|
||||
DOCS=( src/imageformats/AUTHORS )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/kimageformats-6.28.0-fix-occasional-HEIF-plug-in-crash.patch # bug #979518
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DKIMAGEFORMATS_WITH_KNOWN_CRASHES_JXR=OFF # TODO: check if ready upstream
|
||||
@@ -1,13 +1,9 @@
|
||||
DIST handbrake-1.10.2.tar.bz2 9481895 BLAKE2B a7e2ec5cf5707d420eb01e561c2d57d5d93d21d1456483c84beb222a330e3ee96adefcd515f3512bac50d5417c3db35cfbd0f7cf2eba83e912f9470b8cd15768 SHA512 a1166ffb1597179e1ca58519cb6a7865ffbdedd5f1feda789cdb17cee94a9bb62b120926462bbc34b93c7ea53825099c45f70e809de7c456c88b60fce157b645
|
||||
DIST handbrake-1.10.2.tar.bz2.sig 566 BLAKE2B cde4ea4223ab9b346572637a27f7e6dfe07b97e56254355f8ab961e928c33630ac42c160d0d196b9e7ff897cf10089086a101b3ab4d93d59c79f4349cb6629d0 SHA512 9a33bc058a626c4bf1655abaaeae6641f7a71dd3db88ccb307e386623985791df7241e12ae6552f98a33b7a607b949cbe6fedaa9a36e5f16cd55fb44360455eb
|
||||
DIST handbrake-1.11.1.tar.bz2 11759752 BLAKE2B 303a8ea49342c3afe671adf057fb6cd4c31efef8cf4f075cc26d9a63559e099ac300c993cc5b385240325b04893a730b5618d14892f3a491353d14b8e6398ebe SHA512 c65568e1b37ede0c83e1fcef7e2e2ac607afe3eb92dbc9f897c18fa02b631172636eaa002227bdb0131e378421521044708d6b601280c6f4d92e674935138da3
|
||||
DIST handbrake-1.11.1.tar.bz2.sig 566 BLAKE2B ec29064dcc84c02cef247756ac1f4cf92802d1422241b71d5e32a64980c57b97e852d77bbaf830a29aaad04095128c69694371fd782742b6ebbf9c458e0e73b7 SHA512 fe8909189766d74162a4827a86a4e058962830b55a7cc472b422435bb412f81b184c539cee040687727486294ec64a550cc4aae32c221eaa3aff8fc29cebed83
|
||||
DIST handbrake-1.11.2.tar.bz2 11761530 BLAKE2B 044d7d5c278a52dc3a1675eade9c5cf2722e630a9dd6c33254277d7746d7f0a55970b255dab72fcbf4c1e59f03faff4d98325ccdf8d17fdc3a4aa281b219c188 SHA512 cff45f284b4bda479d0ed5a84859807524fefce3345d8dc1c80ffe0c271559e315f4e6c96b9df07147f02f73d8b309f969d3371f0613221983761f73f26db419
|
||||
DIST handbrake-1.11.2.tar.bz2.sig 566 BLAKE2B 0963ca4f34217d6fe1f04d2ff20527013845ded17e7d3beaf5196c5c747e6989d3c20e5b3e066976119682777129c558e2c39f3187d83db3d63f640f90b9ff33 SHA512 986c8a85dbe77a44d1871507e79378677bec9e91180129e78b21b14ea028a26f8d93d2e3df957c152c6541488f29748e728d2abf5f610cb83f67494d96c0e399
|
||||
DIST handbrake-ffmpeg-7.1.1.tar.bz2 13278839 BLAKE2B dbedc190d1b752f07e0dc30452fe37a02300da75c3269956f09a63ada6f510838b3e6fb12f9882dbac88a82750ef42a16ed34b2214dfbdc56455b17a2cdc63f8 SHA512 db2682bd3f7dbfe4a33a5a7f0803010258d14f92e98ff2a5fdd17197422bc5cbfd992a63b93c9c5fb2b2420371a82e34a16e155f135a2aaf03764ed71adbc16b
|
||||
DIST handbrake-ffmpeg-8.0.1.tar.bz2 13694841 BLAKE2B 943aae7bbdad657b563d708c2f1f05cd7442538c0cde5673850f3894555900464a0bbd1393fe064086bc980a67feb53c58dcc3fce770a56d5d5cde635a4bf090 SHA512 5a07bb78e9a4d98901005040e4e5f3bfa421a49524f43ba19517d0b04a017803db9427c0216d50be6328737e18a91866b1a660a1165d99c6af38aa374e98ecb2
|
||||
DIST handbrake-ffmpeg-8.0.2.tar.bz2 13716142 BLAKE2B 2c64388067d814686a31c6ab33c1e38859924e5d3852c543e21fa47ca2533605b01615594531167c9e82b49e6ceb02e7f30e8c977f45c46bb9a3e059b211dc4d SHA512 23ebb5a3820771aeaa48f03f160476a80dcfe322f95dc2ce9fe0b03618915acf5fc6896d065f9061b2d80665e74206382752782bfa9da10cbf91380c3f7e5c97
|
||||
DIST handbrake-ffmpeg-8.1.1.tar.bz2 14087042 BLAKE2B 38001316febde28c851d086e072012b8e7b5819c0f1e32f37c7aaebd51f9d4b1270cbac600fe9c6289c1751bae56112b3d10b05417f213ac5d50803271fe4448 SHA512 8b91d11ee5ffd1738a363820e904fd3cf632a50dc5e4a6393128c3f3b43bd920737552bac56ec17d6bbbc4beba9fb5a5f19d603fa837489bb55a417a7fc1d69f
|
||||
DIST handbrake-x265-snapshot-20250729-13276.tar.gz 1738652 BLAKE2B 59cba73b0d46cdaa40845e604e6b28ea428291d08b97ce144d13a072f164e18b0de20b2d4a62a92404ae32609a867d61e7b2d64099cac2124cc5c0640aad744a SHA512 50648176cf1e20e384be4145a525c193f515b73d3ff96ae2042b393ebb3ee3a8cab031e1c5314bdd67f53a6a00010226a5709cdb720dec47142a93c6828469af
|
||||
DIST handbrake-ffmpeg-8.1.2.tar.bz2 14093398 BLAKE2B cd94187be3320344df02a7be63dca102653994edb090c13fcaad5698e5877be76c7b0c9c65281a396fb84ba2d7daa8e7018b54f63574f96cbec6099da455f619 SHA512 2d0ef145759eb3d39ab02005a35390ab6cabc61715845de152072e003f7e586bc563bdd3313c085110f6688514a325292b77bad8546ca28a5a8e79c4a308e759
|
||||
DIST handbrake-x265-snapshot-20260216-13309.tar.gz 1806557 BLAKE2B e6e50adc0d615e2870f91d948a65a3b1a4d8a83a452310e24ffbb5366fa7f0d806230aafd3c3265e35d25772d7726815e7639e23ec1cf668d85e95433c4379ae SHA512 33d2400059694f689cf6a607291df43eef99f1583e499f9ce6dd82db778ff4d8f53217fdc439f87ec50e4e400c9eaae22d45a5d60ee0672699e655859a3772a4
|
||||
DIST handbrake-x265_4.2.tar.gz 1833442 BLAKE2B 8918d9c460b067e0600bbf2e894c79e718677dd1bf21b9f4fe502024f70f7724a914075fdd8ae90535b99a124ec0ffaa7aa2320365fed1b4a68ca1f220a7b890 SHA512 0c4ded0388b79ecdfe28b7f48da095ecb12a7e1fc7cd92f8d35a850087de562081582de69846a7d64e03889d6b8da620b5fa084dac3ab8734a05552f68bf8623
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
https://bugs.gentoo.org/979520
|
||||
https://github.com/FFmpeg/FFmpeg/commit/0a7c5e507b4448f02ca914c50654a3bc979d02dd
|
||||
|
||||
From 0a7c5e507b4448f02ca914c50654a3bc979d02dd Mon Sep 17 00:00:00 2001
|
||||
From: Diego de Souza <ddesouza@nvidia.com>
|
||||
Date: Thu, 5 Mar 2026 17:06:12 +0100
|
||||
Subject: [PATCH] avcodec/nvenc: fix compatibility with Video Codec SDK 13.1
|
||||
|
||||
NV_ENC_CLOCK_TIMESTAMP_SET was changed in SDK 13.1: countingType was
|
||||
replaced by countingTypeLSB and countingTypeMSB.
|
||||
|
||||
Signed-off-by: Diego de Souza <ddesouza@nvidia.com>
|
||||
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
|
||||
--- a/libavcodec/nvenc.c
|
||||
+++ b/libavcodec/nvenc.c
|
||||
@@ -263,8 +263,10 @@ static void nvenc_map_preset(NvencContext *ctx)
|
||||
|
||||
static void nvenc_print_driver_requirement(AVCodecContext *avctx, int level)
|
||||
{
|
||||
-#if NVENCAPI_CHECK_VERSION(13, 1)
|
||||
+#if NVENCAPI_CHECK_VERSION(13, 2)
|
||||
const char *minver = "(unknown)";
|
||||
+#elif NVENCAPI_CHECK_VERSION(13, 1)
|
||||
+ const char *minver = "610.00";
|
||||
#elif NVENCAPI_CHECK_VERSION(13, 0)
|
||||
const char *minver = "570.0";
|
||||
#elif NVENCAPI_CHECK_VERSION(12, 2)
|
||||
@@ -2540,7 +2542,12 @@ static void nvenc_fill_time_code(AVCodecContext *avctx, const AVFrame *frame, NV
|
||||
unsigned hh, mm, ss, ff, drop;
|
||||
ff_timecode_set_smpte(&drop, &hh, &mm, &ss, &ff, avctx->framerate, tc[i + 1], 0, 0);
|
||||
|
||||
+#ifdef NVENC_NEW_COUNTING_TYPE
|
||||
+ time_code->clockTimestamp[i].countingTypeLSB = 0;
|
||||
+ time_code->clockTimestamp[i].countingTypeMSB = 0;
|
||||
+#else
|
||||
time_code->clockTimestamp[i].countingType = 0;
|
||||
+#endif
|
||||
time_code->clockTimestamp[i].discontinuityFlag = 0;
|
||||
time_code->clockTimestamp[i].cntDroppedFrames = drop;
|
||||
time_code->clockTimestamp[i].nFrames = ff;
|
||||
--- a/libavcodec/nvenc.h
|
||||
+++ b/libavcodec/nvenc.h
|
||||
@@ -111,6 +111,11 @@ typedef void ID3D11Device;
|
||||
#define NVENC_HAVE_MVHEVC
|
||||
#endif
|
||||
|
||||
+// SDK 13.1 compile time feature checks
|
||||
+#if NVENCAPI_CHECK_VERSION(13, 1)
|
||||
+#define NVENC_NEW_COUNTING_TYPE
|
||||
+#endif
|
||||
+
|
||||
typedef struct NvencSurface
|
||||
{
|
||||
NV_ENC_INPUT_PTR input_surface;
|
||||
@@ -1,225 +0,0 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
inherit edo flag-o-matic multiprocessing python-any-r1 toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
|
||||
HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
|
||||
else
|
||||
inherit verify-sig
|
||||
MY_P="HandBrake-${PV}"
|
||||
SRC_URI="
|
||||
https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2
|
||||
-> ${P}.tar.bz2
|
||||
verify-sig? (
|
||||
https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2.sig
|
||||
-> ${P}.tar.bz2.sig
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
KEYWORDS="amd64 ~arm64 ~x86"
|
||||
fi
|
||||
|
||||
# contrib/<project>/module.defs
|
||||
declare -A BUNDLED=(
|
||||
# Heavily patched in an incompatible way.
|
||||
# Issues related to using system ffmpeg historically.
|
||||
# See bug #829595 and #922828
|
||||
[ffmpeg]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/ffmpeg-7.1.1.tar.bz2;"
|
||||
# Patched in an incompatible way
|
||||
[x265]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265-snapshot-20250729-13276.tar.gz;x265"
|
||||
[x265_8bit]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265-snapshot-20250729-13276.tar.gz;x265"
|
||||
[x265_10bit]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265-snapshot-20250729-13276.tar.gz;x265"
|
||||
[x265_12bit]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265-snapshot-20250729-13276.tar.gz;x265"
|
||||
)
|
||||
|
||||
bundle_src_uri() {
|
||||
local name
|
||||
for name in "${!BUNDLED[@]}"; do
|
||||
local OLDIFS splitted tarball uri use
|
||||
OLDIFS=$IFS; IFS=';'; splitted=( ${BUNDLED[${name}]} ); IFS=$OLDIFS
|
||||
uri=${splitted[0]}
|
||||
use=${splitted[1]}
|
||||
|
||||
tarball=${uri##*/}
|
||||
if [[ -n ${use} ]]; then
|
||||
SRC_URI+=" ${use}? ( ${uri} -> handbrake-${tarball} )"
|
||||
else
|
||||
SRC_URI+=" ${uri} -> handbrake-${tarball}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
bundle_src_uri
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="amf +fdk gui libdovi numa nvenc qsv x265"
|
||||
|
||||
REQUIRED_USE="numa? ( x265 )"
|
||||
|
||||
# >=media-libs/libvpl-1.13.0: bug #957811 (check libhb/qsvcommon.h for new platform codenames)
|
||||
COMMON_DEPEND="
|
||||
app-arch/bzip2
|
||||
>=app-arch/xz-utils-5.2.6
|
||||
dev-libs/jansson:=
|
||||
>=media-libs/dav1d-1.0.0:=
|
||||
>=media-libs/libjpeg-turbo-2.1.4:=
|
||||
>=media-libs/libass-0.16.0:=
|
||||
>=media-libs/libbluray-1.3.4:=
|
||||
media-libs/libdvdnav
|
||||
>=media-libs/libdvdread-6.1.3:=
|
||||
media-libs/libtheora:=
|
||||
media-libs/libvorbis
|
||||
>=media-libs/libvpx-1.12.0:=
|
||||
media-libs/opus
|
||||
>=media-libs/speex-1.2.1
|
||||
<media-libs/svt-av1-4
|
||||
>=media-libs/svt-av1-3.0.0:=
|
||||
>=media-libs/x264-0.0.20220222:=
|
||||
>=media-libs/zimg-3.0.4
|
||||
media-sound/lame
|
||||
virtual/zlib:=
|
||||
fdk? ( media-libs/fdk-aac:= )
|
||||
libdovi? ( media-libs/libdovi:= )
|
||||
gui? (
|
||||
>=gui-libs/gtk-4.6:4[gstreamer]
|
||||
dev-libs/glib:2
|
||||
>=dev-libs/libxml2-2.10.3:=
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango
|
||||
)
|
||||
numa? ( sys-process/numactl )
|
||||
nvenc? ( media-libs/nv-codec-headers )
|
||||
qsv? (
|
||||
media-libs/libva:=
|
||||
>=media-libs/libvpl-1.13.0:=
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
amf? ( media-video/amdgpu-pro-amf )
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
amf? ( media-libs/amf-headers )
|
||||
"
|
||||
# cmake needed for custom script: bug #852701
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-build/cmake
|
||||
dev-lang/nasm
|
||||
gui? (
|
||||
dev-build/meson
|
||||
sys-devel/gettext
|
||||
)
|
||||
"
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-handbrake )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/handbrake.asc
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/handbrake-1.9.0-link-libdovi-properly.patch
|
||||
"${FILESDIR}"/handbrake-1.9.0-include-vpl-properly.patch
|
||||
"${FILESDIR}"/handbrake-1.9.2-set-ffmpeg-toolchain-explicitly.patch
|
||||
"${FILESDIR}"/handbrake-1.9.2-allow-overriding-tools-via-env.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.sig}
|
||||
unpack ${P}.tar.bz2
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
mkdir download || die
|
||||
for name in "${!BUNDLED[@]}"; do
|
||||
IFS=$';' read -r uri use <<< ${BUNDLED[${name}]}
|
||||
local tarball="${uri##*/}"
|
||||
if [[ -n ${use} ]]; then
|
||||
use ${use} || continue
|
||||
fi
|
||||
cp "${DISTDIR}/handbrake-${tarball}" download/${tarball} || die
|
||||
done
|
||||
|
||||
# Get rid of leftover bundled library build definitions
|
||||
sed -i -E \
|
||||
-e "/MODULES \+= contrib\// { /($(IFS=$'|'; echo "${!BUNDLED[*]}"))$/! d }" \
|
||||
"${S}"/make/include/main.defs || die
|
||||
|
||||
# noop fetching
|
||||
sed -i -e '/DF..*.exe/ { s/= .*/= true/ }' make/include/tool.defs || die
|
||||
|
||||
# Use whichever python is set by portage
|
||||
sed -i -e "s/for p in .*/for p in ${EPYTHON}/" configure || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC CXX AR RANLIB NM
|
||||
|
||||
# noop strip
|
||||
local -x STRIP="true"
|
||||
|
||||
# ODR violations, lto-type-mismatches
|
||||
# bug #878899
|
||||
filter-lto
|
||||
|
||||
local myconfargs=(
|
||||
--force
|
||||
--verbose
|
||||
--disable-df-fetch
|
||||
--disable-df-verify
|
||||
--launch-jobs=$(get_makeopts_jobs)
|
||||
--prefix="${EPREFIX}/usr"
|
||||
--disable-flatpak
|
||||
--no-harden #bug #890279
|
||||
$(use_enable amf vce)
|
||||
$(use_enable fdk fdk-aac)
|
||||
$(use_enable gui gtk)
|
||||
$(use_enable libdovi)
|
||||
$(use_enable numa)
|
||||
$(use_enable nvenc)
|
||||
$(use_enable x265)
|
||||
$(use_enable qsv)
|
||||
)
|
||||
|
||||
edo ./configure ${myconfargs[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C build
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C build DESTDIR="${D}" install
|
||||
dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Gentoo builds of HandBrake are NOT SUPPORTED by upstream as they"
|
||||
einfo "do not use the bundled (and often patched) upstream libraries."
|
||||
einfo ""
|
||||
einfo "Please do not raise bugs with upstream because of these ebuilds,"
|
||||
einfo "report bugs to Gentoo's bugzilla or Multimedia forum instead."
|
||||
|
||||
einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`."
|
||||
if use gui ; then
|
||||
einfo "For the GUI version of HandBrake, you can run \`ghb\`."
|
||||
fi
|
||||
|
||||
xdg_pkg_postinst
|
||||
}
|
||||
@@ -149,6 +149,9 @@ src_unpack() {
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# bug #979520
|
||||
cp "${FILESDIR}"/ffmpeg-8.0.2/A99-fix-nv-codec-headers-13.1.patch contrib/ffmpeg/ || die
|
||||
|
||||
mkdir download || die
|
||||
for name in "${!BUNDLED[@]}"; do
|
||||
IFS=$';' read -r uri use <<< ${BUNDLED[${name}]}
|
||||
|
||||
@@ -33,7 +33,7 @@ declare -A BUNDLED=(
|
||||
# Heavily patched in an incompatible way.
|
||||
# Issues related to using system ffmpeg historically.
|
||||
# See bug #829595 and #922828
|
||||
[ffmpeg]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/ffmpeg-8.1.1.tar.bz2;"
|
||||
[ffmpeg]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/ffmpeg-8.1.2.tar.bz2;"
|
||||
# Patched in an incompatible way
|
||||
[x265]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265_4.2.tar.gz;x265"
|
||||
[x265_8bit]="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/x265_4.2.tar.gz;x265"
|
||||
@@ -62,7 +62,7 @@ bundle_src_uri
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="amf +fdk gui libdovi numa nvdec nvenc qsv x265"
|
||||
IUSE="amf +fdk gui libdovi numa nvdec nvenc qsv vaapi x265"
|
||||
|
||||
REQUIRED_USE="
|
||||
numa? ( x265 )
|
||||
@@ -105,6 +105,7 @@ COMMON_DEPEND="
|
||||
media-libs/libva:=
|
||||
>=media-libs/libvpl-1.13.0:=
|
||||
)
|
||||
vaapi? ( media-libs/libva:=[X] )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
@@ -200,8 +201,9 @@ src_configure() {
|
||||
$(use_enable numa)
|
||||
$(use_enable nvdec)
|
||||
$(use_enable nvenc)
|
||||
$(use_enable x265)
|
||||
$(use_enable qsv)
|
||||
$(use_enable vaapi)
|
||||
$(use_enable x265)
|
||||
)
|
||||
|
||||
edo ./configure ${myconfargs[@]}
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
<flag name="amf">Support for encoding h265 using AMD VCE encoder</flag>
|
||||
<flag name="fdk">Support for encoding AAC using <pkg>media-libs/fdk-aac</pkg></flag>
|
||||
<flag name="libdovi">Support for Dolby Vision using <pkg>media-libs/libdovi</pkg></flag>
|
||||
<flag name="nvdec">Support for NVDEC (NVCUVID) hardware accelerated video decoding</flag>
|
||||
<flag name="numa">Support for x265's NUMA capabilities</flag>
|
||||
<flag name="nvdec">Support for NVDEC (NVCUVID) hardware accelerated video decoding</flag>
|
||||
<flag name="qsv">Support for encoding h264 using Intel Quick Sync Video</flag>
|
||||
<flag name="x265">Support for encoding h265 using <pkg>media-libs/x265</pkg></flag>
|
||||
</use>
|
||||
|
||||
@@ -22,6 +22,7 @@ DIST gcc-13-20260617.tar.xz 84606784 BLAKE2B 7f8b88839a714a16cfaa2796ae9601151bd
|
||||
DIST gcc-13-20260624.tar.xz 84614412 BLAKE2B 84395636773b8d14ac7908e7f9ae64c55ed369c7bef51de788ac8f95cbf17eb925e72f573241e835a44ec2fd39c3299348506042edab78c4b4f82fe32a042c4a SHA512 3509ad10d3c355831964785057ec1a50d5d36fc58cc21b9203ef16bbf0eafa31b7e487dfdb6aa00c750d82420c1a57aacde7424f72855a57cd07840892f0df62
|
||||
DIST gcc-13-20260701.tar.xz 84614044 BLAKE2B b5c6a5ec54cd1bce45bad201892d59d9f672403f1b40c580da1cbb32fead817d09bdb674d9fc6ae664e97a8f1480fc635de3174f39608e09cde6e4d7def21d68 SHA512 4fa6cbfad37950f6f9cdecfc2782a570a5f59774adb2a24120049c4a2007730988a1eef80f36f1b0bfee2ebeef754fb30029140c3364089f3d2cd055e74f6462
|
||||
DIST gcc-13-20260708.tar.xz 84617648 BLAKE2B 841a0f9806c74d01547c8d8f0e716f9991d81398a7f70279a654bf0079b6d79384974d173cdf927a7d1eeaaa7d3f0665d963ee1c95135bd16b92a4cf98719215 SHA512 b28615b77bdc4839b88775842a7763ba779fc1246adf2afedd6472ebdaed98f15819a7b746d8fbf028e564b8c596418e8593e9d42993ce18d92f15f55d50e4cf
|
||||
DIST gcc-13-20260715.tar.xz 84621548 BLAKE2B 476965a264994adc359c7340fec5470013d33debea7b2a8b56ebfa01e61967a24a6d950ce9dbca68b558046a676ecb05751b37f7fec42841e1a9ba2fd3032409 SHA512 1979288927926526ef85712b1a4d4172e03204d89ef2f217f12ed69f9fdecd622d248ac68beb7c13392ee1c51857905fa8c56c75c1ca0c3af1802600d22c0e4e
|
||||
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
|
||||
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
|
||||
DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2
|
||||
@@ -40,6 +41,7 @@ DIST gcc-14-20260528.tar.xz 88521668 BLAKE2B 57465c22db8f3ed5660e8ea74ce5fce2465
|
||||
DIST gcc-14-20260604.tar.xz 88473776 BLAKE2B 0d022d76185b04d314b05ee0e7906b030df6ca13efa254e5c64e625286af6e361659a359406bc90658b3d3e5379f0408500dda86a0af0aad3df88193ebe736dc SHA512 654e5484fe25986f51a55b12a959fa6c36d3640cbb8f62c63adda3e7222224048ddfd3cb87cac081759e1a2cd3732cdf17af9e6a3948aba227ddd3a4c0c2e72f
|
||||
DIST gcc-14-20260611.tar.xz 88470760 BLAKE2B b4c70945e290ce5a6eff36161ca0d3678dc809910e02785b9e3ac52664a6cf1ed8a824d3f4820572b77feafdd247d19f3b5aecd82d324bf29f2eb968a6b5e8fd SHA512 a66030357aaf596263386d3d91d686a739e77b6200a3fcbba40accc70049282efbd42a16323dd5c539a21239645c01ad625fd1ab537d8c9fa5b573e38ee59d3d
|
||||
DIST gcc-14-20260618.tar.xz 88486332 BLAKE2B 51717d015582d4b6e8690abb731681029354c53b8fdf6d8c4ff06d10aaae70ba8d89029c52d10c4e6792e09357378e8691ee96bbc77cdba28f5a12a5b2adefbb SHA512 1edaefad5cb9d76c364208e0b4fae5f3a7ba0583866551b1f48b41893ef4f902746812b8ab53c050e5c429db21c24693d48882b37b3df2881dbb9988e25846fa
|
||||
DIST gcc-14-20260716.tar.xz 88509636 BLAKE2B 1e31c1c969a3ee7184d6e466dc9bf627e67e98f2c61fc4d34a74b02d7128718f7e8d0eb3a178b4e9734665fe93eeccf42e9bf5ba80e62b583044dab93b7939b1 SHA512 c587f5568ae6e8b9089dcb5e4753ad3ef5d807c3c30d329407e6be093e0a0ef26906c8dbc33a5aef20168371c10ded69c067e05acf42696eee45ade981ade321
|
||||
DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19
|
||||
DIST gcc-14.3.0-patches-4.tar.xz 28116 BLAKE2B 5804f10b40befad1cb9eab4e536377c08aed8c54d3de27f188ae2d52fa7c082a529ad9cb64f9574087afe74e64138c9fc918d653bd2c1d062b8b68d5c7ab640d SHA512 75ee4895efea0131107cf664a0f9fd10f38da0d0f93704e1920778e07f1a860d872a97e1e528f8e1ab754cca25948bb09c444b80cc04f5ae3a516336290bb99c
|
||||
DIST gcc-14.3.0-patches-5.tar.xz 53952 BLAKE2B 3e5f63d760caf3c18c0f683c00170bb71998b4f0e15552103359d5c0954144676f6ca60e3e367a94cbdff0ab9bec21f3e04e30c38aae8f7e79911da30e6aeb76 SHA512 1702b7f6ee791468d02fcb9d418d2dd48e10cd6dc6eab0cf455aaf848bb78d953b00690fd78cab1ddd5af02acc237072c99ee43f0e512ae3e2e5f922f40f0dfe
|
||||
@@ -60,6 +62,7 @@ DIST gcc-15-20260619.tar.xz 92462900 BLAKE2B 629e2958c836acb163e3d394c236e5d1323
|
||||
DIST gcc-15-20260626.tar.xz 92467392 BLAKE2B 550f3c27ca29390f25930bd457457062bbcc9566371626a0bc80b0ed0d53db0d8d54abc70b53fc825e18e0175588b6b5cdc76607a13ab761aeab663a24a1c6a4 SHA512 b65845148f94a8667bf13bf9a2df471fd5e821dc11b78fc9020e541b63f891f18c782fdd2f933b7006621c76de58e60cb86077bea72bf02f660353ec5565210a
|
||||
DIST gcc-15-20260703.tar.xz 92460800 BLAKE2B 861549f8c17d79f9613e85ae455989e1ec96aa7d8da872e88254c70193fa2ab26918918ae8a290a5aa8986a55f1d91b3854fee308c5a8c86b960204ff750fbd5 SHA512 0a6889326713c1bac4486512f0d34ac6576293810ab5dd6678766185889e8f55c1af841dca5b3240e89c7aa3421be1fdccfcaf3f20ca58fbbfcf1bd25c958d9c
|
||||
DIST gcc-15-20260710.tar.xz 92477556 BLAKE2B 2517f39cc25e43ef36ed6de251ecdadf93a604f1de3f95f4fbf26eee8d52f13581e8065890a86a851227dac0709ea5250b4fd1830b64e8ca4110f13ba055c3a2 SHA512 45609630f6207327d7dc5a7e076b6105afb67a4bfa03ee17e392ae14fecb674cb530fe5068f8023f8a5569110fa4ca734d14d7490c11b28e838ba66be33053ae
|
||||
DIST gcc-15-20260717.tar.xz 92482140 BLAKE2B ae84ad42a0f5a35a36c362340298c94c8e8a64c7695102bb3a29b394527033186bf3599323ae8b1a478e215806cee702bfa48740421c504eefbafacbe74d2086 SHA512 91aaf673637458ebf73df2b1d87c21c9cbf432211b98e6dff965ae0f073f2ea8be8921a9828711fb6c10b9b3ec2e20213d118a05c08f31b8192ab291b448375d
|
||||
DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871
|
||||
DIST gcc-15.2.0-patches-2.tar.xz 18708 BLAKE2B 09c54bd1b8436e12a3da1c3ee41017cd3e960268a5d4637252152b44a4cc93934d4dc93eff842d7dcee4d1688b7f2d98be48114ef5c864793242177f7549c933 SHA512 f11cfafe00f7d18e05a316bd1dc522477cc4118fdd65019cf85bca674ff0180951506fef84ce0b5b13190ccfe44c777a64afdc602a4580595005b43b79ae7411
|
||||
DIST gcc-15.2.0-patches-4.tar.xz 19912 BLAKE2B 255d6435fe5b205d23d04eb885c55b421b1e6ffc30623fad5fe8a4cee5582f210e9851165b0976629d7e49288366a14635acdf1ad70f6d2fe288bdf88a9416a5 SHA512 f36c0a1e8abbb25cebfd93965950c072f33d8dbbc0be285e8e374a3602fe7e7cae3dfe44f24856d2231bcbfb40fe0c1de3b629e2f573d97f82212a7acf52ccc8
|
||||
@@ -80,6 +83,7 @@ DIST gcc-16-20260620.tar.xz 98961572 BLAKE2B 304dd54ac6e89cb6bf45a24b2f94b95d94c
|
||||
DIST gcc-16-20260627.tar.xz 98980236 BLAKE2B 48c1a93aa5bc19b8253a434e5d618cc90c8d43792ad1c5389b8594fa8510a1d328f82d94d3ebe75d18c4affeee39747c99ab5793a1cfb94b0c6c5f5ebece3e52 SHA512 2ce38e78a78fd9cd5d136c1013cf6b91d06a5572521145824442abe3ff0a738f46f9944a520f67fc9b6d7e5ab9c6a5c6c0660a9861c8fd8386b8f65ac1fa994c
|
||||
DIST gcc-16-20260704.tar.xz 98986144 BLAKE2B b076e3ead68d27af90c9154c3b0e56fbb6fa07cf7d6d951ae56bec32071487a156c7cbf26bf56a0c29cd3292dbda51b338bcd58f80438d39e08f252effe9afac SHA512 c3501b4a21c4de8dd6cb28b03cb42e9f6d167491ef39f8957d8995e14c4608fa7de9fe3c4ed9fbc0ad169fb24e2d40fdec1e6689c2abf0bc1e57126e1025ec26
|
||||
DIST gcc-16-20260711.tar.xz 98998588 BLAKE2B 43a6fc591a66a240ec31f301eb5f38bf851e53750a720360f413fdb626ba74c56d5f9c949341d5320b6524003cfae6a712f063664a61da55f1bd968653a56fad SHA512 20b287bf06e263675c8f9bea7ae65432d375ab2005ebcdd7373d60b22ba87b3dfb7808f19167e251ad2c0fbf4d9d21ee1c8cb3736b3b349cbb2f98a25bf921b0
|
||||
DIST gcc-16-20260718.tar.xz 99011700 BLAKE2B 727ad34ae3f964ad86edd072c159cbb5201efd0cb5996cd515895e1f024a44572090e6595a1082509244b5a7fc4faf3bd75eee07883246905fbb66b9d6effa02 SHA512 b621bd5a602468576cbd563fec4a1a2f1b71e89a9f248403d3dd92d8d1c3d7e6439e93eed912d78f71b9ca0e3acff7f786ecb62d9560ba837dcaaddc6b38d946
|
||||
DIST gcc-16.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 348d0233c92e6b269011342a170989bb6375ff267b6ecfc00aafab2f793b925f1cccd654f438a4f88168a7999cab965aadfb6dfc9957a9b1a5bca62c326e0b84 SHA512 dc9c2d4a6e9088ad245039a962333ecba8476288844c686e7df9c867c8018451fccbd645a5690d554ee39809e6467285b3c619553edfed379c5f84c003bcb7e5
|
||||
DIST gcc-16.1.0-patches-1.tar.xz 25128 BLAKE2B 487f8e1f204b8218ae54ef093fd3b99dd94a24e0fdc22ac37182b28e382e5601edc85e9af5c8374e76a576c8e8280cb84603e6f60bfb645a2adff5ee8e2e0070 SHA512 f5b4aefa101cef70c6bd78c689e90b0a30db14718ae2ff01827fe13af793f812616f16cc705fa333676f31025f3e840e243ef52851d32278b86d8b515589a2d9
|
||||
DIST gcc-16.1.0-patches-2.tar.xz 26584 BLAKE2B 3597414aa1bedace5444834778bb666fc3372f3703975d5bc4656a792dbe498a76be582254bb3400f157cfcce2925c117d19595380fa2ffb6dab1e6f0d36ad57 SHA512 480a457b8944df5dd189c912d76457d650c348bce161465fd6031dd7c2803f8f9b26ef31b4ae8a8770c88eaa9c59a42c06ee1be3e1c8ec718974dda8b38a84ad
|
||||
|
||||
68
sys-devel/gcc/gcc-13.4.1_p20260715.ebuild
Normal file
68
sys-devel/gcc/gcc-13.4.1_p20260715.ebuild
Normal file
@@ -0,0 +1,68 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintenance notes and explanations of GCC handling are on the wiki:
|
||||
# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc
|
||||
|
||||
TOOLCHAIN_HAS_TESTS=1
|
||||
PATCH_GCC_VER="13.3.0"
|
||||
MUSL_GCC_VER="13.3.0"
|
||||
PATCH_VER="9"
|
||||
MUSL_VER="3"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
|
||||
eapply_user
|
||||
}
|
||||
56
sys-devel/gcc/gcc-14.4.1_p20260716.ebuild
Normal file
56
sys-devel/gcc/gcc-14.4.1_p20260716.ebuild
Normal file
@@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintenance notes and explanations of GCC handling are on the wiki:
|
||||
# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc
|
||||
|
||||
TOOLCHAIN_HAS_TESTS=1
|
||||
PATCH_GCC_VER="14.3.0"
|
||||
PATCH_VER="6"
|
||||
MUSL_VER="2"
|
||||
MUSL_GCC_VER="14.3.0"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# m68k doesnt build (ICE, bug 932733)
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
|
||||
eapply_user
|
||||
}
|
||||
56
sys-devel/gcc/gcc-15.3.1_p20260717.ebuild
Normal file
56
sys-devel/gcc/gcc-15.3.1_p20260717.ebuild
Normal file
@@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintenance notes and explanations of GCC handling are on the wiki:
|
||||
# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc
|
||||
|
||||
TOOLCHAIN_HAS_TESTS=1
|
||||
PATCH_GCC_VER="15.2.0"
|
||||
PATCH_VER="8"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="15.2.0"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=master
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
|
||||
[[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch
|
||||
eapply_user
|
||||
}
|
||||
56
sys-devel/gcc/gcc-16.1.1_p20260718.ebuild
Normal file
56
sys-devel/gcc/gcc-16.1.1_p20260718.ebuild
Normal file
@@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintenance notes and explanations of GCC handling are on the wiki:
|
||||
# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc
|
||||
|
||||
TOOLCHAIN_HAS_TESTS=1
|
||||
PATCH_GCC_VER="16.1.0"
|
||||
PATCH_VER="3"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="16.1.0"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=master
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
|
||||
[[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch
|
||||
eapply_user
|
||||
}
|
||||
Reference in New Issue
Block a user