Sync with portage [Wed Apr 5 13:37:28 MSK 2017].

mhiretskiy 837
root 7 years ago
parent 02b3464da9
commit 97279f3298

@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz"
LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-3.0 )"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc emacs vim-syntax"
RDEPEND="sys-apps/sed

@ -14,7 +14,7 @@ SRC_URI="http://gkrellm.srcbox.net/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="2"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="gnutls hddtemp libressl lm_sensors nls ntlm ssl kernel_FreeBSD X"
RDEPEND="

@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git"
else
SRC_URI="mirror://gentoo/${P}.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"

@ -2,3 +2,4 @@ DIST tripwire-2.4.3.1.tar.gz 932665 SHA256 9744af4de7ecb1d643442eb22f08c81955649
DIST tripwire-2.4.3.2.tar.gz 967679 SHA256 25588c585f1af60958b3dce5bfc28e52c3237b2690dd5f4120e9c2f42d98fd2b SHA512 f3a3d5f12178d0766356d6280b3d993c29c1091357402661f0a4bb7676c640a147b74050c64e910c1210adef11903bde463813446e2c0ee9a34038876928bdfd WHIRLPOOL ac9812f3ec41afed5951e871d0ddad64eef3514a4cae071f414c7fa10d7318393d26107bb7007ca61554c328206b0da4790f0bc400fa7ea2159eb0b4f35e8303
DIST tripwire-2.4.3.3.tar.gz 967929 SHA256 9db1832c6ea88569b6d7fe3fe896216efeae3046cfd148a5c4102e3bbf9ac749 SHA512 977895aa169a13e786f3428386a094a56d52bf0fdc4853ac8664f0d6110774f0ff2ce4db9d5f76c52299744faa680dc03201567a458c033b2cd01df1191b96cb WHIRLPOOL 888d8676b17537895ef3c6ee2313761f78511cb092485920024595fa5dd4b61263a0125a274f52220f6f98d147a3d8122017a39965610b809d016a8ae23b4987
DIST tripwire-2.4.3.4.tar.gz 968065 SHA256 ca0828ed624791cbe0f81f47e10f35866b73695ccd264b8341e2087b63766536 SHA512 ff47443c1c0c0248808e51df65f07aa2cbcc1d0901cc1a65830db78a1e7c4aa62c82e45827cadb1ab70281a2d4194ee3c4007050652efef9e328a98bc36f2995 WHIRLPOOL 01b3a7cdbac632928e006f21546e9040a1547ac14c9aad7cfef14f24abe0a6f333d562d1442289f79cf81bdce3ae116234890381861c9da73aa3b8828a10d7f3
DIST tripwire-2.4.3.5.tar.gz 965014 SHA256 4bb0b400d8f5d7f8762ffb87a683f113f8c77186689cc63b8cedbbc628c9c33b SHA512 7aef0e7d38f4b6966a806a4e556636c7b2477f4ea5451e89f1749c1535a489c2f490ea13898edff5d7786acf572f77d04430115b8ddd4c6a03c38382feb45269 WHIRLPOOL f5f06d2f509e8047ede81226d3179f253e32aae4193817ab1000dd843f4b9810f6aacc6cd9c0bdc8a0c6835fdb11f79c85838a3b799d8c6565861d43dd433a99

