parent
02b3464da9
commit
97279f3298
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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 +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
|
||||
}
|
@ -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>
|
@ -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/*
|
||||
}
|
@ -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
|
||||
-
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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>
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
}
|
@ -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"
|
||||
}
|
@ -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…
Reference in new issue