Sync with portage [Mon Nov 20 02:22:08 MSK 2017].

mhiretskiy
root 7 years ago
parent 5fc19dd7a8
commit 18daadacab

@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="unicode"
RDEPEND=">=dev-libs/libpcre-3.4"

@ -11,7 +11,7 @@ SRC_URI="https://github.com/jnovy/pxz/archive/fcfea93957d96b7661d1439cf4b767ecfd
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux"
KEYWORDS="~amd64 ~ppc64 x86 ~amd64-linux"
IUSE=""
# needs the library from xz-utils

@ -10,7 +10,7 @@ SRC_URI="https://github.com/google/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE="static-libs"
src_prepare() {

@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/$
LICENSE="GPL-2 LGPL-2.1 CDDL-Schily"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE="acl caps nls unicode"
RDEPEND="acl? ( virtual/acl )

@ -11,7 +11,7 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
CDEPEND="

@ -11,7 +11,7 @@ SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
KEYWORDS="~alpha ~amd64 ~arm hppa ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="livecd"
RDEPEND="sys-libs/ncurses:0

@ -1,3 +1,3 @@
DIST nano-2.7.5.tar.gz 2031723 SHA256 226be22f46359007aa76499623739f4a7d5fa294a2899c70b21bc09b8d81d907 SHA512 a5332a361c4d0d9d0a77ebb11cdcffa976bee4981d5665b2732a9e6d7a2997566d9345332f2e6e5cb74f0a81be4413f54ca8f719962ab10b32d7ec1c9271973c WHIRLPOOL bd28cde96896ad531bb499504bb1438b358b64e7f6080fa24758bee7c222b4d1df0c395d480d0cef54de8e78a7e457db403a9ef2d6a56033e65299b6d7f95634
DIST nano-2.8.6.tar.gz 2812564 SHA256 3725aa145880223b2c4d0b3fa08220e1633f2d341917f49d028e067fc12cce49 SHA512 51a16cae4fd753a575690974759bd6277f81487c04b9e15018770f4333bcce2ef7f15c4d241973a3f993fc54978e5830fe59a59e2af1acd8639e81cb905219c5 WHIRLPOOL d3eabdf47feed6849e0d67adaa9ac102f298ddf415c039c5f9a62a72afe6aa8763a8d3164e58844a235c940840fbfe35af43722f52a819fd2a02e8065c58f175
DIST nano-2.8.7.tar.gz 2822417 SHA256 a49a888c20f09a17c7f1049d1fda619472c92eedcb25fd4be5f088a51cc392a5 SHA512 511b57f8fe82872827829bca91f7a8666a6ee75924cf2c853332ddd0467abf281c6d3cbaa5dd208c579cbace5bef23d36bd7b62be116aa2175262ed1d15aaf79 WHIRLPOOL 41a2f048478285dad936df7aeb799ec9c5b4a3e508a7132e5b1d71e1d98026bf34feed27fe055410b4d920c9b8ffdc6e1fb0fc16dbc583028fcf271cace69328
DIST nano-2.9.0.tar.gz 2815519 SHA256 220cdf0b29b3d2bcba66e7aaa5b27ed1f2bf53c44192d8e0e0328624da3dbebf SHA512 21b958ef508e8108f3b0db15087869dbfa7006ed2c63357f058aaa1db170edad8cc7401326042b0d9296166c19fa59b4143a2926492878017071edaea6a6fc2e WHIRLPOOL 7561552d6c1f7e32340c47de4ce759439e1980f41968e93d69fabe462c2501d6a33779f8305e031bf2a3cf07eec46acfe2d8b125cb56e5ebd6ebdc3cb73d6e7e

@ -32,10 +32,10 @@ DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )"
src_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautoreconf
fi
default
}
src_configure() {

@ -0,0 +1 @@
DIST atomic-chrome-2.0.0.tar.gz 218286 SHA256 f239fabd2438df8d947b333453534e6ab76f946c8879df2e3f1151baf76dac97 SHA512 702c8e80246f47dd46f4c864412e47c7cb74a13737754ccf81053a5054b97c4f48c4ca7613d1734dbf7251fbcd1d15269e2a605c36b3e7b631613506bb3a49bc WHIRLPOOL b6167c4299f0de6c56a1e68c2dfa7389d7c40dbc2e7820830c16eb02c29038e3eca7ed4aae6d2701e7fa41f02ebe88fda3948b4effbfbc6d89c779cce67d1613

@ -0,0 +1,21 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
NEED_EMACS=25
inherit elisp
DESCRIPTION="Edit text area on Chrome with Emacs using Atomic Chrome"
HOMEPAGE="https://github.com/alpha22jp/atomic-chrome"
SRC_URI="https://github.com/alpha22jp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
DEPEND="app-emacs/websocket"
RDEPEND="${DEPEND}"
SITEFILE="50${PN}-gentoo.el"
DOCS="README.md"

@ -0,0 +1,5 @@
(add-to-list 'load-path "@SITELISP@")
(autoload 'atomic-chrome-start-server "atomic-chrome"
"Start websocket server for atomic-chrome." t)
(autoload 'atomic-chrome-stop-server "atomic-chrome"
"Stop websocket server for atomic-chrome." t)

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
<longdescription>
This is the Emacs version of Atomic Chrome which is an extension
for the Google Chrome browser that allows you to edit text areas
of the browser in Emacs. The input on Emacs is reflected to the
browser instantly and continuously. You can use both the browser
and Emacs at the same time. They are updated to the same content
bi-directionally.
Atomic Chrome for Emacs is also compatible with Firefox via the
GhostText browser extension.
</longdescription>
</pkgmetadata>

@ -0,0 +1 @@
DIST websocket-1.9.tar.gz 27029 SHA256 e7afbb5785e423e108119c9e625c9bab08297415224b07718f75ec6295130533 SHA512 bcd98e7edcbe95cae2f196cea05fd6cfa9083ed1ab2392530ca00cb05b87d6fa95b5f5319981fd94244b74989850c171e4c31c8758a8b7fe95d49299103a4410 WHIRLPOOL b0534b8c098569cebdf9ff597a459df7815f0e0a919c64fbbf4d8c64aa9789f0bbd585ca8adb139bb35254f29798e01e13eb417764a8bc0b1fbd20fa7ff564f7

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,31 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
NEED_EMACS=24
inherit elisp
DESCRIPTION="A websocket implementation in elisp"
HOMEPAGE="https://github.com/ahyatt/emacs-websocket"
SRC_URI="https://github.com/ahyatt/emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/emacs-${P}"
src_compile() {
elisp-compile websocket.el
}
src_test() {
${EMACS} ${EMACSFLAGS} -L . -l websocket-test \
-f ert-run-tests-batch-and-exit
}
src_install() {
elisp-install ${PN} websocket.{el,elc}
dodoc README.org websocket-functional-test.el testserver.py
}

@ -1,2 +1 @@
DIST free42-1.5.15.tgz 22683600 SHA256 2dda0558141cd26d4b04aa96608c85eadb0770c4f2b660889d4b2a6f3a880c21 SHA512 fc09fcb0efaa6502776517b22cd0015ea7ac7d128b80bd740f64272b6c7aa41f5509dd7e0166dc18043790b4bef725a37a6a7210308a67aeaed02622f9e6daef WHIRLPOOL 5f6f5b33ccb2c320515fbc4e67ee52c6bc6c25fdbc8cf24c05772a90be87fed03f48dfa363b195071c4bc722428fb116d246e9df2eaddba20742648891ad7769
DIST free42-nologo-2.0.6.tgz 7348647 SHA256 862135da3066576d71dbfedc1e41e97230e656ef2f0db3a5b87ba96650c12b9a SHA512 078a79cc4dfa36ae7342be5b90350f4b7269f4e71777f2620c2043510d6313acbc1fa9415b75f8b01bebb2de747b9af8a26738f877c34a4d82a1fdd52c75a61d WHIRLPOOL 5740055edfbafc6f91ba9d3a8b1dc259511dc99b1e5d06a78cf03976b71928c5423d57cd023c9d878108394f3b0992a3bf532f06e69089b976a8ca789dcae9ed

@ -1,12 +0,0 @@
diff -Nuar a/gtk/build-intel-lib.sh b/gtk/build-intel-lib.sh
--- a/gtk/build-intel-lib.sh 2017-04-01 20:02:45.000000000 +0200
+++ b/gtk/build-intel-lib.sh 2017-04-04 13:55:43.719038089 +0200
@@ -4,7 +4,7 @@
cd IntelRDFPMathLib20U1
patch -p0 <../intel-lib-linux.patch
cd LIBRARY
-make CC=gcc CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0
+make A=a CC=gcc CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0
mv libbid.a ../../gcc111libbid.a
cd ../..
( echo '#ifdef FREE42_FPTEST'; echo 'const char *readtest_lines[] = {'; tr -d '\r' < IntelRDFPMathLib20U1/TESTS/readtest.in | sed 's/^\(.*\)$/"\1",/'; echo '0 };'; echo '#endif' ) > readtest_lines.cc

@ -1,58 +0,0 @@
diff -Nuar a/gtk/Makefile b/gtk/Makefile
--- a/gtk/Makefile 2017-04-01 20:02:45.000000000 +0200
+++ b/gtk/Makefile 2017-04-04 13:59:04.969034463 +0200
@@ -15,11 +15,11 @@
# along with this program; if not, see http://www.gnu.org/licenses/.
###############################################################################
-CFLAGS = -MMD \
+CFLAGS := -MMD \
-Wall \
-Wno-parentheses \
-Wno-write-strings \
- -g \
+ -Wno-error=narrowing \
-I/usr/X11R6/include \
$(shell pkg-config --cflags gtk+-2.0) \
-DVERSION="\"$(shell cat ../VERSION)\"" \
@@ -27,21 +27,25 @@
-DDECIMAL_GLOBAL_ROUNDING=1 \
-DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 \
-DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 \
- -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 \
+ ${CFLAGS}
-CXXFLAGS = $(CFLAGS) \
+CXXFLAGS := $(CFLAGS) \
-fno-exceptions \
-fno-rtti \
- -D_WCHAR_T_DEFINED
+ -D_WCHAR_T_DEFINED \
+ ${CXXFLAGS}
-LDFLAGS = -L/usr/X11R6/lib
-LIBS = gcc111libbid.a -lXmu $(shell pkg-config --libs gtk+-2.0)
+MYLDFLAGS = -L/usr/X11R6/lib
+LIBS = gcc111libbid.a -lX11 -ldl -lXmu $(shell pkg-config --libs gtk+-2.0)
ifeq "$(shell uname -s)" "Linux"
-LDFLAGS += -Wl,--hash-style=both
+MYLDFLAGS += -Wl,--hash-style=both
LIBS += -lpthread
endif
+MYLDFLAGS += ${LDFLAGS}
+
SRCS = shell_main.cc shell_skin.cc skins.cc keymap.cc shell_loadimage.cc \
shell_spool.cc core_main.cc core_commands1.cc core_commands2.cc \
core_commands3.cc core_commands4.cc core_commands5.cc \
@@ -83,7 +87,7 @@
endif
$(EXE): $(OBJS)
- $(CXX) -o $(EXE) $(LDFLAGS) $(OBJS) $(LIBS)
+ $(CXX) -o $(EXE) $(MYLDFLAGS) $(OBJS) $(LIBS)
$(SRCS) skin2cc.cc keymap2cc.cc skin2cc.conf: symlinks

@ -1,47 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils toolchain-funcs
DESCRIPTION="An HP-42S Calculator Simulator"
HOMEPAGE="http://thomasokken.com/free42/"
SRC_URI="mirror://gentoo/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="alsa"
DEPEND="dev-libs/atk
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/pango
alsa? ( media-libs/alsa-lib )"
RDEPEND="${DEPEND}
x11-libs/libX11
x11-libs/libXmu"
S="${WORKDIR}/${PN}"
src_prepare() {
default
sed -i -e 's/print_gif_name\[FILENAMELEN\]/print_gif_name\[1000\]/' \
"${S}/gtk/shell_main.cc" || die
epatch "${FILESDIR}"/${P}-fix-makefile.patch
epatch "${FILESDIR}"/${P}-fix-build-intel-lib.patch
}
src_compile() {
local myconf
use alsa && myconf="AUDIO_ALSA=yes"
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C "${S}/gtk"
}
src_install() {
dodoc CREDITS HISTORY README TODO
dobin gtk/free42dec
}

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>nimiux@gentoo.org</email>
<name>Chema Alonso</name>
</maintainer>
<longdescription lang="en">
An HP-42S Calculator Simulator
</longdescription>
<longdescription lang="es">
Un simulador de la calculadora HP-42S
</longdescription>
<use>
<flag name="alsa">
Adds support for Advanced Linux Sound Architecture
</flag>
</use>
<maintainer type="person">
<email>nimiux@gentoo.org</email>
<name>Chema Alonso</name>
</maintainer>
<longdescription lang="en">
An HP-42S Calculator Simulator
</longdescription>
<longdescription lang="es">
Un simulador de la calculadora HP-42S
</longdescription>
<use>
<flag name="alsa">
Adds support for Advanced Linux Sound Architecture
</flag>
</use>
</pkgmetadata>

@ -1 +1,2 @@
DIST kraft-0.59.tar.xz 560116 SHA256 e05ff0b78a073bafffa5c0e41fe458461216b66fd57fc9432a1064a7be2b2034 SHA512 53576855e3a4ac054818cc3fcb5d123222c0a5839ba621ea7c1f390f1e3180b5c87b00daa09a57fbea64cbd1dc857c4cb7645c5f539635811ef236c76483dc36 WHIRLPOOL d442c33ecbee4f0b3d8f33b358a5f7fab9f9c99d5e70019ca9d5910a3b717530008b6b09c3573132a27681f9e554f83f1798bc6b5a71d71fd10c81884692dd6e
DIST kraft-0.80_pre20171115.tar.gz 572784 SHA256 b5ded884a9377fe88013aef9a230580e9f6fb9873764abe226736843489c1eae SHA512 7c9fa4b8c17809c36f4f6d94f4d6b900f91083c86b332d7680db1ad721904823b25cab5b8393913220dea9b16937bc90ac403af8f57fc6f963d59af41e1f51c3 WHIRLPOOL 2a62d59153a43bd473ad565baf09775b981047b6d998a2fd6f4e32ae4d57a56bb577b375e2896e67b23b2abef80f453e1cd44dc39b5dbe7c3b74a1236d1eeb87

@ -0,0 +1,62 @@
From 63248f8004e7e0b05fe1716f6ff432b16b382e8f Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Thu, 16 Nov 2017 22:14:05 +0100
Subject: [PATCH] Sort deps, add implicit, and split PIM from real KF5 libs
Add descriptions to PIM dependencies.
---
CMakeLists.txt | 33 ++++++++++++++++++++++++++-------
1 file changed, 26 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 739daac..9f95ecf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,21 +25,40 @@ remove_definitions(-DQT_NO_CAST_FROM_ASCII)
find_package(Qt5 CONFIG REQUIRED
Core
- Network
- Widgets
+ Gui
Sql
+ Widgets
+ Xml
)
find_package(KF5 REQUIRED COMPONENTS
- Contacts
+ Config
+ ConfigWidgets
+ CoreAddons
I18n
+ WidgetsAddons
XmlGui
- OPTIONAL_COMPONENTS
- Akonadi
- AkonadiContact
)
-if(KF5Akonadi_FOUND)
+find_package(KF5Contacts REQUIRED)
+
+find_package(KF5Akonadi)
+set_package_properties(KF5Akonadi PROPERTIES
+ DESCRIPTION "Library for general Access to Akonadi"
+ URL "https://www.kde.org/"
+ PURPOSE "Optionally used for addressbook integration"
+ TYPE OPTIONAL
+)
+
+find_package(KF5AkonadiContact)
+set_package_properties(KF5AkonadiContact PROPERTIES
+ DESCRIPTION "Library for Accessing Contacts stored in Akonadi"
+ URL "https://www.kde.org/"
+ PURPOSE "Optionally used for addressbook integration"
+ TYPE OPTIONAL
+)
+
+if(KF5Akonadi_FOUND AND KF5AkonadiContact_FOUND)
add_definitions(-DHAVE_AKONADI)
endif()

@ -0,0 +1,50 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
COMMIT=6618f5203f80a52e673cfad1a12dcee9154e2831
KDE_HANDBOOK="forceoptional"
inherit kde5 vcs-snapshot
DESCRIPTION="Software to manage quotes and invoices in small enterprises"
HOMEPAGE="http://www.volle-kraft-voraus.de/"
SRC_URI="https://github.com/dragotin/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
IUSE="pim"
DEPEND="
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kconfigwidgets)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep kxmlgui)
$(add_kdeapps_dep kcontacts)
$(add_qt_dep qtgui)
$(add_qt_dep qtsql)
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
dev-cpp/ctemplate
pim? (
$(add_kdeapps_dep akonadi)
$(add_kdeapps_dep akonadi-contacts)
)
"
RDEPEND="${DEPEND}
!app-office/kraft:4
"
DOCS=( AUTHORS Changes.txt README Releasenotes.txt TODO )
PATCHES=( "${FILESDIR}/${P}-deps.patch" )
src_configure() {
local mycmakeargs=(
$(cmake-utils_use_find_package pim KF5Akonadi)
$(cmake-utils_use_find_package pim KF5AkonadiContact)
)
kde5_src_configure
}