@ -0,0 +1,78 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools eutils flag-o-matic
DESCRIPTION="Open Source File Integrity Checker and IDS"
HOMEPAGE="http://www.tripwire.org/"
SRC_URI="https://github.com/Tripwire/tripwire-open-source/archive/${PV}.tar.gz -> ${PF}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
IUSE="libressl ssl static +tools"
DEPEND="sys-devel/automake
sys-devel/autoconf
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)"
RDEPEND="virtual/cron
virtual/mta
ssl? ( dev-libs/openssl )"
PDEPEND="tools? ( app-admin/mktwpol )"
S="${WORKDIR}/tripwire-open-source-${PV}"
src_prepare() {
default
eautoreconf
}
src_configure() {
# tripwire can be sensitive to compiler optimisation.
# see #32613, #45823, and others.
# -taviso@gentoo.org
strip-flags
append-cppflags -DCONFIG_DIR='"\"/etc/tripwire\""' -fno-strict-aliasing
econf $(use_enable ssl openssl) $(use_enable static)
}
src_install() {
dosbin "${S}"/bin/{siggen,tripwire,twadmin,twprint}
doman "${S}"/man/man{4/*.4,5/*.5,8/*.8}
dodir /etc/tripwire /var/lib/tripwire{,/report}
keepdir /var/lib/tripwire{,/report}
exeinto /etc/cron.daily
doexe "${FILESDIR}"/tripwire
dodoc ChangeLog policy/policyguide.txt TRADEMARK \
"${FILESDIR}"/tripwire.txt
insinto /etc/tripwire
doins "${FILESDIR}"/twcfg.txt policy/twpol-GENERIC.txt
fperms 750 /etc/cron.daily/tripwire
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "Tripwire needs to be configured before its first run. You can"
elog "do this by manually editing the twpol-GENERIC.txt file shipped with"
elog "the package to suit your needs. A quickstart guide is provided"
elog "in tripwire.txt file to help you with this."
elog "To configure tripwire automatically, you can use the twsetup.sh"
elog "script provided by the app-admin/mktwpol package. This package is"
elog "installed for you by the \"tools\" USE flag (which is enabled by"
elog "default."
else
elog "Maintenance of tripwire policy files as packages are added"
elog "and deleted from your system can be automated by the mktwpol.sh"
elog "script provided by the app-admin/mktwpol package. This package"
elog "is installed for you if you append \"tools\" to your USE flags"
fi
}

@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="23"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
REQUIRED_USE="?? ( aqua X )"

@ -1,6 +1,6 @@
--- configure.orig 2004-05-12 09:26:44.000000000 +0900
+++ configure 2004-05-12 09:27:06.000000000 +0900
@@ -1077,3 +1077,3 @@
--- a/configure 2004-05-12 09:26:44.000000000 +0900
+++ b/configure 2004-05-12 09:27:06.000000000 +0900
@@ -1077,3+1077,3 @@
rm -f conftest*
-test "$ac_cv_search_tgetstr" = "no" && for i in curses ncurses termlib; do
+test "$ac_cv_search_tgetstr" = "no" && for i in ncurses termlib; do

@ -0,0 +1,70 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools
MY_P="${P/_beta/beta}"
DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
LICENSE="Emacs"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="canna"
RDEPEND="
sys-libs/ncurses:0=
!dev-java/nailgun
canna? ( app-i18n/canna )"
DEPEND="
${RDEPEND}
sys-apps/sed"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${MY_P}-ncurses.patch"
"${FILESDIR}/${MY_P}-configure.patch"
)
src_prepare() {
default
sed -i -e "/NO_BACKUP/s/undef/define/" config.h || die "sed failed"
pushd sys/unix > /dev/null || die
eautoconf
popd > /dev/null || die
cp sys/unix/configure . || die
}
src_configure() {
econf $(use_enable canna)
}
src_compile() {
emake CC="$(tc-getCC)"
}
src_install() {
dobin ng
dodoc docs/* MANIFEST dot.ng
insinto /usr/share/ng
doins bin/*
insinto /etc/skel
newins dot.ng .ng
}
pkg_postinst() {
elog
elog "If you want to use user Config"
elog "cp /etc/skel/.ng ~/.ng"
elog "and edit your .ng configuration file."
elog
}

@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE="games X"
PDEPEND="virtual/emacs"

@ -1 +1,2 @@
DIST free42-1.5.13.tgz 22684310 SHA256 27caa84aa77257290ae27dfe04236bbf75126b197067a9c1cf7723cccbe65fd9 SHA512 b12b5be7a7d8241cb38046bef163143e71d9910c829179509daa00c47077a12c9b506bb0203bad1202e0200ae3a73cf4171d1dedd401c28fd18f1129199c4c1e WHIRLPOOL 588ea795af49fc235b4250f5f648930cb09b048cb7d44182c72622b285b76110816a20228d96ab94ee3b2bb8d55690d24d136e1524cb24630866161202d7373f
DIST free42-1.5.15.tgz 22683600 SHA256 2dda0558141cd26d4b04aa96608c85eadb0770c4f2b660889d4b2a6f3a880c21 SHA512 fc09fcb0efaa6502776517b22cd0015ea7ac7d128b80bd740f64272b6c7aa41f5509dd7e0166dc18043790b4bef725a37a6a7210308a67aeaed02622f9e6daef WHIRLPOOL 5f6f5b33ccb2c320515fbc4e67ee52c6bc6c25fdbc8cf24c05772a90be87fed03f48dfa363b195071c4bc722428fb116d246e9df2eaddba20742648891ad7769

@ -0,0 +1,12 @@
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

@ -0,0 +1,58 @@
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

@ -0,0 +1,47 @@
# 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
}

@ -0,0 +1,13 @@
diff --git a/old/trainer.cpp b/zinnia-0.06/trainer.cpp
index fdb044c..8b21e6c 100644
--- a/old/trainer.cpp
+++ b/zinnia-0.06/trainer.cpp
@@ -103,7 +103,7 @@ class TrainerImpl: public Trainer {
if (!fn) {
return false;
}
- x_.push_back(std::make_pair<std::string, FeatureNode *>(y, fn));
+ x_.push_back(std::make_pair(y, fn));
return true;
}

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -18,6 +18,7 @@ DOCS=( AUTHORS ChangeLog NEWS README )
PATCHES=(
"${FILESDIR}/${P}-ricedown.patch"
"${FILESDIR}/${P}-perl.patch"
"${FILESDIR}/${P}-gcc6.patch"
)
AUTOTOOLS_AUTORECONF=yes

@ -1 +0,0 @@
DIST hxtools-20110721.tar.xz 270020 SHA256 5f5642c75f94b207fa32088bdf73429a6b447af2a81b139d977435fbb2c32eed SHA512 e3dcd6b1add6824ee38ed140a6c422315afc7cec5ebd352c684c506ef25638885393b2dff3582c317862a6ae8de97105abf95b3fc16832d3247f93b2c7283c26 WHIRLPOOL 0c36c7b3c618ef3c51a0dec926536f2a8d07259108f99dde265a4032b802331b4f98f1682d184ea68cb38c127157b72dbdf5df06c2967352dd1488c1f8a6e250

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mattst88@gentoo.org</email>
<name>Matt Turner</name>
</maintainer>
</pkgmetadata>

@ -1,36 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=4
inherit toolchain-funcs
DESCRIPTION="Open file lister (replaces fuser and lsof -m)"
HOMEPAGE="http://jengelh.medozas.de/projects/hxtools/"
SRC_URI="http://jftp.medozas.de/hxtools/hxtools-${PV}.tar.xz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
DEPEND=">=sys-libs/libhx-3.4"
RDEPEND="${DEPEND}"
S="${WORKDIR}"/hxtools-${PV}
src_configure() {
# We're just building a single utility. Don't bother
# with the build system.
:
}
src_compile() {
CC=$(tc-getCC) CFLAGS=${CFLAGS} LDLIBS="-lHX" \
emake V=1 -C sadmin ofl
}
src_install() {
dobin sadmin/ofl
doman doc/ofl.1
}

@ -16,7 +16,7 @@ LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}

@ -14,7 +14,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="bazaar cvs darcs +git gpg g-sorcery mercurial sqlite squashfs subversion sync-plugin-portage test"
DEPEND="test? ( dev-vcs/subversion )

@ -16,7 +16,7 @@ SRC_URI="mirror://debian/pool/main/p/po4a/${PN}_${PV}.orig.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="dev-perl/SGMLSpm

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -8,7 +8,7 @@ inherit vim-plugin
DESCRIPTION="vim plugin: metapackage for all extra syntax packages"
HOMEPAGE="http://www.vim.org/"
LICENSE="metapackage"
KEYWORDS="~amd64 ~mips ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~mips ~ppc ppc64 x86"
SRC_URI=""
IUSE=""

@ -1,35 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
inherit vim-plugin
DESCRIPTION="vim plugin: metapackage for all extra syntax packages"
HOMEPAGE="http://www.vim.org/"
LICENSE="metapackage"
KEYWORDS="amd64 ~mips ~ppc ppc64 x86"
SRC_URI=""
IUSE=""
RDEPEND="${RDEPEND}
app-vim/bnf-syntax
app-vim/brainfuck-syntax
app-vim/cfengine-syntax
app-vim/dhcpd-syntax
app-vim/ebnf-syntax
app-vim/eruby-syntax
app-vim/fluxbox-syntax
app-vim/gentoo-syntax
app-vim/gtk-syntax
app-vim/help-extra-syntax
app-vim/nagios-syntax
app-vim/ntp-syntax
app-vim/pam-syntax
app-vim/pgn-syntax
app-vim/selinux-syntax
app-vim/wikipedia-syntax
app-vim/xquery-syntax
app-vim/xsl-syntax"
src_install() {
:
}

@ -0,0 +1 @@
DIST gnatcoll-gpl-2016-src.tar.gz 5687584 SHA256 8cc7cc01db548447a78e3d6d35a35867514beb625009abbcd3be124c1e259b3b SHA512 8cf06e7c5d58d3b159855534791e7969882e04856ba9d03982a63dcfc630f5b5910c6cad57fec9b00c3d04008b0cb0a1fb238e349766348fa4548868238ede8a WHIRLPOOL d37c12bb6242d92104e89b7c1d9a9cd94d802137ee32faa58687700a822db69e2739372376d12032228843c2a5356f8085d6072715b8bc1bda411039d20b55f5

@ -0,0 +1,149 @@
--- gnatcoll-gpl-2016-src/Makefile.old 2017-01-20 19:39:07.131398270 +0100
+++ gnatcoll-gpl-2016-src/Makefile 2017-01-20 19:42:30.088728844 +0100
@@ -34,19 +36,19 @@
@${RM} src/gnatcoll-atomic.adb
@echo "====== Building $(@F) libraries ======"
- ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full
+ ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full -cargs ${ADAFLAGS}
@# Need to build libgnatcoll_gtk separately, because its project files
@# requires gtkada.gpr, which might not exist on the machine.
ifeq (${WITH_GTK},yes)
- ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk
+ ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk -cargs ${ADAFLAGS}
endif
@# Build the tools (the list is the project\'s Main attribute)
@# They are not build as part of the above because only the Main from
@# gnatcoll_full.gpr are build. We could use aggregate projects to
@# speed things up.
- ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools
+ ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools -cargs ${ADAFLAGS}
#######################################################################
# install
@@ -53,7 +53,7 @@
#######################################################################
# install
-GPRINST_OPTS=-p -f --prefix=${prefix} --install-name=gnatcoll \
+GPRINST_OPTS=-p -f --prefix=$(DESTDIR)${prefix} --install-name=gnatcoll \
--exec-subdir=${bindir} --project-subdir=lib/gnat \
--build-var=LIBRARY_TYPE --build-name=$(@F) -XLIBRARY_TYPE=$(@F)
@@ -73,9 +73,9 @@
${GPRINSTALL} --mode=usage ${GPRINST_OPTS} -Psrc/gnatcoll_tools
install_gps_plugin: force
- mkdir -p $(prefix)/share/gps/plug-ins
+ mkdir -p $(DESTDIR)$(prefix)/share/gps/plug-ins
(cd distrib/ ; tar cf - gnatcoll) | \
- (cd $(prefix)/share/gps/plug-ins ; tar xf -)
+ (cd $(DESTDIR)$(prefix)/share/gps/plug-ins ; tar xf -)
# Regenerate part of the sources. Unfortunately, this can be run only after
# we have build GNATCOLL, and then its tools, even though GNATCOLL itself
--- gnatcoll-gpl-2015-src/src/gnatcoll_gmp.gpr.in.old 2017-01-07 08:52:14.921110195 +0100
+++ gnatcoll-gpl-2015-src/src/gnatcoll_gmp.gpr.in 2017-01-07 08:55:35.718946607 +0100
@@ -24,6 +24,7 @@
package Compiler is
for Switches ("Ada") use Gnatcoll_Shared.Compiler'Switches ("Ada");
+ for Driver ("C") use External ("CC", "gcc");
for Switches ("C") use Gnatcoll_Shared.Compiler'Switches ("C")
& (@GMP_CFLAGS_GPR@);
end Compiler;
--- gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr.old 2017-01-07 08:58:01.361112843 +0100
+++ gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr 2017-01-07 08:58:23.653687385 +0100
@@ -26,6 +26,7 @@
package Compiler is
for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+ for Driver ("C") use External ("CC", "gcc");
for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C")
& GnatColl_Shared.Iconv_Include;
end Compiler;
--- gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr.old 2017-01-07 09:00:17.146448202 +0100
+++ gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr 2017-01-07 09:00:44.884885281 +0100
@@ -60,8 +60,9 @@
-- force full optimization for sqlite, we do not debug it
-- in any case.
- "-O3") & Gnatcoll_Shared.Sqlite_Switches;
+ "-O3", "-fPIC") & Gnatcoll_Shared.Sqlite_Switches;
end case;
+ for Driver ("C") use External ("CC", "gcc");
end Compiler;
package Linker is
--- gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr.old 2017-01-07 09:05:09.177756146 +0100
+++ gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr 2017-01-07 09:05:34.282279733 +0100
@@ -38,6 +38,7 @@
for Switches ("C") use
GnatColl_Shared.Compiler'Switches ("C");
end case;
+ for Driver ("C") use External ("CC", "gcc");
end Compiler;
package Linker is
--- gnatcoll-gpl-2015-src/src/gnatcoll_python.gpr.in.old 2017-01-07 09:12:30.490399897 +0100
+++ gnatcoll-gpl-2015-src/src/gnatcoll_python.gpr.in 2017-01-07 09:12:53.111976591 +0100
@@ -30,7 +30,8 @@
GnatColl_Shared.Compiler'Switches ("Ada");
for Switches ("C") use
- ("-g", "-O2") & GnatColl_Shared.Python_Cflags;
+ ("-g", "-O2", "-fPIC") & GnatColl_Shared.Python_Cflags;
+ for Driver ("C") use External ("CC", "gcc");
end Compiler;
package Linker is
--- gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in.old 2017-01-20 19:50:03.222808656 +0100
+++ gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in 2017-01-20 19:50:28.200399274 +0100
@@ -67,7 +67,7 @@
when "Production" =>
for Switches ("Ada") use ("-O2", "-gnatn", "-gnatws");
- for Switches ("C") use ("-O2", "-Wunreachable-code");
+ for Switches ("C") use ("-O2", "-Wunreachable-code", "-fPIC");
end case;
case Syslog is
--- gnatcoll-gpl-2016-src/src/gnatcoll_gtk.gpr.in.old 2017-01-20 19:53:16.647607400 +0100
+++ gnatcoll-gpl-2016-src/src/gnatcoll_gtk.gpr.in 2017-01-20 19:53:57.302925708 +0100
@@ -63,11 +63,12 @@
for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
for Switches ("C") use
- ("-g", "-O2")
+ ("-g", "-O2", "-fPIC")
& GnatColl_Shared.Python_Cflags
& GnatColl_Shared.Pygtk_Include
& GnatColl_Shared.PyGobject_Include
& Gtk_Include;
+ for Driver ("C") use External ("CC", "gcc");
end Compiler;
package Linker is
--- gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr.old 2017-02-04 15:56:11.685079607 +0100
+++ gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr 2017-02-04 15:57:00.383221978 +0100
@@ -49,6 +49,8 @@
package Builder renames GnatColl_Shared.Builder;
package Compiler is
+ for Driver ("C") use External ("CC", "gcc");
+
for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
--- gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr.old 2017-02-04 15:58:41.008450044 +0100
+++ gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr 2017-02-04 15:59:02.815066080 +0100
@@ -64,6 +64,7 @@
for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
+ for Driver ("C") use External ("CC", "gcc");
case GnatColl_Shared.Atomics is
when "intrinsic" =>

@ -0,0 +1,83 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib multiprocessing
MYP=${PN}-gpl-${PV}
DESCRIPTION="GNAT Component Collection"
HOMEPAGE="http://libre.adacore.com"
SRC_URI="http://mirrors.cdn.adacore.com/art/5739942ac7a447658d00e1e7 -> ${MYP}-src.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="gmp iconv postgresql projects pygobject python readline +shared sqlite static syslog"
RDEPEND="dev-lang/gnat-gpl
gmp? ( dev-libs/gmp:* )
postgresql? ( dev-db/postgresql:* )
pygobject? (
|| (
dev-python/pygobject:2
dev-python/pygobject:3
)
)
python? ( dev-lang/python:2.7 )
sqlite? ( dev-db/sqlite )
projects? (
dev-ada/gprbuild[static?]
dev-ada/gprbuild[shared?]
)"
DEPEND="${RDEPEND}
dev-ada/gprbuild"
S="${WORKDIR}"/${MYP}-src
PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
src_configure() {
local myConf=""
if use sqlite; then
myConf="$myConf --with-sqlite=$(get_libdir)"
else
myConf="$myConf --without-sqlite"
fi
econf \
$(use_with gmp) \
$(use_with iconv) \
$(use_with postgresql) \
$(use_enable projects) \
$(use_enable pygobject) \
$(use_with python) \
$(use_enable readline gpl) \
$(use_enable readline) \
$(use_enable syslog) \
--with-python-exec=python2 \
--enable-shared-python \
--without-gtk \
--disable-pygtk \
$myConf
}
src_compile() {
if use shared; then
emake PROCESSORS=$(makeopts_jobs) build_library_type/relocatable
fi
if use static; then
emake PROCESSORS=$(makeopts_jobs) build_library_type/static
fi
}
src_install() {
if use shared; then
emake DESTDIR="${D}" install_library_type/relocatable
fi
if use static; then
emake DESTDIR="${D}" install_library_type/static
fi
emake DESTDIR="${D}" install_gps_plugin
einstalldocs
}

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
<use>
<flag name="pygobject">Adds support for pygobject</flag>
<flag name="postgresql">Adds support for postgresql</flag>
<flag name="projects">Adds support for projects</flag>
<flag name="shared">Build shared library</flag>
<flag name="static">Build static library</flag>
</use>
<longdescription lang="en">
The reusable library known as the GNAT Component Collection (GNATColl) is based on one main principle: general-purpose packages that are part of the GNAT technology should also be available to GNAT user application code. The compiler front end, the GNAT Programming Studio (GPS) Interactive Development Environment, and the GNAT Tracker web-based interface all served as sources for the components.
The GNATColl components complement the predefined Ada and GNAT libraries and deal with a range of common programming issues including string and text processing, memory management, and file handling. Several of the components are especially useful in enterprise applications.
</longdescription>
</pkgmetadata>

@ -14,7 +14,7 @@ SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.gz"
LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
SLOT="1"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug doc static-libs"

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

@ -1,4 +1 @@
DIST boost_1_59_0.tar.gz 83709983 SHA256 47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae WHIRLPOOL b316c2b5e445010766b7ce3f6582565177e1ed763381912dd6b21a882176e19e382c929e1f5a2419e2ed701058c56320cdbf8487234835a00fb94e7115059b67
DIST percona-xtrabackup-2.4.4.tar.gz 54060567 SHA256 e3ec54eb468482503bccdd1619136e798798086042e9eb7c6daa2fb9b78783a3 SHA512 aa013aa8f2bef49c66fd14a980444039bdbabb17c09efec3119d5fc074623d6c5f7492602c759f1d51e3a01898729e1209d2195081b537f679a3713b37a7cf0d WHIRLPOOL 77ef90b028cfcec60b0aa7dea4aab2bbebb3be8f18ae50406af81c1cdfe6339f08b29eded004ca6b91ce86303ef694803e34dc5c4d723606b34c1b95120bd8f7
DIST percona-xtrabackup-2.4.5.tar.gz 54104240 SHA256 1c8c457e1912525f6c3079a8c5b2948dbcf693d2b86c8f57d13b4a446cec2036 SHA512 07d93ea7de987a06687cc772b32dff13e75e34061163bf990abe640015f765d9fe4deb6d78ddb91a667ddb312448400a5e7e1114cf955837584b5fd16821c66b WHIRLPOOL a3be4ee0eb39c23aeabf1f70dadecf23fda7e3c2d2b033097c66cab7616a84a2e5703c64c1738c3c251297c4c64930590610cb99001f65cd76ef71c204d192f8
DIST percona-xtrabackup-2.4.6.tar.gz 54108124 SHA256 1e21ab097550901d8f2fa3dc37402ba6a994afa0722760f8f19cb369565e5e8b SHA512 7ed16ba73d4232cc5f40f3dd4674087b65326b42f3f0d9cd462a1eef1dd2c41c582cb71fff49998d9e65f71322e2b26d0708b2ba36da22f54f456679b9a544e5 WHIRLPOOL 3d53e7a2b7b61c0dd779d723a3efb4d1ab4d98aff751a325e6028c0710a1f4de969d70f62c65a8a0e67f0d95643a0245524fb37708602ef303f21674c5f92fe3

@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hydrapolic@gmail.com</email>
<name>Tomáš Mózes</name>
</maintainer>
<maintainer type="person">
<email>manwe@manwe.pl</email>
<name>Michał Zając</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="system-boost">Use system boost (dev-libs/boost) instead of bundled one</flag>
</use>
<upstream>
<remote-id type="github">percona/percona-xtrabackup</remote-id>
</upstream>
<maintainer type="person">
<email>hydrapolic@gmail.com</email>
<name>Tomáš Mózes</name>
</maintainer>
<maintainer type="person">
<email>manwe@manwe.pl</email>
<name>Michał Zając</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">percona/percona-xtrabackup</remote-id>
</upstream>
</pkgmetadata>

@ -1,53 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Hot backup utility for MySQL based servers"
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz
!system-boost? ( http://jenkins.percona.com/downloads/boost/boost_1_59_0.tar.gz )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="system-boost"
DEPEND="system-boost? ( =dev-libs/boost-1.59.0 )
app-editors/vim-core
dev-libs/libaio
dev-libs/libev
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
dev-python/sphinx
net-misc/curl
sys-libs/zlib"
RDEPEND="${DEPEND}
!dev-db/xtrabackup-bin
dev-perl/DBD-mysql"
src_configure() {
local my_args
if ! use system-boost; then
my_args="-DDOWNLOAD_BOOST=0 -DWITH_BOOST=${WORKDIR}"
fi
cmake -DBUILD_CONFIG=xtrabackup_release $my_args || die
}
src_compile() {
emake
}
src_install() {
local p="storage/innobase/xtrabackup"
for tool in xbcloud xbcrypt xbstream xtrabackup; do
dobin ${p}/src/${tool}
done
dosym xtrabackup /usr/bin/innobackupex
doman ${p}/doc/source/build/man/*
}

@ -1,53 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Hot backup utility for MySQL based servers"
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz
!system-boost? ( http://jenkins.percona.com/downloads/boost/boost_1_59_0.tar.gz )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="system-boost"
DEPEND="system-boost? ( =dev-libs/boost-1.59.0 )
app-editors/vim-core
dev-libs/libaio
dev-libs/libev
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
dev-python/sphinx
net-misc/curl
sys-libs/zlib"
RDEPEND="${DEPEND}
!dev-db/xtrabackup-bin
dev-perl/DBD-mysql"
src_configure() {
local my_args
if ! use system-boost; then
my_args="-DDOWNLOAD_BOOST=0 -DWITH_BOOST=${WORKDIR}"
fi
cmake -DBUILD_CONFIG=xtrabackup_release $my_args || die
}
src_compile() {
emake
}
src_install() {
local p="storage/innobase/xtrabackup"
for tool in xbcloud xbcrypt xbstream xtrabackup; do
dobin ${p}/src/${tool}
done
dosym xtrabackup /usr/bin/innobackupex
doman ${p}/doc/source/build/man/*
}

@ -23,7 +23,6 @@ DEPEND="
dev-libs/libevent:0=
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
dev-libs/openssl:0=
dev-python/sphinx
net-misc/curl
sys-libs/zlib"

@ -1,53 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Hot backup utility for MySQL based servers"
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz
!system-boost? ( http://jenkins.percona.com/downloads/boost/boost_1_59_0.tar.gz )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="system-boost"
DEPEND="system-boost? ( =dev-libs/boost-1.59.0 )
app-editors/vim-core
dev-libs/libaio
dev-libs/libev
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
dev-python/sphinx
net-misc/curl
sys-libs/zlib"
RDEPEND="${DEPEND}
!dev-db/xtrabackup-bin
dev-perl/DBD-mysql"
src_configure() {
local my_args
if ! use system-boost; then
my_args="-DDOWNLOAD_BOOST=0 -DWITH_BOOST=${WORKDIR}"
fi
cmake -DBUILD_CONFIG=xtrabackup_release $my_args || die
}
src_compile() {
emake VERBOSE=1
}
src_install() {
local p="storage/innobase/xtrabackup"
for tool in xbcloud xbcrypt xbstream xtrabackup; do
dobin ${p}/src/${tool}
done
dosym xtrabackup /usr/bin/innobackupex
doman ${p}/doc/source/build/man/*
}

@ -1,30 +1,9 @@
DIST sqlite-autoconf-3120000.tar.gz 2374101 SHA256 53ecdbb5287af673eca3710c5f6c2305e73bb2d034f2a28770bea2be92ed269e SHA512 84a9107ca9045ddc724d7e37dfe2b1dc00a106769260c7bd429a95beedc46a906985b65e0b2bf597de23dd56d132b9ef6888a8c4e5f8a731c8a5c026b971d89e WHIRLPOOL 4ec76b383670f2ee9c50870587696a3c86357161344851b487f54a03c668dac8c4272738b44e5a4048dd00bf2b3122904c53b6d2195f9b48aef3ad928f34b85b
DIST sqlite-autoconf-3120100.tar.gz 2374576 SHA256 1c038519862b3983b0475f3ed3143ce4bbfcd21bfbd0741192f415838c831a7c SHA512 eb0b892bb6a1783df9b712d5f78c9f5fb5aa8ff1b1735fd2806e96b1c04e2a5f87b2e47469185195611a5cf6c446ec32935e9ae0b01734383a8fefc1bcaf5842 WHIRLPOOL 0284241a3fd6dbee16ba5fe4c1a0dc15b1b3134bd39ba8a2219c2da4e426e3572809459bbdc8bbf3fa4ea055406b85c547d8e7f05afcb57baa712653ce0d6f64
DIST sqlite-autoconf-3120200.tar.gz 2374804 SHA256 fd00770c9afd39db555c78400e52f55e8bd6568c78be23561abb472a22d09abb SHA512 e56b8d5b8fb41d27437659db669259198663c266c0b3faf44ba9b130441550fb79bd040e6488f56280b33230d9cf4e51c7906f968ffdd36206354bfabc4b6eb4 WHIRLPOOL bd1231f0cce91281c9e42338ae698a06446078d2070f4f16b5472ed4004dbf1913339a3f0e5a34d87d0e71390a130c347f3c97353967530b65b23e1492664b7e
DIST sqlite-autoconf-3130000.tar.gz 2459805 SHA256 e2797026b3310c9d08bd472f6d430058c6dd139ff9d4e30289884ccd9744086b SHA512 c2547ff9a144c46829344058b4f8dcc5b8c9c823cbc667be2944dc7beecb9cc213858cc9ce302a763200278397d9a0fc6bb35c542028a124ef0980fedd574c2f WHIRLPOOL b9bcfb2eecf30719f7a673d569949b4e497c9682de08ca6f0ccc6c67a8f1541a51e88108bebde94a14802516b114c9f8cad83fbdbb130774b3082a8107657255
DIST sqlite-autoconf-3140100.tar.gz 2473610 SHA256 bc7182476900017becb81565ecea7775d46ab747a97281aa610f4f45881c47a6 SHA512 14d78eea1aef5bd143f942b88f01ef2c1ef58aeac6c0a10c0807761ac5301b71db7d787f82ba8215d804b80c115ee4800072d4aa86616d04d01aaf529e168461 WHIRLPOOL b43a9397b24b3cd6841bf5468d03d4ca10805c355df5afa6b0e69b6cf5d924f1e11e03b5b78549f9e21028d5a1ba2467707e84eb2e2955df21a59abd464dacb2
DIST sqlite-autoconf-3140200.tar.gz 2472940 SHA256 644f0c127f7d0cbe8765b9bbdf9ed09d6a2f2b9dfba48ddfd8ca0a42fdb5b3fc SHA512 02c5ca3073e29307f842af3305793dd6251d2ac43ce3f37b5b9402d6582a6bda56a41f82b130d03997ebb3cc109d6ab7baa9a946c03e74ae5158426bc154fd70 WHIRLPOOL c98f2b004838e5b767704248fdc5afd0428559155838240943861edd6e4a20121f81e24fca672cd8408c9c6907ef4e5d6c228c167ab7b3a0670b787420006377
DIST sqlite-autoconf-3150100.tar.gz 2491350 SHA256 5dfa89b7697ee3c2ac7b44e8e157e7f204bf999c866afcaa8bb1c7ff656ae2c5 SHA512 516d683fb64a6a0ef170d718059420c9b0023bffd75780194d9c06fab1142a749700fafd83577c81dfc7a7a21eee955df9a879f8c2f818f542c7adb968daa0ed WHIRLPOOL 550a7a1e85860ab656ad78d7bfb61d859cc146343caf5b59009b29ee206a635725a0d65b261b08f4430192f064a01cc35a4088946275f4f239aa821622b8fd8c
DIST sqlite-autoconf-3150200.tar.gz 2491735 SHA256 07b35063b9386865b78226cdaca9a299d938a87aaa8fdc4d73edb0cef30f3149 SHA512 9620f03bbd14a15063378656567df544245f62255ed36cca683b3b92b6eb48e83c6ca09bbf904b916c1c7504b69f0332860923daabb25c94b2a46434e2dcb19d WHIRLPOOL 0293b8d50082d8fdceef67fe3f9c6e827bf5df25d92ecd4651af468848288e2faea657d519d6c3facc45d760e9dcbd89d60dd3271b76396b6f358e72eb57554d
DIST sqlite-autoconf-3160200.tar.gz 2508179 SHA256 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615 SHA512 83bdd588504f265bbe93fb98a33a292aff5618c14f94d521c8557efbb5f777e82dfbb2d186cbfd4c628ee9522b1fcb73857e24ca2318fa34af3a3f9540e72b9a WHIRLPOOL 850a5051739f65eade0ee5740641a0503870f88d1ebdb40cab36b68d956896270ed59e387d57db74eede5ecd7fc9b3c14bc5841ff02e17eb50abc4701eba18fc
DIST sqlite-autoconf-3170000.tar.gz 2515143 SHA256 a4e485ad3a16e054765baf6371826b5000beed07e626510896069c0bf013874c SHA512 bebf2693ade1c99b6a178bbe663f64911bf7751932a2524506994cbbb19ab254e7febe3693a76084e55853c1ea85db9e4ece87192422583555fbe569915a2ca8 WHIRLPOOL c3ddeb9691470dfd10950ef36bca8f05f06faa171e3ee87da66d431ba364b7dd903b1350b8ab1aae445a2696ea56dd3f0c50e07d25bc83a09d673a9b92c84e3f
DIST sqlite-doc-3120000.zip 5402611 SHA256 346d9d56a0193d9396948192b7eca9e45c2adfeea6bbf71df62502830da510f3 SHA512 7879d006e528d692ea5718f27d03e2dfe2a5e54aa135be983b992836102720df4dc690d84795115a25ed19a663e895a3f3f8a59d0de079c451d215e07081281e WHIRLPOOL 00f5bc4b82af1ba8d43ae4d0761dacd2e608009812a12fee9aedd333baec9b36f74542c60de4acacd19f5ef898d3bd57dfb705f3b21219ba3862ca91c2f76402
DIST sqlite-doc-3120100.zip 5410493 SHA256 dbe53c076922c711a467dde57432583fbf9a12eac57cb75f6116a310880eb088 SHA512 d0117618d97744255248b9160816203147ba2afdb0bea5fe02d5e464541e09bc9147189317c6f849cc56059d6ae96e3e4b2a30cd8d0bc7b0e1ecacb573cfcdd4 WHIRLPOOL e3f054eda83301b9e4b5170bf9c56895756e4ac78a1c6256467c990fafccaeadec5f7ca54f1bf118bcb950f25db63df6c0972a138d36a10a0a9cfdf688eb207b
DIST sqlite-doc-3120200.zip 5416790 SHA256 67c640c4b01b961016717db61e3e43c63c33248c78ce0de9f10b88ea7ce97670 SHA512 4ded937565b2d9b63ae55495d4b536bc0056e0d9aa7119ee54ddea127c42ba7de17986db7b85c172043fab1112132cbc126a102b248770fca6cde9a8fda438ae WHIRLPOOL 7eefecb6d0450c85ec3f30cdeb853117f4067e1bace7d3c0524e5c6cb13d2e31772211aec8562f972491da413d9bd79022bc29c16968b086562e7f17bff984eb
DIST sqlite-doc-3130000.zip 5550186 SHA256 510606a9cdd89814b2d44e7b7f284ebb0a58153e1800de6daadfab445190f79c SHA512 0bf4544a07bd92533bc248dc16ed43c4fcad870ab535591618d3006f38c2741a8c0ed1da082444ea1af2f57936575c678bc12b651252426b908660023b36cd39 WHIRLPOOL 78fd5de701224e39d07fbb03a9193dff45237845b215d83f27a623f289d9da0df7082d53115e90474856b775d350ee3f9d2970ca2c1a4a33b24543de06fd3b9a
DIST sqlite-doc-3140100.zip 5689913 SHA256 036203c71ca5796fd80b9d9d3bd710f698da3d5393d4df5c7cdf5468258c9ec6 SHA512 4a5292f6b6a117a0bf7ef8446c9748cde534d6a6f3a02a12fc4eb4cddcf1d11479bc4e2eebdb21866a1994143e02fd66b79a08b98acfdb3390689cbe425b0b6e WHIRLPOOL 4c82e3e950396504846a14d62c01a94c9063978b9aa42656adbb0219dbd6f89a4d7703ee2a4ed7265b7875f612f2b0869b098b09a2bfcafa01e7694dfaa57c06
DIST sqlite-doc-3140200.zip 5386739 SHA256 421d2ea3d288dd301ec98155a6765d6bc8ce93b9a3ae82bac56a21cdd91190c2 SHA512 4acd9818cc864332cbc57c9533d45c26d62f5c62ab9dff3f0fb1bb98530fe974f83699ccc0b098b14bcbfd718a2aa6b4d3b7c2ca880e4097d9b0833b8d902069 WHIRLPOOL b2593b17da42d41425d5579d36193945dc20d7bc11b271c0d94f005fef06352d3bf8b1c2963b9b811ba8f46190f35a9ea61080c09e765b28e9c7330ca613f3e6
DIST sqlite-doc-3150100.zip 5461172 SHA256 121363c75da7f6c8988f70dfa5bed5f0f06b5c9d37b4e2230316c55a80760825 SHA512 fa58e69d74cc816e4541385ad0a62b1987eb1abf4cb325867500030b4fa8a5058a63133314aef685a2158e9171f98a557d555e99a13417bc7bf8240da7feda30 WHIRLPOOL 6eac94d6c71b28850592a9135a487d0d69a74c7d366f072d02f02de2091fe8169469b4ccba0605d555d10c5549cca6138d5938ad03dc5b453d3a342fb43d8101
DIST sqlite-doc-3150200.zip 5464066 SHA256 d231fb3a7c890d2107b60859d4f626abfcd5cf82e7f3abc1f32dc6748ac54421 SHA512 c0fd3325c4d73c86a07abe126a317e4b3acbf5dfe88c0e70de5a9b54dace8b1ca1469fe559a5d0fc1781586581abe51a4350a96f6498d02db1dfce4470cf0496 WHIRLPOOL 7b09777bceab8b8cd70fd49531c2e5676aaa0a14b0bc788a571e594e03956611b25400e85989a0785faefd17cf0ff736e01b47fac7523d7af3d5afd94a473941
DIST sqlite-autoconf-3180000.tar.gz 2533004 SHA256 3757612463976e7d08c5e9f0af3021613fc24bbcfe1c51197d6776b9ece9ac5c SHA512 4c2efda1d63d1849f7a351cc57c02cc1820efe3c19f88460a131a1d6ae4f7411e4b7672a5581055e581093df29f65cebd9ff5b24125c18802523b17477dce1ef WHIRLPOOL 5424d028af1649cedeb9192d86939753000bb94676b0578d5bdd33591ddd064f2e9ca60a1abc6e185a8fbbfd13c04361e7bfd82945b3b7c01073b8e79e985031
DIST sqlite-doc-3160200.zip 5521023 SHA256 c13ffbb6019f3849b251c22358f31ccb862a842c0a2379f552f2935600157dcb SHA512 b79d21074d1ab154e3b324fb2943f24321ad5cdbc6e2030f1d21940ae46538462af049e0e0cd7c6cf96dec2c59708eaf70aa4cb3c84ba1a0e87238ffcf31fca2 WHIRLPOOL 4d07279b8f186c4a015324021d60f3e76840594a35a2466cc023cd3ef32b5b01572d8a83db5d96f7281c617a8384485bdef60d390e1c12c4ecbc7e0223e1a194
DIST sqlite-doc-3170000.zip 5533032 SHA256 3102d9eab879074776216357e4c9e272f63d0cda975a0819ec5baba5e0922ff6 SHA512 6a7813be301416dc59401b7732733f44efad60b458ded0f4ed8d845aab0843a1123dd20d1e6f209dd32184a87bcd7e68e213e3676c43d1d05d2df5acc2c64b74 WHIRLPOOL dc1c9b6802985be34ac7819e08883c456a0a76fb1822eff46b26613760063b72888d34323cf15f0f48be69555c0b07b99424a85f29ac580c4ad8fa46b990b723
DIST sqlite-src-3120000.zip 9367749 SHA256 d891e7ffd56cd97d069a6ed99d7e85cbe655b0a97ca6b5398c7806e888642df1 SHA512 9669e33e328b826f4692725ec09e21d85f4f2c386c624a81b0535f41ca7d2f996ebf5018db8ecdfdac18cff39a881a953111801499705dfb599f00e3bb5d10e4 WHIRLPOOL 865aaecbe331ec93b1a8c5b965c3edc43d35994c2db79d336febb27860ee91d68753d3ea274b4639f3e05d3f0a589fb21aedac33bc2120a4de8d094383d7b923
DIST sqlite-src-3120100.zip 9368459 SHA256 49b9819683f8f7329a78d2008e3f7c4e02126b556b95e5dfe3be102b9e741cff SHA512 6d0d7230343ca460215b5764d4a546631ddc2bcfc0777051379fb4632ccf9c36a53d26eda6811823156be166643c001c994a0f52498c6196ed13b34e931d55e1 WHIRLPOOL e41fd7a1ba870efb5421657975990c1d7e1ecc27023882771474a62e82b2ae305bc3d0b8556e0627de886d35e1b375fec223b3f70582d64fc5345c525b293131
DIST sqlite-src-3120200.zip 9370396 SHA256 2c16caa653e57f3c71873aa88797c97117981d6b0974254ce24d933dd27f9a86 SHA512 6cc9718c23ca3f65a42cc715eb67c8d174ecf0e397457efb6bfc5bd2efc9a51ea2f84266d31826068bf46efc550eb277b3c8e93cb85c5d23645e8b8ae4e2fc07 WHIRLPOOL ffdbbc384189f0d62a93ee8219051ff936b7c0c2fd39449f6ff72a734ab219f23f049648de7c0ec510a74aad85ba07ef0c8bebea4c3b83e043464744d2c039f4
DIST sqlite-src-3130000.zip 9506412 SHA256 b46b62dc27abbde52db69d8e2a710469b9af613ba251eb98e412d4f3827f915b SHA512 4cb7531105869ff7db5c08aa8e4d303fa3d80c8c67e21d9a835a09f7dddb4c9dbba837e2030dd4af6bcdb00a305b057cbd6430e11b3f2ae5e470f27b69b6c1e6 WHIRLPOOL 901f6cd343daaa62970f8d768e3c6ccb0b1da75fb5643b27e76f60d224005a08955fde9df5b8bb63250ab27994e2428ce19e21b4a1ccabec47cd4b8df4a13657
DIST sqlite-src-3140100.zip 9574478 SHA256 9411f67f383256d8d1520bac727b9e96eed5494222d2f8af76548d233b0adc74 SHA512 055f5f7db4088f527750358e7e9575b248a48137db5b4720269206141518b2426370e3c02d46278f1b7abf0b2f491e1f536e78d6d051a00b4e79579810cc57a6 WHIRLPOOL 0b1884844b0cec05c4a830a453221d2390f396c913133e259d0bea2800949d57894a43f729f97b7955c91db7f6a24e56d71fe63286b6e5b952fa8e24726b3448
DIST sqlite-src-3140200.zip 9577094 SHA256 52507e20c2757b24b703b43ede77ce464c8106c1658a5b357974c435aa0677a6 SHA512 d68412bceec463674790adb4388988dd4e1db40b095ba3f88cc3404979191930805b0a46603ef0b81ab41657167b3efa904535c0516170e2fc8c825a2729946c WHIRLPOOL 7084e7df53edf22de6fca51c0dbf12c16e3cb4b1ee62251e72a4a4820b6fdafee188654b2a3c5ecd2ae1054cf7f13b5e4dedad18eb94f307960c4a5d7cb3495c
DIST sqlite-src-3150100.zip 9632944 SHA256 423a73936931c5148a4812ee7d82534ec7d998576ea1b4e1573af91ec15a4b01 SHA512 c659d52287b8f9ae86d327490feeb4dad824712c3827483688b72fd43e067139ec5434086cf02e9f8f375adf6967337ebdd6aa696698ed5936b27ece01cff8a6 WHIRLPOOL 8ae9b7c56e4a8c22c2dba1d9656f6735610a7b8b9cd12de6417f1c6cd77e1dc5341ace9aef68ed2813f7b7d43583190312c8097186f58bcd51237d73cc7def49
DIST sqlite-src-3150200.zip 9635796 SHA256 38a1e867b5b1a58ba3731a63ffe69a2271d79bd0723d21c5a9a71e4cb7452a83 SHA512 9ee97b2822853bb2dbf4ceaf011864e1afeb1deef7a668f2f31d5a6d1a9aab4a7127c6d54b4fa7288b21c8e849989bf24c53ea6de483103f9158d07dfb8ca85a WHIRLPOOL e9be2d778bed657b36c99e86ba16b999a4773ae45b95dfab2336df0a16883b079aeac6cf50d586d847f273ace85551709f4ee14621517e1859c67e72fcd93230
DIST sqlite-doc-3180000.zip 5552381 SHA256 6f763eba9f51cb1096d1d40fbdd7ff974203060ddb892fc735adb2d7d42f1dad SHA512 7b65130cb2174d823842cddc912432d206044a8b276fdc2eef437854de7d0b05b8eb5d7aec0ead5c3f88bb7788ae5f1c42ffb1e43ab00774a68f6f7fea72d517 WHIRLPOOL be95f25105aea7f553145b371d64d1192057a2931551758bea418dd41b2ead6e9c07368347320bb041a59051c89ca2c84e3cd4e1f95806cad30dca3adec6042b
DIST sqlite-src-3160200.zip 10081950 SHA256 ee77c2cc5cc4a7b0a746a1d4496f7aee0d71c558a3bbfcf8e9e0b35416910337 SHA512 db49551c09830cf4d8997f0a623deeed9f85db5f27e6ca9d8aa5812a23c1466bbcdf8bb56cf009511f72cafec8f09a305127123f54d90437b28770dac34a0897 WHIRLPOOL b8cc52d5111bde34dae02391be8d83f9e703672b2101b36f5409e9acc23743c00561b02bd14b098e29972077fa1866a506d6343b58e4897ca07dac0bb60f4367
DIST sqlite-src-3170000.zip 10120844 SHA256 86754bee6bcaf1f2a6bf4a02676eb3a43d22d4e5d8339e217424cb2be6b748c3 SHA512 e60381de33fbf566507454e4f1dfb7d3ada554e5c919f05f0dd2f96a6f266adaa62681437f21fdea1c24de57fb6141b798f97854918faa189b507f12f11e0d36 WHIRLPOOL 535c598f7bb9ddbecdd1ca841c0ecf398831c494c99c38542d1cbb756d8333260d6891aa36167aeba75df83fbaf402465dc65c9b3a7fb6685fa54420cb1a1342
DIST sqlite-src-3180000.zip 10166686 SHA256 eab4d137abd5aa1164244a5d558c9a02122071daf36984b236f8441d749b9ba6 SHA512 b82c5388066f2e905c067d75e890bf2ff03a522733b8c8e0ebdfffe1804d7ecb39b72f6d808fce59133ac8c645f8b6e163e3dff7bbb0d66bbe8748e069ca7a84 WHIRLPOOL b92890b587761dfd550b39fbd64c4fddaf58e495c0f2b7526a624c3415147494648add3fa6968a09411e73c9b0653ec541a49a34daeb7ad2ae4840e829528380

@ -1,132 +0,0 @@
Link executables against libsqlite3.so.
Increase timeout for fuzzcheck.
Fix building with dlopen() not available.
--- Makefile.in
+++ Makefile.in
@@ -550,7 +550,7 @@
# Extra compiler options for various shell tools
#
SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
-SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_DBSTAT_VTAB
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
@@ -571,18 +571,18 @@
libtclsqlite3.la: tclsqlite.lo libsqlite3.la
$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
-rpath "$(TCLLIBDIR)" \
-version-info "8:6:8" \
-avoid-version
-sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c
- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
- $(TOP)/src/shell.c sqlite3.c \
- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
+sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la
+ $(LTLINK) $(READLINE_FLAGS) -o $@ \
+ $(TOP)/src/shell.c libsqlite3.la \
+ $(LIBREADLINE)
-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
srcck1$(BEXE): $(TOP)/tool/srcck1.c
$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
@@ -650,7 +650,7 @@
# Rule to build the amalgamation
#
sqlite3.lo: sqlite3.c
- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
# Rules to build the LEMON compiler generator
#
@@ -1074,13 +1074,13 @@
# Fuzz testing
fuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
- ./fuzzcheck$(TEXE) $(FUZZDATA)
+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
+ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA)
valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA)
- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
# Minimal testing that runs in less than 3 minutes
#
@@ -1106,29 +1106,29 @@
smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
echo "#define TCLSH 2" > $@
echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@
- cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@
+ cat $(TOP)/src/tclsqlite.c >> $@
echo "static const char *tclsh_main_loop(void){" >> $@
echo "static const char *zMainloop = " >> $@
$(TCLSH_CMD) $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@
echo "; return zMainloop; }" >> $@
-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
+showjournal$(TEXE): $(TOP)/tool/showjournal.c
+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
+showwal$(TEXE): $(TOP)/tool/showwal.c
+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
@@ -1142,8 +1142,8 @@
speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
$(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
--- configure.ac
+++ configure.ac
@@ -570,6 +570,9 @@
if test "${use_loadextension}" = "yes" ; then
OPT_FEATURE_FLAGS=""
AC_SEARCH_LIBS(dlopen, dl)
+ if test "${ac_cv_search_dlopen}" = "no" ; then
+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
+ fi
else
OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
fi

@ -1,14 +0,0 @@
Fix building with dlopen() not available.
--- a/configure.ac
+++ b/configure.ac
@@ -89,6 +89,9 @@
[], [enable_dynamic_extensions=yes])
if test x"$enable_dynamic_extensions" != "xno"; then
AC_SEARCH_LIBS(dlopen, dl)
+ if test "${ac_cv_search_dlopen}" = "no" ; then
+ DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1
+ fi
else
DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1
fi

@ -1,137 +0,0 @@
Link executables against libsqlite3.so.
Increase timeout for fuzzcheck.
Fix building with dlopen() not available.
--- a/Makefile.in
+++ b/Makefile.in
@@ -555,7 +555,7 @@
# Extra compiler options for various shell tools
#
SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
-SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_DBSTAT_VTAB
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
@@ -576,18 +576,18 @@
libtclsqlite3.la: tclsqlite.lo libsqlite3.la
$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
-rpath "$(TCLLIBDIR)" \
-version-info "8:6:8" \
-avoid-version
-sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c
- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
- $(TOP)/src/shell.c sqlite3.c \
- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
+sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la
+ $(LTLINK) $(READLINE_FLAGS) -o $@ \
+ $(TOP)/src/shell.c libsqlite3.la \
+ $(LIBREADLINE)
-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
srcck1$(BEXE): $(TOP)/tool/srcck1.c
$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
@@ -656,7 +656,7 @@
# Rule to build the amalgamation
#
sqlite3.lo: sqlite3.c
- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
# Rules to build the LEMON compiler generator
#
@@ -1082,13 +1082,13 @@
# Fuzz testing
fuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
- ./fuzzcheck$(TEXE) $(FUZZDATA)
+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
+ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA)
valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA)
- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
# Minimal testing that runs in less than 3 minutes
#
@@ -1114,32 +1114,32 @@
smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
echo "#define TCLSH 2" > $@
echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@
- cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@
+ cat $(TOP)/src/tclsqlite.c >> $@
echo "static const char *tclsh_main_loop(void){" >> $@
echo "static const char *zMainloop = " >> $@
$(TCLSH_CMD) $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@
echo "; return zMainloop; }" >> $@
-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
+showjournal$(TEXE): $(TOP)/tool/showjournal.c
+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
+showwal$(TEXE): $(TOP)/tool/showwal.c
+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
-changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
+changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la
+ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la
rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
@@ -1153,8 +1153,8 @@
speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
$(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
--- a/configure.ac
+++ b/configure.ac
@@ -570,6 +570,9 @@
if test "${use_loadextension}" = "yes" ; then
OPT_FEATURE_FLAGS=""
AC_SEARCH_LIBS(dlopen, dl)
+ if test "${ac_cv_search_dlopen}" = "no" ; then
+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
+ fi
else
OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
fi

@ -1,64 +0,0 @@
https://www.sqlite.org/src/info/afbbb6c66a85ff3f
--- a/ext/icu/icu.c
+++ b/ext/icu/icu.c
@@ -500,20 +500,20 @@
void *pContext; /* sqlite3_user_data() context */
void (*xFunc)(sqlite3_context*,int,sqlite3_value**);
} scalars[] = {
- {"regexp", 2, SQLITE_ANY, 0, icuRegexpFunc},
+ {"regexp", 2, SQLITE_ANY|SQLITE_DETERMINISTIC, 0, icuRegexpFunc},
- {"lower", 1, SQLITE_UTF16, 0, icuCaseFunc16},
- {"lower", 2, SQLITE_UTF16, 0, icuCaseFunc16},
- {"upper", 1, SQLITE_UTF16, (void*)1, icuCaseFunc16},
- {"upper", 2, SQLITE_UTF16, (void*)1, icuCaseFunc16},
+ {"lower", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16},
+ {"lower", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16},
+ {"upper", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16},
+ {"upper", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16},
- {"lower", 1, SQLITE_UTF8, 0, icuCaseFunc16},
- {"lower", 2, SQLITE_UTF8, 0, icuCaseFunc16},
- {"upper", 1, SQLITE_UTF8, (void*)1, icuCaseFunc16},
- {"upper", 2, SQLITE_UTF8, (void*)1, icuCaseFunc16},
+ {"lower", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16},
+ {"lower", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16},
+ {"upper", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16},
+ {"upper", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16},
- {"like", 2, SQLITE_UTF8, 0, icuLikeFunc},
- {"like", 3, SQLITE_UTF8, 0, icuLikeFunc},
+ {"like", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc},
+ {"like", 3, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc},
{"icu_load_collation", 2, SQLITE_UTF8, (void*)db, icuLoadCollation},
};
--- a/test/cursorhint2.test
+++ b/test/cursorhint2.test
@@ -164,17 +164,19 @@
x2 {AND(EQ(c1,ADD(32,32)),EQ(c0,r[2]))}
}
-do_extract_hints_test 2.11 {
- SELECT * FROM x1 LEFT JOIN x2 ON (a=x) WHERE x2.b LIKE 'abc%'
-} {
- x2 {AND(expr,EQ(c0,r[2]))}
+ifcapable !icu {
+ # This test only works using the built-in LIKE, not the ICU LIKE extension.
+ do_extract_hints_test 2.11 {
+ SELECT * FROM x1 LEFT JOIN x2 ON (a=x) WHERE x2.b LIKE 'abc%'
+ } {
+ x2 {AND(expr,EQ(c0,r[2]))}
+ }
}
-do_extract_hints_test 2.11 {
+do_extract_hints_test 2.12 {
SELECT * FROM x1 LEFT JOIN x2 ON (a=x) WHERE coalesce(x2.b, 1)
} {
x2 {EQ(c0,r[2])}
}
finish_test
-

@ -2,9 +2,9 @@ Link executables against libsqlite3.so.
Increase timeout for fuzzcheck.
Fix building with dlopen() not available.
--- a/Makefile.in
+++ b/Makefile.in
@@ -559,6 +559,7 @@
--- Makefile.in
+++ Makefile.in
@@ -562,6 +562,7 @@
#
SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
# SHELL_OPT += -DSQLITE_ENABLE_FTS5
@ -12,7 +12,7 @@ Fix building with dlopen() not available.
SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
@@ -581,25 +582,25 @@
@@ -587,25 +588,25 @@
libtclsqlite3.la: tclsqlite.lo libsqlite3.la
$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
@ -49,7 +49,7 @@ Fix building with dlopen() not available.
srcck1$(BEXE): $(TOP)/tool/srcck1.c
$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
@@ -668,7 +669,7 @@
@@ -681,7 +682,7 @@
# Rule to build the amalgamation
#
sqlite3.lo: sqlite3.c
@ -58,7 +58,7 @@ Fix building with dlopen() not available.
# Rules to build the LEMON compiler generator
#
@@ -1094,13 +1095,13 @@
@@ -1107,13 +1108,13 @@
# Fuzz testing
fuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
@ -73,9 +73,9 @@ Fix building with dlopen() not available.
- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
# Minimal testing that runs in less than 3 minutes
# The veryquick.test TCL tests.
#
@@ -1126,32 +1127,31 @@
@@ -1143,36 +1144,35 @@
smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
@ -95,6 +95,12 @@ Fix building with dlopen() not available.
+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
-dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
+dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la
$(LTLINK) -DDBDUMP_STANDALONE -o $@ \
- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
+ $(TOP)/ext/misc/dbdump.c libsqlite3.la
-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
@ -122,19 +128,24 @@ Fix building with dlopen() not available.
rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
@@ -1165,8 +1165,8 @@
speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
@@ -1191,11 +1191,11 @@
kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
$(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
$(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
--- a/configure.ac
+++ b/configure.ac
-loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
+loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
+ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@
# This target will fail if the SQLite amalgamation contains any exported
# symbols that do not begin with "sqlite3_". It is run as part of the
--- configure.ac
+++ configure.ac
@@ -584,6 +584,9 @@
if test "${use_loadextension}" = "yes" ; then
OPT_FEATURE_FLAGS=""

@ -1,237 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
epatch "${FILESDIR}/${PN}-3.11.0-full_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac
else
epatch "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake rbu showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool rbu sqlite3-rbu
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
dohtml -A ico,odf,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
fi
}

@ -1,237 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
epatch "${FILESDIR}/${PN}-3.11.0-full_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac
else
epatch "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake rbu showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool rbu sqlite3-rbu
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
dohtml -A ico,odf,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
fi
}

@ -1,237 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
epatch "${FILESDIR}/${PN}-3.11.0-full_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac
else
epatch "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake rbu showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool rbu sqlite3-rbu
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
dohtml -A ico,odf,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
fi
}

@ -1,242 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
epatch "${FILESDIR}/${PN}-3.13.0-full_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac
else
epatch "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support Session extension.
# https://sqlite.org/sessionintro.html
options+=(--enable-session)
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset rbu showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool changeset sqlite3-changeset
install_tool rbu sqlite3-rbu
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
dohtml -A ico,odf,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
fi
}

