Sync with portage [Thu Mar 3 23:05:17 MSK 2022].

akrasnyh 2213
root 2 years ago
parent 9030c8c381
commit 659739fe74

Binary file not shown.

Binary file not shown.

@ -1,2 +1,2 @@
DIST kontrast-21.08.3.tar.xz 125632 BLAKE2B 8734de15fcfd542d037cde92e6a80060e9c6628cd69d3cfee1f1f4c9b8938647d83924381966600ac9978acfa14723e0920c98f3ce2e666ddfdb624b8cc5f010 SHA512 193d372cdcecb3b90a352fb2deb24528d004c44e50c834e02a63c562eb97bd1f528fd81254bfc3ab7152edcc9894129eae7c6e1826a9ae42bc5ab22bf9a660c9
DIST kontrast-21.12.2.tar.xz 124928 BLAKE2B 7ae6c965ea799405828c10fe5dff4d687d513d8b59e5443a7adb4d747b80d9ab2973013038d6716c2aab735d691f24ae5d57587688e9eb2a924ad85fc4bf75dd SHA512 5bd611e79f7a8d92535ef658d97e0ba8435f7fa2b75279d3ae55baa533a81fcd58d590197207630d9946aa82d37ab89aa7de7c815346de039e480268f34cddef
DIST kontrast-21.12.3.tar.xz 125760 BLAKE2B b72d78961d22fc0eb51c0a64f9a7381ef9e87709d9fc24a08c3b08c60ad8102eadbc97943e72b1153f950654f442f97190d1e34c3beb24f4f8ea070f923dba55 SHA512 36d084f0801d393a0d7bdd771d23163a192e6d0e50f6499b9080e3928f5f3982dcee81c3e3453f8de2ece721c508479928fdff4a971cfef945acadd917e19581

Binary file not shown.

@ -1,2 +1,2 @@
DIST dolphin-plugins-21.08.3.tar.xz 254604 BLAKE2B 9a7a9c7a1cf82d458c1fd0bbce6b47c233b8a7a20bd1d1696bc75d6b04c8e4a9d6464025d8ad39b3bb96b8dd428fb880a5d318f7c0d13ef3bc8bf24a42c24169 SHA512 2fb7fbd6490d768f3eb7d756429d858337b8088a7c87836ed4a54fc3f863f50c4973bbe2ae149d53d2769d7ce3c31fbd737bc4afc74fd14260a158da83992076
DIST dolphin-plugins-21.12.2.tar.xz 254836 BLAKE2B 1f8cdfc133a0c7e9083c8ab9fbd0e6dec5221ca89c5bff37d14aa6e4e286c0046512875f1d45544e11bde71f7cdd5d756996eea56e9dba29888dbfad821eb2aa SHA512 44e93558802282f3a73aaac9443dcded8498499c4ab400dedb68572af4add007dcbae6424a99929da6c5ab03c7c125beee313fe4b14b5ee29147938418410dfc
DIST dolphin-plugins-21.12.3.tar.xz 254696 BLAKE2B e669a8acbf8b5559a602dd3ae646e2384b89a672bb0ed42d2f094b75a1eaefd6994644daaa70d17f9baba8ea491cef632090050b93e0f5e0b50f203a6166338e SHA512 3dad72b6e0283a8c825aded82e9d15bc5e03303bbfc6dd8f1e6af2cb3892ec9b04a3c97f01246e20abe6d86e5a91fa1c4f8fff48ed24186a3780009a78298d23

Binary file not shown.

@ -1,19 +1,18 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DESCRIPTION="Emulates the detach feature of screen"
HOMEPAGE="http://dtach.sourceforge.net/ https://github.com/crigler/dtach"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-macos"
IUSE=""
LICENSE="GPL-2+"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
src_install() {
dobin dtach
doman dtach.1
dodoc README
einstalldocs
}

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
<maintainer type="project">
<email>shell-tools@gentoo.org</email>
<name>Gentoo Shell Tools Project</name>

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,7 +8,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit autotools git-r3
else
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~arm64 x86"
KEYWORDS="amd64 ~arm64 ~riscv x86"
fi
DESCRIPTION="implements the Host (PC) side of the USB DFU (Device Firmware Upgrade) protocol"

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,7 +8,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit autotools git-r3
else
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~riscv ~x86"
fi
DESCRIPTION="implements the Host (PC) side of the USB DFU (Device Firmware Upgrade) protocol"

Binary file not shown.

@ -1,24 +0,0 @@
From 88ac2b4a1386bc05f0e3965f31949039eaf4d3ff Mon Sep 17 00:00:00 2001
From: Pino Toscano <pino@kde.org>
Date: Sat, 25 May 2019 07:12:17 +0200
Subject: cmake: find PostgreSQL 12
---
cmake/modules/FindPostgreSQL.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
index 56e6e56..1579be0 100644
--- a/cmake/modules/FindPostgreSQL.cmake
+++ b/cmake/modules/FindPostgreSQL.cmake
@@ -86,7 +86,7 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
- "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
+ "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
# Define additional search paths for root directories.
foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
--
cgit v1.1