@ -6,6 +6,9 @@
<name>Gentoo KDE Project</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">kraft</remote-id>
<remote-id type="github">dragotin/kraft</remote-id>
</upstream>
<use>
<flag name="pim">Enable support for KDE PIM resources integration</flag>
</use>
</pkgmetadata>

@ -11,5 +11,5 @@ SRC_URI="https://github.com/mgorny/unsandbox/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
KEYWORDS="~amd64 ~arm64 x86"
IUSE=""

@ -1,2 +1 @@
DIST apache-couchdb-1.6.1.tar.gz 12085350 SHA256 5a601b173733ce3ed31b654805c793aa907131cd70b06d03825f169aa48c8627 SHA512 70630a27dec7281fa5bdca0601796baa28fba1d7c9975d8f38b9623bbeedd62b26081118357886c7be00b7769360238b2c99695234e13cecb15a210eb986eadc WHIRLPOOL 5776fe139db54e5ec285ef9882f5164a42a499bab312d66c0edd5314dd1915827a7cf7df02cd5df85c437bf3f70096cb101748956d639e8e80ffd0bb0b79197a
DIST apache-couchdb-1.7.1.tar.gz 9963069 SHA256 91200aa6fbc6fa5e2f3d78ef40e39d8c1ec7c83ea1c2cd730d270658735b2cad SHA512 cd7417ef4b1eaeb1fe4251b559d904238fd25881c542f1498e6e9f1c4a55a79e34e06e711f90ce39e5e65fcac8be9c611943b8ed57d4a7465859b5811ac0a21f WHIRLPOOL b4cbed19cbb9f5025215638b11c4990c26d831504f46009bba436bd66b3f4ae93588b65d3f3984486e5c20b451a5bd148f16a71a02b01f454d64f859c53a425b