@ -1,260 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
eapply "${FILESDIR}/${PN}-3.14.0-full_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
else
eapply "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac || die "sed failed"
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support memsys5 memory allocator.
# https://sqlite.org/malloc.html#memsys5
append-cppflags -DSQLITE_ENABLE_MEMSYS5
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support Session extension.
# https://sqlite.org/sessionintro.html
options+=(--enable-session)
# Support unknown() function.
# https://sqlite.org/compile.html#enable_unknown_sql_function
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool changeset sqlite3-changeset
install_tool dbhash sqlite3-db-hash
install_tool rbu sqlite3-rbu
install_tool scrub sqlite3-scrub
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
(
docinto html
dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
)
fi
}

@ -1,260 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
eapply "${FILESDIR}/${PN}-3.14.0-full_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
else
eapply "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac || die "sed failed"
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support memsys5 memory allocator.
# https://sqlite.org/malloc.html#memsys5
append-cppflags -DSQLITE_ENABLE_MEMSYS5
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support Session extension.
# https://sqlite.org/sessionintro.html
options+=(--enable-session)
# Support unknown() function.
# https://sqlite.org/compile.html#enable_unknown_sql_function
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool changeset sqlite3-changeset
install_tool dbhash sqlite3-db-hash
install_tool rbu sqlite3-rbu
install_tool scrub sqlite3-scrub
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
(
docinto html
dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
)
fi
}