@ -1,93 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ECM_HANDBOOK="true"
ECM_TEST="forceoptional"
KFMIN=5.60.0
QTMIN=5.12.3
inherit ecm kde.org
DESCRIPTION="Visual database applications creator"
HOMEPAGE="https://apps.kde.org/kexi-3.3/ http://kexi-project.org/
https://userbase.kde.org/Kexi"
if [[ ${KDE_BUILD_TYPE} != live ]]; then
SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
KEYWORDS="amd64 x86"
fi
LICENSE="GPL-2" # TODO: CHECK
SLOT="5"
IUSE="debug experimental marble mdb mysql postgres sqlite"
BDEPEND="sys-devel/gettext"
DEPEND="
>=dev-db/kdb-3.1.0-r1:5=[debug?,mysql?,postgres?,sqlite?]
>=dev-libs/kproperty-3.1.0:5=
>=dev-libs/kreport-3.1.0:5=[scripting]
>=dev-qt/designer-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtnetwork-${QTMIN}:5
>=dev-qt/qtprintsupport-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=dev-qt/qtxml-${QTMIN}:5
>=kde-frameworks/breeze-icons-rcc-${KFMIN}:5
>=kde-frameworks/karchive-${KFMIN}:5
>=kde-frameworks/kcodecs-${KFMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kcrash-${KFMIN}:5
>=kde-frameworks/kguiaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kiconthemes-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/kitemviews-${KFMIN}:5
>=kde-frameworks/ktexteditor-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
marble? ( >=kde-apps/marble-19.04.3:5= )
mdb? (
dev-libs/glib:2
virtual/libiconv
)
mysql? ( dev-db/mysql-connector-c:= )
postgres? (
dev-db/postgresql:*
dev-libs/libpqxx
)
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-missing-header.patch
"${FILESDIR}"/${P}-postgresql-9.12.patch
"${FILESDIR}"/${P}-glib-2.68.patch # bug 784974
"${FILESDIR}"/${P}-fix-find-marble.patch # bug 812392
)
src_prepare() {
ecm_punt_bogus_dep Qt5 WebKit
ecm_punt_bogus_dep Qt5 WebKitWidgets
ecm_src_prepare
}
src_configure() {
local mycmakeargs=(
-DKEXI_MIGRATEMANAGER_DEBUG=$(usex debug)
-DKEXI_AUTORISE_TABBED_TOOLBAR=$(usex experimental)
-DKEXI_SCRIPTS_SUPPORT=$(usex experimental)
$(cmake_use_find_package marble Marble)
$(cmake_use_find_package mdb GLIB2)
$(cmake_use_find_package mysql MySQL)
$(cmake_use_find_package postgres PostgreSQL)
)
use experimental && mycmakeargs+=( -DKEXI_SCRIPTING_DEBUG=$(usex debug) )
ecm_src_configure
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST poppler-22.01.0.tar.xz 1801984 BLAKE2B f238636a0b1f07e0b70de99d8f0b3afcb7e2424c9dee4a044edaa5bd34753061e58a7c530792264ffb5a520cb4dc7dc52de17573fda350de97bef6346048fb76 SHA512 c6ea908a9188483ca588ac81d3e92dd15a405f90d36cc7059e618c8a7e3e9faeda82717aba5df34adb4a0a94e2fbecd472acec44972272349cc8d5a57b7405d1
DIST poppler-22.02.0.tar.xz 1807024 BLAKE2B 97d27fb6d31535b5fce0aa518d00ab9da218a8d49dcb45dbaa5ab3cc669d8ffc75e07bd617b5fe9842c8b7b8ac843e9aa07ee0d31504f1e2b6c4f89b2177add6 SHA512 61867241d6d076dae554d654a8ad3b1a073079bad31f45170516b886fabb4c238ff2d49705924da219e128eb4052ac6337121967347600e54f61790dd0eed487
DIST poppler-22.03.0.tar.xz 1809940 BLAKE2B 0307e9225645b289105fe5a55a712ab821a0961a5dd53467b7db41432d74ec763e9ab0494f6b4d1bed94f7b0c2a74cb849878ad5f0c877fa4df0888f97a10ef6 SHA512 f87bbff4f394f192095da0c00bdf8b5c70b7eb864941225aad2025e91283c3c42a0016a772e7e9ea73a86746251928fc64500f923e8fd841adae1c6e67d72569

@ -0,0 +1,126 @@
# Copyright 2005-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
SLOT="0/9999"
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/119" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2"
IUSE="boost cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided
RESTRICT="test"
DEPEND="
media-libs/fontconfig
media-libs/freetype
sys-libs/zlib
cairo? (
dev-libs/glib:2
x11-libs/cairo
introspection? ( dev-libs/gobject-introspection:= )
)
curl? ( net-misc/curl )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
lcms? ( media-libs/lcms:2 )
nss? ( >=dev-libs/nss-3.19:0 )
png? ( media-libs/libpng:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtxml:5
)
tiff? ( media-libs/tiff:0 )
"
RDEPEND="${DEPEND}
cjk? ( app-text/poppler-data )
"
DEPEND+="
boost? ( dev-libs/boost )
"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
"
DOCS=( AUTHORS NEWS README.md README-XPDF )
PATCHES=(
"${FILESDIR}/${PN}-20.12.1-qt5-deps.patch"
"${FILESDIR}/${PN}-21.09.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
)
src_prepare() {
cmake_src_prepare
# Clang doesn't grok this flag, the configure nicely tests that, but
# cmake just uses it, so remove it if we use clang
if tc-is-clang ; then
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
fi
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
-i CMakeLists.txt || die
else
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
fi
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DBUILD_MANUAL_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_BOOST="$(usex boost)"
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
-DUSE_FLOAT=OFF
-DWITH_Cairo=$(usex cairo)
-DENABLE_LIBCURL=$(usex curl)
-DENABLE_CPP=$(usex cxx)
-DWITH_JPEG=$(usex jpeg)
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
-DENABLE_CMS=$(usex lcms lcms2 none)
-DWITH_NSS3=$(usex nss)
-DWITH_PNG=$(usex png)
$(cmake_use_find_package qt5 Qt5Core)
-DWITH_TIFF=$(usex tiff)
-DENABLE_UTILS=$(usex utils)
-DENABLE_QT6=OFF
)
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
cmake_src_configure
}
src_install() {
cmake_src_install
# live version doesn't provide html documentation
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
# For now install gtk-doc there
insinto /usr/share/gtk-doc/html/poppler
doins -r "${S}"/glib/reference/html/*
fi
}

@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/118" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
SLOT="0/119" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"

Binary file not shown.

@ -0,0 +1,99 @@
diff --git a/Makefile b/Makefile
index 1797df9..90284d8 100644
--- a/Makefile
+++ b/Makefile
@@ -10,11 +10,11 @@ PLAT= guess
# so take care if INSTALL_TOP is not an absolute path. See the local target.
# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
-INSTALL_TOP= /usr/local
+INSTALL_TOP= /usr
INSTALL_BIN= $(INSTALL_TOP)/bin
-INSTALL_INC= $(INSTALL_TOP)/include
+INSTALL_INC= $(INSTALL_TOP)/include/lua$V
INSTALL_LIB= $(INSTALL_TOP)/lib
-INSTALL_MAN= $(INSTALL_TOP)/man/man1
+INSTALL_MAN= $(INSTALL_TOP)/share/man/man1
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
@@ -104,3 +104,18 @@ pc:
.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
# (end of Makefile)
+
+# Use libtool for binary installs, etc.
+
+export V
+export LIBTOOL = libtool --quiet --tag=CC
+# See libtool manual about how to set this
+
+gentoo_clean:
+ cd src; $(MAKE) $@
+
+gentoo_install:
+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN)
+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB)
diff --git a/src/Makefile b/src/Makefile
index 514593d..8af8f99 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -37,10 +37,10 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
-LUA_T= lua
+LUA_T= lua$V
LUA_O= lua.o
-LUAC_T= luac
+LUAC_T= luac$V
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
@@ -60,10 +60,10 @@ $(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O)
$(RANLIB) $@
-$(LUA_T): $(LUA_O) $(LUA_A)
+origin$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
-$(LUAC_T): $(LUAC_O) $(LUA_A)
+origin$(LUAC_T): $(LUAC_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
test:
@@ -218,3 +218,30 @@ lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \
lobject.h ltm.h lzio.h
# (end of Makefile)
+
+export LIBTOOL = libtool --quiet --tag=CC
+export LIB_VERSION = 6:1:1
+
+# The following rules use libtool for compiling and linking in order to
+# provide shared library support.
+
+LIB_NAME = liblua$V.la
+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
+
+%.lo %.o: %.c
+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
+
+$(LIB_NAME): $(LIB_OBJS)
+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \
+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
+
+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
+ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
+
+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
+
+gentoo_clean:
+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V
+
+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)

@ -0,0 +1,203 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"
TEST_PV="5.4.2"
TEST_P="${PN}-${TEST_PV}-tests"
SRC_URI="
https://www.lua.org/ftp/${P}.tar.gz
test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
LICENSE="MIT"
SLOT="5.4"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+deprecated readline test test-complete"
COMMON_DEPEND="
>=app-eselect/eselect-lua-3
readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
# Cross-compiling note:
# Must use libtool from the target system (DEPEND) because
# libtool from the build system (BDEPEND) is for building
# native binaries.
DEPEND="
${COMMON_DEPEND}
sys-devel/libtool"
RDEPEND="${COMMON_DEPEND}"
RESTRICT="!test? ( test )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
PATCHES=(
"${FILESDIR}"/lua-5.4.2-r2-make.patch
)
src_prepare() {
default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
Makefile src/Makefile || die
fi
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
# Note that this only affects the interpreter binary (named lua), not the lua
# compiler (built statically) nor the lua libraries.
# upstream does not use libtool, but we do (see bug #336167)
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
eautoreconf
# custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
sed -i \
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
src/luaconf.h \
|| die "failed patching luaconf.h"
econf
}
multilib_src_compile() {
tc-export CC
# what to link to liblua
liblibs="-lm"
liblibs="${liblibs} $(dlopen_lib)"
# what to link to the executables
mylibs=
use readline && mylibs="-lreadline"
cd src
local myCFLAGS=""
use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 "
use readline && myCFLAGS+="-DLUA_USE_READLINE "
case "${CHOST}" in
*-mingw*) : ;;
*) myCFLAGS+="-DLUA_USE_LINUX " ;;
esac
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
SYSLDFLAGS="${LDFLAGS}" \
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
V=$(ver_cut 1-2) \
LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
gentoo_all
}
multilib_src_install() {
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
V=${SLOT} gentoo_install
case $SLOT in
0)
LIBNAME="lua"
INCLUDEDIR_SUFFIX=''
;;
*) LIBNAME="lua${SLOT}"
INCLUDEDIR_SUFFIX="/lua${SLOT}"
;;
esac
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
-e "s:^prefix= :prefix= ${EPREFIX}:" \
-e "s:^V=.*:V= ${PATCH_PV}:" \
-e "s:^R=.*:R= ${PV}:" \
-e "s:/,lib,:/$(get_libdir):g" \
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
"${WORKDIR}/lua.pc" || die
insinto "/usr/$(get_libdir)/pkgconfig"
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
# Copy Debian's symlink support:
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
# Older systems called it 'lua53.pc'
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
}
multilib_src_install_all() {
DOCS="README"
HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
find "${ED}" -name '*.la' -delete || die
find "${ED}" -name 'liblua*.a' -delete || die
}
# Makefile contains a dummy target that doesn't do tests
# but causes issues with slotted lua (bug #510360)
src_test() {
debug-print-function ${FUNCNAME} "$@"
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
# https://www.lua.org/tests/
# There are two sets:
# basic
# complete.
#
# The basic subset is selected by passing -e'_U=true'
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
TEST_OPTS="$(usex test-complete '' '-e_U=true')"
TEST_MARKER="${T}/test.failed"
rm -f "${TEST_MARKER}"
# If we are failing, set the marker file, and only check it after done all ABIs
abi_src_test() {
debug-print-function ${FUNCNAME} "$@"
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
return 0
}
multilib_foreach_abi abi_src_test
if [ -e "${TEST_MARKER}" ]; then
cat "${TEST_MARKER}"
die "Tests failed"
fi
}
pkg_postinst() {
eselect lua set --if-unset "${PN}${SLOT}"
if has_version "app-editor/emacs"; then
if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
}

@ -37,7 +37,7 @@ MULTILIB_WRAPPED_HEADERS=(
)
PATCHES=(
"${FILESDIR}"/lua-5.4.2-make.patch
"${FILESDIR}"/lua-5.4.2-r2-make.patch
)
src_prepare() {

@ -1,3 +1,4 @@
DIST MoarVM-2021.06.tar.gz 5449936 BLAKE2B 2bf6fc2e1a4dd0741819305e506945b09ed2a0fc1348ff98565cae397e76044176f05e87faeed1f52d5efadccb6d44edcb987553f5e164417153a8f23ba09493 SHA512 b23e20ed3e0830395ac09bd84a33ea3ab7ba52bce835c67b1feec45823ca2f0c9d04957d1f1b48b400fc30a48db37c5f89c3975b0273f684d9677145e2296f2c
DIST MoarVM-2021.08.tar.gz 13643526 BLAKE2B 433cfaaad4138d8b98fc4bacd5495281f2a8da5195aa74aded118126afdf11cdf0175fd033472e951e91ab3c1eb11877ab039cd24d911553d5854be18021a87e SHA512 6199871f51a4998e1b5260ba833e3bf09c6115e12334a94de5aa4135b93f8dc754967712ce8e092a36b4940368433be840cbf1a8ce7aec52219f768acd90078d
DIST MoarVM-2021.10.tar.gz 13711924 BLAKE2B 18e0c8b5429242f7588dc5ad47d92a46146223e8dc7dcef93e2cb3332c2400b29754f1f03ceb9016665771554940667e1373a48c96921922834fd103a73d985a SHA512 a376d0388d9e53b9f07a960ab23ddf8e35379a6dff168d2f726c0f05431804bf4e09b0a2a0eab9a39b9df493030e384e9680a7654bdf9e5c129a6c70aead833d
DIST MoarVM-2022.02.tar.gz 14640429 BLAKE2B 5e64855514c33d97408353756ba88f29bfd2da39d8d2aa03b8c096645ca7dc680df47a246d224920aa466b76005c1be9d6e7096933046e0fa0caf836cfd09eb2 SHA512 12385cc6cfc5308240d841842ac1b2ff880e786c9724dc6c7fa776c1c6422b345e1f4ab870579b7051726b2655668caed33e1bbb75a7201948431a7b2897e9f7

@ -0,0 +1,60 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic
MY_PN="MoarVM"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
inherit git-r3
S="${WORKDIR}/${P}"
else
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
DESCRIPTION="A 6model-based VM for NQP and Raku"
HOMEPAGE="http://moarvm.org"
LICENSE="Artistic-2"
SLOT="0"
IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26:=
dev-libs/libffi:="
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
DOCS=( CREDITS README.markdown )
# Tests are conducted via nqp
RESTRICT=test
src_configure() {
MAKEOPTS+=" NOISY=1"
use doc && DOCS+=( docs/* )
local prefix="${EPREFIX}/usr"
local libdir="${EPREFIX}/usr/$(get_libdir)"
einfo "--prefix '${prefix}'"
einfo "--libdir '${libdir}'"
local myconfigargs=(
"--prefix" "${prefix}"
"--has-libuv"
"--has-libatomic_ops"
"--has-libffi"
"--libdir" "${libdir}"
"--compiler" "$(usex clang clang gcc)"
"$(usex asan --asan)"
"$(usex debug --debug --no-debug)"
"$(usex optimize --optimize= --no-optimize)"
"$(usex static-libs --static)"
"$(usex ubsan --ubsan)"
)
perl Configure.pl "${myconfigargs[@]}" moarshared || die
}

@ -1,3 +1,4 @@
DIST nqp-2021.06.tar.gz 5208065 BLAKE2B 7314f425e418161befc55f9490453a3a4c3caa0ddf13e2b3bbcc9a20a6204aba9517885b6ecccddbbaf078b60c74be90fe556bf99dcc6014e57a7c873e96381d SHA512 482ec4a99d09b3660f03fd3c822a2f8c72dbdfeda1bcfdac0b4bcfa364ec57cbfdebf3b2872f8649c86d3d2d7603961d75e00d73dc417e5ac2a32f643bcfcabe
DIST nqp-2021.08.tar.gz 5208527 BLAKE2B 1f2e454e63484a8a636f61c9110b4a20775ec59dd7734fe32a93b01aaad5ea977ea74678085a66d9f072234de5768d8023182d6df56a448f2a0aa0fd3c1c76c3 SHA512 fca1dc8c36f914304f97330cb33be3a94c539f3cb6cc80d898c734dcf04b12b8be30ffce358a0a5320c6ea56afd627f792b4a8fa3f94134776922ae088b92814
DIST nqp-2021.10.tar.gz 5207621 BLAKE2B 85b6627bc843d211ef8c296e63a97b0f80e019f89080f7c94b1e55767e4fab430c426c77aea741d601e75f6fb354a1f8b6c6077c70ab5cbfd2edef1621137af3 SHA512 d308045cc8a01298bcc544e8fd27752d1fc28e421b1cd24f1d5675333ba8cd71cb946e760ba485710456aebf21eeab1d2f85abffe49336471f1148071df6aa98
DIST nqp-2022.02.tar.gz 5220819 BLAKE2B eba57834cc883e5bab26d0496df5bb059cc31f893e25833ada26cfa4796b9f822d1bb17e6ac0eb2474238e78565cf1da3be6f82d34a82bb4ac70cc19e03e11aa SHA512 0a51eb96486a254543ffbc2dac5d32a2b218a7fd774ccd3c8d4ba23f33dacbebdc0190e7cc919103f57573ea74ff8592200759c9768485044a4433647958ba8f

@ -0,0 +1,147 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit java-pkg-opt-2 multibuild
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
inherit git-r3
else
SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Not Quite Perl, a Raku bootstrapping compiler"
HOMEPAGE="https://rakudo.org"
LICENSE="Artistic-2"
SLOT="0"
IUSE="doc clang java +moar test"
RESTRICT="!test? ( test )"
REQUIRED_USE="|| ( java moar )"
CDEPEND="java? (
dev-java/asm:4
dev-java/jna:4
)
moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.9 )"
DEPEND="${CDEPEND}"
BDEPEND="${CDEPEND}
clang? ( sys-devel/clang )
java? ( >=virtual/jdk-1.9 )
dev-lang/perl"
pkg_pretend() {
if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
ewarn "already being installed. So if it fails, try uninstalling both"
ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
ewarn "(see Bug #584394)"
fi
}
src_prepare() {
MULTIBUILD_VARIANTS=()
use moar && MULTIBUILD_VARIANTS+=( moar )
use java && MULTIBUILD_VARIANTS+=( jvm )
multibuild_copy_sources
# This will pull in conditional java_prepare
default
}
nqp_configure() {
pushd "${BUILD_DIR}" > /dev/null || die
local myconfargs=(
"--backend=${MULTIBUILD_VARIANT}"
"--prefix=${EPREFIX}/usr" )
perl Configure.pl "${myconfargs[@]}" || die
popd || die
}
nqp_compile() {
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
emake -j1 \
-C "${BUILD_DIR}" \
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
emake -j1 \
-C "${BUILD_DIR}"
fi
}
nqp_test() {
emake -j1 \
-C "${BUILD_DIR}" \
test
}
nqp_install() {
# This is the actual reason we need multibuild.eclass.
# We need to distinguish the install procedure for MoarVM and JVM backends.
case "${MULTIBUILD_VARIANT}" in
moar)
emake \
DESTDIR="${ED}" \
-C "${BUILD_DIR}" \
install
;;
jvm)
pushd "${BUILD_DIR}" > /dev/null || die
# Set JAVA_PKG_JARDEST early.
java-pkg_init_paths_
# Upstream sets the classpath to this location. Perhaps it's
# used to locate the additional libraries?
java-pkg_addcp "${JAVA_PKG_JARDEST}"
insinto "${JAVA_PKG_JARDEST}"
local jar
for jar in *.jar; do
if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
# jars for NQP itself.
java-pkg_dojar ${jar}
else
# jars used by NQP.
doins ${jar}
fi
done
# Upstream uses -Xbootclasspath/a, which is faster due to lack
# of verification, but gjl isn't flexible enough yet. :(
java-pkg_dolauncher ${PN}-j --main ${PN}
dosym ${PN}-j /usr/bin/${PN}
dobin tools/jvm/eval-client.pl
popd > /dev/null || die
;;
*)
die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
;;
esac
}
src_configure() {
multibuild_foreach_variant nqp_configure
}
src_compile() {
multibuild_foreach_variant nqp_compile
}
src_test() {
multibuild_foreach_variant nqp_test
}
src_install() {
multibuild_foreach_variant nqp_install
dodoc CREDITS README.pod
use doc && dodoc -r docs/*
}

@ -1,7 +1,5 @@
DIST php-7.3.32.tar.xz 12142436 BLAKE2B 375092f7fade8b93d2fbf409552cda42a685267248e3bce373913eeae5f133e7773554c2302b12bf09588d74a76898b138c47287f7d9a721f294635799ca46f6 SHA512 afed20a90aa7d207f9b409fb2066789a637b24d6c6874fc5733bbe6e9972616b387669ce40cba16b606893d88572f398e34aff7a36626308e3ede312f09fcc56
DIST php-7.3.33.tar.xz 12143820 BLAKE2B 77b5ada50169b308b42dbf2c69b5aebd6e9ab9663be8de5bd26391e42015d856631f12b0268b98889f2c3058564a6c71ad298b725b8afff920e277aa3e787422 SHA512 b05edb3e87775c0b2d7bd5990e47751279076e6ef2356f59dc917f4a1447d95894f596cd8de711f03278650ff74ff9f2687ed96cec69d2d669a6af563a455e25
DIST php-7.4.25.tar.xz 10376304 BLAKE2B 75682840a9e978d2ce350892bb8d743238f1ca86d4e1bb549637ad259541264c911128d3fbb2a89768acaa366eac91e66b26f8411f6b9f6d55475b139f5ae95a SHA512 7fcb236f6d2a92514059b2e107c2b592e6139e3c65046566ae98fb9d2c09eb3e9ca1a41ea6535fc814bc7127d8fd9f8bb5a80bd86eec32120eb150a34b9b5c34
DIST php-7.4.28.tar.xz 10418352 BLAKE2B 27673b5a891723a4c20a19fa22708f733b8ff12e16e5bbd727ed841845bcb8802ea98e8c2a4936b184704cde96f8725a2c338470ba573e8d3a0732a3f449e7e5 SHA512 e7fa281a3be9ec46b7fa69619fd417fc04200dc64fd153f9670184d84b0aa3d5f3698536cf18476a96d8a42ba40b856ff57ab18e8e8a485dd9b95467d1952fa8
DIST php-8.0.12.tar.xz 10713980 BLAKE2B ce8ca0d671e8613a81744a55cf94ff43254482a08dec365c05eb4ca22c1b31732e5ef93a51d383d2e8daf0cf332ed7946e79ba3b385386ca0773fc673fe58307 SHA512 927b15c4443f3741a5325ec7bf387987b405cd5e64e40fd81f1945bf073adda30eeede8e1f98185f505cb61f969cf1abe05b8dad57a3c4e87971e8037bb16b23
DIST php-8.0.16.tar.xz 10864076 BLAKE2B e5820ecd40632e458a0ada1d1886cd054520ab7f1492766fd8d5c3561977359abddd886b47f7d7255bcc80d00c96afeceb5cbd515eb779ed4ac15db9e01f1fe3 SHA512 68952638f2965752be26dc0a49f938eb4f251f2d5a7b309a2983c4f9bc064738c9da2e8015ec9b2ecc0dc06e014ace3c0348222166b898a4a38c31ab8b0fd139
DIST php-8.1.3.tar.xz 11751576 BLAKE2B e55f5d3742d233f6b028c6ca97181ea4fb55331204bbea2f58f2e440a6f5c520343addb5bc05ed0c407d6cf9f1bda3754c2039195154b90bb903ddc7a13ca49a SHA512 230f70c4f23ac69b52063b91de5ea866e30a84b5ac8d0021e35baebf210fe432fb6c46264a9a2808bf0f0d2003f4c3db974c2c480718a5607c5e4d52379e9d9d

@ -1,746 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium:=[-minimal] )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-1.0.1:0= )
tidy? ( app-text/htmltidy )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}"/php-iodbc-header-location.patch
"${FILESDIR}/php-icu-70.patch"
)
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(use_with jit pcre-jit)
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
local one_sapi
local sapi
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
local sapi
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi="", sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
local m
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,745 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/rc}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.29.0 )
enchant? ( app-text/enchant:2 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( >=dev-db/postgresql-9.1:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium:=[-minimal] )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-1.0.1:0= )
tidy? ( app-text/htmltidy )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.9.0 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php80-firebird-warnings.patch"
"${FILESDIR}/php-icu-70.patch"
)
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads zts)
)
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(use_with jit pcre-jit)
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
local one_sapi
local sapi
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
local sapi
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi="", sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
local m
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,3 +1,4 @@
DIST rakudo-2021.06.tar.gz 5211187 BLAKE2B e6a73ada3bc7550ad9e2415374f8ecd9aeed021faf8bc52697c8d4bd1fc16782036fecf346f1b132f2d50b894f99ebca548e6e4209b1ff643a045679415ae3fd SHA512 1141979c63a5128919d24c4660cff8011fade12487bd7f437dbaeb6d121ab2d93e42022227ad47d6d840ddb12118c9f1cde8285d87677ff88b135c4e9f079ecc
DIST rakudo-2021.08.tar.gz 5906537 BLAKE2B 73a70ac0524ef41355e835173bccca743db5aa0f7b41ac0b152537da84337f6281c0619b86cd282d8e103bcc37573e0c42e147d2f6cb7d626b5bfaac9c6917d6 SHA512 6b58ddf47742cb8abc7c017ccbc658dac04a7a2e9802e3c656f775f94a97264a92c24f0a88c0f7baae3fa5b531acb407a652eea6c9d9cdc2f00afef00c92a018
DIST rakudo-2021.10.tar.gz 6093348 BLAKE2B b2a49c7ee5561cabaae20a573d93b2510b117697ac7c56819a776a890e12a50f8efd726329d69d1f1cbe194114a715db6253d7ce47b5ca9f817254b7eb517ba8 SHA512 6792d77f566c77f23371b2445b67f72ba3c74da9f3b3fa75bbb7db3c1f59f1aa4b8d964af4889caa82b19404304cf4d27ecd562e86b8fc0194f202ba5d7aceff
DIST rakudo-2022.02.tar.gz 6140289 BLAKE2B 213f2b0384bbf5d92c19ac78cc13cdb9a0a886c926a2cad27827c993e4fcf1dc88ac0390ca351f063db65c7b56e44ea2b79f5330b22fe23692c03a7d690bf77b SHA512 b02cab995700d82e3c100e24d8d4b1497030def568ad674085f3231750c69d42d8847c3a85cdfcbbaadb9c42fd0c44b36774abee4db131851e229ed076710588

@ -0,0 +1,72 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit java-pkg-opt-2
DESCRIPTION="A compiler for the Raku programming language"
HOMEPAGE="https://rakudo.org"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
inherit git-r3
else
SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="Artistic-2"
SLOT="0"
# TODO: add USE="javascript" once that's usable in nqp
IUSE="clang java +moar test"
RESTRICT="!test? ( test )"
REQUIRED_USE="|| ( java moar )"
CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.9 )"
DEPEND="${CDEPEND}
clang? ( sys-devel/clang )
java? ( >=virtual/jdk-1.9 )
>=dev-lang/perl-5.10"
pkg_pretend() {
if has_version dev-lang/rakudo; then
ewarn "Rakudo is known to fail compilation/installation with Rakudo"
ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
ewarn "then do a new installation."
ewarn "(see Bug #584394)"
fi
}
src_configure() {
local backends
use moar && backends+="moar,"
use java && backends+="jvm"
local myargs=(
"--prefix=/usr"
"--sysroot=/"
"--sdkroot=/"
"--backends=${backends}"
)
perl Configure.pl "${myargs[@]}" || die
if use java; then
NQP=$(java-pkg_getjars --with-dependencies nqp)
fi
}
src_compile() {
emake NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
}
src_install() {
emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
}
src_test() {
RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
}

Binary file not shown.

@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gmime http://spruce.sourceforge.net/gmi
SLOT="3.0"
LICENSE="LGPL-2.1+"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
IUSE="crypt doc idn static-libs test +vala"
RESTRICT="!test? ( test )"

@ -1,2 +1,2 @@
DIST kopeninghours-21.08.3.tar.xz 65904 BLAKE2B 88169a5881a49fbb6728d706585d2e2d4c88d2eb66360917c1d0cef0cb7239de378d69afc1970f038e9c52756fe6097d5e423577a29e77c071e0b5ad54b7c6c2 SHA512 9fe8181b4c4e9427a6eba133a51b119e86378933ebf5bdbfe5a78c711837ccdbaa8baa04cb10e234febe7596c7e7e515dda8e09f8568bd785b0a3e061f6d8bcf
DIST kopeninghours-21.12.2.tar.xz 68732 BLAKE2B 22407bd9c1f0e6bc3c875537b7326df65864fc1071ba87ea0d1a37165b5179d49bbfe579197c11ae7b61067b3a7f173f75c829dcf58a3cdb761878179049fd3d SHA512 1b70ee85588bbbd90643571db2df4eda46977b784ab69ac1a6fea870a4e6869d674587c9e738e7ade709c7795b92e8704c8a0ed22392e68ad49946ebb0888fbe
DIST kopeninghours-21.12.3.tar.xz 68916 BLAKE2B d80275c195231ca52e0042149d685224c9ffadd6d341ddce1af6f46df451442e924f282119c91ab004dcabb64b112de559bbbcddc2a91daee5cf9a76b84fb4bb SHA512 42bdbe8172ff5ff89469786f3d544db4a07bc0d1de9a54b8525dc8789d0f4328159ee815c07595463f190073433de567fb2d3496d261daa46aac70354b3da6ae

@ -1,2 +1,2 @@
DIST kosmindoormap-21.08.3.tar.xz 342772 BLAKE2B e30c0645105627b304162187ac9c84e8ebef0bbf5db17b28c1239428ec982eed526a7f29f7e543d1c1fb660d90d641358c1d0e8b1c6d6c40c5b11e471b25be52 SHA512 3a2337b433c25c16f2e69ab1a42e9324e8e176eaf85094a08d95a542af479e65637544a8486d481a3fe811e5c90aee1bcf803d92f3225db7c53c75840247e642
DIST kosmindoormap-21.12.2.tar.xz 351192 BLAKE2B ffa32664ef73eef2ddf95ff6590f0164a601ac3acc4bd9349ffaab817c7babe0c3753c50893d35862c63a5e34e8a11458696b5ce38171c56d9910eef9e8e3a9f SHA512 8b4a98ba468e7c7578a52afb90077efb1406c39ed982a82368fd3c5f9f2835e39ecc5477dfba92fd94fdbc44150982be30b5c0abd5adc9672c45d3916875d577
DIST kosmindoormap-21.12.3.tar.xz 351272 BLAKE2B 8fde9196e18062770c63eb2b636bf3bfea65d8575f4d67106c28fcf3349c6d9bfa3bd1d48a8978b3ec2e2d027f89be3338b88cdfd4b59b7609cc9bba2aeab689 SHA512 f2f5bc04dbb9943114d9807787d98ad4a4963be556c5f2ec332c59bc60533abbf6d39b982f79264ff3d764cb4b8e60501d711039e0fc475500abbd800fc13b86

@ -1,28 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
KFMIN=5.64.0
QTMIN=5.12.3
inherit ecm kde.org
DESCRIPTION="Library to expose vcards to KPeople"
HOMEPAGE="https://invent.kde.org/pim/kpeoplevcard"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
KEYWORDS="amd64 arm64 ~ppc64 x86"
fi
LICENSE="LGPL-2.1+"
SLOT="5"
DEPEND="
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcontacts-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kpeople-${KFMIN}:5
"
RDEPEND="${DEPEND}"

@ -1,2 +1,2 @@
DIST kpublictransport-21.08.3.tar.xz 411364 BLAKE2B 46d4681e98037d84d5813c62f13d76831922f9b2a3c04a51885292d702fa569f276dbd00056ee79cfecfebc4597d1ddde3c497b2d72e585ec5c14006253944e5 SHA512 bcd422855de8f224f7a30f09cd95345bd8637d3fb7a32ba0a7efe5c4bd350aed02cd6d8f186b4bfb467d50ce4ae927f360ccb5d188dadfbfa4e498ca4665df72
DIST kpublictransport-21.12.2.tar.xz 480840 BLAKE2B 6bd1167520da175f3ac485223870932d23509c390e4ca026e033ba7e688991c98958231b0fc75864d440250f1d20c27c4c11ac5913f7e2e7f06df21ccbb68175 SHA512 e61f36ad3b3506156f795d5e797b61dded059a37e27e037ee1ec2ad912edd567d15fc11399715a6ea3a06d73e969f13ab67b5d6257ffe00c5f609b9a965c1ffc
DIST kpublictransport-21.12.3.tar.xz 480780 BLAKE2B 949c394497fcd76af7e4cc3d83e1db74cbef221f9f468a4ac247e82000503468e204eaa45ee61b4f5d05d84c1f4878484db342ff760d101a6a0a7b0960937baf SHA512 495fc7e92bab00fa0953fa81d2cb73e37055f8ccee899c8d9f8783e85f83e7f6a4c04a1e48ed607d565926bdc9fcadc539a2738b7c898a07aa6934f5e15038eb

@ -31,7 +31,7 @@ S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug examples icu lzma +python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="An NTLM authentication module"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="Definition of MIME types"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
RDEPEND="
virtual/perl-File-Spec

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="Mail::Box connector via IMAP4"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv x86"
RDEPEND="
dev-perl/TimeDate

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="Mail::Box connector via POP3"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv x86"
RDEPEND="
virtual/perl-Carp

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Mail folder manager and MUA backend"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv x86"
PDEPEND="
dev-perl/Mail-Box-IMAP4

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="IMAP client module for Perl"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test ntlm md5 ssl zlib"
PATCHES=(

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="General Message Object for MIME Messsage Handling"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 arm arm64 ppc64 ~riscv x86"
RDEPEND="
dev-perl/TimeDate

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="Base class for Email Message Exchange"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv x86"
RDEPEND="
virtual/perl-Carp

Binary file not shown.

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Delayed creation of objects"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 arm arm64 ppc64 ~riscv x86"
RDEPEND="
virtual/perl-Scalar-List-Utils

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -10,4 +10,4 @@ inherit perl-module
DESCRIPTION="Quote strings for passing through the shell"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv x86"

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Maintains info about a physical person"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ppc64 x86"
KEYWORDS="~alpha amd64 arm arm64 ppc64 ~riscv x86"
RDEPEND="
!<dev-perl/Geography-Countries-1.400.0

Binary file not shown.

@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="HPND"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k tiff truetype )"
RESTRICT="!test? ( test )"

@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]]; then
PIVY_REPO_URI="https://github.com/coin3d/pivy.git"
else
SRC_URI="https://github.com/coin3d/pivy/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
fi
LICENSE="ISC"

@ -1,47 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Coin3D bindings for Python"
HOMEPAGE="https://github.com/coin3d/pivy"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
PIVY_REPO_URI="https://github.com/coin3d/pivy.git"
else
SRC_URI="https://github.com/coin3d/pivy/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86"
fi
LICENSE="ISC"
SLOT="0"
IUSE="+quarter soqt"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
|| ( quarter soqt )
"
RDEPEND="
>=media-libs/coin-4.0.0
quarter? ( media-libs/quarter )
soqt? ( >=media-libs/SoQt-1.6.0 )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/swig
dev-util/cmake
"
PATCHES=(
"${FILESDIR}"/${P}-0001-fix-CMakeLists.txt-for-distutils_cmake.patch
"${FILESDIR}"/${P}-0002-Gentoo-specific-clear-swig-deprecation-warning.patch
)
DOCS=( AUTHORS HACKING NEWS README.md THANKS )

@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
BDEPEND="

Binary file not shown.

@ -1,5 +1,3 @@
DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
DIST linux-5.16.tar.xz 123114100 BLAKE2B 07a90cc640ff89e1359c06cee8c38abd33e51f9b9a89833e31a1d2750526fda4a59e8884db3c1ea63df0a37f0d3de6b5a922b014b7313d8abce20d90ac08adcb SHA512 7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf
DIST patch-5.15.8.xz 537596 BLAKE2B 0f431804d406c4bbb09c44826fe1018b0bca94018337b73387d44ff3e25e6b90e2ec10cf9935847786e4dac6e1523e8e7daeaedb4f854d20a155bd13b29a0c72 SHA512 ef6d0841033fecba7c4aa25f5249a1e532a0d95f4b7e7048357ff00277d9abc11897f92d05d4a2cb90372da9cec8aa6664ce1058f71a6cae6bc647649787667d
DIST patch-5.16.11.xz 571384 BLAKE2B 233f45175ec71c69b7893caccf8bc05a67d38d83b2f86db429e48b91f6d014f5a8646a5ded7a411b4d15205dbc9efd797dd07eeba4089cde5ebac004e204f96a SHA512 df457cb78a2b9e5ee350d3f817a0663fdc09efff42c2c514faeb30252381701404ceefa10d15845f2a00b2f3c28211fbc5b0d46bfdf564b2c1cfd3dc36a6a06a
DIST patch-5.16.2.xz 20432 BLAKE2B 9c9f697e4dd0a78a94ac0bd361ec69683c6904d9af02da55c3001394e6a6efcc1fccd5d44747fff6ea47271b7655bd7866d161a90196cecaddde1c630ef5c425 SHA512 50d3c386e391603fbfe86780bbfa69c3a7caa83a7eea6c239af133dde3a7aa4746f4a3f1483589018d5ac27caa7ee69d869f8f64f4b5121ddab52224f5302222

@ -1,117 +0,0 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit estack linux-info optfeature python-any-r1 toolchain-funcs
MY_PV="${PV/_/-}"
MY_PV="${MY_PV/-pre/-git}"
DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps"
HOMEPAGE="https://kernel.org/"
LINUX_V="${PV:0:1}.x"
LINUX_VER=$(ver_cut 1-2)
LINUX_PATCH=patch-${PV}.xz
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
S_K="${WORKDIR}/linux-${LINUX_VER}"
S="${S_K}/tools/bpf/bpftool"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="caps"
RDEPEND="
sys-libs/binutils-libs:=
sys-libs/zlib:=
virtual/libelf:=
caps? ( sys-libs/libcap:= )
"
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-5.8
"
BDEPEND="
${LINUX_PATCH+dev-util/patchutils}
${PYTHON_DEPS}
dev-python/docutils
"
CONFIG_CHECK="~DEBUG_INFO_BTF"
# src_unpack and src_prepare are copied from dev-util/perf since
# it's building from the same tarball, please keep it in sync with perf
src_unpack() {
local paths=(
tools/bpf kernel/bpf
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
)
# We expect the tar implementation to support the -j option (both
# GNU tar and libarchive's tar support that).
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
"${paths[@]/#/linux-${LINUX_VER}/}" || die
if [[ -n ${LINUX_PATCH} ]] ; then
eshopts_push -o noglob
ebegin "Filtering partial source patch"
filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
> ${P}.patch
eend $? || die "filterdiff failed"
eshopts_pop
fi
local a
for a in ${A}; do
[[ ${a} == ${LINUX_SOURCES} ]] && continue
[[ ${a} == ${LINUX_PATCH} ]] && continue
unpack ${a}
done
}
src_prepare() {
default
if [[ -n ${LINUX_PATCH} ]] ; then
pushd "${S_K}" >/dev/null || die
eapply "${WORKDIR}"/${P}.patch
popd || die
fi
# dev-python/docutils installs rst2man.py, not rst2man
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
}
bpftool_make() {
local arch=$(tc-arch-kernel)
tc-export AR CC LD
emake V=1 VF=1 \
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
prefix="${EPREFIX}"/usr \
feature-libcap="$(usex caps 1 0)" \
"$@"
}
src_compile() {
bpftool_make
bpftool_make -C Documentation
}
src_install() {
bpftool_make DESTDIR="${D}" install
bpftool_make mandir="${ED}"/usr/share/man -C Documentation install
}
pkg_postinst() {
optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF]
}

@ -1,2 +1,2 @@
DIST kdev-php-21.12.2.tar.xz 1079988 BLAKE2B d1f6888b1ee733c36d46f4f6cfced99de3e23594bcff65b42f187f29a909ebfc7f5a3c65b9a58371472845ef3df7108cb89c18d7cfe79ebb1b9dcf1fe8bb2f96 SHA512 98ce68f03aa95b83a680bac73131358d11f6455b02a31786142e4f0239b2af6b750a8c8520cb2529f4815a03f05f3bf87e5daf05ab015b1f1f0002b6d827f42a
DIST kdev-php-21.12.3.tar.xz 1080044 BLAKE2B 6d391c0a4fda21c3b21d8ebc70e48a90b63ae398abd91de8cf0641a0aab07e16045fbb156f267c83b32e95635e3d0a04b6f7f0488bfed093fba2f57aff8fc7e7 SHA512 e35637bf6e40d100a4393ac575d11f6ea73d55131e21d9d8fafbf07eb7d7990a27614d6025591c3ffd6283e6b3a1b7246870faaca98b8edf9e21fc310d1d5ba3
DIST kdev-php-5.6.2.tar.xz 1063520 BLAKE2B b301f2da6c0936dd08f6a8ee72599e0c247c5efe18190e3c8fc7690a291d86f40f7fdffef7d036b8e5f258f749464c8aedd549feb0249d2d4fbbdefa41254307 SHA512 781ef76536b263c80be1de138b44cb3f979a1c941a868119069fa7265560d3078b9ea45be6cec30b481392a5ac69be100fe8ec3d106fffdbacf4c777045193fc

@ -1,2 +1,2 @@
DIST kdev-python-21.12.2.tar.xz 1090000 BLAKE2B 70268660daed30ef3d5c408d8344f8dae75da494c24f20bfac9a7c0726392f8d555aa7226be436143c88e2ba190f5f6236069ce8861c635612f3319821ac0998 SHA512 7b23ead35f9bcd7dc31ad34ceb8bb684e7f22fd61806f4b98706fff700f9d01b7708fac2af5e87af36529408bd9f6ef355977b1069e808acaa65e6bb625e72e7
DIST kdev-python-21.12.3.tar.xz 1089924 BLAKE2B 8658281280147ce4e87b6f2df9adbdb7adaab326c4bd7a107d49be47b1da876b6d31f1118d5d7103bdec826cc225209125fe07b3a18b947b42252b6cfc2b839c SHA512 06e4df638357fca9cfaba6a2d070e7977fdd0029e77cfd385c6aac80a2953ee1a4ca7a5042d4f1b14b481337e4d5e1c14ca2db86529df88d219dc6b45c44c469
DIST kdev-python-5.6.2.tar.xz 1072212 BLAKE2B 06f75d55a6c4171f6f2cfd219cfb5c54308db82dead25e9b79538ff04c7a0edd05ca5135121a923e7e169317a124d64f53da52e2226d59793d9a6c3c1ddfa6d3 SHA512 c0ecf9c075fe8c18e31152b774e76596367bb5eca8bb5ec976e9ce90ce78512d9e42bc95daea0f1de18474ef4deee430674e186263736df0de67d7d26c81f6a0

@ -1,2 +1,2 @@
DIST kdevelop-21.12.2.tar.xz 8391472 BLAKE2B a9918780e7f0f709dacfef3fd277286a9f14c44eaea356bed167fbeedf46f25b0b079c8c20ed54ba93aed8a6c80d53c27eb090a1df4f50061408b6d4efd86613 SHA512 a7e52593ba1297e60058329e38b45b3b3abc235b7f009a4b7e137efc18bc93f79ce146b7c883aed4e4fc7960d07c096013cf4b8265e5b2dfea5c286f1d8c6796
DIST kdevelop-21.12.3.tar.xz 8391560 BLAKE2B de0ee16db9de9b725431a59450c4f907103f87214a5b1ea365b17ec9916391b0be565e9d8977a8661dc6a00475bc0c162335fece0a518136ed1b18878fa47747 SHA512 963bddf8b405d818303c43c392c7c3070e8acdd00f6f3edc8c4adc9c9b946388019cb99e8f647268ef2a25337a52a046ec6591634d8d214b4e70bc39b6e1a5ad
DIST kdevelop-5.6.2.tar.xz 7128828 BLAKE2B 605b16f1666201f49e119499007a2031c4a2b28e7eb5c3b7bbf8bcd8aa2dc069708740831dc9fe327a8c9baebeffeeda5dd6d16c24c21a2be66c7475bf194423 SHA512 d5ec09b3eda439436bee4dee88612deedf02caf949e74cb7d8405fbb40ae6f16ae1b5278da0574f41c43d186edbeec6b8c40918ef7f5fafa437e07a8c4ae92ce

Binary file not shown.

@ -1,65 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ECM_HANDBOOK="forceoptional"
KFMIN=5.60.0
QTMIN=5.12.3
inherit ecm kde.org
DESCRIPTION="A frontend to the subversion vcs"
HOMEPAGE="https://apps.kde.org/kdesvn/"
if [[ ${PV} != 9999* ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
KEYWORDS="amd64 x86"
fi
LICENSE="GPL-2"
SLOT="5"
IUSE="+man"
BDEPEND="
man? ( >=kde-frameworks/kdoctools-${KFMIN}:5 )
"
DEPEND="
dev-libs/apr:1
dev-libs/apr-util:1
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtsql-${QTMIN}:5[sqlite]
>=dev-qt/qtwidgets-${QTMIN}:5
>=dev-qt/qtxml-${QTMIN}:5
dev-vcs/subversion
>=kde-frameworks/kbookmarks-${KFMIN}:5
>=kde-frameworks/kcodecs-${KFMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kdbusaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kiconthemes-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/kitemviews-${KFMIN}:5
>=kde-frameworks/kjobwidgets-${KFMIN}:5
>=kde-frameworks/knotifications-${KFMIN}:5
>=kde-frameworks/kparts-${KFMIN}:5
>=kde-frameworks/kservice-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/kwallet-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
"
RDEPEND="${DEPEND}
!kde-apps/kdesdk-kioslaves:4[subversion(-)]
"
src_prepare() {
ecm_src_prepare
if ! use man ; then
sed -i -e "/kdoctools_create_manpage/ s/^/#/" doc/CMakeLists.txt || die
fi
}

Binary file not shown.

@ -1,2 +1,2 @@
DIST akonadi-calendar-21.08.3.tar.xz 352800 BLAKE2B 00a44feb32622d6cb4c14157451fb891ea4a4115ac4809ae59a2ad0b26c021cc0b910d285663794afcd3a92d61304666a68e8cf40e8899d003e0b8d6e2901d87 SHA512 80578a9761b1fcff2c6f4c0065a7788ca1b9fc8cf3864c65780ca9777df31cf4c69e607829da3106d108686d505beee6341f4622da7f069a41f2a425dcecc2aa
DIST akonadi-calendar-21.12.2.tar.xz 352692 BLAKE2B 4e0a3eda263735c835126faa567e1e4a957f2aaabdb95752a988b80351bad9757d6be3e0e03793abaa3ad9e1c565535b4efe9d144532542ab45b9a72e39c0479 SHA512 8408167b578427a58a221e7878d2379abe1917531cf53889085a00cd0b75b53cfbe23187fb819ef8e9e3500e4a24987db9d9d2559c41680aed2a2dad77be210d
DIST akonadi-calendar-21.12.3.tar.xz 352804 BLAKE2B 8a69fd382b65f3fac2829c82777a84724ac4dd48f29617220738f3fa8fa66fb1b8cfafb1fecb277e193bb31d9d07adc8ac1b40537820468dea6d44acd7e3e1f3 SHA512 bd26d584ffb168375ad9a67853a6e55d0717ea295d1deb2af01b7072083c7326efe81597c09dbdc007545aee6097fa963fa9be8b98920bf8dc9de89f48f9b3e7

@ -1,2 +1,2 @@
DIST akonadi-contacts-21.08.3.tar.xz 420936 BLAKE2B 496d942d0ecc010b354fcfbb334aea8366a2d567e553a7d0789964554f0c81855772030b1c8369e65580da015910a75b1f087db38cd5511a7b6c99dae46a8e01 SHA512 e2d7f73ceb5f6f0580b4e80a1497d388951cee1ac94b4e188eaec3cff9ae3fd7635de29aa27171ac78a0ff6c25b308010cc6a6a45afb9fe43f7baec7034aba2e
DIST akonadi-contacts-21.12.2.tar.xz 425792 BLAKE2B 9311bcbdf09a2851802b22b2f4698af1b5818d8df112d58f15ff48b3dbb66ed4dd9e25af8375d537342b01a372d0ba9cac9c15fbd552ea68dc6aa3aa5839a54e SHA512 4a8cfbb3c287d41eefe13c3ada42c5098460cab0b72b5660f0ee02c5d6baecef2c7edd64b2f3789ea6c96c287bf76b329430780310b11836cf8d2e8b66c527b7
DIST akonadi-contacts-21.12.3.tar.xz 425904 BLAKE2B e7756d5f7ba6b66e89897d3e864748544090c43ec1faeae1edf3db98f7d0b1ecc08bb0938c9bafef5a35ba2d2f6755552de9ba6b9f00caa80a794e7a6993f2a4 SHA512 c3c248c7ac763b70f387b32a5a7f89361c20193f291b1656b64e79a18f44a2d05e054875030e336c21cc1efd967e64d017fd60f443a444d9f05f6cf8f0c253e7

@ -1,2 +1,2 @@
DIST akonadi-import-wizard-21.08.3.tar.xz 511128 BLAKE2B 460ee2844e8ec506de6d9de32291f306cf9dc7d951b9f13eadf0f9ae59739c7058119ce6fee0b6ef9af9a462bf3c5cda5b6ee6d6e2d8df08772973c2040d191a SHA512 f56b7e6b8b5689a0ce77e0db82c52f14430a8792b496183b28ec1ccf59ae3616c5decb82ef57335b16fbe6934e8a2ddc6600f713ef623ef45be93622bef9e3c3
DIST akonadi-import-wizard-21.12.2.tar.xz 510732 BLAKE2B c883875e33ed7346f6d3f2de53a24f83b8a8b15008fb8f5698a8be749cc36a1928d8dee2831f165df5205f9f687d31dfe786079fb57c37b91ae00224d1c39520 SHA512 3a5fb6ea5f714310500cb20b095455fcaacb8d1b8cde72d5d5dee176bee2752ed677468c0e51ce2e8fd98b514aa2a8e94f910c3109a9b0d2eebc9edf82e70e5e
DIST akonadi-import-wizard-21.12.3.tar.xz 510720 BLAKE2B d742b38da83a440ce8c2373752f40c3f0b42032f5cc45c7a23a4a9e9e51d3a12cb6bc3b288deb30e3c5b3617c8aa7e3025af698d5064132ed922203681ad5bd8 SHA512 fa2cce57525c49fe15fb51cc13ad9d7b844ef582f06a687e3f88c61ae60187eb5f72345f6fbb09ed5405b4675f68f0facaaa952de111fcdfaee54613e930d8ea

@ -1,2 +1,2 @@
DIST akonadi-mime-21.08.3.tar.xz 141232 BLAKE2B 2317db1da991671403f54f9f020bbd45f57ce1f8759910ab8464939f35ebc999fd762df3cdd3a647b42f901d0033c27727db551bebf4aaf485080b1a9acbd70c SHA512 33ea68e454b0ed1c3b93c7da700454f3ddabf255a88c1d4d7933bc4c430e2b82e6b36861c4f676a527d373b2d57d39b0ef8511e224591ec2f00073be84dc37f9
DIST akonadi-mime-21.12.2.tar.xz 142244 BLAKE2B 23dd6a9a720100dabccb67bd3eab67a21c4f847e75f2c81d103703ad925b6b7c25e716dc32f8484b1db80eb9612c0950588e85be8706d530b381c8b8b2500957 SHA512 79476ef5a12ac324dc075178bc11f7068e68eec6d5c066ed67b9b2a0ce88bf21a31f168d13a07847c38a7219044a5d7082344879e77f8bb4161d7032a5c4a25d
DIST akonadi-mime-21.12.3.tar.xz 142264 BLAKE2B f2aa3bdb481a35c2bfb0248ea2df6db70d2b0d492dd7258a0d13e13e8d01297313f7b2afdeb082e7eaa5dad5ff06f4628a49cc70f79ce4e59c45a1e71011439c SHA512 65d0283562d21c50b4738133eab173e55f17929f637b0e6aed8be7c6c7f2c75026a7862c3573168e9b2b61e1a32c3b2c355b22cd3f6ac25fbae0a24ff5740425

@ -1,2 +1,2 @@
DIST akonadi-notes-21.08.3.tar.xz 26428 BLAKE2B 71e93cb62cbeb7a90b186eb3c9b0fb926ec626b52f4343964a0ca058ca3de3a6cc062e85152690eefc5b5ea7e3994fef837fbcc869d07c841f83c407c426c52c SHA512 ec5944e5cd097a342aa342314c395eb4de787e06a633f6cd2af47f63a28ecf51ceed483a955ff020b5848458969c8e48611f1220d81760221ad112762b787915
DIST akonadi-notes-21.12.2.tar.xz 26572 BLAKE2B df62f2bd761af9fc3b683a248d4da0a4651fb3976c97afd7b450eb7647772706c9b90451ec624256c8ebade5aee603ab5eef4bc82d42f9af5ea0220d6b5958e7 SHA512 5de73612fb44c0b2c6f63460729f4015adf9418f440dbd2cd874219059d0b9c0202bec6d0a9adcd1f9dfa2c92106cdf5361d7b47b9c1d81779d17f77ca986d23
DIST akonadi-notes-21.12.3.tar.xz 26560 BLAKE2B 5fc18556a4e8be9e187a163031c4d345af04fa147f0b9e90f4d546dd8d9f91c63a5b2ab7562ffabca4bb80bb0c1fdd0f88596a2e3cfafa3ea246b208cbb7b376 SHA512 a3a7f8aa489dff12097e965c02dc798baec7084701c79f2b4d5792ca0da16a8d0929f36bc4d50df82ef08ce927289e9134c9a0e18215b32beebef7c845e24f6b

@ -1,2 +1,2 @@
DIST akonadi-search-21.08.3.tar.xz 97344 BLAKE2B 92c64d7896142a145119cc3ee4ab5069a99219300898696583b9d87a130902ecf32a072bf2cdf65f5cff4ecb1a8d57af30cf0dae2bfb4053633841460360bc88 SHA512 749f857b96223ddfc1906de546d9c5feb065afce4545d1410a8cb6260bd8f6c7d2b165082e77685c683081bd5223ea0dc7b902edf6b84956afd66164806a5da4
DIST akonadi-search-21.12.2.tar.xz 97760 BLAKE2B f07b4080cc0954f0c018367b5366ac2775a1ed68d3f0fe14e95fd8943b155e065d926e7e0a6194df12ea4a800a5f99762452a3a8dc32df7a3a93910c0514c39c SHA512 a0f57c55f6064649a780d1b5936fd64cc05641bcbef7946bf2cd0ff8febf1388cfb3913135781cf8250a9a27bf16b39c90b5ef9ee3c67310e2fd6294d141fc82
DIST akonadi-search-21.12.3.tar.xz 97748 BLAKE2B 7c6fe020a47693b8e1c872756928784827c38e10e682ab87887a7993f6db8827c3d86ad29403c8894b6acfcd0e21d836df299a84de0611f0c47f5bfe297ce2ed SHA512 8687913e3c1acd80baf96caf3d681b3868620537181e88e201d04fc965e4b9c6221ca14a1f0c414dc24fbbf79f09c1f4a63954e8cdbb3c8fd330cb305e289458

@ -1,2 +1,2 @@
DIST akonadi-21.08.3.tar.xz 1607984 BLAKE2B 676881d442e196ca385c3203110ac7c9bc4ff5529550e5ffb68ff085cda7b03d01a4aadace33ebddf280dcece8830dd21baad596fbaf6c18268f9c151ac7636d SHA512 6305d8574e2be4e9b95b08e7990682eb32298e2dc89bf4d2372b5842e2880d69e95d598f34104e6207c985a0170ce92f23a8bf9c5c0e82c4ae0d85dc6bbfcaa4
DIST akonadi-21.12.2.tar.xz 1611032 BLAKE2B 69fdbfaecf4d41d1ee9a40c2dcac43d467db0f8f41f082f1d1246aa99433b1bc2cad97aa09d2a2d11833cfde9f3b9ed4099d69b0f2384820aa5276aeea5ed986 SHA512 1be3ae8f11e17f7c75a8cf4f8613df5e795f436b2bb52d5326739a83358873cc54a640e1df59cafefdd57905ee44d9f77b523c8696fd0df965ec984a7ec0316a
DIST akonadi-21.12.3.tar.xz 1611056 BLAKE2B f1382194094b24e2a4810d7c50347c5fc0b3562c6f33798efaa6aa202fc467bf439f45b85714143559af6f8eb865a9d76a2f31a4da08f381f2f7eda9b90be30c SHA512 0e215fbfc4a598706cb78177526e3b9708b24a2106a7dbb3fc9a8d316c1dbf4a3135e938990236307f4f6acae55189b30537512cea74f988742bf2aef08eee44

@ -1,2 +1,2 @@
DIST akonadiconsole-21.08.3.tar.xz 200736 BLAKE2B f8365e5e985f573dd5ac3e695580fedd6a77239cec013e116f3338755a5ae7c80ff8d61b868bba8fd66745361752124c623d68d6b6434a9f7b3bc3a3b0b72c3a SHA512 699a943a02bb307e01fff4ab25384a49833e16208b3d72d760b29e332e47acbc23a80857fff91d692349744a192668165412d4b4aa2de7625c13ba95756268f0
DIST akonadiconsole-21.12.2.tar.xz 200336 BLAKE2B 14ca650509dd782f534e362bc107aac2b0fad151c40cfa2ca56dfd8b20be86ff40698fa8d2c76aae8db1acd17cfc37849a13b507f4f9b0df7ed231a83ec253b2 SHA512 d15f968130e58d0d61f293f4f85add782b25403882747204d09388736c893fa582c92aa764606df7eb82c5848658747b1de805dddf4a480f9015d03f8cc94464
DIST akonadiconsole-21.12.3.tar.xz 200384 BLAKE2B 02cbec9e798e33cb5a0b343b1111918d0b368ac86884e5960f10040dc4d2c614ed0860e4fc02c48a697d9169db6410dc01a2f446f49eb47d272b55cfaaf294a9 SHA512 be1b0efd80fc91c1f702510487a16a3acf17f66f45229bbc2697a9817097b7075f0c6788b7e9651985fe013ba065947acc7ef0e278e1d9b50091233cb5e2f356

@ -1,2 +1,2 @@
DIST akregator-21.08.3.tar.xz 2246092 BLAKE2B 02ec9980dfcaca1a10be6bb8ae4b3067530f122297a633daff9f9ee5787003d178494cf2548410f4904f713207a8fd6d5e0fe331dc353a4e549c47b12c12687d SHA512 44d32689b3e717a967a6444742198122452bbaff752006dce29228b278299a44b7c71d3c79207d5b122e3c7a8b89513eb6bcc919d08c1e9a52704a96c27970c0
DIST akregator-21.12.2.tar.xz 2259848 BLAKE2B ed03ff9d5c62b630bcc7676365f594ae6e069b697534fba92dd90dbf8b3ffd6f84d0505fed57a1183acda9a15dfabbd452c1f6dd405d59ad1ae5c17a6934f3a4 SHA512 faae377739c618d56411be94e768580069a5bea265da2fe88e1f941a2ab43279b19a704d419daf3c4d89fc5c3c2d78792a11511feed7831a58e5f6bbace958c8
DIST akregator-21.12.3.tar.xz 2259904 BLAKE2B aa4ecc2e65969bca6f92cde18745a00f36bf8f537013a7f7ab7d18a14f03a2b16c8064c005b42dc37e8c7cc01459d9586cb4445d22b4930ad70d8b75039ed67b SHA512 be20a0d7e9dc52d3b0dafbac0fd3429873642f4c199289067314f3b0753dfa8d747728b9d747c339c6436c5c5fcf726788d99e51467f70025d3a1657984076e4

@ -16,7 +16,7 @@ HOMEPAGE="https://apps.kde.org/akregator/"
LICENSE="GPL-2+ handbook? ( FDL-1.2+ )"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="telemetry"
IUSE="speech telemetry"
RDEPEND="
>=dev-qt/qtdbus-${QTMIN}:5
@ -27,7 +27,7 @@ RDEPEND="
>=dev-qt/qtxml-${QTMIN}:5
>=kde-apps/grantleetheme-${PVCUT}:5
>=kde-apps/kontactinterface-${PVCUT}:5
>=kde-apps/kpimtextedit-${PVCUT}:5
>=kde-apps/kpimtextedit-${PVCUT}:5[speech=]
>=kde-apps/libkdepim-${PVCUT}:5
>=kde-apps/messagelib-${PVCUT}:5
>=kde-apps/pimcommon-${PVCUT}:5
@ -55,6 +55,8 @@ DEPEND="${RDEPEND}
dev-libs/grantlee:5
"
PATCHES=( "${FILESDIR}"/${PN}-21.12.3-speech-optional-{1,2}.patch )
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package telemetry KUserFeedback)

@ -0,0 +1,144 @@
From cb0ddc563482ccbad9331d944c711cd180f38400 Mon Sep 17 00:00:00 2001
From: Laurent Montel <montel@kde.org>
Date: Thu, 24 Feb 2022 17:30:26 +0100
Subject: [PATCH] Make it compile without texttospeach
---
.../webengine/articleviewerwebengine.cpp | 5 +++++
.../webengine/articleviewerwebenginewidgetng.cpp | 12 ++++++++----
.../webengine/articleviewerwebenginewidgetng.h | 4 ++++
src/frame/webengine/akrwebengineviewer.cpp | 5 +++++
4 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/src/articleviewer-ng/webengine/articleviewerwebengine.cpp b/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
index 787efefc..e308df8a 100644
--- a/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
+++ b/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
@@ -12,7 +12,10 @@
#include "articleviewerwebenginepage.h"
#include "urlhandler/webengine/urlhandlerwebengine.h"
#include "webengine/urlhandlerwebenginemanager.h"
+#include <kpimtextedit/kpimtextedit-texttospeech.h>
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
#include <KPIMTextEdit/TextToSpeech>
+#endif
#include <WebEngineViewer/InterceptorManager>
#include <WebEngineViewer/WebEngineAccessKey>
#include <WebEngineViewer/WebEngineManageScript>
@@ -305,10 +308,12 @@ void ArticleViewerWebEngine::slotWebHitFinished(const WebEngineViewer::WebHitTes
popup.addAction(ActionManager::getInstance()->action(QStringLiteral("tab_unmute")));
popup.addSeparator();
popup.addAction(ActionManager::getInstance()->action(QStringLiteral("find_in_messages")));
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
if (KPIMTextEdit::TextToSpeech::self()->isReady()) {
popup.addSeparator();
popup.addAction(ActionManager::getInstance()->action(QStringLiteral("speak_text")));
}
+#endif
popup.exec(mapToGlobal(result.pos()));
}
diff --git a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
index e806b343..3784894e 100644
--- a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
+++ b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
@@ -12,9 +12,9 @@
#include <KLocalizedString>
#include <QVBoxLayout>
#include <viewerplugintoolmanager.h>
-
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
#include <KPIMTextEdit/kpimtextedit/texttospeechwidget.h>
-
+#endif
#include <KPIMTextEdit/SlideContainer>
#include <WebEngineViewer/FindBarWebEngineView>
@@ -45,7 +45,9 @@ template<typename Arg, typename R, typename C> InvokeWrapper<Arg, R, C> invoke(R
ArticleViewerWebEngineWidgetNg::ArticleViewerWebEngineWidgetNg(ArticleViewerWebEngine *customViewer, KActionCollection *ac, QWidget *parent)
: QWidget(parent)
, mArticleViewerNg(customViewer)
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
, mTextToSpeechWidget(new KPIMTextEdit::TextToSpeechWidget(this))
+#endif
, mSliderContainer(new KPIMTextEdit::SlideContainer(this))
, mTrackingWarningWidget(new WebEngineViewer::TrackingWarningWidget(this))
@@ -62,10 +64,10 @@ void ArticleViewerWebEngineWidgetNg::initializeLayout(KActionCollection *ac)
{
auto layout = new QVBoxLayout(this);
layout->setContentsMargins({});
-
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
mTextToSpeechWidget->setObjectName(QStringLiteral("texttospeechwidget"));
layout->addWidget(mTextToSpeechWidget);
-
+#endif
mTrackingWarningWidget->setObjectName(QStringLiteral("mTrackingWarningWidget"));
layout->addWidget(mTrackingWarningWidget);
@@ -107,7 +109,9 @@ void ArticleViewerWebEngineWidgetNg::slotFind()
void ArticleViewerWebEngineWidgetNg::slotSpeakText()
{
const QString text = mArticleViewerNg->selectedText();
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
mTextToSpeechWidget->say(text);
+#endif
}
void ArticleViewerWebEngineWidgetNg::saveCurrentPosition()
diff --git a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.h b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.h
index a9ff9eea..f4834d2e 100644
--- a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.h
+++ b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.h
@@ -8,6 +8,8 @@
#include "akregator_export.h"
#include "articleviewerwebengine.h"
+#include <kpimtextedit/kpimtextedit-texttospeech.h>
+
#include <QWidget>
class QPrinter;
class KActionCollection;
@@ -55,7 +57,9 @@ private:
void printRequested(QWebEnginePage *page);
WebEngineViewer::FindBarWebEngineView *mFindBarWebView = nullptr;
ArticleViewerWebEngine *mArticleViewerNg = nullptr;
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
KPIMTextEdit::TextToSpeechWidget *const mTextToSpeechWidget;
+#endif
KPIMTextEdit::SlideContainer *const mSliderContainer;
WebEngineViewer::TrackingWarningWidget *const mTrackingWarningWidget;
QPrinter *mCurrentPrinter = nullptr;
diff --git a/src/frame/webengine/akrwebengineviewer.cpp b/src/frame/webengine/akrwebengineviewer.cpp
index 53b5e5f8..d49e0a8c 100644
--- a/src/frame/webengine/akrwebengineviewer.cpp
+++ b/src/frame/webengine/akrwebengineviewer.cpp
@@ -15,7 +15,10 @@
#include <KActionCollection>
#include <KActionMenu>
#include <KIO/KUriFilterSearchProviderActions>
+#include <kpimtextedit/kpimtextedit-texttospeech.h>
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
#include <KPIMTextEdit/TextToSpeech>
+#endif
#include <QContextMenuEvent>
#include <QMenu>
#include <QWebEngineHistory>
@@ -138,11 +141,13 @@ void AkrWebEngineViewer::slotWebHitFinished(const WebEngineViewer::WebHitTestRes
popup.addActions(interceptorUrlActions);
}
popup.addSeparator();
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
popup.addAction(ActionManager::getInstance()->action(QStringLiteral("find_in_messages")));
if (KPIMTextEdit::TextToSpeech::self()->isReady()) {
popup.addSeparator();
popup.addAction(ActionManager::getInstance()->action(QStringLiteral("speak_text")));
}
+#endif
popup.exec(mapToGlobal(result.pos()));
}
--
GitLab

@ -0,0 +1,25 @@
From 49aa0675d5d84e3286e9879ceb2333cb83f1d824 Mon Sep 17 00:00:00 2001
From: Laurent Montel <montel@kde.org>
Date: Thu, 24 Feb 2022 17:33:56 +0100
Subject: [PATCH] Fix include
---
.../webengine/articleviewerwebenginewidgetng.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
index 3784894e..20e33120 100644
--- a/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
+++ b/src/articleviewer-ng/webengine/articleviewerwebenginewidgetng.cpp
@@ -13,7 +13,7 @@
#include <MessageViewer/ViewerPluginToolManager>
#include <QVBoxLayout>
#if KPIMTEXTEDIT_TEXT_TO_SPEECH
-#include <KPIMTextEdit/kpimtextedit/texttospeechwidget.h>
+#include <kpimtextedit/texttospeechwidget.h>
#endif
#include <KPIMTextEdit/SlideContainer>
--
GitLab

@ -8,4 +8,7 @@
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
</upstream>
<use>
<flag name="speech">Enable text-to-speech support</flag>
</use>
</pkgmetadata>

@ -1,2 +1,2 @@
DIST analitza-21.08.3.tar.xz 346716 BLAKE2B f7d45cd0b4960d6833e1cbe4cf9cdc93c2da5abb0f12f156a9297a2a09543f3d0f64bfe0a206896fc8178d27343032bbdf16316827a43225d6033b3ddf74e044 SHA512 ee333dfba8e7e35747b4eb6474641a4bd8f55a8466aa70053ab9521402183115def32e7707bfa2ddfc2ebea401f49effd5904265952a1b3abb242f917806bc11
DIST analitza-21.12.2.tar.xz 347660 BLAKE2B 32797c68c348459a1aa0519ce1a0453ccaabbc6956cc47daf28dd1248eb2fa0518b28a60487d43fca2b77a4f496aa8e9ac069e924c020fabbebf1bfe63a6d4c7 SHA512 0cb370b445bcafd12fadf7bc5fbea333f7b717b3d0a0969d84084b032bb218edd01fd72695dcf911349c05d1befa241ef44647aa5cc57860ea4b9ba90cade3a5
DIST analitza-21.12.3.tar.xz 347756 BLAKE2B 7215885833753fb3d3ec37b6c7a73eaa6f750e283354fa802b1cc992f6de2c59997063ab1b4e4618a947c20050acd1064c1a020a99ebf7099ca9807e4249a02d SHA512 540f3ea62f8f1b8a62517d4dc9e7531d7aef739965434b582d0632bdcaf542d9616475b49a2eeed18b82cccf218fcf548f1a5538a6b00f1457f64867069662ef

@ -1,2 +1,2 @@
DIST ark-21.08.3.tar.xz 2769868 BLAKE2B 8e208bb9067bbde43e311aa88cd16bbf2957b434906b42114c08c518e301a89231627450885e3c145452fd538106b173a881da7d0100c670612cd08c3c342500 SHA512 4b434669e369636774df84d48ea277860886db29055f26d40f0ba08242eec9a6e6d7727b3e405148809e86db1e06f5517bf35ceefd17a722173c4de915f1eae9
DIST ark-21.12.2.tar.xz 2770488 BLAKE2B 0e008c2b9ecfd0879c3af61fb2b769ebfe0451cf2bdd3621ff30b249cec51138ef22ec65e500ff4a47a30615061fde505b075622ea0c365800ce012030ce29f7 SHA512 3f19f1813af4b0f164438ddbae077ff20cdb58c289e6fb19926c7945a1bf30ebd08b8904367f6282aa617f20f49e5d303847fa3fec677fda378deefefc480171
DIST ark-21.12.3.tar.xz 2773432 BLAKE2B 94bf16981f8765953a484832d52dc911ff608a18f4f88ca714977db3e780adc5c9212cf93f6b5ac60d855642f6e849df2d6204745ac5a47c8d90ee01060c38e2 SHA512 68e52113399e3efff901badc108577946c8b6fa728cb80ff4a8ee4e7d0d944ed8cbec1403080c4e61e1e0e2a9bb2b044d6eeeab9751c2a7104929a2dfe603312

@ -1,2 +1,2 @@
DIST artikulate-21.08.3.tar.xz 1090576 BLAKE2B e0bbfdeb9d954c9a5001563c53851b796fc2a4cdb474b57261fc820d7ddadd759b7a4113eeaf7c7b267ef664f4b859586480aad7fe0ed04c5dcba3fa5661e690 SHA512 c0642fad8a85b0d0e3e9b52ae684f4d6026fe70710f946ec14c6923a6c56805c9026508da58c29e1820deeb4b392c5f2b8146f150707ccf9010a4704ff146dd0
DIST artikulate-21.12.2.tar.xz 1091508 BLAKE2B 8121e0dba863683150026b6299e186e80f76a16127e2b25c80c10423dc109d8da6d4065bdf14bdbf874beab7c3bd12e21b70de249c46cbd88b25c7be21585a7f SHA512 70d3db79b25776fa937473d9c98fdfd95bb24caf78ca0bcbbc348a918a3daea58869cf438fc82057d7f97ced3fea531784a1294e2679a30329575776eb390fab
DIST artikulate-21.12.3.tar.xz 1091460 BLAKE2B 53927896d964b427b0a08c8c95c9a71014db6c9b3702e2d802ffe025f687573adb5d9860829a8c0dbf7135ba89f76d5c1f1062cec638cfdaf0319f20ec142640 SHA512 7d70ba2b96562919b1d6e104a5a020838ef7023f97d4f782b6d5b81c0886c20b1580df5dad05f95d6dd065af2893a44b75375a0a40074fe4f847fdbf49329cac

@ -1,2 +1,2 @@
DIST audiocd-kio-21.08.3.tar.xz 522944 BLAKE2B dd9d165d7db9c45b65c8862ab8be2efc18cff5ee435b57c3bf0a5882f60c9c72499d49ca6b90c41fab67b86293082270a6b473bd7282e22ffef75aec4c5529e0 SHA512 6f81d3890531bc56c61c1aff9dd15f26f908992ea54b454f0371751897f94f30280388e8f5f8197cc4800f1fcd43541ef6741a318bdea04e2e2ba13addcc2c6d
DIST audiocd-kio-21.12.2.tar.xz 522604 BLAKE2B bbff62086c2d9483d5de92483c32e4e85932fe52839c5c942b30a04480767fe64f1bf0e2477a4f5de604ec0df9b6cde476ba98200cdcf4c38375742b5e02b1f2 SHA512 7cdb93a30dba0b5f01c4fa9a97c681f07d72216adad58d158e00a524d9a648f37ec1c58448078e97df6c43a3f423e969b6dd262e0dc27fe1ba12a2626353f930
DIST audiocd-kio-21.12.3.tar.xz 523088 BLAKE2B fb6f9a0ebd12875d029c61417a41e1244e84b02028a44d0b62842463545fb0ada50b893a1f0adf1bb3ff3d7c756395e3f3c5cfd89dd0d2b0cfe673d204356206 SHA512 1513382e66713c13a7995cc7144297dcc99823cf5324f59b9ac6a6e2ef7f91b645bd031c099d3a441dbd07358bf1c26e92737a2eda97bd32b81d1a8a68c07504

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save