@ -1,78 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils multilib pax-utils user
DESCRIPTION="Distributed, fault-tolerant and schema-free document-oriented database"
HOMEPAGE="http://couchdb.apache.org/"
SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="libressl selinux test"
RDEPEND=">=dev-libs/icu-4.3.1:=
<dev-lang/erlang-19.0[ssl]
!libressl? ( >=dev-libs/openssl-0.9.8j:0 )
libressl? ( dev-libs/libressl )
>=net-misc/curl-7.18.2
<dev-lang/spidermonkey-1.8.7
selinux? ( sec-policy/selinux-couchdb )"
DEPEND="${RDEPEND}
sys-devel/autoconf-archive"
RESTRICT=test
S="${WORKDIR}/apache-${P}"
pkg_setup() {
enewgroup couchdb
enewuser couchdb -1 -1 /var/lib/couchdb couchdb
}
src_prepare() {
sed -i ./src/couchdb/priv/Makefile.* -e 's|-Werror||g'
epatch "${FILESDIR}/${PV}-erlang-18.patch"
eautoreconf
}
src_configure() {
econf \
--with-erlang="${EPREFIX}"/usr/$(get_libdir)/erlang/usr/include \
--localstatedir="${EPREFIX}"/var \
--with-js-lib="${EPREFIX}"/usr/$(get_libdir)
# bug 296609, upstream bug #COUCHDB-621
sed -e "s#localdocdir = /usr/share/doc/couchdb#localdocdir = "${EPREFIX}"/usr/share/doc/${PF}#" -i Makefile || die "sed failed"
}
src_compile() {
emake
# bug 442616
pax-mark mr src/couchdb/priv/couchjs
}
src_test() {
emake distcheck
}
src_install() {
emake DESTDIR="${D}" install
fowners couchdb:couchdb \
/var/lib/couchdb \
/var/log/couchdb
for f in "${ED}"/etc/couchdb/*.ini ; do
fowners root:couchdb "${f#${ED}}"
fperms 660 "${f#${ED}}"
done
fperms 664 /etc/couchdb/default.ini
newinitd "${FILESDIR}/couchdb.init-4" couchdb
newconfd "${FILESDIR}/couchdb.conf-2" couchdb
sed -i -e "s:LIBDIR:$(get_libdir):" "${ED}/etc/conf.d/couchdb"
}

@ -1,79 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils multilib pax-utils user
DESCRIPTION="Distributed, fault-tolerant and schema-free document-oriented database"
HOMEPAGE="http://couchdb.apache.org/"
SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="libressl selinux test"
RDEPEND=">=dev-libs/icu-4.3.1:=
<dev-lang/erlang-20.0[ssl]
!libressl? ( >=dev-libs/openssl-0.9.8j:0 )
libressl? ( dev-libs/libressl )
>=net-misc/curl-7.18.2
<dev-lang/spidermonkey-1.8.7
selinux? ( sec-policy/selinux-couchdb )"
DEPEND="${RDEPEND}
sys-devel/autoconf-archive"
RESTRICT=test
S="${WORKDIR}/apache-${P}"
pkg_setup() {
enewgroup couchdb
enewuser couchdb -1 -1 /var/lib/couchdb couchdb
}
src_prepare() {
sed -i ./src/couchdb/priv/Makefile.* -e 's|-Werror||g'
epatch "${FILESDIR}/${PV}-erlang-18.patch"
epatch "${FILESDIR}/${PV}-erlang-19.patch"
eautoreconf
}
src_configure() {
econf \
--with-erlang="${EPREFIX}"/usr/$(get_libdir)/erlang/usr/include \
--localstatedir="${EPREFIX}"/var \
--with-js-lib="${EPREFIX}"/usr/$(get_libdir)
# bug 296609, upstream bug #COUCHDB-621
sed -e "s#localdocdir = /usr/share/doc/couchdb#localdocdir = "${EPREFIX}"/usr/share/doc/${PF}#" -i Makefile || die "sed failed"
}
src_compile() {
emake
# bug 442616
pax-mark mr src/couchdb/priv/couchjs
}
src_test() {
emake distcheck
}
src_install() {
emake DESTDIR="${D}" install
fowners couchdb:couchdb \
/var/lib/couchdb \
/var/log/couchdb
for f in "${ED}"/etc/couchdb/*.ini ; do
fowners root:couchdb "${f#${ED}}"
fperms 660 "${f#${ED}}"
done
fperms 664 /etc/couchdb/default.ini
newinitd "${FILESDIR}/couchdb.init-4" couchdb
newconfd "${FILESDIR}/couchdb.conf-2" couchdb
sed -i -e "s:LIBDIR:$(get_libdir):" "${ED}/etc/conf.d/couchdb"
}

@ -15,7 +15,7 @@ KEYWORDS="amd64 ppc x86"
IUSE="libressl selinux test"
RDEPEND=">=dev-libs/icu-4.3.1:=
<dev-lang/erlang-20.0[ssl]
<dev-lang/erlang-21.0[ssl]
!libressl? ( >=dev-libs/openssl-0.9.8j:0 )
libressl? ( dev-libs/libressl )
>=net-misc/curl-7.18.2

@ -19,7 +19,7 @@ RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(

@ -21,7 +21,7 @@ RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"

@ -39,7 +39,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris"
KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris"
# The upstream tests fail under portage but pass if the build is
# run according to their documentation [1].
# I am restricting the tests on released versions until this is

@ -1,6 +1,4 @@
DIST php-5.6.31.tar.xz 12461268 SHA256 c464af61240a9b7729fabe0314cdbdd5a000a4f0c9bd201f89f8628732fe4ae4 SHA512 b5d3bc306167c851460036aa21194a2f74a50a26aa5c46159394bddbff94e4a418b557d68d5e1315672b3571b13a231ef7810d5346f57c0094acfe29c2e70495 WHIRLPOOL 2cd74a9cfe82b9363b4fbad37b13a8f7cc9571d2493a95b52cdaeeafe2d04255a29b31792dce2db0c41696539ed6b203446a2a6a8ea0319d82066fe9622bfcb9
DIST php-5.6.32.tar.xz 12464512 SHA256 8c2b4f721c7475fb9eabda2495209e91ea933082e6f34299d11cba88cd76e64b SHA512 f0556a23f2a2711cda25dd25e63996c9315e7da13555a7169ee701406454e4d372ffca82476b4a474a96b2f3d3b783f6827042df71bb245514884d7c3d23530b WHIRLPOOL eae1a493ddb2c01166fb2364d31248f0d68eadb53aa0802cec336833ee7d76f30c161ae36d0984f5b9386a3e1ace33c0d8bc02153d0c0da49a7a2d5f489b8624
DIST php-7.0.23.tar.xz 11953100 SHA256 8e526e3551a58e00c8055fa4a72804aa1bd3ee1c0411b25bf1504cc4992609df SHA512 62201592fca88fb1c302badf7e73e5d417e9a062300e0d32fdfcb346d300cd86bf957b880a73795037a332fe148b64589bb15204bdd6b0ddcbbddc5a12e6d042 WHIRLPOOL 5d6131b5d7701b01c1aa849c6b5e3b133b4276999354eccecf847675552eb0be79a68cd0a10595c64bda2594489d3699868b4ed9a1fe3c5cdcc4fda45be32493
DIST php-7.0.25.tar.xz 11963668 SHA256 5cc14bd20fb2226f6d34465662425cd100441bde9042ea1cef2e4506d6ded8cc SHA512 7a31fe48f3843a5380a7ab7b04ba2006e739f96d314b662beb337a8e76fbb2f3c1e1e22a8c9d5209bad61deb0ccc21706f0dedd12d15766f7795497549b4cae4 WHIRLPOOL 3998e5d6dcded72feb38ffdfd3c1e0b467151f5b9c0ff111ab4b6a90e2ad29a4a4929641f7af1c983b9a5df0a8a2d54af17d2eeb82a9b7efe8e6cbb199334440
DIST php-7.1.11.tar.xz 12169884 SHA256 074093e9d7d21afedc5106904218a80a47b854abe368d2728ed22184c884893e SHA512 400bc75d938f49754586d2b14b8f300c5a1e961489c02c968c7560ea0edc3765992580306c6185ecee57734775f8abaf7525a2aaa5110db2d8efacf2701c0101 WHIRLPOOL 8d5414b31838e10524a34facbab9a6e749d84f03752c2ec5a2d82f3dcab2b6e804d691101610398a136c68e1002eb6a9294d818166eecebb706d7f7d343f9620
DIST php-7.2.0RC6.tar.xz 12077856 SHA256 be4df00ff5b66e9f13c83e1d08d1d5384ae7ccc820e26f7e5f9e660011496a9e SHA512 7cddd7bce3dddbe478124450f95150012dfa4376ea7a0dde7d2b1caaf9de6b44c39c60db3da6756b25c100f0f852d17cee8e13986d5e9711337388a40a6635e4 WHIRLPOOL 8dd4bc62d4f0863a41a0200efa6012fd1ea38a51a468a21886fd8b6d9e050bfd7777f4066cb4db4ade70610c68174a8da89358a235b564aac4388c4bbf4ef04e

@ -1,771 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools flag-o-matic versionator systemd
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://secure.php.net/"
SRC_URI="https://secure.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="$(get_version_component_range 1-2)"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
coverage crypt +ctype curl debug
enchant exif +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
mhash mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# 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/libpcre-8.32[unicode]
acl? ( sys-apps/acl )
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
coverage? ( dev-util/lcov )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( dev-libs/gmp:0 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/libmysqlclient:= )
mysqli? ( virtual/libmysqlclient:= )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl )
)
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma:= )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
recode? ( !imap !mysql !mysqli !libmysqlclient )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
sharedmem? ( !threads )
"
PHP_MV="$(get_major_version)"
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
dodir "${PHP_INI_DIR#${EPREFIX}}"
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 "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.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() {
eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|| die
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
eapply_user
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
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 acl fpm-acl)
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable coverage gcov)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with crypt mcrypt "${EPREFIX}/usr")
$(use_with mssql mssql "${EPREFIX}/usr")
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_with truetype t1lib "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
$(use_with vpx vpx-dir "${EPREFIX}/usr")
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
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
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib)
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
)
# 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
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)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
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
addpredict /var/lib/net-snmp/mib_indexes
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
# grab the first SAPI that got built and install common files from there
local first_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 sapi="", 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/libphp5$(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"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/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/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
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
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,739 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic versionator systemd
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://secure.php.net/"
SRC_URI="https://secure.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="$(get_version_component_range 1-2)"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# 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 bcmath berkdb bzip2 calendar cdb cjk
coverage crypt +ctype curl debug
enchant exif +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sysvipc systemd tidy +tokenizer truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# 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/libpcre-8.32[unicode]
acl? ( sys-apps/acl )
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
coverage? ( dev-util/lcov )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( dev-libs/gmp:0 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd )
webp? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
sharedmem? ( !threads )
mysql? ( || ( mysqli pdo ) )
"
PHP_MV="$(get_major_version)"
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
dodir "${PHP_INI_DIR#${EPREFIX}}"
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 "${PHP_EXT_INI_DIR#${EPREFIX}}/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'
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
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 acl fpm-acl)
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable coverage gcov)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with crypt mcrypt "${EPREFIX}/usr")
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
)
if use webp; then
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
fi
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
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
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# 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 "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
)
# 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
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}" )
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
addpredict /var/lib/net-snmp/mib_indexes
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
# grab the first SAPI that got built and install common files from there
local first_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 sapi="", 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"
;;
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}/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
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 amdgpu-pro-17.10-429170.tar.xz 121382128 SHA256 cb1ea7f9756f197a976138d2c00f239ae4ee43b839fbb1ea57f8770957d4afd6 SHA512 2d9d0a97478564e259dc8494083df8dc13e3bc664384978aff369070b1105703653d8dc4dca38e94dc8bdf3ddfb5c6f4de39cec5a9b263423de8fb91fd0117c6 WHIRLPOOL 1e07579d2c9d5d8a796973658cbb6627418b133a630ca5e977f93da0d27b900da2078d2ea8b35a13071b0b05e3d5e7f47e17d61042dcca60709f6599c18380a2
DIST amdgpu-pro-17.30-458935.tar.xz 393634984 SHA256 3652a5c9476a650a3e3cd89bcd7ac119ed7d16a570501eeeea6a902cbc6f9488 SHA512 3f517ce13e102edb820f8f9538e0894c794d767816f99774fbfec342adb6912712664f069db2542412baabb24ee198204f38757407c29aff238ed1772dc3caab WHIRLPOOL 29a5b06657767255ace0529467ca56a904a021254f7dab854b1fd3ac843108ac346d3c4e97e10ef53844152de116581bff7c3aa8f4f066a08becb88e59918da3
DIST amdgpu-pro-17.30-465504.tar.xz 394216628 SHA256 b74494d142542164b5582e8bed845315f788aa3d9eb0c1ed5f2a6c5f982beaf5 SHA512 fa515d5397488ebd4271988f7b9b538190c4277a3c4dcaeb4b05f5cd5bdec657f13546de644b1a6825c88bd3b73e6c1a6aaa6b6c74e3cf942783b2df530cf4c7 WHIRLPOOL 3a1617cd8b8fd096614cf04b7e716b607ec718d122b286533d8dabc862c82b644ba864eb661b1d5e5da45c8fe674192d3f8038dbd85311d9ffc5c6f793f7d32b
DIST amdgpu-pro-17.40-492261.tar.xz 361491288 SHA256 b0645157577c9ff175dc02487c4c682ded2624c8c2cfd6aa603960962e1d07b0 SHA512 b10d67f4fc7bfbf8f1de46e5202fabc3443e969759817d497449d911d4c591256cfdf73372013fdc67bd89c44ffe389c021c9f77ba27f55cbb5257af550bd148 WHIRLPOOL 61af42850786eb585442692437327e8a1baeb0dc905b6d84586f0a58e77e36e76c754334e5da3bbd25d813a73a9cd1303885a1267821a53bb6bb99b780108503

@ -0,0 +1,81 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit unpacker versionator
SUPER_PN='amdgpu-pro'
MY_PV=$(replace_version_separator 2 '-')
DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx"
SRC_URI="${SUPER_PN}-${MY_PV}.tar.xz"
LICENSE="AMD-GPU-PRO-EULA"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="mirror fetch strip"
DEPEND="dev-util/patchelf"
RDEPEND="dev-libs/ocl-icd"
QA_PREBUILT="/opt/${SUPER_PN}/lib*/*"
S="${WORKDIR}/${SUPER_PN}-${MY_PV}"
pkg_nofetch() {
local pkgver=$(get_version_component_range 1-2)
einfo "Please download the AMDGPU-Pro Driver ${pkgver} for Ubuntu from"
einfo " ${HOMEPAGE}"
einfo "The archive should then be placed into ${DISTDIR}."
}
src_unpack() {
default
local ids_ver="1.0.0"
local libdrm_ver="2.4.82"
local patchlevel=$(get_version_component_range 3)
cd "${S}" || die
unpack_deb opencl-${SUPER_PN}-icd_${MY_PV}_amd64.deb
unpack_deb libdrm-${SUPER_PN}-amdgpu1_${libdrm_ver}-${patchlevel}_amd64.deb
unpack_deb ids-${SUPER_PN}_${ids_ver}-${patchlevel}_all.deb
}
src_prepare() {
default
cd "${S}/opt/${SUPER_PN}/lib/x86_64-linux-gnu" || die
patchelf --set-rpath '$ORIGIN' libamdocl64.so || die "Failed to fix library rpath"
}
src_install() {
into "/opt/${SUPER_PN}"
dolib opt/${SUPER_PN}/lib/x86_64-linux-gnu/*
insinto "/opt/${SUPER_PN}"
doins -r opt/${SUPER_PN}/share
insinto /etc/OpenCL/vendors/
echo "/opt/${SUPER_PN}/$(get_libdir)/libamdocl64.so" > "${SUPER_PN}.icd" || die "Failed to generate ICD file"
doins "${SUPER_PN}.icd"
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
ewarn "Please note that using proprietary OpenCL libraries together with the"
ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
ewarn "for support in case of problems with this package."
ewarn ""
ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
ewarn "has become officially supported by Gentoo."
fi
elog "AMD OpenCL driver relies on dev-libs/ocl-icd to work. To enable it, please run"
elog ""
elog " eselect opencl set ocl-icd"
elog ""
}

@ -9,7 +9,7 @@ SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
IUSE="debug static-libs track-src-odirect"
RDEPEND=""

@ -9,7 +9,7 @@ SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2 GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
IUSE="acl debug external-filters external-filters-setuid frontend-optional
launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"

@ -9,7 +9,7 @@ SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
IUSE="acl debug static-libs verbose-debug xattr zlib"
RDEPEND="acl? ( virtual/acl )

@ -18,7 +18,7 @@ fi
LICENSE="BSD"
SLOT="3"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
REQUIRED_USE="readline? ( !libedit )
libedit? ( !readline )"

@ -1,4 +1,3 @@
DIST nanomsg-0.8-beta.tar.gz 589221 SHA256 75ce0c68a50cc68070d899035d5bb1e2bd75a5e01cbdd86ba8af62a84df3a947 SHA512 457e99e2b2568370bf052a20e2abb38faad9afa9019d38aa35df6cf49d1d3f50e3a0b26a64089e823b7d907041e8069c99a06706678b070a26e0cbe2e26588d2 WHIRLPOOL a0c00848b8ca2178588047aaaedb9e3b10a993e5ae5d2c0da6716b861003deaf1ce3891850919db73202de8d1aa36e21c1f440600ce2be852189988fae4994fd
DIST nanomsg-0.9-beta.tar.gz 310601 SHA256 4c15248baa594523fc34368166cdb42e766e50c58b41a73f925879f6d87ba601 SHA512 3a7141dda6152e5192faaa9354116a9dc43636dbc03ebff0598796210c310756d3841cf7bb6857be46722d8952894f5bebe192ec538511825f72e700ac4e03cb WHIRLPOOL c2150f1a71b8e35e2258a4f3b264e4356553312f07ef079d2bfd5279cf52df4ffa3a7bb4738f85d86945ab17ee04a7f1d2c17d8011bb6ae396be2b689282e8d0
DIST nanomsg-1.0.0.tar.gz 305040 SHA256 24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7 SHA512 06fc4eadac29439024bd24230c73f43ddc46e6b6848ad75952b67bf301066be5752a844173597c1b42e55c1ebb66a2d2cb7693e4cbfc07584b4398597cbc9200 WHIRLPOOL 97ac9ff5170ee649c7803f7ea22713889506ce54a1fb0a55c5d2ac82a1359e8367189d9e3d8d8ecb85193ec8770c78365aa7a9daeefe5705fc3049c27558a52d
DIST nanomsg-1.1.0.tar.gz 308801 SHA256 e81b79e073f5388a5070623136c7896244f8bbc24fd5f5255da8d5aa2e2a50e3 SHA512 2d7d4b36e5c50cb7590e7dec0c271a021f05478cadeced6b5c9e27b76c3c5b59a11318c70b51e10efed6be2681dea7881a2f883f576fa5343c2aecfa18cbee50 WHIRLPOOL e56ed012b6f6f1aa9951f4ba190158c911586e09ec4933c39de2392a8e280090503656891af625dc4b09562eae3b71b84322bc8fe18460496f8fce7c71e4316b
DIST nanomsg-1.1.2.tar.gz 308420 SHA256 3c52165a735c2fb597d2306593ae4b17900688b90113d4115ad8480288f28ccb SHA512 f95ce24b34c25d139cf3de46585f6354e0311a9d5e7135ad71df62b8bb5df26f81a58b9773c39c320df2d0e97cd2905a8576f9f00b0a4d33774f1b610271cee5 WHIRLPOOL b9aceaae3eb6dcebadc88a15c8be2d938f5e5f29e7916e542d1e473d9ece0eb793a56fc1019b900da626d1e2d715fc9c047322f6fe93090d32f0c325e98d41ad

@ -1,48 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
AUTOTOOLS_AUTORECONF=1
inherit autotools-multilib
DESCRIPTION="High-performance messaging interface for distributed applications"
HOMEPAGE="http://nanomsg.org/"
SRC_URI="https://github.com/nanomsg/nanomsg/releases/download/${PV}-beta/${P}-beta.tar.gz"
LICENSE="MIT"
SLOT="0/0.2.2"
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~s390 ~x86"
IUSE="doc static-libs"
DEPEND="doc? (
app-text/asciidoc
app-text/xmlto
)"
RDEPEND=""
S="${WORKDIR}/${P}-beta"
src_prepare() {
sed -i -e 's/doc_DATA/html_DATA/' Makefile.am || die
autotools-multilib_src_prepare
}
multilib_src_configure() {
local myeconfargs=(
--htmldir "/usr/share/doc/${PF}/html"
)
if multilib_is_native_abi; then
myeconfargs+=(
$(use_enable doc)
)
else
myeconfargs+=(
--disable-doc
--disable-nanocat
--disable-symlinks
)
fi
autotools-utils_src_configure
}

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -7,18 +7,16 @@ inherit cmake-multilib
DESCRIPTION="High-performance messaging interface for distributed applications"
HOMEPAGE="http://nanomsg.org/"
SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}-beta.tar.gz -> ${P}-beta.tar.gz"
SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/5.0.0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm ~arm64"
IUSE="doc static-libs"
DEPEND="doc? ( dev-ruby/asciidoctor )"
RDEPEND=""
S="${WORKDIR}/${P}-beta"
multilib_src_configure() {
local mycmakeargs=(
-DNN_STATIC_LIB=$(usex static-libs ON OFF)

@ -17,7 +17,7 @@ SRC_URI="https://github.com/google/protobuf/archive/v${MY_PV}.tar.gz -> ${P}.tar
LICENSE="BSD"
SLOT="0/11"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="emacs examples java python static-libs test vim-syntax zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"

@ -13,7 +13,7 @@ HOMEPAGE="http://click.pocoo.org/ https://pypi.python.org/pypi/click"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh sparc x86"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86"
IUSE="doc examples test"
REQUIRED_USE="doc? ( || ( $(python_gen_useflags 'python2*') ) )"

@ -0,0 +1 @@
DIST funcy-1.8.tar.gz 25642 SHA256 b23d76972890f4e9c7cee540f522b318548b914992015dc5823f2484d46feadf SHA512 21e3447426376cc3d9f06d57297fcef346431a33e0488f1cead2aa7d8c281dd65c2b33af3638c21639d2d7d667b9c1ea6c7e2eabefc5635d02ad92ce7107f839 WHIRLPOOL b1f2d54357054447c161cb272cfffcecb5c566899cac7ab60658f47b96c36a1f648c648bb7825084a356d64cf8a6226a6274e7c974a87b4995c0597b181a45f3

@ -0,0 +1,19 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_4 )
inherit distutils-r1
DESCRIPTION="A collection of fancy functional tools focused on practicality"
HOMEPAGE="https://github.com/Suor/funcy"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}"

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<maintainer type="person">
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
<longdescription lang="en">
A collection of fancy functional tools focused on practicality.
</longdescription>
</pkgmetadata>

@ -13,7 +13,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.src.tar.xz"
LICENSE="UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
KEYWORDS="~amd64 ~arm ~arm64 x86"
IUSE="test"
S=${WORKDIR}/${MY_P}.src/utils/lit

@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
IUSE="libressl"
RDEPEND="

@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="libressl"

@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="libressl"

@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="libressl"

@ -1,3 +1 @@
DIST nnpy-1.2.tar.gz 3781 SHA256 0b3a894dd0be0f5b6f967e3cacf5ec3399e4fbc9ef83fdc3e7c6b17fa3284094 SHA512 ae88d52289c1b4e9853e81342aec94feee004f46e6b5801764ed1fc50f7e249cf45b8d24e85ae9f69003304052505cd9242f43ee33de42ab4f862b3f9cb20b3f WHIRLPOOL 09ab1e11bea3f163d78860ac69e604bb176f17e1e3049af139627e6baa4572bd9d40f38a29b0eb5a352e5279504652994003d84eb8f3a5c248f0fe96aad4c4ee
DIST nnpy-1.3.tar.gz 4384 SHA256 50daf80693f355096a4926e8b5a8ec5f216a3ca28f0eb14ff819b218a3691f4e SHA512 66ec80169f4c107f2c9ea870153824a84f5bfdecbb0b40a455061a926b43ff61a723b4e62d9b0e9f5361cf6b486f706a5ff111681bbb4083180988337416e0f6 WHIRLPOOL 76ef6210c028cd83bb98fb89e452bec82a7b6cfb3a19bac37e8306a18b2e4d9f1a801624e3db31b525a831ad2ddee5d3dd87017eebeb20241e323037ab688e0d
DIST nnpy-1.4.1.tar.gz 4826 SHA256 2b947d097b19e9d4182d77f542dccb93da543a325b2eb616cc9e0e90cfed50a9 SHA512 26e1393fdca77cc9385eff0622f9a5b4987eeca533c57478ba873a1ea96f312a2d535fd3eaa883c47746157a9d692b4b0f6c52d51ea5b4fea5fb885cfdadc2a2 WHIRLPOOL bb3082484ac0f2829ad39a0592c8944827bdb30cd097fc73e020570d770513d802608732e14ae47a565669060388e20d7684631d6d0da83da4dd48fba123f373

@ -1,27 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="cffi-based Python bindings for nanomsg"
HOMEPAGE="https://github.com/nanomsg/nnpy"
SRC_URI="https://github.com/nanomsg/nnpy/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm"
IUSE=""
DEPEND="
dev-python/cffi:=[${PYTHON_USEDEP}]
dev-libs/nanomsg:=
"
RDEPEND="${DEPEND}"
python_test() {
"${PYTHON}" "${S}/test.py" || die
}

@ -1,27 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="cffi-based Python bindings for nanomsg"
HOMEPAGE="https://github.com/nanomsg/nnpy"
SRC_URI="https://github.com/nanomsg/nnpy/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm"
IUSE=""
DEPEND="
dev-python/cffi:=[${PYTHON_USEDEP}]
dev-libs/nanomsg:=
"
RDEPEND="${DEPEND}"
python_test() {
"${PYTHON}" "${S}/test.py" || die
}

@ -16,7 +16,7 @@ SRC_URI="https://github.com/google/protobuf/archive/v${MY_PV}.tar.gz -> protobuf
LICENSE="BSD"
SLOT="0/11"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE=""
# Protobuf is only a build-time dep, but depends on the exact same version

@ -1,2 +1,3 @@
DIST rnc2rng-2.4.1.tar.gz 13397 SHA256 997a8fe4eeeb42e7296fdc22ff11ca952c97ccc2efbaae80d67711bd6dffe451 SHA512 d06c35e916c43832bc882fb5af20ad70213efc9d470d4b5cf70caba677874aee441f4c26de26a7996800bf41ef0243fec761a3e38336387c779f9b014c3d6c09 WHIRLPOOL 9349431a85d5d43ba6c4c72471fccf8d351b2bcbcc2f6f875d0eeca2af159d1365c089f10f4b3ea9466b190b120e1d3e8f547fb0dfdbe440c96c8958825889c2
DIST rnc2rng-2.4.tar.gz 13014 SHA256 c73d9635f6f83883454a92f12ec98d9bf087ce7412eca89aed672204d30a01fc SHA512 082b2985e1fac17792b7513db67c0f467147a69a0c1f1d904665ea99b4ba4042e27cf7398f42b94f26c4fd6dc7a807505429d7d08f0537017d0dbac94cb9474b WHIRLPOOL 23d7b50e32c41ac2be480eaf2d07e5f557441976b33d686b7a0411caf2f96a4ceb5149d5ff26f744357744b3dc088723b8f9f9a4a13804cbe4cb494f3e5c3ff2
DIST rnc2rng-2.5.tar.gz 13633 SHA256 370f249d23b38343cc81fa6ed315940e2d35b8ead6f251dabf6eb69e9f35fd4c SHA512 74772a2b7e3b4a560b318b11bdc05818a1cbbbdb00d3750e8780b68abb24c6ebdf8587b92fba8b04d2e030288b66c5a0a4104778de948ed0ceed5d8dfc6138bc WHIRLPOOL 4887dee2609c4a0564f3f02b4de657cc8a1a0a428b0c2a0959cc2f6108bb182cef5cf250b9e83028c3b062f5c8f0e8185b76e624beeadfe4091842e93e8bd31e

@ -0,0 +1,24 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="RELAX NG Compact to regular syntax conversion library"
HOMEPAGE="https://github.com/djc/rnc2rng"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
DEPEND="dev-python/rply[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"
python_test() {
"${PYTHON}" test.py
}

@ -21,7 +21,7 @@ SRC_URI="https://github.com/${GITHUB_USER}/mail/archive/${PV}.tar.gz -> ${P}-git
LICENSE="MIT"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="~amd64 ~ppc ~ppc64"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
ruby_add_rdepend ">=dev-ruby/mini_mime-0.1.1"

@ -19,7 +19,7 @@ SRC_URI="https://github.com/discourse/mini_mime/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="test"
all_ruby_prepare() {

@ -19,7 +19,7 @@ SRC_URI="https://github.com/discourse/mini_mime/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="test"
all_ruby_prepare() {

@ -1,3 +1,2 @@
DIST geany-plugins-1.28.tar.gz 4453038 SHA256 918f644053ea205fdf0f2185ac3b8e21339764e0e761a38583f2dda7de7fdb97 SHA512 027fc5923d405a8246786e48e0d36c5da8f580b9f18510933063cc4c452ee5aaa68af4568ee20d640c1dd2bcb29a9361b8558a81a5a83f46b5d99c9ff639306d WHIRLPOOL a328557ccd899ce56ba2cb12875836ecbf5939492a1e19a61e5e2db15a5b10969e1cbf0eb912d551c75e9fa7c49e65fa8a48f7e2e2ebfd4477b4c88b4e6857ea
DIST geany-plugins-1.30.tar.gz 4469990 SHA256 a49202d1c6b2a82446a79c57854596de1e231481163f680c7654f2cb165bc249 SHA512 11dc44215aaa369831c249ef84b5dd0ee7eecdfbbf4707fc6165d78201e9e755447463c171ac6c8b2bc70df28a97b23762073ab9b31f7c33285d4728089da807 WHIRLPOOL ada9c5cd3f78948384c9add373d8b60aa09c0de931304aae4b41f54aaa35dab3450e946e2b39d84c069521113a55720350170edc03253960854a0b842e31903e
DIST geany-plugins-1.31.tar.gz 4547472 SHA256 933a4f7f041d676f925d021a5adb8c6876879beae53ac06e4a1c70abcb9e25d6 SHA512 73d48b276c93211c6ebc726b24726e7669184d8951d5d29662cb8144c04a239ef8fb621f91b7798720bbdf319a09e35efcaee1535125697838552bd0b1e47bc7 WHIRLPOOL 2a1f4f2a1c88f9bb132b90324ad603a2dce7786eb6c903ebfed9defa140d2756e1ba18e5dffc8b8bd6096ff18b2def1a25f9b163e3f91ec27920aea98489006f

@ -1,156 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit eutils python-single-r1 vala
DESCRIPTION="A collection of different plugins for Geany"
HOMEPAGE="https://plugins.geany.org"
SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
IUSE="gtk3 +autoclose +automark +commander ctags debugger +defineformat enchant git gpg gtkspell lua multiterm nls +overview python scope soup"
REQUIRED_USE="
gtk3? ( !debugger !multiterm !python !scope )
python? ( ${PYTHON_REQUIRED_USE} )
"
GTK_COMMON_DEPEND="
gtk3? ( x11-libs/gtk+:3 )
!gtk3? ( x11-libs/gtk+:2 )
"
COMMON_DEPEND="
>=dev-util/geany-1.26[gtk3=]
dev-libs/glib:2
dev-libs/libxml2:2
autoclose? ( ${GTK_COMMON_DEPEND} )
commander? ( ${GTK_COMMON_DEPEND} )
ctags? ( dev-util/ctags )
debugger? ( x11-libs/vte:0 )
defineformat? ( ${GTK_COMMON_DEPEND} )
enchant? ( app-text/enchant )
git? ( dev-libs/libgit2:= )
gpg? ( app-crypt/gpgme:1= )
gtkspell? (
gtk3? ( app-text/gtkspell:3= )
!gtk3? ( app-text/gtkspell:2 )
)
lua? ( dev-lang/lua:0= )
multiterm? (
$(vala_depend)
x11-libs/gtk+:2
>=x11-libs/vte-0.28:0
)
python? (
dev-python/pygtk[${PYTHON_USEDEP}]
${PYTHON_DEPS}
)
scope? ( x11-libs/vte:0 )
soup? ( net-libs/libsoup:2.4 )
"
RDEPEND="${COMMON_DEPEND}
scope? ( sys-devel/gdb )
"
DEPEND="${COMMON_DEPEND}
nls? ( sys-devel/gettext )
virtual/pkgconfig
"
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_prepare() {
# bundled lib buster
rm markdown/peg-markdown/markdown_lib.c || die
# devhelp plugin bundles devhelp
default
use multiterm && vala_src_prepare
# make fails if LINGUAS contains a language which is not translated
local po_linguas=""
for lang in $LINGUAS; do
if [[ -e "$S/po/$lang.po" ]]; then
po_linguas="${po_linguas} $lang"
fi
done
# only filter LINGUAS if defined
if [[ -n "${LINGUAS+x}" ]]; then
LINGUAS=$po_linguas
fi
}
src_configure() {
local myeconfargs=(
--disable-cppcheck
--disable-extra-c-warnings
$(use_enable !gtk3 geanydoc)
# GeanyGenDoc requires ctpl which isnt yet in portage
--disable-geanygendoc
# peg-markdown is bundled, use app-text/discount instead
--disable-peg-markdown
--enable-addons
--enable-codenav
--enable-geanyextrasel
--enable-geanyinsertnum
--enable-geanylatex
--enable-geanylipsum
--enable-geanymacro
--enable-geanynumberedbookmarks
--enable-geanyprj
--enable-geanyvc
--enable-lineoperations
--enable-pairtaghighlighter
--enable-pohelper
--enable-pretty-printer
--enable-projectorganizer
--enable-sendmail
--enable-shiftcolumn
--enable-tableconvert
--enable-treebrowser
--enable-xmlsnippets
$(use_enable autoclose)
$(use_enable automark)
$(use_enable commander)
$(use_enable ctags geanyctags)
$(use_enable debugger)
$(use_enable defineformat)
$(use_enable enchant spellcheck)
$(use_enable git gitchangebar)
$(use_enable gpg geanypg)
$(use_enable gtkspell)
$(use_enable multiterm)
$(use_enable lua geanylua)
$(use_enable nls)
$(use_enable overview)
$(use_enable python geanypy)
$(use_enable scope)
# Having updatechecker… when youre using a package manager?
$(use_enable soup updatechecker)
$(use_enable soup geniuspaste)
# Relies on obsolete and vulnerable webkit-gtk versions
--disable-devhelp
--disable-markdown
--disable-webhelper
)
econf "${myeconfargs[@]}"
}
src_install() {
default
prune_libtool_files --modules
# make installs all translations if LINGUAS is empty
if [[ -n "${LINGUAS+x}" && -z "$LINGUAS" ]]; then
rm -r "${D}/usr/share/locale/" || die
fi
}

@ -1,3 +1,3 @@
DIST geany-1.28.tar.bz2 4315264 SHA256 f73a3708f1a26e9bf72da564d5037d6f7fedca2e0d6175db0681c2b672100a5a SHA512 b36c7effeaec88019b35ea6e6f6b5d0c691fc6790885f6ce73fd1f7e34a50e92e49fa120479c0eba17d564f985e5a560d4ea549a6e9b4e6e6f65f9a25b0c811a WHIRLPOOL 16d2e122d9a89d8f66522f499f79826b6662a26fceeca5b7be2471d13c8a5036f68c1be66a08e1af9242167176f4080bed6acef9ae6005d9d868e6a7fb723278
DIST geany-1.30.1.tar.bz2 4352154 SHA256 0ac360f1f3d6c28790a81d570252a7d40421f6e1d8e5a8d653756bd041d88491 SHA512 55fb446b0c517ccee4d2f3023334b96a336788422a4dc41207a4f290c5d4b88df1eefa4b7f6fddf0567224f890ae7bea396306a935512f17e01682034f7200e3 WHIRLPOOL 3f0ae26facedef3df5e96020a23730d9729641882d3a59c2c22bedf14c9e1294de32521a65573a36ad49b0336ee339cc9692718d8c8e153d5988f8d4b8abdf84
DIST geany-1.31.tar.bz2 4355879 SHA256 30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5 SHA512 6b5b07928173ef2673867ce2ab9cef1d74dfa97a5ca3515bfb85c0c4d239d7964d5f8d912dce3d97cad06a92c7a967abd454a5e4dc91e481d47de7773d8f6503 WHIRLPOOL c8746974afaadeada7846ec66dec4490c76316e12fbd59670934f3ecf28ace451e673e8c5a63ff740513ee4b01b6b3d5091032af2a4125d058dda7fefe3aed5f
DIST geany-1.32.tar.bz2 4341296 SHA256 8b7be10b95d0614eb07f845ba2280f7c026eacd5739d8fac4d5d26606f8c3c2d SHA512 a5ec73f690368d735e20ba90db90ab9a10e504545374a0d82c82af1f2df2f1382edb966e442257a271602b9322e3229af6a07f9c883d5d2d32236dd8f7791b5d WHIRLPOOL 4baef6747d7e8581fdc61aa08321ccf078c7f74b2d754c724a333f24543bbbae07c3d51eeef18f930364e0b8d487860a7d5d47c3427132a0ceb62e0cb596d8e4

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils fdo-mime gnome2-utils
inherit eutils gnome2-utils xdg-utils
LANGS="ar ast be bg ca cs de el en_GB es et eu fa fi fr gl he hi hu id it ja kk ko lb lt mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN ZH_TW"
NOSHORTLANGS="en_GB zh_CN zh_TW"
@ -13,7 +13,7 @@ SRC_URI="http://download.geany.org/${P}.tar.bz2"
LICENSE="GPL-2+ HPND"
SLOT="0"
KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="gtk3 +vte"
RDEPEND=">=dev-libs/glib-2.32:2
@ -23,7 +23,7 @@ RDEPEND=">=dev-libs/glib-2.32:2
)
gtk3? (
>=x11-libs/gtk+-3.0:3
vte? ( x11-libs/vte:2.90 )
vte? ( x11-libs/vte:2.91 )
)"
DEPEND="${RDEPEND}
virtual/pkgconfig
@ -59,11 +59,11 @@ src_install() {
pkg_preinst() { gnome2_icon_savelist; }
pkg_postinst() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
gnome2_icon_cache_update
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
gnome2_icon_cache_update
}

@ -2,3 +2,4 @@ DIST urbanterror-4.3.2_p20170426.tar.gz 10058308 SHA256 8009516332e1f77eae3681b4
DIST urbanterror-4.3.2_p20170713.tar.gz 9984763 SHA256 cf1784a3bd00451fe1bda3267235ea3eee93da65880f15fd13c07681952b4859 SHA512 09fd2232c3cbdde001b8d037f2667a55a584378615f2da10c6815797748028f36b75c899ca4fd1d7d97a33f4b3ddbaa4d271b36b5eabf3bf9e81852ef15864a4 WHIRLPOOL 2bed79adc1dc338d74212263105c03bad51391f8c9e9e543ad54f6d6006cea4a8ebfc0e601400338b941d799dc0f642f71478dc68ad84a50718043f06f042290
DIST urbanterror-4.3.2_p20170915.tar.gz 10061394 SHA256 fe37df609d763247a0bfaa7dedb33ca45a8aa523467b16f1a585ca8a08b03078 SHA512 d22bc3a0d8d191f797f5b1e7a0671424ca6dafbe5a3bd7fbfcd0e7249b9b4b6e790a64cdf7c93690d032b38f92aee703e9e302701084703d7a79d8f60cc2433e WHIRLPOOL 912201a55822dcf8423f77023f01882339739984dc9e9bdb5dca55763271c56158b47fd137da83d6e56c7625e49df8b5fc5299af646e91104e1f53cad9a50fcb
DIST urbanterror-4.3.2_p20171016.tar.gz 10061989 SHA256 a345cae14ce1f445ef1ed9d883f4f06e0365fdfa05c50d2f34bfcdb89744e405 SHA512 b35bd08f6058d73eecd48304609f7064637e9f1fcad7b22a93a9fdb43f003b93c3c52f3e9a7fc4c468d70fed4ba687bcdcfa0c8749252a12d2eab1cf3ab956ea WHIRLPOOL d4a519b1c9a7e63a98e9901c815e73f1c467412f6ad6757dafd6c4afb013bd9c3d4da3155cdc91c728113078e466d39fa68c1bb404e8019ad75984bf683370ff
DIST urbanterror-4.3.2_p20171105.tar.gz 10067127 SHA256 5b577d3c5ac62cbece532c54a3e30b2c89b9accb60657475a7cd2fb768f0bb02 SHA512 7a9ac15a0508706c17a390a5105badbaaba3b3c0e7e23b3ab9dd16751b1d946c108febba5c2f6af3046d5431fd1c5978a2abc267a740eca1d89d77d7172b41ad WHIRLPOOL 680a170e50d2d398129e1c0788ffa622fb4795d810e01db216232a16e6d8024813d648bf2276a7cb1bf14187d8c32794b0bb48c83d854d5c9989be1bc716560b

@ -0,0 +1,73 @@
Author: Nils Freydank <holgersson@posteo.de>
Date: Fri Nov 17 20:30:00 2017 +0100
Respect CFLAGS, CPPFLAGS etc. This patch is inspired
by hasufells patch.
--- a/Makefile 2017-03-31 11:08:58.419210817 +0200
+++ b/Makefile 2017-11-17 20:30:00.000000000 +0100
@@ -223,7 +223,7 @@
ifndef USE_ALTGAMMA
# Clearskies - X11-based gamma for Linux
USE_ALTGAMMA=1
-endif
+ endif
ifndef USE_SKEETMOD
USE_SKEETMOD=0
@@ -306,34 +306,33 @@
CLIENT_EXTRA_FILES=
ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu"))
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\"
+ BASE_CFLAGS = -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\"
CLIENT_CFLAGS += $(SDL_CFLAGS)
- OPTIMIZEVM = -O3
- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
+ OPTIMIZEVM =
+ OPTIMIZE = $(OPTIMIZEVM)
ifeq ($(ARCH),x86_64)
- OPTIMIZEVM = -O3
- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
+ OPTIMIZEVM =
+ OPTIMIZE = $(OPTIMIZEVM)
HAVE_VM_COMPILED = true
else
ifeq ($(ARCH),x86)
- OPTIMIZEVM = -O3 -march=i586
- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
+ OPTIMIZEVM =
+ OPTIMIZE = $(OPTIMIZEVM)
HAVE_VM_COMPILED=true
else
ifeq ($(ARCH),ppc)
- BASE_CFLAGS += -maltivec
+ BASE_CFLAGS +=
HAVE_VM_COMPILED=true
endif
ifeq ($(ARCH),ppc64)
- BASE_CFLAGS += -maltivec
+ BASE_CFLAGS +=
HAVE_VM_COMPILED=true
endif
ifeq ($(ARCH),sparc)
- OPTIMIZE += -mtune=ultrasparc3 -mv8plus
- OPTIMIZEVM += -mtune=ultrasparc3 -mv8plus
+ OPTIMIZE +=
+ OPTIMIZEVM +=
HAVE_VM_COMPILED=true
endif
ifeq ($(ARCH),armv7l)
@@ -1124,7 +1123,7 @@
define DO_CC
$(echo_cmd) "CC $<"
-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
+$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(CPPFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
endef
define DO_REF_CC

@ -16,10 +16,11 @@
<use>
<flag name="altgamma">Alternative way for gamma setting with modesetting driver</flag>
<flag name="client">Build binary for client (includes code for non-dedicated server)</flag>
<flag name="opus">Use opus as sound codec</flag>
<flag name="mumble">Use Mumble for ingame VoIP (experimental)</flag>
<flag name="voip">Use ioq3 ingame VoIP (experimental)</flag>
<flag name="opus">Use opus as sound codec</flag>
<flag name="server">Build binary for dedicated server</flag>
<flag name="skeetshootmod">Build support for skeetshoot mod for specific maps</flag>
<flag name="voip">Use ioq3 ingame VoIP (experimental)</flag>
</use>
<upstream>
<remote-id type="github">Barbatos/ioq3-for-UrbanTerror-4</remote-id>

@ -0,0 +1,163 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eapi7-ver flag-o-matic toolchain-funcs xdg-utils
DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine"
HOMEPAGE="http://urbanterror.info https://github.com/mickael9/ioq3"
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mickael9/ioq3.git"
EGIT_BRANCH="urt"
else
COMMIT_ID="59594a771796ae3b02e24a23807a808129931d1a"
SRC_URI="https://github.com/mickael9/ioq3/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ioq3-${COMMIT_ID}"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+altgamma +client +curl debug mumble openal +opus server +skeetshootmod voip vorbis"
REQUIRED_USE=" || ( client server )"
PATCHES=( "${FILESDIR}"/${PN}-4.3-fix-build_system.patch )
RDEPEND="
client? (
media-libs/libsdl2:=[X,sound,joystick,opengl,video]
mumble? ( media-sound/mumble:= )
openal? ( media-libs/openal:= )
opus? ( media-libs/opusfile:= )
vorbis? (
media-libs/libogg:=
media-libs/libvorbis:=
)
)
curl? ( net-misc/curl )
~games-fps/urbanterror-data-4.3.2
sys-libs/zlib:=[minizip]
virtual/jpeg:0
"
DEPEND="${RDEPEND}"
pkg_pretend() {
if use client; then
if ! use openal && ! use opus && ! use vorbis; then
ewarn
ewarn "No sound implementation selected. Enable 'openal', 'opus' or 'vorbis' USE flag to get sound!"
fi
fi
}
src_configure() {
default
tc-export CC
}
src_compile() {
# Workaround for used zlib macro, which got renamed in Gentoo
# wrt bug #449510
append-cppflags "-DOF=_Z_OF"
local my_arch=$(usex amd64 "x86_64" "i386")
emake \
ARCH=${my_arch} \
DEFAULT_BASEDIR="/usr/share/urbanterror" \
BUILD_CLIENT=$(usex "client" 1 0) \
BUILD_SERVER=$(usex "server" 1 0) \
BUILD_BASEGAME=1 \
BUILD_MISSIONPACK=0 \
BUILD_GAME_SO=0 \
BUILD_GAME_QVM=0 \
BUILD_STANDALONE=1 \
SERVERBIN="Quake3-UrT-Ded" \
CLIENTBIN="Quake3-UrT" \
USE_RENDERER_DLOPEN=0 \
USE_YACC=0 \
BASEGAME="q3ut4"\
BASEGAME_CFLAGS="${CFLAGS}" \
USE_OPENAL=$(usex "openal" 1 0) \
USE_OPENAL_DLOPEN=$(usex "openal" 1 0) \
USE_CURL=$(usex "curl" 1 0) \
USE_CURL_DLOPEN=$(usex "curl" 1 0) \
USE_CODEC_VORBIS=$(usex "vorbis" 1 0) \
USE_CODEC_OPUS=$(usex "opus" 1 0) \
USE_MUMBLE=$(usex "mumble" 1 0) \
USE_SKEETMOD=$(usex "skeetshootmod" 1 0) \
USE_VOIP=$(usex "mumble" 1 0) \
USE_INTERNAL_LIBS=0 \
USE_LOCAL_HEADERS=0 \
USE_ALTGAMMA=$(usex "altgamma" 1 0)
}
src_install() {
local my_arch=$(usex amd64 "x86_64" "i386")
# docs from ioq3, not from UrbanTerror ZIP file
dodoc ChangeLog README.md README.ioq3.md md4-readme.txt
if use client; then
newbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT.${my_arch} ${PN}
# Shooter as defined in https://specifications.freedesktop.org/menu-spec/latest/apas02.html
make_desktop_entry ${PN} "UrbanTerror" ${PN}
fi
if use server && ! use client; then
# dedicated server only
newbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT-Ded.${my_arch} ${PN}-ded
fi
}
pkg_postinst() {
use client && xdg_desktop_database_update
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
if use openal; then
elog ""
elog "You might need to set:"
elog " seta s_useopenal \"1\""
elog "in your ~/.q3a/q3ut4/q3config.cfg for openal to work."
fi
if use altgamma; then
elog ""
elog "You might need to set:"
elog " seta r_altgamma \"1\""
elog "in your ~/.q3a/q3ut4/q3config.cfg for altgamma to work."
fi
if ! use altgamma; then
elog ""
elog "If you are using a modesetting graphics driver you might"
elog "consider setting USE=\"altgamma\"."
elog "For details take a look at:"
elog "https://bugs.freedesktop.org/show_bug.cgi?id=27222"
fi
if ! use client; then
elog ""
elog "You disabled client support. You won't be able to connect"
elog "to any servers and play. If you want to do so, enable"
elog "USE=\"client\"."
fi
fi
if ver_test -ge 4.3.2_p20171105; then
# Yippee, new features!
if use skeetshootmod; then
elog ""
elog "You might need to set:"
elog " seta sv_skeetshoot \"1\""
elog "in your ~/.q3a/q3ut4/q3config.cfg to use the skeetshoot mod."
fi
fi
}
pkg_postrm() {
use client && xdg_desktop_database_update
}

@ -56,7 +56,13 @@ src_configure() {
-DNOSERVER=TRUE
-DCMAKE_VERBOSE_MAKEFILE=TRUE
-DPHYSFS_SYSTEM=ON
# upstream sets RPATH that leafs to weird breakage
# Need to tell the build system where the fonts are located
# as it uses PhysFS' symbolic link protection mode which
# prevents us from symlinking the fonts into the right directory
# https://hg.hedgewars.org/hedgewars/rev/76ad55807c24
# https://icculus.org/physfs/docs/html/physfs_8h.html#aad451d9b3f46f627a1be8caee2eef9b7
-DFONTS_DIRS="${EPREFIX}/usr/share/fonts/wqy-zenhei;${EPREFIX}/usr/share/fonts/dejavu"
# upstream sets RPATH that leads to weird breakage
# https://bugzilla.redhat.com/show_bug.cgi?id=1200193
-DCMAKE_SKIP_RPATH=ON
)
@ -66,11 +72,6 @@ src_configure() {
src_install() {
cmake-utils_src_install
rm -f "${ED%/}"/usr/share/games/hedgewars/Data/Fonts/{DejaVuSans-Bold.ttf,wqy-zenhei.ttc} || die
dosym ../../../fonts/dejavu/DejaVuSans-Bold.ttf \
/usr/share/${PN}/Data/Fonts/DejaVuSans-Bold.ttf
dosym ../../../fonts/wqy-zenhei/wqy-zenhei.ttc \
/usr/share/${PN}/Data/Fonts/wqy-zenhei.ttc
doicon misc/hedgewars.png
make_desktop_entry ${PN} Hedgewars
doman man/${PN}.6

@ -1,2 +1,3 @@
DIST kopete-17.04.3.tar.xz 6343664 SHA256 ec48462a464ce9ab724f503813311d9dd3aafc0124972410ac2afe14133be43f SHA512 d9c2ccec7f72e68090cd72632884b86f6b5a9cdd7fd3d23c1dedf3fe0331296d0b750c48050b80f36a58b92815e240983ab2c96eebb18997235c2a22bc4d2b26 WHIRLPOOL 2dffbb43e2eb63aa008ede23322d223436310fc85df4d8d38eec12e6ee7fe3549689beffde4e66ab2a3892ce0433e677f8d913c5ba9d9498264ec2b525815dd3
DIST kopete-17.08.3.tar.xz 6344464 SHA256 f86ccc1ca809c723d1baf2eed745f158337059263555f6fafa23ea200aacafec SHA512 0c069ec3208bb499ea2ffb92ba5a448980a0190b26a579903b126b7e72bf2c61e59c1ebc90065fc478415aed11aee67d7b4ef0f9d240c18a84e14d6163899f25 WHIRLPOOL 19290b3a238a8c39e2d961d28d32cc4f3590c5b31f52f9a6824ad8e4eafbf012017944d41f1531a6e32cf9d8c253eb759bb36798190843c0bb782285c44c5e90
DIST kopete-17.08.3_p20171029.tar.gz 8004208 SHA256 d990006cc05cde0346d13781e9069db92904c52a73c63d411f44ff0633e01ae4 SHA512 bb70dac4f1336502fb79564e132785d3d6faf01520126441e7cde902b75ae8ac36ae796e0d24318f16e6fffeaa0ec1833a6582731ec734a86fd495dd7252fcb8 WHIRLPOOL e39b5cb909150ba2c2fd907928fe9d1fb71caa8ebcdd299b18860335b6be29b0a02bf7ba980eb39f2603eb3d6c5c952682e1aeca54ca423ec8b0e58e987a835b

@ -70,7 +70,7 @@ COMMONDEPEND="
>=dev-qt/qtgui-4.4.0:4[mng]
kde-frameworks/kdelibs:4[zeroconf?]
media-libs/phonon[qt4]
media-libs/qimageblitz[-qt5(-)]
media-libs/qimageblitz[-qt5(+)]
x11-libs/libX11
x11-libs/libXScrnSaver
cryptography? ( $(add_kdeapps_dep libkleo '' 4.4.2016.01-r1) )

@ -70,7 +70,7 @@ COMMONDEPEND="
>=dev-qt/qtgui-4.4.0:4[mng]
kde-frameworks/kdelibs:4[zeroconf?]
media-libs/phonon[qt4]
media-libs/qimageblitz[-qt5(-)]
media-libs/qimageblitz[-qt5(+)]
x11-libs/libX11
x11-libs/libXScrnSaver
cryptography? ( $(add_kdeapps_dep libkleo '' 4.4.2016.01-r1) )

@ -0,0 +1,169 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
COMMIT=d7dbacb483124d5d6a8ad30586ec126c8514a715
KDE_HANDBOOK="forceoptional"
KDE_TEST="forceoptional"
inherit kde5 vcs-snapshot
DESCRIPTION="Multi-protocol IM client based on KDE Frameworks"
HOMEPAGE="https://kopete.kde.org https://www.kde.org/applications/internet/kopete"
SRC_URI="https://github.com/KDE/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
IUSE="ssl v4l"
# tests hang, last checked for 4.2.96
RESTRICT+=" test"
# Available plugins
#
# addbookmarks: NO DEPS
# alias: NO DEPS (disabled upstream)
# autoreplace: NO DEPS
# contactnotes: NO DEPS
# highlight: NO DEPS
# history: NO DEPS
# latex: virtual/latex as RDEPEND
# nowlistening: NO DEPS
# otr: libotr
# pipes: NO DEPS
# privacy: NO DEPS
# statistics: dev-db/sqlite:3
# texteffect: NO DEPS
# translator: NO DEPS
# urlpicpreview: NO DEPS
# webpresence: libxml2 libxslt
# NOTE: By default we enable all plugins that don't have any dependencies
PLUGINS="+addbookmarks +autoreplace +contactnotes +highlight history latex nowlistening
otr pipes +privacy +statistics +texteffect translator +urlpicpreview webpresence"
# Available protocols
#
# gadu: net-libs/libgadu @since 4.3
# groupwise: app-crypt/qca:2
# irc: NO DEPS, probably will fail so inform user about it
# xmpp: net-dns/libidn app-crypt/qca:2 ENABLED BY DEFAULT NETWORK
# meanwhile: net-libs/meanwhile
# oscar: NO DEPS
# telepathy: net-libs/decibel
# testbed: NO DEPS
# winpopup: NO DEPS (we're adding samba as RDEPEND so it works)
# yahoo: media-libs/jasper
# zeroconf (bonjour): NO DEPS
# DISABLED until fixed: skype sms
PROTOCOLS="gadu groupwise meanwhile oscar testbed winpopup +xmpp yahoo zeroconf"
# disabled protocols
# telepathy: net-libs/decibel
# irc: NO DEPS
# msn: net-libs/libmsn
# qq: NO DEPS
IUSE="${IUSE} ${PLUGINS} ${PROTOCOLS}"
COMMONDEPEND="
$(add_frameworks_dep kcmutils)
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kcrash)
$(add_frameworks_dep kdbusaddons)
$(add_frameworks_dep khtml)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep kdbusaddons)
$(add_frameworks_dep kdelibs4support)
$(add_frameworks_dep kemoticons)
$(add_frameworks_dep khtml)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep knotifyconfig)
$(add_frameworks_dep kparts)
$(add_frameworks_dep ktexteditor)
$(add_kdeapps_dep kcontacts)
$(add_kdeapps_dep kidentitymanagement)
$(add_kdeapps_dep libkleo)
$(add_qt_dep qtgui)
$(add_qt_dep qtsql)
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
app-crypt/gpgme[cxx,qt5]
dev-libs/libpcre
media-libs/phonon[qt5(+)]
x11-libs/libX11
x11-libs/libXScrnSaver
gadu? ( >=net-libs/libgadu-1.8.0[threads] )
groupwise? ( app-crypt/qca:2[qt5] )
meanwhile? ( net-libs/meanwhile )
otr? ( >=net-libs/libotr-4.0.0 )
statistics? ( dev-db/sqlite:3 )
v4l? ( media-libs/libv4l )
webpresence? (
dev-libs/libxml2
dev-libs/libxslt
)
xmpp? (
app-crypt/qca:2[qt5]
net-dns/libidn
sys-libs/zlib
)
yahoo? ( media-libs/jasper )
zeroconf? (
$(add_frameworks_dep kdnssd)
$(add_kdeapps_dep kidentitymanagement)
)
"
RDEPEND="${COMMONDEPEND}
latex? (
|| (
media-gfx/imagemagick
media-gfx/graphicsmagick[imagemagick]
)
virtual/latex-base
)
ssl? ( app-crypt/qca:2[ssl] )
"
DEPEND="${COMMONDEPEND}
x11-proto/scrnsaverproto
"
src_configure() {
local x x2
# Handle common stuff
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Libmsn=ON
-DWITH_qq=OFF
-DDISABLE_VIDEOSUPPORT=$(usex !v4l)
)
# enable protocols
for x in ${PROTOCOLS}; do
case ${x/+/} in
xmpp) x2=jabber ;;
zeroconf) x2=bonjour ;;
*) x2=${x/+/} ;;
esac
mycmakeargs+=( -DWITH_${x2}=$(usex ${x/+/}) )
done
# disable until fixed:
mycmakeargs+=( -DWITH_{cryptography,libjingle,skype,sms}=OFF )
# enable plugins
for x in ${PLUGINS}; do
mycmakeargs+=( -DWITH_${x/+/}=$(usex ${x/+/}) )
done
kde5_src_configure
}
pkg_postinst() {
kde5_pkg_postinst
if ! use ssl; then
if use xmpp ; then
if ! has_version "app-crypt/qca:2[ssl]" ; then
elog "In order to use ssl in xmpp you'll need to"
elog "install app-crypt/qca package with USE=ssl."
fi
fi
fi
}

@ -0,0 +1,26 @@
Copyright (c) <YEAR>, <OWNER>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the <ORGANIZATION> nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/lcms2-${PV}.tar.gz"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc jpeg static-libs test +threads tiff"
RDEPEND="

@ -0,0 +1,190 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools ltprune
DESCRIPTION="Mediastreaming library for telephony application"
HOMEPAGE="https://www.linphone.org/"
SRC_URI="mirror://nongnu/linphone/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/3"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
# Many cameras will not work or will crash an application if mediastreamer2 is
# not built with v4l2 support (taken from configure.ac)
# TODO: run-time test for ipv6: does it really need ortp[ipv6] ?
IUSE="+alsa amr bindist coreaudio debug doc examples +filters g726 g729 gsm ilbc
ipv6 libav ntp-timestamp opengl opus +ortp oss pcap portaudio pulseaudio sdl
silk +speex static-libs test theora upnp v4l video x264 X"
REQUIRED_USE="|| ( oss alsa portaudio coreaudio pulseaudio )
opengl? ( video )
theora? ( video )
v4l? ( video )
video? ( || ( opengl sdl X ) )
X? ( video )"
RDEPEND="
alsa? ( media-libs/alsa-lib )
g726? ( >=media-libs/spandsp-0.0.6_pre1 )
gsm? ( media-sound/gsm )
opus? ( media-libs/opus )
ortp? ( >=net-libs/ortp-0.21.0:=[ipv6?] )
pcap? ( sys-libs/libcap )
portaudio? ( media-libs/portaudio )
pulseaudio? ( >=media-sound/pulseaudio-0.9.21 )
speex? (
>=media-libs/speex-1.2.0
media-libs/speexdsp
)
upnp? ( net-libs/libupnp:0 )
video? (
libav? ( >=media-video/libav-9.12:0= )
!libav? ( >=media-video/ffmpeg-1.2.6-r1:0= )
opengl? (
media-libs/glew:=
virtual/opengl
x11-libs/libX11
)
sdl? ( media-libs/libsdl[video,X] )
theora? ( media-libs/libtheora )
v4l? (
media-libs/libv4l
sys-kernel/linux-headers
)
X? (
x11-libs/libX11
x11-libs/libXv
)
)
"
DEPEND="${RDEPEND}
dev-util/intltool
virtual/pkgconfig
doc? ( app-doc/doxygen )
test? ( >=dev-util/cunit-2.1_p2[ncurses] )
video? ( dev-util/xxdi )
X? ( x11-proto/videoproto )
"
PDEPEND="
amr? ( !bindist? ( media-plugins/mediastreamer-amr ) )
g729? ( !bindist? ( media-plugins/mediastreamer-bcg729 ) )
ilbc? ( media-plugins/mediastreamer-ilbc )
silk? ( !bindist? ( media-plugins/mediastreamer-silk ) )
video? ( x264? ( media-plugins/mediastreamer-x264 ) )
"
PATCHES=(
"${FILESDIR}/${P}-v4l-automagic.patch"
"${FILESDIR}/${P}-libav9.patch"
"${FILESDIR}/${P}-underlinking.patch"
"${FILESDIR}/${P}-tests.patch"
"${FILESDIR}/${P}-xxd.patch"
"${FILESDIR}/${P}-ffmpeg3.patch"
)
src_prepare() {
default
# variable causes "command not found" warning and is not
# needed anyway
sed -i \
-e 's/$(ACLOCAL_MACOS_FLAGS)//' \
Makefile.am || die
# respect user's CFLAGS
sed -i \
-e "s:-O2::;s: -g::" \
configure.ac || die "patching configure.ac failed"
# change default paths
sed -i \
-e "s:\(prefix/share\):\1/${PN}:" \
configure.ac || die "patching configure.ac failed"
# fix doc installation dir
sed -i \
-e "s:\$(pkgdocdir):\$(docdir):" \
help/Makefile.am || die "patching help/Makefile.am failed"
# fix html installation dir
sed -i \
-e "s:\(doc_htmldir=\).*:\1\$(htmldir):" \
help/Makefile.am || die "patching help/Makefile.am failed"
# linux/videodev.h dropped in 2.6.38
sed -i \
-e 's:linux/videodev.h ::' \
configure.ac || die
eautoreconf
}
src_configure() {
local myeconfargs=(
--htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
--datadir="${EPREFIX}"/usr/share/${PN}
# arts is deprecated
--disable-artsc
# don't want -Werror
--disable-strict
--disable-libv4l1
# don't use bundled libs
--enable-external-ortp
$(use_enable alsa)
$(use_enable coreaudio macsnd)
$(use_enable debug)
$(use_enable filters)
$(use_enable g726 spandsp)
$(use_enable gsm)
$(use_enable ipv6)
$(use_enable ntp-timestamp)
$(use_enable opengl glx)
$(use_enable opus)
$(use_enable ortp)
$(use_enable oss)
$(use_enable pcap)
$(use_enable portaudio)
$(use_enable pulseaudio)
$(use_enable sdl)
$(use_enable speex)
$(use_enable static-libs static)
$(use_enable theora)
$(use_enable upnp)
$(use_enable v4l)
$(use_enable v4l libv4l2)
$(use_enable video)
$(use_enable X x11)
$(use_enable X xv)
$(use doc || echo ac_cv_path_DOXYGEN=false)
)
# Mac OS X Audio Queue is an audio recording facility, available on
# 10.5 (Leopard, Darwin9) and onward
if use coreaudio && [[ ${CHOST} == *-darwin* && ${CHOST##*-darwin} -ge 9 ]]
then
myeconfargs+=( --enable-macaqsnd )
else
myeconfargs+=( --disable-macaqsnd )
fi
econf "${myeconfargs[@]}"
}
src_test() {
default
cd tester || die
./mediastreamer2_tester || die
}
src_install() {
default
prune_libtool_files
if use examples; then
insinto /usr/share/doc/${PF}/examples
doins tester/*.c
fi
}

@ -11,7 +11,7 @@ SRC_URI="http://www.soft-switch.org/downloads/spandsp/${P/_}.tgz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 arm ppc ppc64 x86"
KEYWORDS="amd64 arm ia64 ppc ppc64 x86"
IUSE="doc fixed-point static-libs"
RDEPEND="media-libs/tiff"

@ -1,3 +1,3 @@
DIST tiff-3.9.7.tar.gz 1468097 SHA256 f5d64dd4ce61c55f5e9f6dc3920fbe5a41e02c2e607da7117a35eb5c320cef6a SHA512 ca89584a9ffa33b4986e4bc2165043cec239896f1f0ab73db00818d0442b570efaa6345b2ed422e884202324d359713df849bf14782bb0cf3b959655febddd77 WHIRLPOOL c06b35da66c365c1fe7f0e6e06a400e139d3e2b5b280aa764015c2f0383a6191ffb3d335cdf2211b687bbb0caacf641be409148986a9813dfde5822a650a9b1c
DIST tiff-4.0.7.tar.gz 2076392 SHA256 9f43a2cfb9589e5cecaa66e16bf87f814c945f22df7ba600d63aac4632c4f019 SHA512 941357bdd5f947cdca41a1d31ae14b3fadc174ae5dce7b7981dbe58f61995f575ac2e97a7cc4fcc435184012017bec0920278263490464644f2cdfad9a6c5ddc WHIRLPOOL 3090a0d8a5ad3595c97888edab3c48379175cad993567d20be5f397b1c5c1d21012de55c5da5e664ee483d294fe9eb5f3464e14f564fb79c1357094ff67e313d
DIST tiff-4.0.8.tar.gz 2065574 SHA256 59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910 SHA512 5d010ec4ce37aca733f7ab7db9f432987b0cd21664bd9d99452a146833c40f0d1e7309d1870b0395e947964134d5cfeb1366181e761fe353ad585803ff3d6be6 WHIRLPOOL 13fce447c586fef080c6201f0f5b010bc8b0e096bc9b806ab3b80eb6a672c789f88b5fc34a51585aa7072bb8407ecc958d1d7824fad379f86968f051de2fa96d
DIST tiff-4.0.9.tar.gz 2305681 SHA256 6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd SHA512 04f3d5eefccf9c1a0393659fe27f3dddd31108c401ba0dc587bca152a1c1f6bc844ba41622ff5572da8cc278593eff8c402b44e7af0a0090e91d326c2d79f6cd WHIRLPOOL e67378d8d7c17d892e5f075d4e13aa299042a9f989fd6051b23d986518a11f2bbbcb13f491d87da6e6455aa28df2cce0fb65761237e256ac2e37889272f2ddf7

@ -1,46 +0,0 @@
http://bugzilla.maptools.org/show_bug.cgi?id=2596
From d7520d28685b96a28421ef01fb66cea8d1a96dfc Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Fri, 2 Dec 2016 21:56:56 +0000
Subject: [PATCH] * libtiff/tif_read.c, libtiff/tiffiop.h: fix uint32 overflow
in TIFFReadEncodedStrip() that caused an integer division by zero. Reported
by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2596
---
ChangeLog | 7 +++++++
libtiff/tif_read.c | 4 ++--
libtiff/tiffiop.h | 6 +++++-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/libtiff/tif_read.c b/libtiff/tif_read.c
index 80035929f033..29a311db0cb7 100644
--- a/libtiff/tif_read.c
+++ b/libtiff/tif_read.c
@@ -346,7 +346,7 @@ TIFFReadEncodedStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size)
rowsperstrip=td->td_rowsperstrip;
if (rowsperstrip>td->td_imagelength)
rowsperstrip=td->td_imagelength;
- stripsperplane=((td->td_imagelength+rowsperstrip-1)/rowsperstrip);
+ stripsperplane= TIFFhowmany_32_maxuint_compat(td->td_imagelength, rowsperstrip);
stripinplane=(strip%stripsperplane);
plane=(uint16)(strip/stripsperplane);
rows=td->td_imagelength-stripinplane*rowsperstrip;
diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h
index 8bcd0c172c08..5294ee78ffaf 100644
--- a/libtiff/tiffiop.h
+++ b/libtiff/tiffiop.h
@@ -250,6 +250,10 @@ struct tiff {
#define TIFFhowmany_32(x, y) (((uint32)x < (0xffffffff - (uint32)(y-1))) ? \
((((uint32)(x))+(((uint32)(y))-1))/((uint32)(y))) : \
0U)
+/* Variant of TIFFhowmany_32() that doesn't return 0 if x close to MAXUINT. */
+/* Caution: TIFFhowmany_32_maxuint_compat(x,y)*y might overflow */
+#define TIFFhowmany_32_maxuint_compat(x, y) \
+ (((uint32)(x) / (uint32)(y)) + ((((uint32)(x) % (uint32)(y)) != 0) ? 1 : 0))
#define TIFFhowmany8_32(x) (((x)&0x07)?((uint32)(x)>>3)+1:(uint32)(x)>>3)
#define TIFFroundup_32(x, y) (TIFFhowmany_32(x,y)*(y))
#define TIFFhowmany_64(x, y) ((((uint64)(x))+(((uint64)(y))-1))/((uint64)(y)))
--
2.12.0

@ -1,53 +0,0 @@
http://bugzilla.maptools.org/show_bug.cgi?id=2611
From bd06f6c97dff0b30de0f80227d782ea448c14b19 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 11:15:18 +0000
Subject: [PATCH] * libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case
of failure in OJPEGPreDecode(). This will avoid a divide by zero, and
potential other issues. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2611
---
ChangeLog | 7 +++++++
libtiff/tif_ojpeg.c | 10 +++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/libtiff/tif_ojpeg.c b/libtiff/tif_ojpeg.c
index 30a1812634e0..93839d8f3e11 100644
--- a/libtiff/tif_ojpeg.c
+++ b/libtiff/tif_ojpeg.c
@@ -244,6 +244,7 @@ typedef enum {
typedef struct {
TIFF* tif;
+ int decoder_ok;
#ifndef LIBJPEG_ENCAP_EXTERNAL
JMP_BUF exit_jmpbuf;
#endif
@@ -722,6 +723,7 @@ OJPEGPreDecode(TIFF* tif, uint16 s)
}
sp->write_curstrile++;
}
+ sp->decoder_ok = 1;
return(1);
}
@@ -784,8 +786,14 @@ OJPEGPreDecodeSkipScanlines(TIFF* tif)
static int
OJPEGDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
{
+ static const char module[]="OJPEGDecode";
OJPEGState* sp=(OJPEGState*)tif->tif_data;
(void)s;
+ if( !sp->decoder_ok )
+ {
+ TIFFErrorExt(tif->tif_clientdata,module,"Cannot decode: decoder not correctly initialized");
+ return 0;
+ }
if (sp->libjpeg_jpeg_query_style==0)
{
if (OJPEGDecodeRaw(tif,buf,cc)==0)
--
2.12.0

@ -1,74 +0,0 @@
https://bugs.gentoo.org/610330
From 24bc05876f5a1a300a3c4eb0fa8e8cea6a256f9f Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Wed, 11 Jan 2017 19:25:44 +0000
Subject: [PATCH] * tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow
and cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based
overflow. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656 and
http://bugzilla.maptools.org/show_bug.cgi?id=2657
---
ChangeLog | 7 +++++++
tools/tiffcp.c | 26 +++++++++++++++++++++++---
2 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index 49c9d37125a6..489459a7f6a4 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -591,7 +591,7 @@ static copyFunc pickCopyFunc(TIFF*, TIFF*, uint16, uint16);
static int
tiffcp(TIFF* in, TIFF* out)
{
- uint16 bitspersample, samplesperpixel = 1;
+ uint16 bitspersample = 1, samplesperpixel = 1;
uint16 input_compression, input_photometric = PHOTOMETRIC_MINISBLACK;
copyFunc cf;
uint32 width, length;
@@ -1067,6 +1067,16 @@ DECLAREcpFunc(cpContig2SeparateByRow)
register uint32 n;
uint32 row;
tsample_t s;
+ uint16 bps = 0;
+
+ (void) TIFFGetField(in, TIFFTAG_BITSPERSAMPLE, &bps);
+ if( bps != 8 )
+ {
+ TIFFError(TIFFFileName(in),
+ "Error, can only handle BitsPerSample=8 in %s",
+ "cpContig2SeparateByRow");
+ return 0;
+ }
inbuf = _TIFFmalloc(scanlinesizein);
outbuf = _TIFFmalloc(scanlinesizeout);
@@ -1120,6 +1130,16 @@ DECLAREcpFunc(cpSeparate2ContigByRow)
register uint32 n;
uint32 row;
tsample_t s;
+ uint16 bps = 0;
+
+ (void) TIFFGetField(in, TIFFTAG_BITSPERSAMPLE, &bps);
+ if( bps != 8 )
+ {
+ TIFFError(TIFFFileName(in),
+ "Error, can only handle BitsPerSample=8 in %s",
+ "cpSeparate2ContigByRow");
+ return 0;
+ }
inbuf = _TIFFmalloc(scanlinesizein);
outbuf = _TIFFmalloc(scanlinesizeout);
@@ -1784,7 +1804,7 @@ pickCopyFunc(TIFF* in, TIFF* out, uint16 bitspersample, uint16 samplesperpixel)
uint32 w, l, tw, tl;
int bychunk;
- (void) TIFFGetField(in, TIFFTAG_PLANARCONFIG, &shortv);
+ (void) TIFFGetFieldDefaulted(in, TIFFTAG_PLANARCONFIG, &shortv);
if (shortv != config && bitspersample != 8 && samplesperpixel > 1) {
fprintf(stderr,
"%s: Cannot handle different planar configuration w/ bits/sample != 8\n",
--
2.12.0

@ -1,112 +0,0 @@
From c2faaeaa7887c24c574297e8e2f36208df9dc229 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Wed, 11 Jan 2017 20:33:35 +0000
Subject: [PATCH] * libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c: return 0 in
Encode functions instead of -1 when TIFFFlushData1() fails. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2130
---
ChangeLog | 6 ++++++
libtiff/tif_luv.c | 12 ++++++------
libtiff/tif_lzw.c | 8 +++++---
libtiff/tif_packbits.c | 6 +++---
4 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/libtiff/tif_luv.c b/libtiff/tif_luv.c
index f42ac0131fee..1f6d8ba3ea5a 100644
--- a/libtiff/tif_luv.c
+++ b/libtiff/tif_luv.c
@@ -473,7 +473,7 @@ LogL16Encode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
tif->tif_rawcp = op;
tif->tif_rawcc = tif->tif_rawdatasize - occ;
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
occ = tif->tif_rawdatasize - tif->tif_rawcc;
}
@@ -505,7 +505,7 @@ LogL16Encode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
tif->tif_rawcp = op;
tif->tif_rawcc = tif->tif_rawdatasize - occ;
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
occ = tif->tif_rawdatasize - tif->tif_rawcc;
}
@@ -565,7 +565,7 @@ LogLuvEncode24(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
tif->tif_rawcp = op;
tif->tif_rawcc = tif->tif_rawdatasize - occ;
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
occ = tif->tif_rawdatasize - tif->tif_rawcc;
}
@@ -624,7 +624,7 @@ LogLuvEncode32(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
tif->tif_rawcp = op;
tif->tif_rawcc = tif->tif_rawdatasize - occ;
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
occ = tif->tif_rawdatasize - tif->tif_rawcc;
}
@@ -656,7 +656,7 @@ LogLuvEncode32(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
tif->tif_rawcp = op;
tif->tif_rawcc = tif->tif_rawdatasize - occ;
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
occ = tif->tif_rawdatasize - tif->tif_rawcc;
}
diff --git a/libtiff/tif_lzw.c b/libtiff/tif_lzw.c
index 240e19c2e058..5ba35ec1305f 100644
--- a/libtiff/tif_lzw.c
+++ b/libtiff/tif_lzw.c
@@ -969,7 +969,8 @@ LZWEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
*/
if (op > limit) {
tif->tif_rawcc = (tmsize_t)(op - tif->tif_rawdata);
- TIFFFlushData1(tif);
+ if( !TIFFFlushData1(tif) )
+ return 0;
op = tif->tif_rawdata;
}
PutNextCode(op, ent);
@@ -1054,7 +1055,8 @@ LZWPostEncode(TIFF* tif)
if (op > sp->enc_rawlimit) {
tif->tif_rawcc = (tmsize_t)(op - tif->tif_rawdata);
- TIFFFlushData1(tif);
+ if( !TIFFFlushData1(tif) )
+ return 0;
op = tif->tif_rawdata;
}
if (sp->enc_oldcode != (hcode_t) -1) {
diff --git a/libtiff/tif_packbits.c b/libtiff/tif_packbits.c
index d2a0165de9dd..0495e688a6be 100644
--- a/libtiff/tif_packbits.c
+++ b/libtiff/tif_packbits.c
@@ -99,7 +99,7 @@ PackBitsEncode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
slop = (long)(op - lastliteral);
tif->tif_rawcc += (tmsize_t)(lastliteral - tif->tif_rawcp);
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
while (slop-- > 0)
*op++ = *lastliteral++;
@@ -107,7 +107,7 @@ PackBitsEncode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
} else {
tif->tif_rawcc += (tmsize_t)(op - tif->tif_rawcp);
if (!TIFFFlushData1(tif))
- return (-1);
+ return (0);
op = tif->tif_rawcp;
}
}
--
2.12.0

@ -1,54 +0,0 @@
From c4e376852d82936885833441169684267983691f Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Wed, 11 Jan 2017 12:51:59 +0000
Subject: [PATCH] * libtiff/tif_dirwrite.c: in
TIFFWriteDirectoryTagCheckedRational, replace assertion by runtime check to
error out if passed value is strictly negative. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2535
* tools/tiffcrop.c: remove extraneous TIFFClose() in error code path, that
caused double free.
Related to http://bugzilla.maptools.org/show_bug.cgi?id=2535
---
ChangeLog | 11 +++++++++++
libtiff/tif_dirwrite.c | 11 ++++++++---
tools/tiffcrop.c | 3 +--
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
index d34f6f611d39..055324db078f 100644
--- a/libtiff/tif_dirwrite.c
+++ b/libtiff/tif_dirwrite.c
@@ -2094,10 +2094,15 @@ TIFFWriteDirectoryTagCheckedSlong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* d
static int
TIFFWriteDirectoryTagCheckedRational(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, uint16 tag, double value)
{
+ static const char module[] = "TIFFWriteDirectoryTagCheckedRational";
uint32 m[2];
- assert(value>=0.0);
assert(sizeof(uint32)==4);
- if (value<=0.0)
+ if( value < 0 )
+ {
+ TIFFErrorExt(tif->tif_clientdata,module,"Negative value is illegal");
+ return 0;
+ }
+ else if (value==0.0)
{
m[0]=0;
m[1]=1;
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
index 21dd08720d77..c69177e052d4 100644
--- a/tools/tiffcrop.c
+++ b/tools/tiffcrop.c
@@ -7996,7 +7996,6 @@ writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image,
if (!TIFFWriteDirectory(out))
{
TIFFError("","Failed to write IFD for page number %d", pagenum);
- TIFFClose(out);
return (-1);
}
--
2.12.0

@ -1,28 +0,0 @@
From a56820e2022e23610c1ea99fbf621d73d1e36348 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 14:18:48 +0000
Subject: [PATCH] * tools/tiffinfo.c: fix null pointer dereference in -r mode
when the image has no StripByteCount tag. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2594
---
ChangeLog | 7 +++++++
tools/tiffinfo.c | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/tiffinfo.c b/tools/tiffinfo.c
index b02c7d46bed0..4d58055de85c 100644
--- a/tools/tiffinfo.c
+++ b/tools/tiffinfo.c
@@ -417,7 +417,7 @@ TIFFReadRawData(TIFF* tif, int bitrev)
uint64* stripbc=NULL;
TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &stripbc);
- if (nstrips > 0) {
+ if (stripbc != NULL && nstrips > 0) {
uint32 bufsize = (uint32) stripbc[0];
tdata_t buf = _TIFFmalloc(bufsize);
tstrip_t s;
--
2.12.0

@ -1,41 +0,0 @@
From 5ad5e64f8530a827482645986f5bb4e4613d0aa7 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 14:42:40 +0000
Subject: [PATCH] * tools/tiffcp.c: avoid potential division by zero is
BitsPerSamples tag is missing. Reported by Agostino sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2597
---
ChangeLog | 7 +++++++
tools/tiffcp.c | 10 ++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index 6dfb9a91bfa9..c8e48c3c2bb3 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -1378,7 +1378,7 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
uint8* bufp = (uint8*) buf;
uint32 tw, tl;
uint32 row;
- uint16 bps, bytes_per_sample;
+ uint16 bps = 0, bytes_per_sample;
tilebuf = _TIFFmalloc(tilesize);
if (tilebuf == 0)
@@ -1387,6 +1387,12 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
(void) TIFFGetField(in, TIFFTAG_TILEWIDTH, &tw);
(void) TIFFGetField(in, TIFFTAG_TILELENGTH, &tl);
(void) TIFFGetField(in, TIFFTAG_BITSPERSAMPLE, &bps);
+ if( bps == 0 )
+ {
+ TIFFError(TIFFFileName(in), "Error, cannot read BitsPerSample");
+ status = 0;
+ goto done;
+ }
assert( bps % 8 == 0 );
bytes_per_sample = bps/8;
--
2.12.0

@ -1,31 +0,0 @@
http://bugzilla.maptools.org/show_bug.cgi?id=2598
From bc3d7392e43545c7c6375897458a7a3e8ee4d9d8 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Fri, 2 Dec 2016 22:13:32 +0000
Subject: [PATCH] * tools/tiffcp.c: avoid uint32 underflow in cpDecodedStrips
that can cause various issues, such as buffer overflows in the library.
Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2598
---
ChangeLog | 7 +++++++
tools/tiffcp.c | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index 338a3d113bf8..6dfb9a91bfa9 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -985,7 +985,7 @@ DECLAREcpFunc(cpDecodedStrips)
tstrip_t s, ns = TIFFNumberOfStrips(in);
uint32 row = 0;
_TIFFmemset(buf, 0, stripsize);
- for (s = 0; s < ns; s++) {
+ for (s = 0; s < ns && row < imagelength; s++) {
tsize_t cc = (row + rowsperstrip > imagelength) ?
TIFFVStripSize(in, imagelength - row) : stripsize;
if (TIFFReadEncodedStrip(in, s, buf, cc) < 0
--
2.12.0

@ -1,54 +0,0 @@
From 9bbbe303c8e5db20d7f687ee1ca19c98fb852044 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 15:30:31 +0000
Subject: [PATCH] * tools/tif_dir.c: when TIFFGetField(, TIFFTAG_NUMBEROFINKS,
) is called, limit the return number of inks to SamplesPerPixel, so that code
that parses ink names doesn't go past the end of the buffer. Reported by
Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599
Reported by Agostino Sarubbo.
---
ChangeLog | 10 +++++++++-
libtiff/tif_dir.c | 28 +++++++++++++++++++++++++++-
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
index ad21655a6ee9..2574e748b3be 100644
--- a/libtiff/tif_dir.c
+++ b/libtiff/tif_dir.c
@@ -854,6 +854,32 @@ _TIFFVGetField(TIFF* tif, uint32 tag, va_list ap)
if( fip == NULL ) /* cannot happen since TIFFGetField() already checks it */
return 0;
+ if( tag == TIFFTAG_NUMBEROFINKS )
+ {
+ int i;
+ for (i = 0; i < td->td_customValueCount; i++) {
+ uint16 val;
+ TIFFTagValue *tv = td->td_customValues + i;
+ if (tv->info->field_tag != tag)
+ continue;
+ val = *(uint16 *)tv->value;
+ /* Truncate to SamplesPerPixel, since the */
+ /* setting code for INKNAMES assume that there are SamplesPerPixel */
+ /* inknames. */
+ /* Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 */
+ if( val > td->td_samplesperpixel )
+ {
+ TIFFWarningExt(tif->tif_clientdata,"_TIFFVGetField",
+ "Truncating NumberOfInks from %u to %u",
+ val, td->td_samplesperpixel);
+ val = td->td_samplesperpixel;
+ }
+ *va_arg(ap, uint16*) = val;
+ return 1;
+ }
+ return 0;
+ }
+
/*
* We want to force the custom code to be used for custom
* fields even if the tag happens to match a well known
--
2.12.0

@ -1,108 +0,0 @@
From ebc6029128555df725e6ad77a983134350bfc831 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Fri, 2 Dec 2016 23:05:51 +0000
Subject: [PATCH] * libtiff/tif_pixarlog.c, libtiff/tif_luv.c: fix heap-based
buffer overflow on generation of PixarLog / LUV compressed files, with
ColorMap, TransferFunction attached and nasty plays with bitspersample. The
fix for LUV has not been tested, but suffers from the same kind of issue of
PixarLog. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2604
---
ChangeLog | 10 ++++++++++
libtiff/tif_luv.c | 20 +++++++++++++++-----
libtiff/tif_pixarlog.c | 19 ++++++++++++++++---
3 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/libtiff/tif_luv.c b/libtiff/tif_luv.c
index ca08f30a76b6..f42ac0131fee 100644
--- a/libtiff/tif_luv.c
+++ b/libtiff/tif_luv.c
@@ -158,6 +158,7 @@
typedef struct logLuvState LogLuvState;
struct logLuvState {
+ int encoder_state; /* 1 if encoder correctly initialized */
int user_datafmt; /* user data format */
int encode_meth; /* encoding method */
int pixel_size; /* bytes per pixel */
@@ -1552,6 +1553,7 @@ LogLuvSetupEncode(TIFF* tif)
td->td_photometric, "must be either LogLUV or LogL");
break;
}
+ sp->encoder_state = 1;
return (1);
notsupported:
TIFFErrorExt(tif->tif_clientdata, module,
@@ -1563,19 +1565,27 @@ notsupported:
static void
LogLuvClose(TIFF* tif)
{
+ LogLuvState* sp = (LogLuvState*) tif->tif_data;
TIFFDirectory *td = &tif->tif_dir;
+ assert(sp != 0);
/*
* For consistency, we always want to write out the same
* bitspersample and sampleformat for our TIFF file,
* regardless of the data format being used by the application.
* Since this routine is called after tags have been set but
* before they have been recorded in the file, we reset them here.
+ * Note: this is really a nasty approach. See PixarLogClose
*/
- td->td_samplesperpixel =
- (td->td_photometric == PHOTOMETRIC_LOGL) ? 1 : 3;
- td->td_bitspersample = 16;
- td->td_sampleformat = SAMPLEFORMAT_INT;
+ if( sp->encoder_state )
+ {
+ /* See PixarLogClose. Might avoid issues with tags whose size depends
+ * on those below, but not completely sure this is enough. */
+ td->td_samplesperpixel =
+ (td->td_photometric == PHOTOMETRIC_LOGL) ? 1 : 3;
+ td->td_bitspersample = 16;
+ td->td_sampleformat = SAMPLEFORMAT_INT;
+ }
}
static void
diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
index f4af2bab7ce5..9836dce63450 100644
--- a/libtiff/tif_pixarlog.c
+++ b/libtiff/tif_pixarlog.c
@@ -1233,8 +1233,10 @@ PixarLogPostEncode(TIFF* tif)
static void
PixarLogClose(TIFF* tif)
{
+ PixarLogState* sp = (PixarLogState*) tif->tif_data;
TIFFDirectory *td = &tif->tif_dir;
+ assert(sp != 0);
/* In a really sneaky (and really incorrect, and untruthful, and
* troublesome, and error-prone) maneuver that completely goes against
* the spirit of TIFF, and breaks TIFF, on close, we covertly
@@ -1243,8 +1245,19 @@ PixarLogClose(TIFF* tif)
* readers that don't know about PixarLog, or how to set
* the PIXARLOGDATFMT pseudo-tag.
*/
- td->td_bitspersample = 8;
- td->td_sampleformat = SAMPLEFORMAT_UINT;
+
+ if (sp->state&PLSTATE_INIT) {
+ /* We test the state to avoid an issue such as in
+ * http://bugzilla.maptools.org/show_bug.cgi?id=2604
+ * What appends in that case is that the bitspersample is 1 and
+ * a TransferFunction is set. The size of the TransferFunction
+ * depends on 1<<bitspersample. So if we increase it, an access
+ * out of the buffer will happen at directory flushing.
+ * Another option would be to clear those targs.
+ */
+ td->td_bitspersample = 8;
+ td->td_sampleformat = SAMPLEFORMAT_UINT;
+ }
}
static void
--
2.12.0

@ -1,55 +0,0 @@
From cd4832257daf222833ae172b3923268fec5b71b9 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 16:50:02 +0000
Subject: [PATCH] * tools/tiffcp.c: replace assert( (bps % 8) == 0 ) by a non
assert check. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2605
---
ChangeLog | 6 ++++++
tools/tiffcp.c | 17 +++++++++++++----
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index 6d96bb89f555..49c9d37125a6 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -45,7 +45,6 @@
#include <string.h>
#include <ctype.h>
-#include <assert.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
@@ -1393,7 +1392,12 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
status = 0;
goto done;
}
- assert( bps % 8 == 0 );
+ if( (bps % 8) != 0 )
+ {
+ TIFFError(TIFFFileName(in), "Error, cannot handle BitsPerSample that is not a multiple of 8");
+ status = 0;
+ goto done;
+ }
bytes_per_sample = bps/8;
for (row = 0; row < imagelength; row += tl) {
@@ -1584,7 +1588,12 @@ DECLAREwriteFunc(writeBufferToSeparateTiles)
_TIFFfree(obuf);
return 0;
}
- assert( bps % 8 == 0 );
+ if( (bps % 8) != 0 )
+ {
+ TIFFError(TIFFFileName(out), "Error, cannot handle BitsPerSample that is not a multiple of 8");
+ _TIFFfree(obuf);
+ return 0;
+ }
bytes_per_sample = bps/8;
for (row = 0; row < imagelength; row += tl) {
--
2.12.0

@ -1,41 +0,0 @@
From c99f44478d6f0491da5b98c8cea14f565a021e22 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 15:44:15 +0000
Subject: [PATCH] * tools/tiffcp.c: avoid potential division by zero is
BitsPerSamples tag is missing. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2607
---
ChangeLog | 7 +++++++
tools/tiffcp.c | 10 ++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index c8e48c3c2bb3..142cbb0ecfc2 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -1569,7 +1569,7 @@ DECLAREwriteFunc(writeBufferToSeparateTiles)
uint8* bufp = (uint8*) buf;
uint32 tl, tw;
uint32 row;
- uint16 bps, bytes_per_sample;
+ uint16 bps = 0, bytes_per_sample;
obuf = _TIFFmalloc(TIFFTileSize(out));
if (obuf == NULL)
@@ -1578,6 +1578,12 @@ DECLAREwriteFunc(writeBufferToSeparateTiles)
(void) TIFFGetField(out, TIFFTAG_TILELENGTH, &tl);
(void) TIFFGetField(out, TIFFTAG_TILEWIDTH, &tw);
(void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps);
+ if( bps == 0 )
+ {
+ TIFFError(TIFFFileName(out), "Error, cannot read BitsPerSample");
+ _TIFFfree(obuf);
+ return 0;
+ }
assert( bps % 8 == 0 );
bytes_per_sample = bps/8;
--
2.12.0

@ -1,104 +0,0 @@
From 92adbddc283782d71d81dbccf72ed2c279f90097 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 11:02:15 +0000
Subject: [PATCH] * libtiff/tif_dirread.c: modify
ChopUpSingleUncompressedStrip() to instanciate compute ntrips as
TIFFhowmany_32(td->td_imagelength, rowsperstrip), instead of a logic based on
the total size of data. Which is faulty is the total size of data is not
sufficient to fill the whole image, and thus results in reading outside of
the StripByCounts/StripOffsets arrays when using TIFFReadScanline(). Reported
by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2608.
* libtiff/tif_strip.c: revert the change in TIFFNumberOfStrips() done
for http://bugzilla.maptools.org/show_bug.cgi?id=2587 / CVE-2016-9273 since
the above change is a better fix that makes it unnecessary.
---
ChangeLog | 15 +++++++++++++++
libtiff/tif_dirread.c | 24 +++++++++++-------------
libtiff/tif_strip.c | 11 +----------
3 files changed, 27 insertions(+), 23 deletions(-)
diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
index 01070f2ecebd..f2905286c0d0 100644
--- a/libtiff/tif_dirread.c
+++ b/libtiff/tif_dirread.c
@@ -5502,8 +5502,7 @@ ChopUpSingleUncompressedStrip(TIFF* tif)
uint64 rowblockbytes;
uint64 stripbytes;
uint32 strip;
- uint64 nstrips64;
- uint32 nstrips32;
+ uint32 nstrips;
uint32 rowsperstrip;
uint64* newcounts;
uint64* newoffsets;
@@ -5534,18 +5533,17 @@ ChopUpSingleUncompressedStrip(TIFF* tif)
return;
/*
- * never increase the number of strips in an image
+ * never increase the number of rows per strip
*/
if (rowsperstrip >= td->td_rowsperstrip)
return;
- nstrips64 = TIFFhowmany_64(bytecount, stripbytes);
- if ((nstrips64==0)||(nstrips64>0xFFFFFFFF)) /* something is wonky, do nothing. */
- return;
- nstrips32 = (uint32)nstrips64;
+ nstrips = TIFFhowmany_32(td->td_imagelength, rowsperstrip);
+ if( nstrips == 0 )
+ return;
- newcounts = (uint64*) _TIFFCheckMalloc(tif, nstrips32, sizeof (uint64),
+ newcounts = (uint64*) _TIFFCheckMalloc(tif, nstrips, sizeof (uint64),
"for chopped \"StripByteCounts\" array");
- newoffsets = (uint64*) _TIFFCheckMalloc(tif, nstrips32, sizeof (uint64),
+ newoffsets = (uint64*) _TIFFCheckMalloc(tif, nstrips, sizeof (uint64),
"for chopped \"StripOffsets\" array");
if (newcounts == NULL || newoffsets == NULL) {
/*
@@ -5562,18 +5560,18 @@ ChopUpSingleUncompressedStrip(TIFF* tif)
* Fill the strip information arrays with new bytecounts and offsets
* that reflect the broken-up format.
*/
- for (strip = 0; strip < nstrips32; strip++) {
+ for (strip = 0; strip < nstrips; strip++) {
if (stripbytes > bytecount)
stripbytes = bytecount;
newcounts[strip] = stripbytes;
- newoffsets[strip] = offset;
+ newoffsets[strip] = stripbytes ? offset : 0;
offset += stripbytes;
bytecount -= stripbytes;
}
/*
* Replace old single strip info with multi-strip info.
*/
- td->td_stripsperimage = td->td_nstrips = nstrips32;
+ td->td_stripsperimage = td->td_nstrips = nstrips;
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, rowsperstrip);
_TIFFfree(td->td_stripbytecount);
diff --git a/libtiff/tif_strip.c b/libtiff/tif_strip.c
index b6098dd31241..6e9f2ef6ddf2 100644
--- a/libtiff/tif_strip.c
+++ b/libtiff/tif_strip.c
@@ -63,15 +63,6 @@ TIFFNumberOfStrips(TIFF* tif)
TIFFDirectory *td = &tif->tif_dir;
uint32 nstrips;
- /* If the value was already computed and store in td_nstrips, then return it,
- since ChopUpSingleUncompressedStrip might have altered and resized the
- since the td_stripbytecount and td_stripoffset arrays to the new value
- after the initial affectation of td_nstrips = TIFFNumberOfStrips() in
- tif_dirread.c ~line 3612.
- See http://bugzilla.maptools.org/show_bug.cgi?id=2587 */
- if( td->td_nstrips )
- return td->td_nstrips;
-
nstrips = (td->td_rowsperstrip == (uint32) -1 ? 1 :
TIFFhowmany_32(td->td_imagelength, td->td_rowsperstrip));
if (td->td_planarconfig == PLANARCONFIG_SEPARATE)
--
2.12.0

@ -1,46 +0,0 @@
From ee00edfbe833647d59ad87cac82f1b4c0c902179 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 16:40:01 +0000
Subject: [PATCH] * tools/tiffcp.c: fix uint32 underflow/overflow that can
cause heap-based buffer overflow. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2610
---
ChangeLog | 7 +++++++
tools/tiffcp.c | 8 ++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/tools/tiffcp.c b/tools/tiffcp.c
index 142cbb0ecfc2..6d96bb89f555 100644
--- a/tools/tiffcp.c
+++ b/tools/tiffcp.c
@@ -1163,7 +1163,7 @@ bad:
static void
cpStripToTile(uint8* out, uint8* in,
- uint32 rows, uint32 cols, int outskew, int inskew)
+ uint32 rows, uint32 cols, int outskew, int64 inskew)
{
while (rows-- > 0) {
uint32 j = cols;
@@ -1320,7 +1320,7 @@ DECLAREreadFunc(readContigTilesIntoBuffer)
tdata_t tilebuf;
uint32 imagew = TIFFScanlineSize(in);
uint32 tilew = TIFFTileRowSize(in);
- int iskew = imagew - tilew;
+ int64 iskew = (int64)imagew - (int64)tilew;
uint8* bufp = (uint8*) buf;
uint32 tw, tl;
uint32 row;
@@ -1348,7 +1348,7 @@ DECLAREreadFunc(readContigTilesIntoBuffer)
status = 0;
goto done;
}
- if (colb + tilew > imagew) {
+ if (colb > iskew) {
uint32 width = imagew - colb;
uint32 oskew = tilew - width;
cpStripToTile(bufp + colb,
--
2.12.0

@ -1,46 +0,0 @@
From cb840651f037c59895b67d44b46a34127bb082dd Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 13:00:03 +0000
Subject: [PATCH] * tools/tiffcrop.c: fix integer division by zero when
BitsPerSample is missing. Reported by Agostina Sarubo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2619
---
ChangeLog | 6 ++++++
tools/tiffcrop.c | 8 ++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
index 9122aab37530..21dd08720d77 100644
--- a/tools/tiffcrop.c
+++ b/tools/tiffcrop.c
@@ -1164,7 +1164,7 @@ writeBufferToSeparateStrips (TIFF* out, uint8* buf,
tdata_t obuf;
(void) TIFFGetFieldDefaulted(out, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);
- (void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps);
+ (void) TIFFGetFieldDefaulted(out, TIFFTAG_BITSPERSAMPLE, &bps);
bytes_per_sample = (bps + 7) / 8;
if( width == 0 ||
(uint32)bps * (uint32)spp > TIFF_UINT32_MAX / width ||
@@ -4760,7 +4760,7 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8 *obuf, uint32 length,
int i, bytes_per_sample, bytes_per_pixel, shift_width, result = 1;
uint32 j;
int32 bytes_read = 0;
- uint16 bps, planar;
+ uint16 bps = 0, planar;
uint32 nstrips;
uint32 strips_per_sample;
uint32 src_rowsize, dst_rowsize, rows_processed, rps;
@@ -4780,7 +4780,7 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8 *obuf, uint32 length,
}
memset (srcbuffs, '\0', sizeof(srcbuffs));
- TIFFGetField(in, TIFFTAG_BITSPERSAMPLE, &bps);
+ TIFFGetFieldDefaulted(in, TIFFTAG_BITSPERSAMPLE, &bps);
TIFFGetFieldDefaulted(in, TIFFTAG_PLANARCONFIG, &planar);
TIFFGetFieldDefaulted(in, TIFFTAG_ROWSPERSTRIP, &rps);
if (rps > length)
--
2.12.0

@ -1,29 +0,0 @@
From 76c4b35f114bc9614700accd22cc4a0b4b6b92d3 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 11:35:56 +0000
Subject: [PATCH] * tools/tiffcrop.c: fix readContigStripsIntoBuffer() in -i
(ignore) mode so that the output buffer is correctly incremented to avoid
write outside bounds. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2620
---
ChangeLog | 7 +++++++
tools/tiffcrop.c | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
index 722b132cee6d..bdcbd63ed70b 100644
--- a/tools/tiffcrop.c
+++ b/tools/tiffcrop.c
@@ -3698,7 +3698,7 @@ static int readContigStripsIntoBuffer (TIFF* in, uint8* buf)
(unsigned long) strip, (unsigned long)rows);
return 0;
}
- bufp += bytes_read;
+ bufp += stripsize;
}
return 1;
--
2.12.0

@ -1,49 +0,0 @@
From d7045ed1501ec99c4e56174813bb1cb5c9a559ef Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 3 Dec 2016 12:19:32 +0000
Subject: [PATCH] * tools/tiffcrop.c: add 3 extra bytes at end of strip buffer
in readSeparateStripsIntoBuffer() to avoid read outside of heap allocated
buffer. Reported by Agostina Sarubo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2621
---
ChangeLog | 7 +++++++
tools/tiffcrop.c | 14 ++++++++++++--
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
index bdcbd63ed70b..9122aab37530 100644
--- a/tools/tiffcrop.c
+++ b/tools/tiffcrop.c
@@ -4815,10 +4815,17 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8 *obuf, uint32 length,
nstrips = TIFFNumberOfStrips(in);
strips_per_sample = nstrips /spp;
+ /* Add 3 padding bytes for combineSeparateSamples32bits */
+ if( (size_t) stripsize > 0xFFFFFFFFU - 3U )
+ {
+ TIFFError("readSeparateStripsIntoBuffer", "Integer overflow when calculating buffer size.");
+ exit(-1);
+ }
+
for (s = 0; (s < spp) && (s < MAX_SAMPLES); s++)
{
srcbuffs[s] = NULL;
- buff = _TIFFmalloc(stripsize);
+ buff = _TIFFmalloc(stripsize + 3);
if (!buff)
{
TIFFError ("readSeparateStripsIntoBuffer",
@@ -4827,6 +4834,9 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8 *obuf, uint32 length,
_TIFFfree (srcbuffs[i]);
return 0;
}
+ buff[stripsize] = 0;
+ buff[stripsize+1] = 0;
+ buff[stripsize+2] = 0;
srcbuffs[s] = buff;
}
--
2.12.0

@ -1,59 +0,0 @@
From f88bfadb6d1fac1d0d081058216da659e1f5a628 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sun, 18 Dec 2016 22:28:42 +0000
Subject: [PATCH] * libtiff/tif_getimage.c: fix potential memory leaks in error
code path of TIFFRGBAImageBegin(). Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2627
---
ChangeLog | 6 ++++++
libtiff/tif_getimage.c | 21 +++++++++------------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/libtiff/tif_getimage.c b/libtiff/tif_getimage.c
index c0eb6df0b09a..2ea838556732 100644
--- a/libtiff/tif_getimage.c
+++ b/libtiff/tif_getimage.c
@@ -283,6 +283,13 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stop, char emsg[1024])
img->redcmap = NULL;
img->greencmap = NULL;
img->bluecmap = NULL;
+ img->Map = NULL;
+ img->BWmap = NULL;
+ img->PALmap = NULL;
+ img->ycbcr = NULL;
+ img->cielab = NULL;
+ img->UaToAa = NULL;
+ img->Bitdepth16To8 = NULL;
img->req_orientation = ORIENTATION_BOTLEFT; /* It is the default */
img->tif = tif;
@@ -468,13 +475,6 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stop, char emsg[1024])
photoTag, img->photometric);
goto fail_return;
}
- img->Map = NULL;
- img->BWmap = NULL;
- img->PALmap = NULL;
- img->ycbcr = NULL;
- img->cielab = NULL;
- img->UaToAa = NULL;
- img->Bitdepth16To8 = NULL;
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &img->width);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &img->height);
TIFFGetFieldDefaulted(tif, TIFFTAG_ORIENTATION, &img->orientation);
@@ -494,10 +494,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stop, char emsg[1024])
return 1;
fail_return:
- _TIFFfree( img->redcmap );
- _TIFFfree( img->greencmap );
- _TIFFfree( img->bluecmap );
- img->redcmap = img->greencmap = img->bluecmap = NULL;
+ TIFFRGBAImageEnd( img );
return 0;
}
--
2.12.0

@ -1,34 +0,0 @@
From 101253c74cde97203dab28c4f3bd0994cea5804c Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 14 Jan 2017 13:12:33 +0000
Subject: [PATCH] * tools/raw2tiff.c: avoid integer division by zero. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2631
---
ChangeLog | 5 +++++
tools/raw2tiff.c | 10 ++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/tools/raw2tiff.c b/tools/raw2tiff.c
index 7298e80a95c9..083e9ee73f0f 100644
--- a/tools/raw2tiff.c
+++ b/tools/raw2tiff.c
@@ -408,8 +408,14 @@ guessSize(int fd, TIFFDataType dtype, _TIFF_off_t hdr_size, uint32 nbands,
} else if (*width == 0 && *length == 0) {
unsigned int fail = 0;
fprintf(stderr, "Image width and height are not specified.\n");
+ w = (uint32) sqrt(imagesize / longt);
+ if( w == 0 )
+ {
+ fprintf(stderr, "Too small image size.\n");
+ return -1;
+ }
- for (w = (uint32) sqrt(imagesize / longt);
+ for (;
w < sqrt(imagesize * longt);
w++) {
if (imagesize % w == 0) {
--
2.12.0

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

Loading…
Cancel
Save