@ -1,260 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
doc? ( app-arch/unzip )
tcl? ( app-arch/unzip )
test? (
app-arch/unzip
dev-lang/tcl:0[${MULTILIB_USEDEP}]
)
tools? ( app-arch/unzip )"
full_tarball() {
use tcl || use test || use tools
}
pkg_setup() {
if full_tarball; then
S="${WORKDIR}/${PN}-src-${SRC_PV}"
else
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
fi
}
src_prepare() {
if full_tarball; then
eapply "${FILESDIR}/${PN}-3.14.0-full_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
else
eapply "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
eapply_user
# Fix AC_CHECK_FUNCS.
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed \
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
-i configure.ac || die "sed failed"
fi
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local CPPFLAGS="${CPPFLAGS}" options=()
options+=(
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
--enable-threadsafe
)
if ! full_tarball; then
options+=(--disable-static-shell)
fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support dbstat virtual table.
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support memsys5 memory allocator.
# https://sqlite.org/malloc.html#memsys5
append-cppflags -DSQLITE_ENABLE_MEMSYS5
# Support Resumable Bulk Update extension.
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/rtree.html
append-cppflags -DSQLITE_ENABLE_RTREE
# Support scan status functions.
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support Session extension.
# https://sqlite.org/sessionintro.html
options+=(--enable-session)
# Support unknown() function.
# https://sqlite.org/compile.html#enable_unknown_sql_function
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
# Support unlock notification.
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support soundex() function.
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# debug USE flag.
if full_tarball; then
options+=($(use_enable debug))
else
if use debug; then
append-cppflags -DSQLITE_DEBUG
else
append-cppflags -DNDEBUG
fi
fi
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
if full_tarball; then
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
else
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if full_tarball && use readline; then
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if full_tarball; then
options+=(--enable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool changeset sqlite3-changeset
install_tool dbhash sqlite3-db-hash
install_tool rbu sqlite3-rbu
install_tool scrub sqlite3-scrub
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
unset -f install_tool
fi
}
multilib_src_install_all() {
prune_libtool_files
doman sqlite3.1
if use doc; then
rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
(
docinto html
dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
)
fi
}

@ -19,7 +19,7 @@ SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip )
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )

