parent
5fc19dd7a8
commit
18daadacab
@ -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
|
||||
|
@ -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
|
||||
}
|
@ -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"
|
||||
}
|
@ -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 ""
|
||||
}
|
@ -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
|
||||
}
|
@ -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>
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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,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
|
||||
|
@ -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
|
||||
}
|
@ -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
|
||||
|
@ -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.
|
@ -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
|
||||
}
|
@ -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…
Reference in new issue