@ -11,15 +11,15 @@ DOC_PV="${SRC_PV}"
DESCRIPTION="A SQL Database Engine in a C Library"
HOMEPAGE="https://sqlite.org/"
SRC_URI="doc? ( https://sqlite.org/2016/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2016/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2016/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip )
tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
!tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
@ -49,8 +49,7 @@ pkg_setup() {
src_prepare() {
if full_tarball; then
eapply "${FILESDIR}/${PN}-3.14.0-full_tarball-build.patch"
eapply "${FILESDIR}/${PN}-3.15.0-full_tarball-tests-icu.patch"
eapply -p0 "${FILESDIR}/${PN}-3.18.0-full_tarball-build.patch"
eapply_user
@ -58,7 +57,7 @@ src_prepare() {
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
else
eapply "${FILESDIR}/${PN}-3.12.0-nonfull_tarball-build.patch"
eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch"
eapply_user
@ -206,7 +205,7 @@ multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
fi
}
@ -232,6 +231,7 @@ multilib_src_install() {
}
install_tool changeset sqlite3-changeset
install_tool dbdump sqlite3-db-dump
install_tool dbhash sqlite3-db-hash
install_tool rbu sqlite3-rbu
install_tool scrub sqlite3-scrub

@ -1,7 +1,2 @@
DIST boost_1_56_0.tar.bz2 94777674 SHA256 134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d SHA512 1ce9871c3a2519682538a5f1331938b948123432d99aea0ce026958cbebd25d84019a3a28c452724b9693df98a8d1264bb2d93d2fee508453f8b42836e67481e WHIRLPOOL e9e9bb965816b687141d55bc026e378a56ed577a2bf0bdad61a1736e7f11d1797e0cac0185a1fa25b6c4b9fe1f75cbb0bb73a5ea05e84d59385bb3b17a90fd12
DIST boost_1_58_0.tar.bz2 70394057 SHA256 fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5 SHA512 7480ec713b0aa13f0ec990603e87e3b5c8d53f4411329b10fae37fc963b90aad12dbd9290a33c3669ae801e9012a68683eadff057591e9ca2ebcd22b1a67b5d1 WHIRLPOOL 0ed66f7de8b2ac28eda89e2fcadfc5533e6a3887ef7a929610804efa3ca66b850fecafeb61c986d37cb704ec844744e47d08f87e08ea25c779f57cffd26a1be2
DIST boost_1_59_0.tar.bz2 70389425 SHA256 727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca SHA512 8139e1ae997a86974071c5714ad3307e3d8fd15ef702b81a953410dd4d424b932135f53a0ef4891d9b9b747a38e539e66d6a803388fe0cc98e5166be872d682a WHIRLPOOL ab26f6b770c32320e71806d7f7856b3841917dcc59e0c5ee588fc77d77f11855dda66bfb808dbe0f3f89859b958211439c271401a5b1ad2ea98aa5d377934510
DIST boost_1_60_0.tar.bz2 76553944 SHA256 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b SHA512 7c851b3fc2b322ff05d642d9cf03e7c30c5f04d5cf0579c99046b1ec708901c58a3d349031dfe24591f5b88c1e664b6a0d40abea6cce89abb52080c02eb725df WHIRLPOOL 828b0797a8b62150ecef5ee13f0e8b8d6b6a0e7365511ec9782d2d8f3a26ac38a98f10876c40d05ea46697c013b1f96f22b3a24c449372520c84bb725059fe48
DIST boost_1_61_0.tar.bz2 85202254 SHA256 a547bd06c2fd9a71ba1d169d9cf0339da7ebf4753849a8f7d6fdb8feee99b640 SHA512 a1c7338e2d2dbac8552ede7c554640d22cbb2fda7fbc325dc3cdcb51e769713626695426ffc158cbe0e1729dd9a7b5ad18af4800d74e24539e8d8564268c2b9d WHIRLPOOL 59b47e7ae9ae8443ecaab29b1104cfe3ebfa607d22afcc3fad4a87bdfd575939eba8130a80fd509da178eb3227a26cb74db51852716dc5df068d36fc4839372b
DIST boost_1_62_0.tar.bz2 84513338 SHA256 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 SHA512 5385ae3d5255a433a704169ad454d8dc2b0b5bcae3fb23defd6570df4ff7d845cf9fcbeebccdc1c5db0eec9f82ee3d90040de9507c8167467c635d3b215463be WHIRLPOOL 49c4558d5e6d72084f083a76217e3d97b504f112d7e4d228eded72dc49fa7e675ba943a9fc52a3c27d296ee689aee27d4566796c6eae71cf647430285777c0fb
DIST boost_1_63_0.tar.bz2 81984414 SHA256 beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad WHIRLPOOL 28c241785097272a1e0952e529eef082444e4ef35a8d738161e4a491a986d75359d3afe888b2ea91a4a81b6ec7a5772ebea337c9d09377b43f6eed66cac90378

@ -1,413 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( virtual/mpi[cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
mpi_needed() {
multilib_is_native_abi && use mpi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if mpi_needed; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
epatch \
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
"${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
"${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \
"${FILESDIR}/${PN}-1.52.0-threads.patch" \
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
"${FILESDIR}/${PN}-1.55.0-variadic-templates.patch" \
"${FILESDIR}/${PN}-1.56.0-atomic.patch"
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
epatch_user
multilib_copy_sources
}
ejam() {
local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
echo b2 ${b2_opts}
b2 ${b2_opts}
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
mpi_needed || OPTIONS+=" --without-mpi"
use nls || OPTIONS+=" --without-locale"
use context || OPTIONS+=" --without-context --without-coroutine"
OPTIONS+=" pch=off"
OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
OPTIONS+=" --layout=system"
OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if mpi_needed; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc
dohtml -A pdf,txt -r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
doins -r more
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if mpi_needed; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if mpi_needed; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -1,411 +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 eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( virtual/mpi[cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
mpi_needed() {
multilib_is_native_abi && use mpi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if mpi_needed; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
epatch \
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
"${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
"${FILESDIR}/${PN}-1.52.0-threads.patch" \
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
"${FILESDIR}/${PN}-1.58.0-fix-non-constexpr-types-regression.patch"
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
epatch_user
multilib_copy_sources
}
ejam() {
local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
echo b2 ${b2_opts}
b2 ${b2_opts}
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
mpi_needed || OPTIONS+=" --without-mpi"
use nls || OPTIONS+=" --without-locale"
use context || OPTIONS+=" --without-context --without-coroutine"
OPTIONS+=" pch=off"
OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
OPTIONS+=" --layout=system"
OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if mpi_needed; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine || die
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc
dohtml -A pdf,txt -r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
doins -r more
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if mpi_needed; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if mpi_needed; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -1,405 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( virtual/mpi[cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
mpi_needed() {
multilib_is_native_abi && use mpi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if mpi_needed; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
epatch \
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
"${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
eapply_user
multilib_copy_sources
}
ejam() {
local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
echo b2 ${b2_opts}
b2 ${b2_opts}
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
mpi_needed || OPTIONS+=" --without-mpi"
use nls || OPTIONS+=" --without-locale"
use context || OPTIONS+=" --without-context --without-coroutine"
OPTIONS+=" pch=off"
OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
OPTIONS+=" --layout=system"
OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if mpi_needed; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
docinto html
dodoc *.{htm,html,png,css}
dodoc -r doc libs more tools
# To avoid broken links
dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if mpi_needed; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if mpi_needed; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -1,408 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( virtual/mpi[cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
PATCHES=(
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch"
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch"
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
"${FILESDIR}/${PN}-1.48.0-python_linking.patch"
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
"${FILESDIR}/${PN}-1.55.0-context-x32.patch"
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
"${FILESDIR}/${PN}-1.60.0-deprecated-header-ice_not.patch"
"${FILESDIR}/${PN}-1.60.0-auto-pointer-python.patch"
)
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
mpi_needed() {
multilib_is_native_abi && use mpi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if mpi_needed; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
default
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
multilib_copy_sources
}
ejam() {
local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
echo b2 ${b2_opts}
b2 ${b2_opts}
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
mpi_needed || OPTIONS+=" --without-mpi"
use nls || OPTIONS+=" --without-locale"
use context || OPTIONS+=" --without-context --without-coroutine --without-coroutine2"
OPTIONS+=" pch=off"
OPTIONS+=" --boost-build=\"${EPREFIX}\"/usr/share/boost-build --prefix=\"${ED}usr\""
OPTIONS+=" --layout=system"
OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if mpi_needed; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
docinto html
dodoc *.{htm,html,png,css}
dodoc -r doc libs more tools
# To avoid broken links
dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if mpi_needed; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
${OPTIONS} \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if mpi_needed; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -1,428 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
PATCHES=(
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch"
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch"
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
"${FILESDIR}/${PN}-1.48.0-python_linking.patch"
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
"${FILESDIR}/${PN}-1.55.0-context-x32.patch"
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
)
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if use mpi; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
default
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
multilib_copy_sources
}
ejam() {
local b2_opts=(
"--user-config=${BOOST_ROOT}/user-config.jam"
"$@"
)
echo b2 "${b2_opts[@]}"
b2 "${b2_opts[@]}"
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS=(
$(usex debug gentoodebug gentoorelease)
"-j$(makeopts_jobs)"
-q
-d+2
)
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=(
"-sICU_PATH=${EPREFIX}/usr"
)
use icu || OPTIONS+=(
--disable-icu
boost.locale.icu=off
)
use mpi || OPTIONS+=(
--without-mpi
)
use nls || OPTIONS+=(
--without-locale
)
use context || OPTIONS+=(
--without-context
--without-coroutine
--without-coroutine2
)
OPTIONS+=(
pch=off
--boost-build="${EPREFIX}"/usr/share/boost-build
--prefix="${ED}usr"
--layout=system
threading=$(usex threads multi single)
link=$(usex static-libs shared,static shared)
)
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
-sNO_BZIP2=1
)
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if use mpi; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
docinto html
dodoc *.{htm,html,png,css}
dodoc -r doc libs more tools
# To avoid broken links
dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if use mpi; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -1,433 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
mpi? ( virtual/mpi[cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
=dev-util/boost-build-${MAJOR_V}*"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
PATCHES=(
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch"
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch"
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
"${FILESDIR}/${PN}-1.48.0-python_linking.patch"
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
"${FILESDIR}/${PN}-1.55.0-context-x32.patch"
"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
)
python_bindings_needed() {
multilib_is_native_abi && use python
}
tools_needed() {
multilib_is_native_abi && use tools
}
# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
mpi_needed() {
multilib_is_native_abi && use mpi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if mpi_needed; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
# boost expects libpython$(pyver) and doesn't allow overrides
# and the build system is so creepy that it's easier just to
# provide a symlink (linker's going to use SONAME anyway)
# TODO: replace it with proper override one day
ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
# note: we need to provide version explicitly because of
# a bug in the build system:
# https://github.com/boostorg/build/pull/104
python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
if [[ -f "${EROOT}etc/site-config.jam" ]]; then
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
(
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
default
# Do not try to build missing 'wave' tool, bug #522682
# Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
multilib_copy_sources
}
ejam() {
local b2_opts=(
"--user-config=${BOOST_ROOT}/user-config.jam"
"$@"
)
echo b2 "${b2_opts[@]}"
b2 "${b2_opts[@]}"
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
[ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
OPTIONS=(
$(usex debug gentoodebug gentoorelease)
"-j$(makeopts_jobs)"
-q
-d+2
)
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
elif [[ ${CHOST} == *-winnt* ]]; then
compiler=parity
if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
compilerVersion=trunk
else
compilerVersion=$($(tc-getCXX) -v | sed '1q' \
| sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
fi
compilerExecutable=$(tc-getCXX)
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
append-cxxflags -std=gnu++98
use icu && OPTIONS+=(
"-sICU_PATH=${EPREFIX}/usr"
)
use icu || OPTIONS+=(
--disable-icu
boost.locale.icu=off
)
mpi_needed || OPTIONS+=(
--without-mpi
)
use nls || OPTIONS+=(
--without-locale
)
use context || OPTIONS+=(
--without-context
--without-coroutine
--without-coroutine2
)
OPTIONS+=(
pch=off
--boost-build="${EPREFIX}"/usr/share/boost-build
--prefix="${ED}usr"
--layout=system
threading=$(usex threads multi single)
link=$(usex static-libs shared,static shared)
)
[[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
-sNO_BZIP2=1
)
}
multilib_src_compile() {
local -x BOOST_ROOT="${BUILD_DIR}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
if python_bindings_needed; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${EPYTHON} \
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
if mpi_needed; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
fi
fi
}
if python_bindings_needed; then
python_foreach_impl building
else
building
fi
if tools_needed; then
pushd tools > /dev/null || die
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
rm -r "${ED}"/usr/include/boost/python* || die
fi
if ! use nls; then
rm -r "${ED}"/usr/include/boost/locale || die
fi
if ! use context; then
rm -r "${ED}"/usr/include/boost/context || die
rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
fi
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
docinto html
dodoc *.{htm,html,png,css}
dodoc -r doc libs more tools
# To avoid broken links
dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
}
multilib_src_install() {
local -x BOOST_ROOT="${BUILD_DIR}"
installation() {
create_user-config.jam
local PYTHON_OPTIONS
if python_bindings_needed; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${EPYTHON} ${dir} \
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
if mpi_needed; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
fi
PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
else
PYTHON_OPTIONS=" --without-python"
fi
ejam \
"${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
--includedir="${ED}usr/include" \
--libdir="${ED}usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
if mpi_needed; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
python_optimize
fi
}
if python_bindings_needed; then
python_foreach_impl installation
else
installation
fi
pushd "${ED}usr/$(get_libdir)" > /dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd > /dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
[[ -L ${symlink} ]] && rm -f "${symlink}"
done
}

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal

@ -1,63 +0,0 @@
Index: /trunk/boostcpp.jam
===================================================================
--- /trunk/boostcpp.jam (revision 79301)
+++ /trunk/boostcpp.jam (revision 81000)
@@ -210,6 +210,44 @@
}
+rule filtered-target ( name : message + : sources + : requirements * )
+{
+ message $(name)-message : warning: $(message) ;
+ alias $(name) : $(sources) : $(requirements) ;
+ alias $(name) : $(name)-message ;
+
+ local p = [ project.current ] ;
+ $(p).mark-target-as-explicit $(name) ;
+ $(p).mark-target-as-explicit $(name)-message ;
+}
+
rule declare_install_and_stage_proper_targets ( libraries * : headers * )
{
+ for local l in $(libraries)
+ {
+ if $(l) = locale
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Locale library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else if $(l) = wave
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Wave library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else if $(l) = thread
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Thread library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else
+ {
+ alias $(l)-for-install : libs/$(l)/build ;
+ }
+ }
+ local library-targets = $(libraries)-for-install ;
+
install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
@@ -239,5 +277,5 @@
: $(install-requirements) <install-no-version-symlinks>on
:
- : libs/$(libraries)/build
+ : $(libraries)-for-install
: $(headers)
;
@@ -246,5 +284,5 @@
# Install just library.
install stage-proper
- : libs/$(libraries)/build
+ : $(libraries)-for-install
: <location>$(stage-locate)/lib
<install-dependencies>on <install-type>LIB

@ -1,17 +0,0 @@
Make tools compiled successfully with forced C++98
Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=503468
diff --git a/tools/regression/src/compiler_status.cpp b/tools/regression/src/compiler_status.cpp
index 63f8134..3f3374a 100644
--- a/tools/regression/src/compiler_status.cpp
+++ b/tools/regression/src/compiler_status.cpp
@@ -128,7 +128,7 @@ namespace
string ln(line);
if (ln.find("Revision: ") != string::npos)
{
- for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
+ for(string::iterator itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
rev += *itr;
}
}

@ -1,37 +0,0 @@
From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
From: jzmaddock <jzmaddock@gmail.com>
Date: Sat, 23 Aug 2014 09:38:02 +0100
Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
feature was introduced in GCC 4.4.
---
boost/config/compiler/gcc.hpp | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
index f37159d..97d8a18 100644
--- a/boost/config/compiler/gcc.hpp
+++ b/boost/config/compiler/gcc.hpp
@@ -154,14 +154,6 @@
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
# define BOOST_NO_CXX11_RVALUE_REFERENCES
# define BOOST_NO_CXX11_STATIC_ASSERT
-
-// Variadic templates compiler:
-// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
-# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
-# define BOOST_HAS_VARIADIC_TMPL
-# else
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# endif
#endif
// C++0x features in 4.4.n and later
@@ -176,6 +168,7 @@
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES
+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)

@ -1,402 +0,0 @@
Fixed in 1.57
commit 415db7054723291042e4ff1ffa8fdd5bc8b07163
Author: Andrey Semashev <andrey.semashev@gmail.com>
Date: Sat Sep 27 20:40:09 2014 +0400
Added support for extending operations to GCC atomic backend.
Fix for #10446. Some platforms (e.g. Raspberry Pi) only support atomic ops of some particular size but not less. Use extending arithmetic operations for these platforms. Also, make sure bools are always treated as 8-bit values, even if the actual type is larger. This makes its use in atomic<>, atomic_flag and lock pool more consistent.
diff --git a/include/boost/atomic/capabilities.hpp b/include/boost/atomic/capabilities.hpp
index 658dd22..05bbb0f 100644
--- a/include/boost/atomic/capabilities.hpp
+++ b/include/boost/atomic/capabilities.hpp
@@ -142,6 +142,7 @@
#define BOOST_ATOMIC_ADDRESS_LOCK_FREE BOOST_ATOMIC_POINTER_LOCK_FREE
#ifndef BOOST_ATOMIC_BOOL_LOCK_FREE
+// We store bools in 1-byte storage in all backends
#define BOOST_ATOMIC_BOOL_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
#endif
diff --git a/include/boost/atomic/detail/atomic_template.hpp b/include/boost/atomic/detail/atomic_template.hpp
index 4fd6d79..bc3922a 100644
--- a/include/boost/atomic/detail/atomic_template.hpp
+++ b/include/boost/atomic/detail/atomic_template.hpp
@@ -234,7 +234,7 @@ class base_atomic< bool, int >
{
private:
typedef bool value_type;
- typedef atomics::detail::operations< storage_size_of< value_type >::value, false > operations;
+ typedef atomics::detail::operations< 1u, false > operations;
protected:
typedef value_type value_arg_type;
diff --git a/include/boost/atomic/detail/caps_gcc_atomic.hpp b/include/boost/atomic/detail/caps_gcc_atomic.hpp
index 8299ad0..f4e7a70 100644
--- a/include/boost/atomic/detail/caps_gcc_atomic.hpp
+++ b/include/boost/atomic/detail/caps_gcc_atomic.hpp
@@ -29,66 +29,48 @@
#define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1
#endif
-#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
-#define BOOST_ATOMIC_FLAG_LOCK_FREE 2
-#else
-#define BOOST_ATOMIC_FLAG_LOCK_FREE 0
-#endif
-#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
-#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
-#else
-#define BOOST_ATOMIC_CHAR_LOCK_FREE 0
-#endif
-#if __GCC_ATOMIC_CHAR16_T_LOCK_FREE == 2
-#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 2
-#else
-#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 0
-#endif
-#if __GCC_ATOMIC_CHAR32_T_LOCK_FREE == 2
-#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 2
+#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
+#define BOOST_ATOMIC_INT128_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 0
+#define BOOST_ATOMIC_INT128_LOCK_FREE 0
#endif
-#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
-#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
+
+#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
+#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
+#define BOOST_ATOMIC_LLONG_LOCK_FREE BOOST_ATOMIC_INT128_LOCK_FREE
#endif
-#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
-#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
+
+#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
+#define BOOST_ATOMIC_LONG_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_SHORT_LOCK_FREE 0
+#define BOOST_ATOMIC_LONG_LOCK_FREE BOOST_ATOMIC_LLONG_LOCK_FREE
#endif
+
#if __GCC_ATOMIC_INT_LOCK_FREE == 2
#define BOOST_ATOMIC_INT_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_INT_LOCK_FREE 0
-#endif
-#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
-#define BOOST_ATOMIC_LONG_LOCK_FREE 2
-#else
-#define BOOST_ATOMIC_LONG_LOCK_FREE 0
+#define BOOST_ATOMIC_INT_LOCK_FREE BOOST_ATOMIC_LONG_LOCK_FREE
#endif
-#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
-#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
+
+#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
+#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_LLONG_LOCK_FREE 0
+#define BOOST_ATOMIC_SHORT_LOCK_FREE BOOST_ATOMIC_INT_LOCK_FREE
#endif
-#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
-#define BOOST_ATOMIC_INT128_LOCK_FREE 2
+
+#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
+#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
#else
-#define BOOST_ATOMIC_INT128_LOCK_FREE 0
+#define BOOST_ATOMIC_CHAR_LOCK_FREE BOOST_ATOMIC_SHORT_LOCK_FREE
#endif
+
#if __GCC_ATOMIC_POINTER_LOCK_FREE == 2
#define BOOST_ATOMIC_POINTER_LOCK_FREE 2
#else
#define BOOST_ATOMIC_POINTER_LOCK_FREE 0
#endif
-#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
-#define BOOST_ATOMIC_BOOL_LOCK_FREE 2
-#else
-#define BOOST_ATOMIC_BOOL_LOCK_FREE 0
-#endif
+
#define BOOST_ATOMIC_INT8_LOCK_FREE BOOST_ATOMIC_CHAR_LOCK_FREE
@@ -128,6 +110,24 @@
#define BOOST_ATOMIC_INT64_LOCK_FREE 0
#endif
+
+#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT64_LOCK_FREE
+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
+#else
+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
+#endif
+
+#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
+#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
+
#define BOOST_ATOMIC_THREAD_FENCE 2
#define BOOST_ATOMIC_SIGNAL_FENCE 2
diff --git a/include/boost/atomic/detail/ops_gcc_atomic.hpp b/include/boost/atomic/detail/ops_gcc_atomic.hpp
index 2297791..2e4c37b 100644
--- a/include/boost/atomic/detail/ops_gcc_atomic.hpp
+++ b/include/boost/atomic/detail/ops_gcc_atomic.hpp
@@ -24,6 +24,15 @@
#include <boost/atomic/detail/ops_cas_based.hpp>
#endif
+#if __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE || __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE ||\
+ __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE || __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE ||\
+ __GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE || __GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE ||\
+ __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE
+// There are platforms where we need to use larger storage types
+#include <boost/atomic/detail/int_sizes.hpp>
+#include <boost/atomic/detail/ops_extending_cas_based.hpp>
+#endif
+
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
#endif
@@ -154,73 +163,206 @@ struct gcc_atomic_operations
}
};
-#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
+#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
+
+// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
+// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
template< bool Signed >
-struct operations< 1u, Signed > :
- public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
+struct operations< 16u, Signed > :
+ public cas_based_operations< gcc_dcas_x86_64< Signed > >
{
};
+
+#else
+
+template< bool Signed >
+struct operations< 16u, Signed > :
+ public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
+{
+};
+
+#endif
#endif
-#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
+
+#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
+
+// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
template< bool Signed >
-struct operations< 2u, Signed > :
- public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
+struct operations< 8u, Signed > :
+ public cas_based_operations< gcc_dcas_x86< Signed > >
+{
+};
+
+#elif (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
+
+#define BOOST_ATOMIC_DETAIL_INT64_EXTENDED
+
+template< bool Signed >
+struct operations< 8u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 8u, Signed >
{
};
+
+#else
+
+template< bool Signed >
+struct operations< 8u, Signed > :
+ public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
+{
+};
+
+#endif
#endif
#if BOOST_ATOMIC_INT32_LOCK_FREE > 0
+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
+
+#define BOOST_ATOMIC_DETAIL_INT32_EXTENDED
+
+#if !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
+
+template< bool Signed >
+struct operations< 4u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 4u, Signed >
+{
+};
+
+#else // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
+
+template< bool Signed >
+struct operations< 4u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 4u, Signed >
+{
+};
+
+#endif // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
+
+#else
+
template< bool Signed >
struct operations< 4u, Signed > :
public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >
{
};
+
+#endif
#endif
-#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
-#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
+#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
+
+#define BOOST_ATOMIC_DETAIL_INT16_EXTENDED
+
+#if !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
-// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
template< bool Signed >
-struct operations< 8u, Signed > :
- public cas_based_operations< gcc_dcas_x86< Signed > >
+struct operations< 2u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 2u, Signed >
+{
+};
+
+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
+
+template< bool Signed >
+struct operations< 2u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 2u, Signed >
{
};
#else
template< bool Signed >
-struct operations< 8u, Signed > :
- public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
+struct operations< 2u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 2u, Signed >
+{
+};
+
+#endif
+
+#else
+
+template< bool Signed >
+struct operations< 2u, Signed > :
+ public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
{
};
#endif
#endif
-#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
-#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
+#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) ||\
+ (__GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE) ||\
+ (__GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE)
+
+#if !defined(BOOST_ATOMIC_DETAIL_INT16_EXTENDED)
-// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
-// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
template< bool Signed >
-struct operations< 16u, Signed > :
- public cas_based_operations< gcc_dcas_x86_64< Signed > >
+struct operations< 1u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >, 1u, Signed >
+{
+};
+
+#elif !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
+
+template< bool Signed >
+struct operations< 1u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 1u, Signed >
+{
+};
+
+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
+
+template< bool Signed >
+struct operations< 1u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 1u, Signed >
{
};
#else
template< bool Signed >
-struct operations< 16u, Signed > :
- public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
+struct operations< 1u, Signed > :
+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 1u, Signed >
+{
+};
+
+#endif
+
+#else
+
+template< bool Signed >
+struct operations< 1u, Signed > :
+ public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
{
};
#endif
#endif
+#undef BOOST_ATOMIC_DETAIL_INT16_EXTENDED
+#undef BOOST_ATOMIC_DETAIL_INT32_EXTENDED
+#undef BOOST_ATOMIC_DETAIL_INT64_EXTENDED
+
BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT
{
__atomic_thread_fence(atomics::detail::convert_memory_order_to_gcc(order));

@ -1,233 +0,0 @@
diff --git a/boost/fusion/adapted/struct/detail/define_struct.hpp b/boost/fusion/adapted/struct/detail/define_struct.hpp
index 2554292..ce3737e 100644
--- a/boost/fusion/adapted/struct/detail/define_struct.hpp
+++ b/boost/fusion/adapted/struct/detail/define_struct.hpp
@@ -69,7 +69,7 @@
ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
template<typename Seq> \
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
self_type& \
operator=(Seq const& seq) \
{ \
@@ -128,7 +128,7 @@
ATTRIBUTE_TUPEL_SIZE, \
ATTRIBUTES_SEQ) \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME() \
: BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
@@ -137,7 +137,7 @@
ATTRIBUTES_SEQ) \
{} \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME(self_type const& other_self) \
: BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
@@ -147,7 +147,7 @@
{} \
\
template<typename Seq> \
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME(Seq const& seq \
BOOST_PP_IF( \
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
@@ -167,7 +167,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
explicit \
NAME(boost::call_traits< \
BOOST_PP_TUPLE_ELEM( \
@@ -180,7 +180,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
explicit \
NAME(typename boost::call_traits< \
typename boost::fusion::detail::get_first_arg< \
@@ -217,7 +217,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \
@@ -245,7 +245,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \
diff --git a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
index a5a3ae0..a037ffe 100644
--- a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
+++ b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
@@ -66,7 +66,7 @@
#define BOOST_FUSION_IGNORE_2(ARG1, ARG2)
#define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I( \
BOOST_FUSION_MAKE_CONST_REF_PARAM, \
~, \
@@ -337,7 +337,7 @@
typedef boost::mpl::int_<N> index; \
typedef boost_fusion_detail_Seq sequence_type; \
\
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_GPU_ENABLED \
BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \
: seq_(seq) \
BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \
diff --git a/libs/fusion/test/sequence/adapt_struct.cpp b/libs/fusion/test/sequence/adapt_struct.cpp
index c0cd304..121827f 100644
--- a/libs/fusion/test/sequence/adapt_struct.cpp
+++ b/libs/fusion/test/sequence/adapt_struct.cpp
@@ -67,6 +67,17 @@ namespace ns
foo foo_;
int y;
};
+
+
+ // Testing non-constexpr compatible types
+ struct employee {
+ std::string name;
+ std::string nickname;
+
+ employee(std::string name, std::string nickname)
+ : name(name), nickname(nickname)
+ {}
+ };
}
#if BOOST_PP_VARIADICS
@@ -96,6 +107,13 @@ namespace ns
y
)
+ BOOST_FUSION_ADAPT_STRUCT(
+ ns::employee,
+ name,
+ nickname
+ )
+
+
#else // BOOST_PP_VARIADICS
BOOST_FUSION_ADAPT_STRUCT(
@@ -123,6 +141,12 @@ namespace ns
(BOOST_FUSION_ADAPT_AUTO, y)
)
+ BOOST_FUSION_ADAPT_STRUCT(
+ ns::employee,
+ (std::string, name)
+ (BOOST_FUSION_ADAPT_AUTO, nickname)
+ )
+
#endif
int
@@ -224,6 +248,15 @@ main()
BOOST_TEST(v2 >= v1);
}
+ {
+ ns::employee emp("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ fusion::vector<std::string, std::string> v1("John Doe", "jdoe");
+ BOOST_TEST(emp == v1);
+ }
+
return boost::report_errors();
}
diff --git a/libs/fusion/test/sequence/define_struct.cpp b/libs/fusion/test/sequence/define_struct.cpp
index 795fdf6..63b5a19 100644
--- a/libs/fusion/test/sequence/define_struct.cpp
+++ b/libs/fusion/test/sequence/define_struct.cpp
@@ -26,6 +26,14 @@ BOOST_FUSION_DEFINE_STRUCT(
BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
+// Testing non-constexpr compatible types
+BOOST_FUSION_DEFINE_STRUCT(
+ (ns),
+ employee,
+ (std::string, name)
+ (std::string, nickname)
+)
+
int
main()
{
@@ -100,6 +108,14 @@ main()
BOOST_TEST(p == make_vector(3,5));
}
+ {
+ ns::employee emp = make_list("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
+ }
+
return boost::report_errors();
}
diff --git a/libs/fusion/test/sequence/define_struct_inline.cpp b/libs/fusion/test/sequence/define_struct_inline.cpp
index e849ce9..d34a142 100644
--- a/libs/fusion/test/sequence/define_struct_inline.cpp
+++ b/libs/fusion/test/sequence/define_struct_inline.cpp
@@ -41,6 +41,13 @@ namespace ns
BOOST_FUSION_DEFINE_STRUCT_INLINE(s, (int, m))
BOOST_FUSION_DEFINE_STRUCT_INLINE(empty_struct, )
+
+ // Testing non-constexpr compatible types
+ BOOST_FUSION_DEFINE_STRUCT_INLINE(
+ employee,
+ (std::string, name)
+ (std::string, nickname)
+ )
}
template <typename Point>
@@ -128,6 +135,17 @@ main()
{
run_test<cls::point>(); // test with non-template enclosing class
run_test<tpl_cls<>::point>(); // test with template enclosing class
+
+ {
+ using namespace boost::fusion;
+
+ ns::employee emp = make_list("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
+ }
+
return boost::report_errors();
}

@ -1,42 +0,0 @@
From f2c465ffa508459216f7093bf95ba001ad994206 Mon Sep 17 00:00:00 2001
From: vslashg <veloso@verylowsodium.com>
Date: Mon, 29 Feb 2016 13:33:35 -0500
Subject: [PATCH] Fix auto-pointer registration in Boost Python 1.60.
The conditional instantiation magic of maybe_register_pointer_to_python() assumes that use_value_holder and use_back_reference will be one of the boost::mpl::bool_ types, but this assumption is no longer true in Boost 1.60, where they can be standard library bool wrappers instead.
Explicitly defining these types as mpl::bool_ classes fixes https://github.com/boostorg/python/issues/56.
---
boost/python/object/class_metadata.hpp | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/boost/python/object/class_metadata.hpp b/boost/python/object/class_metadata.hpp
index c71cf67..5009c17 100644
--- a/boost/python/object/class_metadata.hpp
+++ b/boost/python/object/class_metadata.hpp
@@ -164,7 +164,7 @@ struct class_metadata
>::type held_type;
// Determine if the object will be held by value
- typedef is_convertible<held_type*,T*> use_value_holder;
+ typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
// Compute the "wrapped type", that is, if held_type is a smart
// pointer, we're talking about the pointee.
@@ -175,10 +175,12 @@ struct class_metadata
>::type wrapped;
// Determine whether to use a "back-reference holder"
- typedef mpl::or_<
- has_back_reference<T>
- , is_same<held_type_arg,T>
- , is_base_and_derived<T,wrapped>
+ typedef mpl::bool_<
+ mpl::or_<
+ has_back_reference<T>
+ , is_same<held_type_arg,T>
+ , is_base_and_derived<T,wrapped>
+ >::value
> use_back_reference;
// Select the holder.

@ -1,42 +0,0 @@
From: jzmaddock <john@johnmaddock.co.uk>
Date: Tue, 21 Jul 2015 18:54:48 +0100
Subject: [PATCH] Remove deprecated type_traits usage.
---
include/boost/graph/adjacency_matrix.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/graph/adjacency_matrix.hpp b/include/boost/graph/adjacency_matrix.hpp
index b1078d9..ade7351 100644
--- a/boost/graph/adjacency_matrix.hpp
+++ b/boost/graph/adjacency_matrix.hpp
@@ -443,7 +443,7 @@ namespace boost {
// graph type. Instead, use directedS, which also provides the
// functionality required for a Bidirectional Graph (in_edges,
// in_degree, etc.).
- BOOST_STATIC_ASSERT(type_traits::ice_not<(is_same<Directed, bidirectionalS>::value)>::value);
+ BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
typedef typename mpl::if_<is_directed,
bidirectional_tag, undirected_tag>::type
From: Vladimir Prus <vladimir.prus@gmail.com>
Date: Mon, 7 Dec 2015 13:55:07 +0300
Subject: [PATCH] Add missing include of <list>.
Thanks to Amit Prakash Ambasta for the report.
---
include/boost/graph/r_c_shortest_paths.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/boost/graph/r_c_shortest_paths.hpp b/include/boost/graph/r_c_shortest_paths.hpp
index afa50cf..7e490fc 100644
--- a/boost/graph/r_c_shortest_paths.hpp
+++ b/boost/graph/r_c_shortest_paths.hpp
@@ -11,6 +11,7 @@
#include <map>
#include <queue>
#include <vector>
+#include <list>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/iteration_macros.hpp>

@ -11,7 +11,7 @@ SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
LICENSE="Boost-1.0"
SLOT="0/5.6" # subslot is so version
KEYWORDS="~alpha amd64 ~arm arm64 hppa ppc ppc64 sparc x86 ~x64-macos"
KEYWORDS="alpha amd64 ~arm arm64 hppa ppc ppc64 sparc x86 ~x64-macos"
IUSE="static-libs"
DEPEND="app-arch/unzip"

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm ~ppc ~ppc64 ~sparc x86"
IUSE="+introspection python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} introspection )"

@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="|| ( LGPL-3 LGPL-2.1 )"
SLOT="0/6.1" # subslot = libnettle soname version, .1 as broke ABI bug#601512
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes"
DEPEND="gmp? ( >=dev-libs/gmp-5.0:0=[${MULTILIB_USEDEP}] )"

@ -1,2 +1,3 @@
DIST spdlog-0.11.0.tar.gz 146346 SHA256 8c0f1810fb6b7d23fef70c2ea8b6fa6768ac8d18d6e0de39be1f48865e22916e SHA512 958d6301d6189dc8cfd2891fb746f1cd6e0b54da6296d334e6d969184772760d3ae67d622beb01b70b662c850f11b06424b12ef19204b569a664fbe99b6aecff WHIRLPOOL f8bafd46c4e7f7158a71fba07780c9c590693989adc46205c01556e3edd54482bbcd5b90a32255e6b3e0866f853c898edcfbbbec610f052d8bb641e587ddd40c
DIST spdlog-0.12.0.tar.gz 150599 SHA256 5cfd6a0b3182a88e1eb35bcb65a7ef9035140d7c73b16ba6095939dbf07325b9 SHA512 1353c3d29ec80d4466256c5ba5aaa1661ca672b352180328bbf70d339972afe28243eb0b86b390dfdd9c36515c16ff2e0c07793fbf11b4fe899fb54dc80d8d2a WHIRLPOOL 6f8f32f97411d82b358575fe81ce597bd1a23e7311c77e2f78e571279e62b66fe43903cfc8da1b005476dfc5ffff0f8708cc769ee57efe33228e4e051b4323fd
DIST spdlog-0.13.0.tar.gz 154551 SHA256 d798a6ca19165f0a18a43938859359269f5a07fd8e0eb83ab8674739c9e8f361 SHA512 5bb89cbeb17a054832ce70f6013d54e7641c1aa36cbad08388b4a2e63f4851943edfe292551ff01de6de1ed6325617384325a67f3e1024f346c6d22a1148c80c WHIRLPOOL 4f8a5bf513c8282a0bf041c0cb56d6e0404d78e251ec442de6ed9ff773ec3a335470ff1357b0fcc3cb53015b12baf9a40ac4e353cea71ed2fc6817bd52257395

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="Very fast, header only, C++ logging library."
HOMEPAGE="https://github.com/gabime/spdlog"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/gabime/spdlog"
else
SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="MIT"
SLOT="0"
IUSE="test"
DEPEND=""
RDEPEND="${DEPEND}"
src_configure() {
local mycmakeargs=(
-DSPDLOG_BUILD_EXAMPLES=no
-DSPDLOG_BUILD_TESTING=$(usex test)
)
cmake-utils_src_configure
}

@ -1,8 +1,8 @@
DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190c3b1f22bc63208d8d5f47 SHA512 d9d8d466c7b6aa6beb1c22da4fd10499fa784c39ab138bea7ecb8cdccf769766572ebe91c89db2d5c53e493096248f82a224be95c1fcac8b7beebe1b57f34883 WHIRLPOOL 3503250361350b59d095b743dcc627e9ec1e3ec469066287b80d97924d54ea254fed94f77596ed71b4c9974e4c9b97de8b6a35b3c6529f559d6ba392b695ccf4
DIST asdf-3.1.4.tar.gz 831537 SHA256 bc8bfaf36335e5f01fd08159c1ded5a96088fbea002b466bdf95c129c413cc43 SHA512 c48eb0928d3b98154d63e8ce797baeb4ad51ab685594b80f2ec4db9747b41c619ec17856d2483590ca8bd0b8c9db160837e7e49e72396c3a16db338ea985282c WHIRLPOOL 71babc996c326b6fb0118752a0f60601f9cefb28d254fd48c838abae14e7bc02f8831a5e96e9521b95f52b9bc1bb632fb5d93abed11dea480ba9f007e7cfdbf1
DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24
DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb
DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0
DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6
DIST cl-asdf_1.89-1.diff.gz 395 SHA256 1ad2de4d9bb494f58e69f327d02cd86100967371c93727393b99b3b6fd20d567 SHA512 0d5ac51e69914b58497815971f1736712bd65988944fff5966f854c2dd22d1969d9237c996bfd44a6195d2765db9af07c3055c9bf126ba25059eccdbf8da20b4 WHIRLPOOL 20bc02a86d3645bedf1952ef70193f3b52250dcab5720e21940f0721e2c8be330f8452d4f77c82cc7bb105afb935c3b255e435b5d99ac40965c49621082c0f4b
DIST cl-asdf_1.89.orig.tar.gz 60134 SHA256 617853e512a0e6bdfa269811c3b9866af3878d40c7e4e8bab4ebf5374bd5a0ec SHA512 eb20877bb6acb6cab5874229290605aaef19d2501d8011473b66d0c9609d0b4d12f2951c39e4a3d2d07a3f0a7862c7e6beb6073514bb8b36189049bb96ba0e9a WHIRLPOOL 23636e9db0d351f88cec352a2c85489f41c5dc1085af75d2a3f4b460c462ff1115a0fb0408dcb21e2dc66d2ac773053c3586067aeaeca19615a2b22fcc3b384b

@ -1,7 +1,8 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=6
inherit eutils prefix
DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp"
@ -23,27 +24,24 @@ DEPEND="!dev-lisp/cl-${PN}
RDEPEND=""
PDEPEND="~dev-lisp/uiop-${PV}"
S="${WORKDIR}"
install_docs() {
# Not installing info file at the moment, see bug #605752
(cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf)
}
src_compile() {
make
use doc && make doc
use doc && make -C doc
}
src_install() {
insinto /usr/share/common-lisp/source/${PN}
insinto "/usr/share/common-lisp/source/${PN}"
doins -r build version.lisp-expr
dodoc README.md TODO
dohtml doc/*.{html,css,ico,png}
if use doc; then
dohtml -r doc/${PN}
insinto /usr/share/doc/${PF}
doins doc/${PN}.pdf
fi
use doc && install_docs
insinto /etc/common-lisp
cd "${T}"
cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf .
cd "${T}" || die
cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die
eprefixify gentoo-init.lisp source-registry.conf
doins gentoo-init.lisp source-registry.conf
}

@ -1,4 +1,4 @@
DIST sbcl-1.0.23-sparc-solaris-binary.tar.bz2 34342 SHA256 13c2b44c82334d51d00f63b51a9966d073337cd806b5cff34e829063463793da SHA512 5aeaf08dc9f412df1c9a8e1ae6f8f0220f797f7506450bd12c9dfc8f2764ccc398ee782e1a1f2d9ff968ff17c0a7e89f03a1120ab3fb5f07c8e35a599d0b8140 WHIRLPOOL e0b1bcc9b910d6f05b73adf0ddb431ea026ddde6c8588801a03b02f832a260f808fbb3c3026ef7901a0f257c7f6dd9860cda30cbe44c7b4428ef8964ab106d02
DIST sbcl-1.0.23-sparc-solaris-binary.tar.bz2 7907803 SHA256 08b7c0f14b900d1d047c1a1e12632cde3c61b7fd489be512896faaa6adb4952c SHA512 d641d7859f0d60ce7dd684a0f21e62282a5a658ed6bb4d67d6b141b3ce22d9e27261efe7e5d0f752c30e467cf90d7c8a03ad2a04b3c60042f0ef0a4808a9c74a WHIRLPOOL 22e7714ea7104797bd533044e58da41b8bc8a4b8852e101a42663821334b9074477cd205a3ef2aa7e4e998e28e3d10c4972752e0a6ad2a1a775832280729744b
DIST sbcl-1.0.28-alpha-linux-binary.tar.bz2 7573824 SHA256 0bd8125e1375a75b9dda286439dcbe9861d6df5c6fc8475fd217b8b757edf9cc SHA512 85ceb4d3bf971777f5444a63cbabd88ccfaf16ed3b3c86cc5ea6cb3fd3189c4cd5a5ebbf785c97366afb7026604ffc34a1129936291deede5993056e158125ab WHIRLPOOL 839363a0d2fcc7cf383143fc130c40bf6f03468a89eb4b5eecb39339ba376a6b3a2096938934a91cf689310bff20807d2ac24b99c0d6e3673729b26d9edb83aa
DIST sbcl-1.0.28-sparc-linux-binary.tar.bz2 8032042 SHA256 a2e848ac11b0f16bb91866bd187949d908ad94fabb958a0b56320fc0e8b8923e SHA512 cea1ba06f85169fca9fe3026813c6e7e8e8209b874e048b7bd63cb3a1c5bd7c829e8dbb2c486977e190a0390d28e4845938a9e84378f4f2f16f72bf0b6f45c80 WHIRLPOOL e7f7e9bc7b43cab7b729792a22f0f41be12d8dd97a1c45fa039a49607865b977dd336fef8c7ccda087a9e9e32f92241c83e05da442e12cf883d3dfb3c2fda169
DIST sbcl-1.0.47-powerpc-darwin-binary.tar.bz2 8217590 SHA256 6971a64c0706894f217da676081874088f50f84daa66d89b653b065f83563f3b SHA512 8118de56e448bce7a72b832e661eb4e2687eed675f88f766f7043c843a432e35121d9e6f9da8d22ac690c54bda0d55ecb07728748ce2cdd57320f49b4b812b86 WHIRLPOOL f91c344a2b99a5a1c2dfe3af0172f548997b9aaf9ad5e865eb76c8311f6114275eda1e7e76af6efe5c1a346d1761f45e374f577313029fa9b83adfdec10c70ad
@ -22,4 +22,6 @@ DIST sbcl-1.3.14-source.tar.bz2 5784135 SHA256 bf963d58533d839eb76a8028abd170717
DIST sbcl-1.3.14-x86-64-linux-binary.tar.bz2 9077586 SHA256 84dae89aa4741cac41e163fe9c85b9ab42ff8c2cbdcb31111d60e9019e2d4235 SHA512 0bff8737f389bf59f1fed2d76de32ce977da9c8c685c7f73280eef93428edcc48ca451adc26a305ea31f23507d7c45ffa5893aa4add2418048a1087fab686534 WHIRLPOOL 194a775092a4a035b65126ec6de63c981796e3618ca324d431fa544dbdbaaf3b790574d2e3c6813125ed55ace4b58be0727f2b6f4abffb686e3b773fdc8d3149
DIST sbcl-1.3.15-source.tar.bz2 5798479 SHA256 b1b532d9df81b6a014dd6463f9129cd9470ba84db0952496970ac5b1e745ab85 SHA512 8dd9679bcaa244de0158051acae2ffcd1f79181a015a212f4416f3f6e439339d4d6ed5e03520b492fdd3302968eb1270be47729f3a016977bf951c5bcade0650 WHIRLPOOL 9fd1d8cbae29855becdef284d7b8ae0b619e27dc8fda8be8542225bbfc52daef64682c46fbf3bd0582289365ea6b96e3fd569f57be38d28dc021104bbc836e33
DIST sbcl-1.3.15-x86-64-linux-binary.tar.bz2 10882518 SHA256 c7a9f143d539164abdf8771fbef071e5f1b26a5ecd496ddb4d778946faf758fe SHA512 28a2c17b366db2a2b2ac83a1ce3ac09583bb59aa2dbd992c02fef0870889a2d19cd1fdf633575a8fab674ea5a0058eafd2dfd6d8f7953237a33e7b12d60d20d5 WHIRLPOOL 1addc2c2517eaaa31ae2cd6b1adbf74f58c6afd7f4243ef4b2bb9b294ef448dda27695f6b6a758e6b7a9e2fb042c6f544c0625e597215cb5dcb1986d885e5d46
DIST sbcl-1.3.16-source.tar.bz2 5803184 SHA256 b7dd98017b70aec351ec4475c68438d52f3f6633269a4ae399216b632c9b8863 SHA512 6bb0a7c926ba8031c319697b49b85eb58ea262d47237b2e7735738ad6103a759016a269e617931095174066f830e2edc362bf89384a97c3d19807552caf826b4 WHIRLPOOL cf7dbeb7675eccd02bd70d1f7231dcfd49e96681bdaa9e4c8314d2b15ac5be1d25a10d58de657ae18cfe5552d08051a4d2d95dbd7bd33132dcdf4b7eeb6d0f08
DIST sbcl-1.3.16-x86-64-linux-binary.tar.bz2 10891148 SHA256 5ae49b7a6861781ef5f70eacfb4b423b79b5c7e7f8b1ddd6e40e7bcea96f026b SHA512 6abe9ba05697a98c17a747a3ba5c6ae13b9cb522142cbab9d7b5da78201e82693cb3b653b7070c00d75ea4e9d716e6b74439122ca83d8b333439ae814e0cdbd4 WHIRLPOOL dbaa399cf4633832bcda9a300bf994a05dfd34613db86a5975f12ba21181a4696e597fd0727648c29829d82df35b68b33baaeaf68562b21e496521bb66dbc699
DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919

@ -0,0 +1,12 @@
diff -Nuar a/install.sh b/install.sh
--- a/install.sh 2017-03-27 11:57:34.000000000 +0200
+++ b/install.sh 2017-04-04 20:21:25.510085555 +0200
@@ -110,7 +110,7 @@
CP="cp -f"
# man
-$CP doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1"
+$CP doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1"
# info
for info in doc/manual/*.info

@ -0,0 +1,234 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib eutils flag-o-matic pax-utils
#same order as http://www.sbcl.org/platform-table.html
BV_X86=1.2.7
BV_AMD64=1.3.16
BV_PPC=1.2.7
BV_SPARC=1.0.28
BV_ALPHA=1.0.28
BV_ARM=1.3.12
BV_ARM64=1.3.16
BV_PPC_MACOS=1.0.47
BV_X86_MACOS=1.1.6
BV_X64_MACOS=1.2.11
BV_SPARC_SOLARIS=1.0.23
BV_X86_SOLARIS=1.2.7
BV_X64_SOLARIS=1.2.7
DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
HOMEPAGE="http://sbcl.sourceforge.net/"
SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE="debug doc source +threads +unicode pax_kernel zlib"
CDEPEND=">=dev-lisp/asdf-3.1:="
DEPEND="${CDEPEND}
doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
pax_kernel? ( sys-apps/elfix )"
RDEPEND="${CDEPEND}
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )"
# Disable warnings about executable stacks, as this won't be fixed soon by upstream
QA_EXECSTACK="usr/bin/sbcl"
CONFIG="${S}/customize-target-features.lisp"
ENVD="${T}/50sbcl"
# Prevent ASDF from using the system libraries
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
usep() {
use ${1} && echo "true" || echo "false"
}
sbcl_feature() {
echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
}
sbcl_apply_features() {
sed 's/^X//' > "${CONFIG}" <<-'EOF'
(lambda (list)
X (flet ((enable (x) (pushnew x list))
X (disable (x) (setf list (remove x list))))
EOF
if use x86 || use amd64; then
sbcl_feature "$(usep threads)" ":sb-thread"
fi
sbcl_feature "true" ":sb-ldb"
sbcl_feature "false" ":sb-test"
sbcl_feature "$(usep unicode)" ":sb-unicode"
sbcl_feature "$(usep zlib)" ":sb-core-compression"
sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
sed 's/^X//' >> "${CONFIG}" <<-'EOF'
X )
X list)
EOF
cat "${CONFIG}"
}
src_unpack() {
unpack ${A}
mv sbcl-*-* sbcl-binary || die
cd "${S}"
}
src_prepare() {
eapply "${FILESDIR}"/${P}-gentoo-fix_install_man.patch
# bug #468482
eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
# bugs #486552, #527666, #517004
eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch
# bugs #560276, #561018
eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
eapply_user
# bug #526194
sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
-e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
-i src/runtime/GNUmakefile || die
sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
-i make-config.sh || die
cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
# Some shells(such as dash) don't have "time" as builtin
# and we don't want to DEPEND on sys-process/time
sed "s,^time ,," -i make.sh || die
sed "s,/lib,/$(get_libdir),g" -i install.sh || die
# #define SBCL_HOME ...
sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
# change location of /etc/sbclrc ...
sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
find . -type f -name .cvsignore -delete
}
src_configure() {
# customizing SBCL version as per
# http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
# applying customizations
sbcl_apply_features
}
src_compile() {
local bindir="${WORKDIR}"/sbcl-binary
strip-unsupported-flags ; filter-flags -fomit-frame-pointer
if use pax_kernel ; then
# To disable PaX on hardened systems
pax-mark -mr "${bindir}"/src/runtime/sbcl
# Hack to disable PaX on second GENESIS stage
sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\ paxmark.sh -mr \.\/src\/runtime\/sbcl' \
"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
fi
# clear the environment to get rid of non-ASCII strings, see bug 174702
# set HOME for paludis
env - HOME="${T}" PATH="${PATH}" \
CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
GNUMAKE=make ./make.sh \
"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
|| die "make failed"
# need to set HOME because libpango(used by graphviz) complains about it
if use doc; then
env - HOME="${T}" PATH="${PATH}" \
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
make -C doc/manual info html || die "Cannot build manual"
env - HOME="${T}" PATH="${PATH}" \
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
make -C doc/internals info html || die "Cannot build internal docs"
fi
}
src_test() {
ewarn "Unfortunately, it is known that some tests fail eg."
ewarn "run-program.impure.lisp. This is an issue of the upstream's"
ewarn "development and not of Gentoo's side. Please, before filing"
ewarn "any bug(s) search for older submissions. Thank you."
time ( cd tests && sh run-tests.sh )
}
src_install() {
# install system-wide initfile
dodir /etc/
sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
;;; The following is required if you want source location functions to
;;; work in SLIME, for example.
X
(setf (logical-pathname-translations "SYS")
X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
X
;;; Setup ASDF2
(load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
EOF
# Install documentation
unset SBCL_HOME
INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
sh install.sh || die "install.sh failed"
# bug #517008
pax-mark -mr "${D}"/usr/bin/sbcl
# rm empty directories lest paludis complain about this
find "${ED}" -empty -type d -exec rmdir -v {} +
if use doc; then
dodoc -r doc/internals/sbcl-internals
doinfo doc/manual/*.info*
doinfo doc/internals/sbcl-internals.info
docinto internals-notes
dodoc doc/internals-notes/*
else
rm -Rv "${ED}/usr/share/doc/${PF}" || die
fi
# install the SBCL source
if use source; then
./clean.sh
cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
fi
# necessary for running newly-saved images
echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
doenvd "${ENVD}"
}

@ -1,6 +1,6 @@
DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190c3b1f22bc63208d8d5f47 SHA512 d9d8d466c7b6aa6beb1c22da4fd10499fa784c39ab138bea7ecb8cdccf769766572ebe91c89db2d5c53e493096248f82a224be95c1fcac8b7beebe1b57f34883 WHIRLPOOL 3503250361350b59d095b743dcc627e9ec1e3ec469066287b80d97924d54ea254fed94f77596ed71b4c9974e4c9b97de8b6a35b3c6529f559d6ba392b695ccf4
DIST asdf-3.1.4.tar.gz 831537 SHA256 bc8bfaf36335e5f01fd08159c1ded5a96088fbea002b466bdf95c129c413cc43 SHA512 c48eb0928d3b98154d63e8ce797baeb4ad51ab685594b80f2ec4db9747b41c619ec17856d2483590ca8bd0b8c9db160837e7e49e72396c3a16db338ea985282c WHIRLPOOL 71babc996c326b6fb0118752a0f60601f9cefb28d254fd48c838abae14e7bc02f8831a5e96e9521b95f52b9bc1bb632fb5d93abed11dea480ba9f007e7cfdbf1
DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24
DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb
DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0
DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6

@ -1,26 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils
DESCRIPTION="UIOP is a portability layer spun off ASDF3"
HOMEPAGE="http://common-lisp.net/project/asdf/"
SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE=""
RDEPEND="~dev-lisp/asdf-${PV}"
S="${WORKDIR}/${PN}"
src_install() {
insinto /usr/share/common-lisp/source/${PN}
doins -r contrib *.lisp ../version.lisp-expr uiop.asd asdf-driver.asd
dodir /usr/share/common-lisp/systems
dosym /usr/share/common-lisp/source/${PN}/uiop.asd /usr/share/common-lisp/systems/uiop.asd
dosym /usr/share/common-lisp/source/${PN}/asdf-driver.asd /usr/share/common-lisp/systems/asdf-driver.asd
}

@ -0,0 +1,27 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit common-lisp-3
DESCRIPTION="UIOP is a portability layer spun off ASDF3"
HOMEPAGE="http://common-lisp.net/project/asdf/"
SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE=""
RDEPEND="~dev-lisp/asdf-${PV}"
S="${WORKDIR}/asdf-${PV}/${PN}"
src_install() {
insinto "${CLSOURCEROOT}/${PN}"
doins -r contrib *.lisp ../version.lisp-expr "${PN}.asd" asdf-driver.asd
dodir "${CLSYSTEMROOT}"
dosym "${CLSOURCEROOT}/${PN}/${PN}.asd" "${CLSYSTEMROOT}/${PN}.asd"
dosym "${CLSOURCEROOT}/${PN}/asdf-driver.asd" "${CLSYSTEMROOT}/asdf-driver.asd"
}

@ -0,0 +1,19 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=MIYAGAWA
DIST_VERSION=1.7043
inherit perl-module
DESCRIPTION='Get, unpack, build and install modules from CPAN'
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND=""
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? ( virtual/perl-Test-Simple )
"

@ -1,2 +1,3 @@
DIST App-cpanminus-1.7039.tar.gz 316814 SHA256 09bcd8303fcf9866d7bb9ff5c7df5f8d49d0cbe3d69c42446860ed1fc17064e4 SHA512 a877f4ffeadc3bddc567b5dd115fdf29581fbe5a3afdab923b736e8597d5d0dcc8cb8efbcdd71abe53b6381c519c37f929a56c793eea4cae7056c0707042cbeb WHIRLPOOL d0877b98df1a7b38d73115a0c8329eada3f1c60e875f8570fdfa6e3687ebf3351a2654bc9213f4ca0b98fbba87ce93fde5d3a99fa3f95534624eaec0316e8f1a
DIST App-cpanminus-1.7040.tar.gz 317254 SHA256 fc8e5cde17cc5f4cc13aea8781c1e9425f76abc684cc720e9253f47ab3529556 SHA512 4485196d3b498a4ca89e51b899659a908cf769d0481f713bc1e118dbf61a93807098b9d93988ef00fdf144e5248209b3669d293955f2bdc13fd2b1680ec279f6 WHIRLPOOL 8a8ca912ca07e7dbb283f12949aade275f8a2aec23b737fd33acedc093ba554463862fd59f32786dbf87bfd47c63d784915ef1c6ac8379f5dd51482527765de3
DIST App-cpanminus-1.7043.tar.gz 317984 SHA256 68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65 SHA512 a885ec78d5fea49434fbc8b71a503f2f4dc3a60905d54abe330a0a6233b7901e5b4364d0297752973efe6a57cae134d55b0a14781dbfb66e1fcbf4e001be389d WHIRLPOOL 3b853ce7a74b028251dadaf779bba4e887bd40d73639ad4cd25cda6616b2bd8ce39e2b9f313d764bd3f5d0f258bf9a34eb30fe2de61f6df6d571f9707e14fc4a

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Report errors from perspective of caller of a clan of modules"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND=""

@ -0,0 +1,35 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=MIK
DIST_VERSION=0.046
inherit perl-module
DESCRIPTION="Self-contained crypto toolkit"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test minimal"
RDEPEND="
>=virtual/perl-Exporter-5.590.0
!minimal? (
|| ( dev-perl/JSON-XS virtual/perl-JSON-PP )
)
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
>=virtual/perl-Test-Simple-0.880.0
!minimal? (
>=virtual/perl-Math-BigInt-1.999.715
>=virtual/perl-Storable-2.0.0
)
)
"
src_test() {
perl_rm_files t/003_all_pm_pod.t
perl-module_src_test
}

@ -1,3 +1,4 @@
DIST CryptX-0.025.tar.gz 1322492 SHA256 f8b7e3ec1713c8dfe3eef9d114f45f223b97e2340f81a20589b5605fa49cfe38 SHA512 73495601ff9ca70090dc2eb75ab382ef34ca1357b4f6cf82c07fe5c1a38ab5b4cf8fa79b44dcf9145be13ca0b2e7e5e99903d5a9fd425de2e46526fd4ac17554 WHIRLPOOL 12c338aca513b5ccbce69359acb99e5ca1182a61467d864050990e68fe8f2010604676f39fe650890ae8b37745954364f781e0d7ee6d20c1658a782c81500f65
DIST CryptX-0.039.tar.gz 1200451 SHA256 2d06975459d53799d50b0f07971c995bd2cbfceac7d26c571e852ce79a701087 SHA512 7bb0401628873721ab1d38fdc98b8b8f4f53f1c82aa4c22f095fe997b8ffa2e8072b24f6f2e8c3784ccdad2ebbd1aec67cffa6aaf57e8005f9b2b0532454b9d5 WHIRLPOOL 3e0df5b890526cb0e886caede4f62d77e76a1650877d4e25b1c7f2d66e0d74519bda0d235bff25e24c890db26057c69ef4c607ed5279f8fbf84bca2d78ea0a89
DIST CryptX-0.044.tar.gz 1201145 SHA256 15e5e6bd7b90af24c7e730751fec7b10d8e22ef4380d527bda242dee7dd20443 SHA512 b28a73fa97f15695c75e5570ae969df69b4f08320f090034bfd1f680ae3b386004c20b305c2f470f252686948f6912f4de61ac9beeccc45d94c6f9da5152dbbd WHIRLPOOL b4f532d870499f7d1e16e62f2b67a20c11f5d9c76eb9145ac1e1226117fc9ec7b8e992989eea143eb08dbf060c8ce9034699f83aaa9bc0a04343b2fb01cdd3b7
DIST CryptX-0.046.tar.gz 1203998 SHA256 ced01ebd6f3f7dd0d36ac25001defc4eeb5d3eda6ae4d5a5dfc66616cd599fb9 SHA512 96367aa696f6eb2849483798ea9b7772dd23c79ac7b404fbeb938d7b0d5639377a075b288d0f3bcfa81aae46245f3290d34fe60ddc0df360e7803f909c1c7899 WHIRLPOOL 11b5c73b85709ad039abaa3e27c52f81a684d6ee466cf9725a408e1b877ad63247fc3eb065a6130180f5e27d4113ad6c6ee50da034c5a81396b5deefd9a8f68d

@ -0,0 +1,28 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=ETHER
DIST_VERSION=1.15
inherit perl-module
DESCRIPTION="Common rules for searching for Perl things"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="test"
RDEPEND="
>=virtual/perl-CPAN-Meta-1.380.0
>=dev-perl/File-Find-Rule-0.200.0
>=virtual/perl-File-Spec-0.820.0
>=dev-perl/Params-Util-0.380.0
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-Test-Simple
)
"

@ -1 +1,2 @@
DIST File-Find-Rule-Perl-1.13.tar.gz 32694 SHA256 d2ecb270778ddf54c536a78d02fe6ee7a675f7dcb7f3497ba1a76493f1bd2476 SHA512 87f1372b9af8fe678cb512df4797ef3d128a72b262c7687d1f18d487deef99f2e2bb54fff1a1a3f17ec42cab47b40c6afa14b38514c53e9a6cce42d4202a3842 WHIRLPOOL 4572b9953c95aec22ff73158ae2150010b16db68d595cb033f251007f114b67ae9552331d529e5e692d914dbcab087d9be09f909bfff52f2dc0036aa7d016564
DIST File-Find-Rule-Perl-1.15.tar.gz 7502 SHA256 9a48433f86e08ce18e03526e2982de52162eb909d19735460f07eefcaf463ea6 SHA512 90fc64991fbdb47bcb712f2bf7c85b2571a2b161952574606ddfd9c9ad9aeaaa2e0f3355b9c8b993ab2479d8c80e89075caa9e5413259c2bb99b1e75ef791670 WHIRLPOOL 8280efc3dd1c5eb55b123e99122f273506d4b6b1350bd332983a2148e90e3a47794dac6692b8479a4c9ae7cabf4de92436728643d09d3ffbb11adff26149286b

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>
</maintainer>
<upstream>
<remote-id type="cpan">File-Find-Rule-Perl</remote-id>
<remote-id type="cpan-module">File::Find::Rule::Perl</remote-id>
</upstream>
</pkgmetadata>

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Remove files and directories"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="test"
RDEPEND="

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=OALDERS
DIST_VERSION=6.03
inherit perl-module
DESCRIPTION="Storage of cookies"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="
!<dev-perl/libwww-perl-6
virtual/perl-Carp
>=dev-perl/HTTP-Date-6.0.0
virtual/perl-Time-Local
>=dev-perl/HTTP-Message-6.0.0
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-Test
virtual/perl-Test-Simple
dev-perl/URI
)
"
src_test() {
perl_rm_files t/author-*.t t/release-*.t
perl-module_src_test
}

@ -1 +1,2 @@
DIST HTTP-Cookies-6.01.tar.gz 18751 SHA256 f5d3ade383ce6389d80cb0d0356b643af80435bb036afd8edce335215ec5eb20 SHA512 64058cc23275c13533b1688068e7ecc6297ac696f3812c6d5c732185130d68ed6be0be6f4b604ef023a2b02bbb80a7f5bdb774335784be40261329a588cf5247 WHIRLPOOL ff722ea444c3d3a16e2f35a0901a2fcd84572b39ed87e4c182f8b7048fb8b151dc6afd12e0a407f39c7d7c84faf429154e0edb76ec5712c6c1742ad7576a0beb
DIST HTTP-Cookies-6.03.tar.gz 33669 SHA256 05051f2761832317554b0be4b74012c35fd278f6af2c9d218f055e0de891457c SHA512 730cb63a2e21910929b0e43b8e34b9a2c259e12b4f2552f8382e95552fb50ead24c4865ca75e43dda6d38dfb0eaf417248aa7102a3b57d1404c24fb80ad8974f WHIRLPOOL ac32f6ccdb5ce7a23134c3fe61b035791df44e589cbd9a22be0068ffa5174150e475a85d009b4f905388e7486b467b051481d2461b6d62f091455df2a1f40613

@ -1 +1,2 @@
DIST Test-Regexp-2016060501.tar.gz 18898 SHA256 d59ff798b47b5a8be99f840a9bcf2762d49d2e0c96f51a38c03fe1a41eb4737d SHA512 639d74565fe93950950ed9dda30de5f83b1941d9f06b71dc40e33bd7b5355bba2d0f91afd9355262dc4ec167f39427e06f807e594b97ec74ff11762dea12f411 WHIRLPOOL a9fddf16049269c8c5a72d36d34427fa34b22b8c7a80ad26df467f8dcc2c3f3e728609ebdc7dc677a2add518fcf65ec798ad281f36c81baf5432aaf18386b884
DIST Test-Regexp-2017040101.tar.gz 18904 SHA256 35cb41df5c5017835b89b853d5a44e25e6da973b450e1edca51bba70e7041e54 SHA512 70595642f8f5cadd4cec73587af8b4e9ce793c37fdf02773d357b84ee8181750f5ae7fbfbc9a35ca3392f5af074ef5b5a1626547cc7a0c3f48439d4a24bdc0b8 WHIRLPOOL 842e09bf6f4422474f73a833c90a4df28441fc4a474ce9ac3dd7fcbcd90ff97ed883d15c00ebedf3f9c0c970bfde6f2ebe4bde783ad025a306b68fa17f88f3f7

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit versionator
DIST_AUTHOR=ABIGAIL
DIST_VERSION=$(get_major_version)
inherit perl-module
DESCRIPTION="Provide commonly requested regular expressions"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="test"
DEPEND="
test? ( >=virtual/perl-Test-Simple-1.1.14 )
virtual/perl-ExtUtils-MakeMaker
"
RDEPEND="
virtual/perl-Test-Simple
virtual/perl-Exporter
"
src_test() {
# Omit code coverage / documentation tests
perl_rm_files t/{950,960,980,981,982}*.t
perl-module_src_test
}

@ -8,6 +8,7 @@
<upstream>
<remote-id type="cpan">Test-Regexp</remote-id>
<remote-id type="cpan-module">Test::Regexp</remote-id>
<remote-id type="cpan-module">Test::Regexp::Object</remote-id>
<remote-id type="github">Abigail/Test-Regexp</remote-id>
</upstream>
</pkgmetadata>

@ -1 +1,2 @@
DIST WWW-Dict-Leo-Org-1.40.tar.gz 13656 SHA256 4285702fd5d3e0633891739cb149b9f950afe4c69ad0a10a9c6e185ff29552da SHA512 1f71e7571eef4f68addf1b999e61bc0ecbe3fd5fc5bf1156c20d1c5018f232d7ed986bbf714bc549865c1cf81e3863b453065234033d8b763768db29f8e565f7 WHIRLPOOL 7b70536cc2ddd040a21a9027910afbbdcedf080fd07f677b410764e2cb24c143acc23fe5ee38122046bd04bf9f4a715b098a336c3edc7f65f8534d152822f13b
DIST WWW-Dict-Leo-Org-2.00.tar.gz 14169 SHA256 36da8827396263791c097724c9545c39877a0b827d1fa7f61463ee54b3c20428 SHA512 7fa523eb1668dd96ec7486eb977851785fec3124be770ae5237f0dd6b27c0cfbafa31b7f5153f68904a2789682c53255b7a48b61c7bf2fbca5fea6d88616e42e WHIRLPOOL 4bb6235f84e95ab76a0a5627f8e0a98bcd84f809a40c4ce63297cf75e35e8fbf47b79e5a6db815e1a028cad26a7fd91ea218a78196198256f1c83e77b7820c49

@ -0,0 +1,39 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=TLINDEN
DIST_VERSION=2.00
DIST_EXAMPLES=("samples/*")
inherit perl-module
DESCRIPTION="Commandline interface to http://dict.leo.org/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
virtual/perl-Carp
dev-perl/HTML-TableParser
virtual/perl-MIME-Base64
dev-perl/XML-Simple
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
src_prepare() {
einfo "Renaming leo to Leo"
mv "${S}/"{l,L}eo || die
sed -i "s/'leo'/'Leo'/" "${S}/"Makefile.PL || die
sed -i "s/^leo$/Leo/" "${S}/"MANIFEST || die
perl-module_src_prepare
}
pkg_postinst() {
elog "We renamed leo to Leo"
elog "due to conflicts with app-editors/leo"
}

@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Perl binding for libxml2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="test minimal"
RDEPEND="

@ -1 +1,2 @@
DIST XML-SAX-Base-1.08.tar.gz 28197 SHA256 666270318b15f88b8427e585198abbc19bc2e6ccb36dc4c0a4f2d9807330219e SHA512 2149a4772b10d31b6d0f4f0cf8d07145cdb103de518d3055f09ed921748a5b6c8269c9d7c017e865b8c251a3e930cf752eb33780d5291b4287c003af3b6ff47f WHIRLPOOL c42f1ecccf199f212b62e2fd42cd00ba719de37c36a654f65b75d82b36d3784534e1cd62f5b5e5e1ea0f7ee96f40698c87045d4042496d8798dfbe3a450e1a20
DIST XML-SAX-Base-1.09.tar.gz 28215 SHA256 66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0 SHA512 72a34fd2b0375222cad3a42a0e2d92f793d7a2ac27d831a8a8d3322fdc75ba246ca53c33cdc0fbade81f3a96ad977ebf5d4cddc6d75d76be79b2e655f316d532 WHIRLPOOL 576312ecdab50d14bc1ed4867cccaad1303296ebe612ac4089616fdce6fd54419cd0bc9919df411743ed2d567a4b898117cc34866a9951fa46067c829cdf1b19

@ -0,0 +1,22 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=GRANTM
DIST_VERSION=1.09
inherit perl-module
DESCRIPTION="Base class SAX Drivers and Filters"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="
!<dev-perl/XML-SAX-0.990.0
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? ( >=virtual/perl-Test-Simple-0.880.0 )
"

@ -1 +1,2 @@
DIST autobox-2.83.tar.gz 76003 SHA256 3f83a33fa9566c859c786815d3790299a8e95f181a5866f9b810645bb41e89c4 SHA512 2c347ee61240ba7ba8fdf0bddebceab554c602ce673a524255a73ee7b53a9765f9679bd613f796f74e6588ebfd6beb877fa6f49720fa6da108f91ebb365b1dc6 WHIRLPOOL 9fe89b2c2d5378358bc4875b39017dc07889118d7eff8201f2326bf9691b78cd0f1e3c681e84c23273c6c418982a2b580a8a8c63dbdbcf0451a4593355ae39aa
DIST autobox-2.85.tar.gz 80443 SHA256 d0b8d0f27f3d1c1e8ef47f806fa06b9c229c3ca84057004fedc35dbbc0341140 SHA512 2f9c0ef556655eb19a2e50aa2ec47769ef2fd7bb15806a7f22320be9d79178811c418dbe58cf792fdc48dc3e7b80b70c1882956559373cc6eb152c0b94d52081 WHIRLPOOL 1f41cad40486faeb490911dc15b41c37846645947da0835b02c29e272396d05eba3826890b822e2bfa43efb8df7b3da64f7608b7084fa95215323a616d0669e7

@ -0,0 +1,19 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=CHOCOLATE
DIST_VERSION=2.85
inherit perl-module
DESCRIPTION="Call methods on native types"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
>=dev-perl/Scope-Guard-0.210.0
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"

@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>
</maintainer>
<upstream>
<remote-id type="cpan">autobox</remote-id>
<remote-id type="cpan-module">autobox</remote-id>
<remote-id type="cpan-module">autobox::universal</remote-id>
</upstream>
</pkgmetadata>

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

Loading…
Cancel
Save