parent
ff353413eb
commit
db99bb228c
@ -1 +1,2 @@
|
||||
DIST xz-5.2.2.tar.gz 1464228 SHA256 73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2 SHA512 8d6249f93c5c43e1c8eeb21f93b22330fd54575e20bbb4af3d06721192d9f0ca3351878964c9640238ac410b7dd9f16329793c7be7355c7ca0db92c6db6ab813 WHIRLPOOL 7707f10908a57b5780cdb9dda6bac2674f4c5e3350660ea61539b4df5ecc7dbeeb03f05a9b32873d28a14343f9c6491d68095769d3b283018e8139a95bf5f369
|
||||
DIST xz-5.2.3.tar.gz 1490665 SHA256 71928b357d0a09a12a4b4c5fafca8c31c19b0e7d3b8ebb19622e96f26dbf28cb SHA512 a5eb4f707cf31579d166a6f95dbac45cf7ea181036d1632b4f123a4072f502f8d57cd6e7d0588f0bf831a07b8fc4065d26589a25c399b95ddcf5f73435163da6 WHIRLPOOL 1a3f5b5a0018770098c50ba310cac705dcc44bd5bf58079903eb076e26443c1f687f0c75d4a47aa0df279ab44ca36b340e21b73881521c93a9353165d309be9e
|
||||
|
@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils multilib toolchain-funcs libtool multilib-minimal
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="http://git.tukaani.org/xz.git"
|
||||
inherit git-2 autotools
|
||||
SRC_URI=""
|
||||
EXTRA_DEPEND="sys-devel/gettext dev-vcs/cvs >=sys-devel/libtool-2" #272880 286068
|
||||
else
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="http://tukaani.org/xz/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
EXTRA_DEPEND=
|
||||
fi
|
||||
|
||||
DESCRIPTION="utils for managing LZMA compressed files"
|
||||
HOMEPAGE="http://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="elibc_FreeBSD nls static-libs +threads"
|
||||
|
||||
RDEPEND="!<app-arch/lzma-4.63
|
||||
!app-arch/lzma-utils
|
||||
!<app-arch/p7zip-4.57"
|
||||
DEPEND="${RDEPEND}
|
||||
${EXTRA_DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
elibtoolize # to allow building shared libs on Solaris/x64
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
use elibc_FreeBSD && export ac_cv_header_sha256_h=no #545714
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
$(use_enable nls) \
|
||||
$(use_enable threads) \
|
||||
$(use_enable static-libs static) \
|
||||
$(multilib_is_native_abi || echo --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts})
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
prune_libtool_files --all
|
||||
rm "${ED}"/usr/share/doc/xz/COPYING* || die
|
||||
mv "${ED}"/usr/share/doc/{xz,${PF}} || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST burp-1.3.48.tar.bz2 683509 SHA256 bb456c208998d2f5806828357934e794cd9675448cb6545473364fd9e6d73509 SHA512 08de252f25ff7aa448dd6768272a9a14622902347445313b570c857b4e690374e92956379d5b388f446a88427fc4924f9c0df83cba390aa15fd040b8e92f1946 WHIRLPOOL ac99abddd74bcc753037841afc78c74c7af23ad550334f0585540f056ce93243b8958cbdc37cae15cb98a02c2884c928dd65ac03820e1ef53ea031128a831a44
|
||||
DIST burp-1.4.40.tar.bz2 712937 SHA256 4108eb45e14740de990d918a2adbb661d88f90de48d6e2e3a6b54fd12b16fa5e SHA512 b44ba3a63d3b75f6fee55bbfef70ac07fa87e78ddb22a398e31a86670dfa3f2db1c9dbc58de3d0038cdc409bd5ae52c8e901cb26975fd7dbe0f773c4841af10c WHIRLPOOL 636120b3fa2d4a3217567177f3c8abbdeb562d298043fd6bd685842287964d835f2a369e36db0bc32ce908ce8f96e4e2677569e6ca4bac80f8d9958a2364a62d
|
||||
|
@ -1,100 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools eutils user
|
||||
|
||||
DESCRIPTION="Network backup and restore client and server for Unix and Windows"
|
||||
HOMEPAGE="http://burp.grke.org/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
|
||||
http://burp.grke.org/downloads/${P}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="acl afs ipv6 nls tcpd xattr"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/openssl:0
|
||||
dev-libs/uthash
|
||||
sys-libs/libcap
|
||||
~net-libs/librsync-0.9.7
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/zlib
|
||||
acl? ( sys-apps/acl )
|
||||
afs? ( net-fs/openafs )
|
||||
nls? ( sys-devel/gettext )
|
||||
tcpd? ( sys-apps/tcp-wrappers )
|
||||
xattr? ( sys-apps/attr )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
virtual/logger
|
||||
"
|
||||
|
||||
DOCS=( CONTRIBUTORS DONATIONS UPGRADING )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PV}-non-zero-or-build-failure.patch"
|
||||
"${FILESDIR}/${PV}-bedup-conf-path.patch"
|
||||
"${FILESDIR}/${PV}-tinfo.patch"
|
||||
"${FILESDIR}/${PV}-0001-Set-default_md-sha256-in-CA.cnf.patch"
|
||||
)
|
||||
S="${WORKDIR}/burp"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup "${PN}"
|
||||
enewuser "${PN}" -1 "" "" "${PN}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${PATCHES[@]}"
|
||||
# see bug #426262
|
||||
mv configure.in configure.ac || die
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--sbindir=/usr/sbin
|
||||
--sysconfdir=/etc/burp
|
||||
--enable-largefile
|
||||
$(use_enable acl)
|
||||
$(use_enable afs)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable nls)
|
||||
$(use_enable xattr)
|
||||
$(use_with tcpd tcp-wrappers)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
fowners root:burp /etc/burp /var/spool/burp
|
||||
fperms 0775 /etc/burp /var/spool/burp
|
||||
fowners root:burp /etc/burp/clientconfdir
|
||||
fperms 0750 /etc/burp/clientconfdir
|
||||
fowners root:burp /etc/burp/burp-server.conf
|
||||
fperms 0640 /etc/burp/burp-server.conf
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
dodoc docs/*
|
||||
|
||||
sed -e 's|^# user=graham|user = burp|' \
|
||||
-e 's|^# group=nogroup|group = burp|' \
|
||||
-e 's|^pidfile = .*|lockfile = /run/lock/burp/server.lock|' \
|
||||
-i "${D}"/etc/burp/burp-server.conf || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -e /etc/burp/CA/index.txt ]]; then
|
||||
elog "At first run burp server will generate DH parameters and SSL"
|
||||
elog "certificates. You should adjust configuration before."
|
||||
elog "Server configuration is located at"
|
||||
elog ""
|
||||
elog " /etc/burp/burp-server.conf"
|
||||
elog ""
|
||||
fi
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
From dd9b4bad27bf0395c0836d41e61678ba39459422 Mon Sep 17 00:00:00 2001
|
||||
From: graham <graham@space.grke.net>
|
||||
Date: Tue, 16 Jun 2015 12:29:56 +0000
|
||||
Subject: [PATCH] Set default_md=sha256 in CA.cnf.
|
||||
|
||||
---
|
||||
configs/certs/CA/CA.cnf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configs/certs/CA/CA.cnf b/configs/certs/CA/CA.cnf
|
||||
index 097f5fa..608cbce 100644
|
||||
--- a/configs/certs/CA/CA.cnf
|
||||
+++ b/configs/certs/CA/CA.cnf
|
||||
@@ -14,7 +14,7 @@ crlnumber = $dir/crlnumber.txt
|
||||
|
||||
unique_subject = no
|
||||
|
||||
-default_md = sha1
|
||||
+default_md = sha256
|
||||
default_days = 7300
|
||||
default_crl_days = 7300
|
||||
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,33 +0,0 @@
|
||||
diff -Naur burp-1.3.48/manpages/bedup.8 burp-1.3.48.new/manpages/bedup.8
|
||||
--- burp-1.3.48/manpages/bedup.8 2014-01-27 11:55:47.000000000 +0100
|
||||
+++ burp-1.3.48.new/manpages/bedup.8 2014-11-22 12:57:20.241299376 +0100
|
||||
@@ -16,7 +16,7 @@
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-c\fR \fBpath\fR
|
||||
-Path to config file (default: /etc/burp/burp.conf).
|
||||
+Path to config file (default: /etc/burp/burp-server.conf).
|
||||
.TP
|
||||
\fB\-g\fR \fB<list of group names>\fR
|
||||
Only run on the directories of clients that are in one of the groups specified. The list is comma-separated. To put a client in a group, use the 'dedup_group' option in the client configuration file on the server.
|
||||
@@ -42,7 +42,7 @@
|
||||
\fB\-V\fR \fB\fR
|
||||
Print version and exit.\fR
|
||||
.TP
|
||||
-By default, bedup will read /etc/burp/burp.conf and deduplicate client storage directories using special knowledge of the structure.\fR
|
||||
+By default, bedup will read /etc/burp/burp-server.conf and deduplicate client storage directories using special knowledge of the structure.\fR
|
||||
.TP
|
||||
With '\-n', this knowledge is turned off and you have to specify the directories to deduplicate on the command line. Running with '\-n' is therefore dangerous if you are deduplicating burp storage directories.
|
||||
|
||||
diff -Naur burp-1.3.48/src/bedup.c burp-1.3.48.new/src/bedup.c
|
||||
--- burp-1.3.48/src/bedup.c 2014-01-27 11:55:47.000000000 +0100
|
||||
+++ burp-1.3.48.new/src/bedup.c 2014-11-22 12:57:20.241299376 +0100
|
||||
@@ -734,7 +734,7 @@
|
||||
static char *get_config_path(void)
|
||||
{
|
||||
static char path[256]="";
|
||||
- snprintf(path, sizeof(path), "%s", SYSCONFDIR "/burp.conf");
|
||||
+ snprintf(path, sizeof(path), "%s", SYSCONFDIR "/burp-server.conf");
|
||||
return path;
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index ac22a24..f99ce96 100755
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -40,7 +40,7 @@ all: Makefile
|
||||
@for I in ${all_subdirs}; \
|
||||
do (cd $$I; echo "==>Entering directory `pwd`"; \
|
||||
$(MAKE) $@ || (echo ""; echo ""; echo " ====== Error in `pwd` ======"; \
|
||||
- echo ""; echo "";)); \
|
||||
+ echo ""; echo ""; exit 1;)) || exit 1; \
|
||||
done
|
||||
|
||||
depend:
|
@ -1,22 +0,0 @@
|
||||
diff -Naur burp-1.3.48/configure.in burp-1.3.48.new/configure.in
|
||||
--- burp-1.3.48/configure.in 2014-01-27 11:55:47.000000000 +0100
|
||||
+++ burp-1.3.48.new/configure.in 2014-11-22 13:01:01.192403673 +0100
|
||||
@@ -1203,13 +1203,12 @@
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS(ncurses.h)
|
||||
-AC_CHECK_LIB(ncurses, curs_set, [NCURSES_LIBS="-lncurses"])
|
||||
have_ncurses=no
|
||||
-if test x$NCURSES_LIBS = x-lncurses; then
|
||||
- AC_DEFINE(HAVE_NCURSES, 1, [Defined to 1 if libncurses was found])
|
||||
- have_ncurses=yes
|
||||
-fi
|
||||
-AC_SUBST(NCURSES_LIBS)
|
||||
+AC_CHECK_LIB(ncurses, endwin,
|
||||
+ [NCURSES_LIBS="-lncurses"; have_ncurses=yes]
|
||||
+ AC_SEARCH_LIBS(curs_set, tinfo, [NCURSES_LIBS="$NCURSES_LIBS $ac_res"]),
|
||||
+ AC_DEFINE(HAVE_NCURSES, 1, [Defined to 1 if libncurses was found])
|
||||
+ AC_SUBST(NCURSES_LIBS))
|
||||
|
||||
dnl
|
||||
dnl Check if we have AFS on this system
|
@ -1 +0,0 @@
|
||||
DIST recorder-1.4.5.tar.bz2 32037 SHA256 9bef2520c81c7afaf565080b9e157c8fa454c74e2ab821dc79b899de0aeba010 SHA512 b923241fe41a326caf21668f6f7a2e461c98049846163dcbdfad42e3c8fe9a3d33c48066708b2df426da26bfa325a535a3494397a2fe3e4b94820c7e4b8d88a8 WHIRLPOOL 11fea10982a7aaabefb03144751043632eb8987549ec43521609e18b3dc29538fe231c089bca0d7e2bd0272e00bda1f47be682ceb402dafb78e2b47d2912e648
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<longdescription lang="en">
|
||||
Recorder is a graphical frontend of cdrecord/cdrtools, cdrdao, mkisofs
|
||||
and growisofs. It aims to be simple and easy to use, free of large
|
||||
configurations and useless options, following the KISS principle and
|
||||
offering a disc burning of quality, nothing more. You can burn data
|
||||
(CD/DVD), audio (CD), video (DVD, VCD and SVCD), iso images (CD/DVD),
|
||||
create iso images to burn later and check integrity of burned files
|
||||
with md5sum.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit fdo-mime python-single-r1
|
||||
|
||||
DESCRIPTION="A simple GTK+ disc burner"
|
||||
HOMEPAGE="https://code.google.com/p/recorder/"
|
||||
SRC_URI="https://recorder.googlecode.com/files/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE="dvdr mp3 nls ogg vcd"
|
||||
|
||||
LANGS="ar cs es fr it nl pl pt_BR ru sv"
|
||||
for l in ${LANGS}; do
|
||||
IUSE="${IUSE} linguas_${l}"
|
||||
done
|
||||
|
||||
DEPEND="nls? ( sys-devel/gettext )"
|
||||
RDEPEND="${DEPEND}
|
||||
>=dev-python/pygtk-2[${PYTHON_USEDEP}]
|
||||
sys-apps/coreutils
|
||||
virtual/cdrtools
|
||||
dvdr? ( app-cdr/dvd+rw-tools )
|
||||
mp3? ( media-sound/mpg123 )
|
||||
ogg? ( media-sound/vorbis-tools )
|
||||
vcd? (
|
||||
app-cdr/cdrdao
|
||||
media-video/vcdimager
|
||||
)"
|
||||
|
||||
DOCS=( CHANGELOG TRANSLATORS )
|
||||
|
||||
src_prepare() {
|
||||
python_fix_shebang recorder
|
||||
|
||||
local MY_NLS=""
|
||||
if use nls; then
|
||||
for ling in ${LINGUAS}; do
|
||||
if has $ling ${LANGS}; then
|
||||
MY_NLS="${MY_NLS} ${ling}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
sed -i -e "s:ar cs es fr pt_BR ru it nl:${MY_NLS}:" Makefile || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST ganeti-instance-debian-etch-0.4.tar 40960 SHA256 be2175c6007e308a3f7eab0cbe7242aeee892eb2a2d0216011260f3826eea92d SHA512 5c040d849fe0ed1c20231f8f32f1b0a8e8d10e2c45c36ca7cd2843c2b82e868e0d50bbf6eab89db59e50f3e012cf7351da3469dbcd0c21455740d38f8dd481d0 WHIRLPOOL d850f74943f0d210a6f1ced22968c04cfdc095b01470e3cbd96d6c91ec71776dccd2fc5341bf8647ecbc25ae56ec3f5e5683c71ce926d9ffb6e7fc3be350cd55
|
@ -1,30 +0,0 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
DESCRIPTION="Debian Etch instance example for Ganeti"
|
||||
HOMEPAGE="http://www.ganeti.org/"
|
||||
SRC_URI="https://ganeti.googlecode.com/files/${P}.tar"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
app-arch/dpkg
|
||||
app-arch/dump
|
||||
app-emulation/ganeti
|
||||
dev-util/debootstrap
|
||||
>=sys-apps/coreutils-6.10-r1
|
||||
sys-apps/util-linux
|
||||
sys-fs/e2fsprogs
|
||||
"
|
||||
|
||||
src_install() {
|
||||
dir=/srv/ganeti/os/debian-etch/
|
||||
insinto ${dir}
|
||||
doins "${S}"/*
|
||||
fperms 755 ${dir}/{create,export,import,rename}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="google-code">ganeti</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,2 +1,3 @@
|
||||
DIST qemu-2.7.0.tar.bz2 26867760 SHA256 326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53 SHA512 654acaa7b3724a288e5d7e2a26ab780d9c9ed9f647fba00a906cbaffbe9d58fd666f2d962514aa2c5b391b4c53811ac3170d2eb51727f090bd19dfe45ca9a9db WHIRLPOOL dcb3e5f7da89dd8e14d636d7ebd476e076e0043880bb9ea3fb1c03cb4bcd4e5c7d3c4719da26c3ce521e3a3db5ae671e86f198ac1bc3474e774d75504fef8b8d
|
||||
DIST qemu-2.7.1.tar.bz2 26868403 SHA256 68636788eb69bcb0b44ba220b32b50495d6bd5712a934c282217831c4822958f SHA512 16a83946e9064733254c82c961749bf9c56a0a2a8ee46145b4a78e1452ac0e2548d888963d18c80e28f65202890fd643b0011951b5b1c66ef16234767ed91898 WHIRLPOOL ae3d3c2b2a3700613733659847de6187755631cb09e8c3548ea30cd994357c9ff128646edce88dfe4dce53e6c1c0f37f8de3688ee7e22262033b40f3fc706efa
|
||||
DIST qemu-2.8.0.tar.bz2 28368517 SHA256 dafd5d7f649907b6b617b822692f4c82e60cf29bc0fc58bc2036219b591e5e62 SHA512 50f2988d822388ba9fd1bf5dbe68359033ed7432d7f0f9790299f32f63faa6dc72979256b5632ba572d47ee3e74ed40e3e8e331dc6303ec1599f1b4367cb78c2 WHIRLPOOL 0ce4e0539657eb832e4039819e7360c792b6aa41c718f0e0d762f4933217f0d370af94b1d6d9776853575b4a6811d8c85db069bf09d21bd15399ac8b50440ff5
|
||||
|
@ -0,0 +1,40 @@
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg01903.html
|
||||
https://bugs.gentoo.org/603444
|
||||
|
||||
From: P J P
|
||||
Subject: [Qemu-devel] [PATCH] display: virtio-gpu-3d: check virgl capabilities max_size
|
||||
Date: Wed, 14 Dec 2016 12:31:56 +0530
|
||||
From: Prasad J Pandit <address@hidden>
|
||||
|
||||
Virtio GPU device while processing 'VIRTIO_GPU_CMD_GET_CAPSET'
|
||||
command, retrieves the maximum capabilities size to fill in the
|
||||
response object. It continues to fill in capabilities even if
|
||||
retrieved 'max_size' is zero(0), thus resulting in OOB access.
|
||||
Add check to avoid it.
|
||||
|
||||
Reported-by: Zhenhao Hong <address@hidden>
|
||||
Signed-off-by: Prasad J Pandit <address@hidden>
|
||||
---
|
||||
hw/display/virtio-gpu-3d.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c
|
||||
index 758d33a..6ceeba3 100644
|
||||
--- a/hw/display/virtio-gpu-3d.c
|
||||
+++ b/hw/display/virtio-gpu-3d.c
|
||||
@@ -370,8 +370,12 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
|
||||
|
||||
virgl_renderer_get_cap_set(gc.capset_id, &max_ver,
|
||||
&max_size);
|
||||
+ if (!max_size) {
|
||||
+ cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
resp = g_malloc0(sizeof(*resp) + max_size);
|
||||
-
|
||||
resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;
|
||||
virgl_renderer_fill_caps(gc.capset_id,
|
||||
gc.capset_version,
|
||||
--
|
||||
2.9.3
|
@ -0,0 +1,35 @@
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg00059.html
|
||||
https://bugs.gentoo.org/601826
|
||||
|
||||
From: Li Qiang
|
||||
Subject: [Qemu-devel] [PATCH] virtio-gpu: fix information leak in capset get dispatch
|
||||
Date: Tue, 1 Nov 2016 05:37:57 -0700
|
||||
From: Li Qiang <address@hidden>
|
||||
|
||||
In virgl_cmd_get_capset function, it uses g_malloc to allocate
|
||||
a response struct to the guest. As the 'resp'struct hasn't been full
|
||||
initialized it will lead the 'resp->padding' field to the guest.
|
||||
Use g_malloc0 to avoid this.
|
||||
|
||||
Signed-off-by: Li Qiang <address@hidden>
|
||||
---
|
||||
hw/display/virtio-gpu-3d.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c
|
||||
index 23f39de..d98b140 100644
|
||||
--- a/hw/display/virtio-gpu-3d.c
|
||||
+++ b/hw/display/virtio-gpu-3d.c
|
||||
@@ -371,7 +371,7 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
|
||||
|
||||
virgl_renderer_get_cap_set(gc.capset_id, &max_ver,
|
||||
&max_size);
|
||||
- resp = g_malloc(sizeof(*resp) + max_size);
|
||||
+ resp = g_malloc0(sizeof(*resp) + max_size);
|
||||
|
||||
resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;
|
||||
virgl_renderer_fill_caps(gc.capset_id,
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
@ -0,0 +1,38 @@
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg05043.html
|
||||
https://bugs.gentoo.org/602630
|
||||
|
||||
From: Li Qiang
|
||||
Subject: [Qemu-devel] [PATCH] virtio-gpu: call cleanup mapping function in resource destroy
|
||||
Date: Mon, 28 Nov 2016 21:29:25 -0500
|
||||
If the guest destroy the resource before detach banking, the 'iov'
|
||||
and 'addrs' field in resource is not freed thus leading memory
|
||||
leak issue. This patch avoid this.
|
||||
|
||||
Signed-off-by: Li Qiang <address@hidden>
|
||||
---
|
||||
hw/display/virtio-gpu.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
|
||||
index 60bce94..98dadf2 100644
|
||||
--- a/hw/display/virtio-gpu.c
|
||||
+++ b/hw/display/virtio-gpu.c
|
||||
@@ -28,6 +28,8 @@
|
||||
static struct virtio_gpu_simple_resource*
|
||||
virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id);
|
||||
|
||||
+static void virtio_gpu_cleanup_mapping(struct virtio_gpu_simple_resource *res);
|
||||
+
|
||||
#ifdef CONFIG_VIRGL
|
||||
#include <virglrenderer.h>
|
||||
#define VIRGL(_g, _virgl, _simple, ...) \
|
||||
@@ -358,6 +360,7 @@ static void virtio_gpu_resource_destroy(VirtIOGPU *g,
|
||||
struct virtio_gpu_simple_resource *res)
|
||||
{
|
||||
pixman_image_unref(res->image);
|
||||
+ virtio_gpu_cleanup_mapping(res);
|
||||
QTAILQ_REMOVE(&g->reslist, res, next);
|
||||
g_free(res);
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
@ -0,0 +1,681 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo-r1 pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt glusterfs \
|
||||
gnutls gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
|
||||
virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
#
|
||||
# Older versions of gnutls are supported, but it's simpler to just require
|
||||
# the latest versions. This is also why we require nettle.
|
||||
#
|
||||
# TODO: Split out tools deps into another var. e.g. bzip2 is only used by
|
||||
# system binaries and tools, not user binaries.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gles2,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.10.1
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools:= )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or32
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
|
||||
you have the kernel module loaded before running kvm. The easiest way to
|
||||
ensure that the kernel module is loaded is to load it on boot.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'.\n
|
||||
For Intel CPUs the module is called 'kvm-intel'.\n
|
||||
Please review /etc/conf.d/modules for how to load these.\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login.\n\n
|
||||
For brand new installs, the default permissions on /dev/kvm might not let you
|
||||
access it. You can tell udev to reset ownership/perms:\n
|
||||
udevadm trigger -c add /dev/kvm"
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.7.0-CVE-2016-8669-1.patch #597108
|
||||
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-9908.patch #601826
|
||||
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-9912.patch #602630
|
||||
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-10028.patch #603444
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bzip2)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gnutls)
|
||||
$(conf_softmmu gnutls nettle)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
$(use_enable bzip2)
|
||||
)
|
||||
static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp-*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/vgabios)"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0394af4..e11d998 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -223,11 +223,10 @@ find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED
|
||||
Notifications
|
||||
KCMUtils
|
||||
)
|
||||
-find_package(KF5 ${REQUIRED_KF5_VERSION} QUIET
|
||||
- OPTIONAL_COMPONENTS
|
||||
- Activities
|
||||
- KHtml
|
||||
-)
|
||||
+
|
||||
+find_package(KF5Activities)
|
||||
+find_package(KF5KHtml)
|
||||
+
|
||||
set_package_properties(KF5Activities PROPERTIES
|
||||
TYPE OPTIONAL
|
||||
)
|
@ -0,0 +1,199 @@
|
||||
From dd2cb16ab43d21ee25ba6ebfb36cd68ec9879c4f Mon Sep 17 00:00:00 2001
|
||||
From: Dag Andersen <danders@get2net.dk>
|
||||
Date: Mon, 12 Dec 2016 10:07:38 +0100
|
||||
Subject: Plan: Fix crash on close
|
||||
|
||||
Due to accessing project node during delete
|
||||
|
||||
BUG: 373527
|
||||
FIXED-IN: 3.0.0
|
||||
---
|
||||
plan/libs/kernel/kptnode.cpp | 14 ++++++++++++--
|
||||
plan/libs/kernel/kptnode.h | 5 ++++-
|
||||
plan/libs/kernel/kptproject.cpp | 11 ++++++++++-
|
||||
plan/libs/kernel/kptresource.cpp | 20 ++++++++++++++++----
|
||||
plan/libs/kernel/kptresource.h | 7 ++++++-
|
||||
5 files changed, 48 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/plan/libs/kernel/kptnode.cpp b/plan/libs/kernel/kptnode.cpp
|
||||
index d8b0e6b..e55f9ca 100644
|
||||
--- a/plan/libs/kernel/kptnode.cpp
|
||||
+++ b/plan/libs/kernel/kptnode.cpp
|
||||
@@ -40,7 +40,8 @@ namespace KPlato
|
||||
Node::Node(Node *parent)
|
||||
: QObject( 0 ), // We don't use qobjects parent
|
||||
m_nodes(), m_dependChildNodes(), m_dependParentNodes(),
|
||||
- m_estimate( 0 )
|
||||
+ m_estimate( 0 ),
|
||||
+ m_blockChanged(false)
|
||||
{
|
||||
//debugPlan<<"("<<this<<")";
|
||||
m_parent = parent;
|
||||
@@ -53,7 +54,8 @@ Node::Node(const Node &node, Node *parent)
|
||||
m_nodes(),
|
||||
m_dependChildNodes(),
|
||||
m_dependParentNodes(),
|
||||
- m_estimate( 0 )
|
||||
+ m_estimate( 0 ),
|
||||
+ m_blockChanged(false)
|
||||
{
|
||||
//debugPlan<<"("<<this<<")";
|
||||
m_parent = parent;
|
||||
@@ -1225,7 +1227,15 @@ void Node::setRunningAccount(Account *acc)
|
||||
changed();
|
||||
}
|
||||
|
||||
+void Node::blockChanged(bool on)
|
||||
+{
|
||||
+ m_blockChanged = on;
|
||||
+}
|
||||
+
|
||||
void Node::changed(Node *node, int property) {
|
||||
+ if (m_blockChanged) {
|
||||
+ return;
|
||||
+ }
|
||||
switch ( property) {
|
||||
case Type:
|
||||
case StartupCost:
|
||||
diff --git a/plan/libs/kernel/kptnode.h b/plan/libs/kernel/kptnode.h
|
||||
index cfcbd3e..4c98acc 100644
|
||||
--- a/plan/libs/kernel/kptnode.h
|
||||
+++ b/plan/libs/kernel/kptnode.h
|
||||
@@ -528,6 +528,8 @@ public:
|
||||
virtual void emitDocumentRemoved( Node *node, Document *doc, int idx );
|
||||
virtual void emitDocumentChanged( Node *node, Document *doc, int idx );
|
||||
|
||||
+ void blockChanged(bool on = true);
|
||||
+
|
||||
public:
|
||||
// These shouldn't be available to other than those who inherits
|
||||
/// Calculate the critical path
|
||||
@@ -673,7 +675,8 @@ protected:
|
||||
ResourceRequestCollection m_requests;
|
||||
|
||||
private:
|
||||
- void init();
|
||||
+ void init();
|
||||
+ bool m_blockChanged;
|
||||
};
|
||||
|
||||
//////////////////////////////// Estimate ////////////////////////////////
|
||||
diff --git a/plan/libs/kernel/kptproject.cpp b/plan/libs/kernel/kptproject.cpp
|
||||
index 30cd450..d2fafb5 100644
|
||||
--- a/plan/libs/kernel/kptproject.cpp
|
||||
+++ b/plan/libs/kernel/kptproject.cpp
|
||||
@@ -94,7 +94,16 @@ void Project::deref()
|
||||
Project::~Project()
|
||||
{
|
||||
debugPlan;
|
||||
- disconnect(); // NOTE: may be a problem if somebody uses the destroyd() signal
|
||||
+ disconnect();
|
||||
+ for(Node *n : nodeIdDict) {
|
||||
+ n->blockChanged();
|
||||
+ }
|
||||
+ for (Resource *r : resourceIdDict) {
|
||||
+ r->blockChanged();
|
||||
+ }
|
||||
+ for (ResourceGroup *g : resourceGroupIdDict) {
|
||||
+ g->blockChanged();
|
||||
+ }
|
||||
delete m_standardWorktime;
|
||||
while ( !m_resourceGroups.isEmpty() )
|
||||
delete m_resourceGroups.takeFirst();
|
||||
diff --git a/plan/libs/kernel/kptresource.cpp b/plan/libs/kernel/kptresource.cpp
|
||||
index 8a3d55e..b32d4e7 100644
|
||||
--- a/plan/libs/kernel/kptresource.cpp
|
||||
+++ b/plan/libs/kernel/kptresource.cpp
|
||||
@@ -44,7 +44,8 @@ namespace KPlato
|
||||
{
|
||||
|
||||
ResourceGroup::ResourceGroup()
|
||||
- : QObject( 0 )
|
||||
+ : QObject( 0 ),
|
||||
+ m_blockChanged(false)
|
||||
{
|
||||
m_project = 0;
|
||||
m_type = Type_Work;
|
||||
@@ -80,8 +81,13 @@ void ResourceGroup::copy( const ResourceGroup *group )
|
||||
m_name = group->m_name;
|
||||
}
|
||||
|
||||
+void ResourceGroup::blockChanged(bool on)
|
||||
+{
|
||||
+ m_blockChanged = on;
|
||||
+}
|
||||
+
|
||||
void ResourceGroup::changed() {
|
||||
- if ( m_project ) {
|
||||
+ if (m_project && !m_blockChanged) {
|
||||
m_project->changed( this );
|
||||
}
|
||||
}
|
||||
@@ -319,7 +325,8 @@ Resource::Resource()
|
||||
m_project(0),
|
||||
m_parent( 0 ),
|
||||
m_autoAllocate( false ),
|
||||
- m_currentSchedule( 0 )
|
||||
+ m_currentSchedule( 0 ),
|
||||
+ m_blockChanged(false)
|
||||
{
|
||||
m_type = Type_Work;
|
||||
m_units = 100; // %
|
||||
@@ -409,9 +416,14 @@ void Resource::copy(Resource *resource) {
|
||||
//m_externalNames = resource->m_externalNames;
|
||||
}
|
||||
|
||||
+void Resource::blockChanged(bool on)
|
||||
+{
|
||||
+ m_blockChanged = on;
|
||||
+}
|
||||
+
|
||||
void Resource::changed()
|
||||
{
|
||||
- if ( m_project ) {
|
||||
+ if (m_project && !m_blockChanged) {
|
||||
m_project->changed( this );
|
||||
}
|
||||
}
|
||||
diff --git a/plan/libs/kernel/kptresource.h b/plan/libs/kernel/kptresource.h
|
||||
index 10f6b92..fba020a 100644
|
||||
--- a/plan/libs/kernel/kptresource.h
|
||||
+++ b/plan/libs/kernel/kptresource.h
|
||||
@@ -177,6 +177,8 @@ public:
|
||||
DateTime startTime( long id ) const;
|
||||
DateTime endTime( long id ) const;
|
||||
|
||||
+ void blockChanged(bool on = true);
|
||||
+
|
||||
#ifndef NDEBUG
|
||||
|
||||
void printDebug( const QString& ident );
|
||||
@@ -199,7 +201,7 @@ private:
|
||||
Type m_type;
|
||||
|
||||
QList<ResourceGroupRequest*> m_requests;
|
||||
-
|
||||
+ bool m_blockChanged;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -492,6 +494,8 @@ public:
|
||||
/// Set the @p account
|
||||
void setAccount( Account *account );
|
||||
|
||||
+ void blockChanged(bool on = true);
|
||||
+
|
||||
// for xml loading code
|
||||
|
||||
class WorkInfoCache
|
||||
@@ -564,6 +568,7 @@ private:
|
||||
|
||||
// return this if resource has no calendar and is a material resource
|
||||
Calendar m_materialCalendar;
|
||||
+ bool m_blockChanged;
|
||||
|
||||
#ifndef NDEBUG
|
||||
public:
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
@ -0,0 +1,75 @@
|
||||
From 2d86293939bafd80bc320849ffcc7544350fc2bf Mon Sep 17 00:00:00 2001
|
||||
From: Dag Andersen <danders@get2net.dk>
|
||||
Date: Fri, 9 Dec 2016 11:19:36 +0100
|
||||
Subject: Words: Fix crash when adding connected text frame
|
||||
|
||||
Summary:
|
||||
KWFrameConnectSelector crashes you activate existsingRadio button but do not select a frameset.
|
||||
This patch selects a frameset if none is selected.
|
||||
|
||||
Reviewers: boemann
|
||||
|
||||
Reviewed By: boemann
|
||||
|
||||
Tags: #kexi, #calligra:_3.0
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D3632
|
||||
---
|
||||
words/part/dialogs/KWFrameConnectSelector.cpp | 14 ++++++++++++++
|
||||
words/part/dialogs/KWFrameConnectSelector.h | 1 +
|
||||
2 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/words/part/dialogs/KWFrameConnectSelector.cpp b/words/part/dialogs/KWFrameConnectSelector.cpp
|
||||
index 566dfe2..590d3b7 100644
|
||||
--- a/words/part/dialogs/KWFrameConnectSelector.cpp
|
||||
+++ b/words/part/dialogs/KWFrameConnectSelector.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "KWDocument.h"
|
||||
#include "frames/KWTextFrameSet.h"
|
||||
#include "Words.h"
|
||||
+#include "WordsDebug.h"
|
||||
|
||||
KWFrameConnectSelector::KWFrameConnectSelector(FrameConfigSharedState *state)
|
||||
: m_state(state),
|
||||
@@ -30,6 +31,8 @@ KWFrameConnectSelector::KWFrameConnectSelector(FrameConfigSharedState *state)
|
||||
|
||||
connect(widget.framesList, SIGNAL(itemClicked(QTreeWidgetItem*,int)),
|
||||
this, SLOT(frameSetSelected()));
|
||||
+ connect(widget.existingRadio, SIGNAL(clicked(bool)),
|
||||
+ this, SLOT(existingRadioClicked(bool)));
|
||||
connect(widget.frameSetName, SIGNAL(textChanged(QString)),
|
||||
this, SLOT(nameChanged(QString)));
|
||||
}
|
||||
@@ -50,6 +53,17 @@ bool KWFrameConnectSelector::canOpen(KoShape *shape)
|
||||
return true;
|
||||
}
|
||||
|
||||
+void KWFrameConnectSelector::existingRadioClicked(bool on)
|
||||
+{
|
||||
+ // make sure there is a selcted frameset
|
||||
+ if (on && !widget.framesList->currentItem() && widget.framesList->model()->rowCount() > 0) {
|
||||
+ QModelIndex curr = widget.framesList->model()->index(0, 0);
|
||||
+ widget.framesList->setCurrentIndex(curr);
|
||||
+ widget.framesList->selectionModel()->select(curr, QItemSelectionModel::Select);
|
||||
+ }
|
||||
+ debugWords<<Q_FUNC_INFO<<on<<widget.framesList->currentItem();
|
||||
+}
|
||||
+
|
||||
void KWFrameConnectSelector::frameSetSelected()
|
||||
{
|
||||
widget.existingRadio->setChecked(true);
|
||||
diff --git a/words/part/dialogs/KWFrameConnectSelector.h b/words/part/dialogs/KWFrameConnectSelector.h
|
||||
index 74d3f0d..75ec1613 100644
|
||||
--- a/words/part/dialogs/KWFrameConnectSelector.h
|
||||
+++ b/words/part/dialogs/KWFrameConnectSelector.h
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
}
|
||||
|
||||
private Q_SLOTS:
|
||||
+ void existingRadioClicked(bool on);
|
||||
void frameSetSelected();
|
||||
void nameChanged(const QString &text);
|
||||
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
@ -1 +1,2 @@
|
||||
DIST skrooge-2.5.0.tar.xz 17603860 SHA256 97bebb1b3f1cd791160292bd4689e584c4054db14f0f88039541e67c72ce5e0d SHA512 00fb32f7705c5125803436a21648545154043b6333267ae722c9beac04baf766e1860ce84b4e56d80d81ade1ab3ef8e3ac60a98d0616cae6ec5212d7ad2ef528 WHIRLPOOL 0eef97d2eebcc00155d1505a457e8443df676c93124edbf352b89fa796781ae9e0630294256932e065d2a35eb2d1916ccf733e05bf4f16a237302d0db713073c
|
||||
DIST skrooge-2.6.0.tar.xz 17878228 SHA256 f76be3a3033190da5324202da2592550cc64bcc8569c7ad3bcce989e93314d8f SHA512 2aad67e2dbc8746c8e8f3dedb05f0c0a0a8eae6deac03dc086c3fa918f4fd7c644b8dbcafc1e4392699e5fe58073c79bc96e57aba045b1a18778501e6ac02bd7 WHIRLPOOL cf054109a10a749acc687b2216373100d81494638e61873c7c8427e574ca049cb19d678663c6580c1a1071c192680373cbabba22dbcb13f35dd08559153ad449
|
||||
|
@ -0,0 +1,102 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
KDE_GCC_MINIMAL="4.9"
|
||||
KDE_HANDBOOK="optional"
|
||||
KDE_TEST="forceoptional"
|
||||
QT_MINIMAL="5.7.0"
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit kde5
|
||||
|
||||
DESCRIPTION="Personal finances manager, aiming at being simple and intuitive"
|
||||
HOMEPAGE="http://www.skrooge.org/"
|
||||
[[ ${PV} == 9999 ]] || SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="activities crypt designer kde ofx"
|
||||
|
||||
COMMON_DEPEND="
|
||||
$(add_frameworks_dep karchive)
|
||||
$(add_frameworks_dep kcompletion)
|
||||
$(add_frameworks_dep kconfig)
|
||||
$(add_frameworks_dep kconfigwidgets)
|
||||
$(add_frameworks_dep kcoreaddons)
|
||||
$(add_frameworks_dep kdbusaddons)
|
||||
$(add_frameworks_dep ki18n)
|
||||
$(add_frameworks_dep kiconthemes)
|
||||
$(add_frameworks_dep kio)
|
||||
$(add_frameworks_dep kitemviews)
|
||||
$(add_frameworks_dep knewstuff)
|
||||
$(add_frameworks_dep knotifications)
|
||||
$(add_frameworks_dep knotifyconfig)
|
||||
$(add_frameworks_dep kparts)
|
||||
$(add_frameworks_dep kservice)
|
||||
$(add_frameworks_dep ktextwidgets)
|
||||
$(add_frameworks_dep kwallet)
|
||||
$(add_frameworks_dep kwidgetsaddons)
|
||||
$(add_frameworks_dep kxmlgui)
|
||||
$(add_qt_dep qtconcurrent)
|
||||
$(add_qt_dep qtdbus)
|
||||
$(add_qt_dep qtdeclarative 'widgets')
|
||||
$(add_qt_dep qtgui)
|
||||
$(add_qt_dep qtprintsupport)
|
||||
$(add_qt_dep qtscript)
|
||||
$(add_qt_dep qtsql)
|
||||
$(add_qt_dep qtsvg)
|
||||
$(add_qt_dep qtwebkit)
|
||||
$(add_qt_dep qtwidgets)
|
||||
$(add_qt_dep qtxml)
|
||||
app-crypt/qca:2[qt5]
|
||||
dev-libs/grantlee:5
|
||||
activities? ( $(add_frameworks_dep kactivities) )
|
||||
crypt? ( dev-db/sqlcipher )
|
||||
!crypt? ( dev-db/sqlite:3 )
|
||||
kde? ( $(add_frameworks_dep krunner) )
|
||||
ofx? ( >=dev-libs/libofx-0.9.1 )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
$(add_frameworks_dep kguiaddons)
|
||||
$(add_frameworks_dep kjobwidgets)
|
||||
$(add_frameworks_dep kwindowsystem)
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
x11-misc/shared-mime-info
|
||||
designer? (
|
||||
$(add_frameworks_dep kdesignerplugin)
|
||||
$(add_qt_dep designer)
|
||||
)
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/skrooge:4
|
||||
"
|
||||
|
||||
REQUIRED_USE="test? ( designer )"
|
||||
|
||||
# hangs + installs files
|
||||
RESTRICT+=" test"
|
||||
|
||||
DOCS=( AUTHORS CHANGELOG README TODO )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DSKG_BUILD_TEST=$(usex test)
|
||||
-DSKG_CIPHER=$(usex crypt)
|
||||
-DSKG_DESIGNER=$(usex designer)
|
||||
$(cmake-utils_use_find_package activities KF5Activities)
|
||||
$(cmake-utils_use_find_package kde KF5Runner)
|
||||
$(cmake-utils_use_find_package ofx LibOfx)
|
||||
)
|
||||
|
||||
kde5_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local mycmakeargs=(
|
||||
-DSKG_BUILD_TEST=ON
|
||||
)
|
||||
kde5_src_test
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST xapian-omega-1.2.22.tar.xz 437556 SHA256 a7d4b00f6830d003490c0f727fc03584e703cd6e96738e03930f135cd966381b SHA512 c90ef3658cfb7f0337aa946ad04a7173d0aa89e5179c8b9edbfd78156c11d93d6a9ef6055142d26ecd95af8b0cbdf3b061e505c75f37f5e1e3b2ffc272fbaa3b WHIRLPOOL fa500c681fe1c8b82c3d469183ce987b38cd91f110ed1cd7b4e5372525a503c28e310abb15afc31892f2fa4fbd8e74bce07c1b618996541500b3f8d114b06920
|
||||
DIST xapian-omega-1.2.24.tar.xz 438104 SHA256 45fca431b812ddacbd592b522389474317af386b3ab554908edd36fc5918da53 SHA512 df483ed1410ca04df3b1ec4248442c91b03bd407737d022e494ffe3e14d62a41ee73b27114a979f59825e0ea2f2d16e0eea3c518a8db0094d697f0093e21f6a7 WHIRLPOOL af7a01659a48cf63a63dfe231cd39bc9d1dabb4e3e097262d21b73d3b99145ba3fe348c3126103dc3c91f4b9a2a1a61c1a4a80b0a0830580bcdf1b5a0cd8c393
|
||||
DIST xapian-omega-1.4.1.tar.xz 494868 SHA256 d114bb16431adad50f505edadfb4c97aca9657132b239509ff8cf335aff738af SHA512 19891f5d0e901027e734041fc29b223ef002029b9ffdb91797b8b382132fcf7c335114ca7bec0ff21970a7435758e24675f1577dbb615f3cacad105d8ee91415 WHIRLPOOL d63f91dc0a9893ead23756eb4289ddb9868caf39ea4a5991c5645e50352014480fb98f31f1b6bc2715b1a0b99880c5d9b8e0e63f1792a423a5df2221c080cd0f
|
||||
DIST xapian-omega-1.4.2.tar.xz 496872 SHA256 f00bf334ff643bd7cd4bfad8af9a696b0849496c714fdb6a0750720792670c6a SHA512 2686f11d6aa84723f6f863ad4101c13f4f13b977f7f9fcd03108491418f5761117b500232b73f4f405c34dce2e0f6fed14719b0924cf20561f08a439b5032e63 WHIRLPOOL bdbccdf7442a26286b1e392d580beb4c9942d3ae58166080bb21c8c487e7e963fa2698a59d898bcce6533711d5d3eac36da3d6ce5b300f22b027f9e406397147
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="6"
|
||||
|
||||
DESCRIPTION="An application built on Xapian, consisting of indexers and a CGI search frontend"
|
||||
SRC_URI="http://www.oligarchy.co.uk/xapian/${PV}/xapian-omega-${PV}.tar.xz"
|
||||
HOMEPAGE="http://www.xapian.org/"
|
||||
S="${WORKDIR}/xapian-omega-${PV}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-libs/xapian:0/30
|
||||
dev-lang/perl
|
||||
dev-libs/libpcre
|
||||
sys-libs/zlib"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_install () {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# Protect /etc/omega.conf
|
||||
echo "CONFIG_PROTECT=\"/etc/omega.conf\"" > "${T}"/20xapian-omega
|
||||
doenvd "${T}"/20xapian-omega
|
||||
dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
|
||||
|
||||
# Directory containing Xapian databases:
|
||||
keepdir /var/lib/omega/data
|
||||
|
||||
# Directory containing OmegaScript templates:
|
||||
keepdir /var/lib/omega/templates
|
||||
mv "${S}"/templates/* "${D}"/var/lib/omega/templates || die
|
||||
|
||||
# Directory to write Omega logs to:
|
||||
keepdir /var/log/omega
|
||||
|
||||
# Directory containing any cdb files for the $lookup OmegaScript command:
|
||||
keepdir /var/lib/omega/cdb
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST gtkmm-utils-0.4.1.tar.gz 388799 SHA256 bce5d908d1bec9cec0a74514458e6b9cf5198835fc6383c94d27ba388aae938d SHA512 d996cf4409ed351c4055071bd2274631775df9a67f9be47fb01eb6c35a77768985141dbf1238e091ae923f31f90921856dc76560c66f68292226e548f54c4260 WHIRLPOOL ef1ab4422914196895bd137d61a51f70ac582df00ba9b2c91a4fb9e0b6b81f24cfd5b9587803a38773a5a5804ccbfec92c0d85d607d8ce5c44270bc2b2f07553
|
@ -1,37 +0,0 @@
|
||||
diff -urN a/glibmm-utils/date.cc b/glibmm-utils/date.cc
|
||||
--- a/glibmm-utils/date.cc 2008-01-16 18:22:26.000000000 +0100
|
||||
+++ b/glibmm-utils/date.cc 2012-11-12 23:39:05.463659600 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
-#include <glib/gmessages.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <glibmm/convert.h>
|
||||
#include <glibmm/date.h>
|
||||
diff -urN a/glibmm-utils/log-stream.cc b/glibmm-utils/log-stream.cc
|
||||
--- a/glibmm-utils/log-stream.cc 2008-10-14 14:11:14.000000000 +0200
|
||||
+++ b/glibmm-utils/log-stream.cc 2012-11-12 23:39:36.715665677 +0100
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <tr1/memory>
|
||||
#include <glibmm.h>
|
||||
#include <glibmm/thread.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "log-stream.h"
|
||||
#include "exception.h"
|
||||
diff -urN a/glibmm-utils/ustring.cc b/glibmm-utils/ustring.cc
|
||||
--- a/glibmm-utils/ustring.cc 2008-06-19 15:12:29.000000000 +0200
|
||||
+++ b/glibmm-utils/ustring.cc 2012-11-12 23:40:07.511671596 +0100
|
||||
@@ -20,8 +20,7 @@
|
||||
*/
|
||||
|
||||
#include <cstring> // for g++ 4.3
|
||||
-#include <glib/gmem.h>
|
||||
-#include <glib/gmessages.h>
|
||||
+#include <glib.h>
|
||||
#include "ustring.h"
|
||||
|
||||
namespace Glib {
|
@ -1,11 +0,0 @@
|
||||
diff -urN b/glibmm-utils/log-stream.cc c/glibmm-utils/log-stream.cc
|
||||
--- b/glibmm-utils/log-stream.cc 2012-11-12 23:57:19.311866269 +0100
|
||||
+++ c/glibmm-utils/log-stream.cc 2012-11-12 23:57:36.031869479 +0100
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/time.h>
|
||||
+#include <sys/stat.h>
|
||||
#include <cstring> // for g++ 4.3
|
||||
#include <iostream>
|
||||
#include <map>
|
@ -1,37 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
inherit eutils flag-o-matic
|
||||
|
||||
DESCRIPTION="Utility functions, classes and widgets written on top of gtkmm and
|
||||
glibmm."
|
||||
HOMEPAGE="https://github.com/markoa/gtkmm-utils"
|
||||
SRC_URI="https://github.com/markoa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="LGPL-2+"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND="dev-cpp/gtkmm:2.4"
|
||||
DEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen )
|
||||
${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${P}-glib.patch"
|
||||
epatch "${FILESDIR}/${P}-include-fix.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cxxflags -std=c++11
|
||||
econf $(use_enable doc documentation)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>dominik.kriegner+gentoo@gmail.com</email>
|
||||
<name>Dominik Kriegner</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1 +1,2 @@
|
||||
DIST vamos-0.7.1.tar.gz 1681074 SHA256 c81930b5ea376431c0abf868bf23153440eb6c44c1c47e3d9a53a5a15ab35824 SHA512 7560911e12636a4c530b6eeedc942be7121e39312d58f736a72d3b7fa2f632c962e9ccf714709f8f2e4335fa6d718f6870e7ba9e0c84f55c572e7915b4bf03e2 WHIRLPOOL 925b0038ae1638d270f54b7fee81526589bb4e2a67817834d17678063d2587da753d4e75237d610c4c111fabb1fcdb6b6e42417893f78245cd5f04100d7ada09
|
||||
DIST vamos-0.8.2.tar.gz 2148278 SHA256 d4c2d16b4947b5afc46b4f5dcf797d11173ed86b4a599e78223c227a882b8f1d SHA512 bbc5b71790983b3db60c633f21b15b86c232a560f05ddc407c805d5bc39cf7a90bf556b9c59b4683a187961be755b1578a0a02b8b42599c6a634bd0f5936e880 WHIRLPOOL 75173076be9739282d56713517a1083155f57b2c4cf5a5379a61de952613671a0fd03820a48682082d29c98c7b44bebfef86d17ab9164b5d8b43e1a522bab36e
|
||||
|
@ -0,0 +1,378 @@
|
||||
Fix buildsystem:
|
||||
* Prevent pollution of python site-packages root dir
|
||||
* Fix underlinking in modules
|
||||
* Remove broken AX_* macros
|
||||
* Add workaround for parallel install issue with automake
|
||||
|
||||
--- a/body/Makefile.am
|
||||
+++ b/body/Makefile.am
|
||||
@@ -21,6 +21,10 @@
|
||||
Tire.cc \
|
||||
Transmission.cc \
|
||||
Wheel.cc
|
||||
+libvamos_body_la_LIBADD = \
|
||||
+ -l$(BOOST_PYTHON_LIB) \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
Aerodynamic_Device.h \
|
||||
@@ -46,24 +50,23 @@
|
||||
|
||||
EXTRA_DIST = $(pkginclude_HEADERS)
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic
|
||||
+AM_CXXFLAGS = -Wall -pedantic
|
||||
+AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
|
||||
|
||||
# Python Module
|
||||
if HAVE_PYTHON
|
||||
-pyexec_LTLIBRARIES = body.la
|
||||
+pkgpyexec_LTLIBRARIES = body.la
|
||||
else
|
||||
-pyexec_LTLIBRARIES =
|
||||
+pkgpyexec_LTLIBRARIES =
|
||||
endif
|
||||
|
||||
body_la_SOURCES = bp-body.cc
|
||||
-body_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
|
||||
body_la_LDFLAGS = -avoid-version -module
|
||||
body_la_LIBADD = \
|
||||
- $(top_srcdir)/body/libvamos-body.la \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- -l$(PYTHON_LIB) \
|
||||
- -l$(BOOST_PYTHON_LIB)
|
||||
+ libvamos-body.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
+ $(PYTHON_LIBS)
|
||||
|
||||
if DO_UNIT_TESTS
|
||||
UNIT_TESTS = \
|
||||
@@ -81,7 +84,7 @@
|
||||
test_Aerodynamic_Device_SOURCES = test_Aerodynamic_Device.cc
|
||||
test_Aerodynamic_Device_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Aerodynamic_Device_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
Frame.lo \
|
||||
Particle.lo \
|
||||
Aerodynamic_Device.lo \
|
||||
@@ -89,35 +92,35 @@
|
||||
test_Car_SOURCES = test_Car.cc
|
||||
test_Car_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Car_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- $(top_srcdir)/body/libvamos-body.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
+ ../body/libvamos-body.la \
|
||||
-lboost_unit_test_framework
|
||||
test_Frame_SOURCES = test_Frame.cc
|
||||
test_Frame_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Frame_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
Frame.lo \
|
||||
-lboost_unit_test_framework
|
||||
test_Particle_SOURCES = test_Particle.cc
|
||||
test_Particle_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Particle_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
Frame.lo \
|
||||
Particle.lo \
|
||||
-lboost_unit_test_framework
|
||||
test_Rigid_Body_SOURCES = test_Rigid_Body.cc
|
||||
test_Rigid_Body_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Rigid_Body_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- $(top_srcdir)/body/libvamos-body.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
+ ../body/libvamos-body.la \
|
||||
-lboost_unit_test_framework
|
||||
|
||||
if DO_UNIT_TESTS
|
||||
check-local: $(UNIT_TESTS)
|
||||
for test in $(UNIT_TESTS); do \
|
||||
echo $$test; \
|
||||
- $(top_srcdir)/body/$$test; \
|
||||
+ ../body/$$test; \
|
||||
done
|
||||
endif
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -19,7 +19,7 @@
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
-AC_PROG_LIBTOOL
|
||||
+LT_INIT
|
||||
|
||||
AC_PATH_X
|
||||
|
||||
@@ -28,9 +28,6 @@
|
||||
|
||||
AC_CONFIG_FILES([vamos/vamos], [chmod +x vamos/vamos])
|
||||
|
||||
-dnl Python
|
||||
-AX_PYTHON
|
||||
-
|
||||
dnl Boost
|
||||
AX_BOOST_BASE([1.46.0],, AC_MSG_ERROR([Boost >= v1.46.0 is required.]))
|
||||
AX_BOOST_PYTHON([1.46.0])
|
||||
--- a/geometry/Makefile.am
|
||||
+++ b/geometry/Makefile.am
|
||||
@@ -15,6 +15,7 @@
|
||||
Three_Vector.cc \
|
||||
Two_Vector.cc \
|
||||
Parameter.cc
|
||||
+libvamos_geometry_la_LIBADD = -l$(BOOST_PYTHON_LIB)
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
Calculations.h \
|
||||
@@ -39,22 +40,21 @@
|
||||
|
||||
EXTRA_DIST = $(pkginclude_HEADERS)
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic
|
||||
+AM_CXXFLAGS = -Wall -pedantic
|
||||
+AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
|
||||
|
||||
# Python Module
|
||||
if HAVE_PYTHON
|
||||
-pyexec_LTLIBRARIES = geometry.la
|
||||
+pkgpyexec_LTLIBRARIES = geometry.la
|
||||
else
|
||||
-pyexec_LTLIBRARIES =
|
||||
+pkgpyexec_LTLIBRARIES =
|
||||
endif
|
||||
|
||||
geometry_la_SOURCES = bp-geometry.cc
|
||||
-geometry_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
|
||||
geometry_la_LDFLAGS = -avoid-version -module
|
||||
geometry_la_LIBADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- -l$(PYTHON_LIB) \
|
||||
- -l$(BOOST_PYTHON_LIB)
|
||||
+ libvamos-geometry.la \
|
||||
+ $(PYTHON_LIBS)
|
||||
|
||||
# Unit Tests
|
||||
if DO_UNIT_TESTS
|
||||
@@ -110,6 +110,6 @@
|
||||
check-local: $(UNIT_TESTS)
|
||||
for test in $(UNIT_TESTS); do \
|
||||
echo $$test; \
|
||||
- $(top_srcdir)/geometry/$$test; \
|
||||
+ ../geometry/$$test; \
|
||||
done
|
||||
endif
|
||||
--- a/media/Makefile.am
|
||||
+++ b/media/Makefile.am
|
||||
@@ -7,6 +7,7 @@
|
||||
Texture_Image.cc \
|
||||
Two_D.cc \
|
||||
XML_Parser.cc
|
||||
+libvamos_media_la_LIBADD = ../geometry/libvamos-geometry.la
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
Ac3d.h \
|
||||
@@ -19,23 +20,27 @@
|
||||
|
||||
EXTRA_DIST = $(pkginclude_HEADERS)
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic
|
||||
+AM_CXXFLAGS = -Wall -pedantic
|
||||
+AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
|
||||
|
||||
# Python Module
|
||||
if HAVE_PYTHON
|
||||
-pyexec_LTLIBRARIES = media.la
|
||||
+pkgpyexec_LTLIBRARIES = media.la
|
||||
else
|
||||
-pyexec_LTLIBRARIES =
|
||||
+pkgpyexec_LTLIBRARIES =
|
||||
endif
|
||||
|
||||
media_la_SOURCES = bp-media.cc
|
||||
-media_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
|
||||
media_la_LDFLAGS = -avoid-version -module
|
||||
media_la_LIBADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- -l$(PYTHON_LIB) \
|
||||
- -l$(BOOST_PYTHON_LIB)
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ libvamos-media.la \
|
||||
+ $(PYTHON_LIBS)
|
||||
+
|
||||
+# workaround for broken parallel install support in automake with LTLIBRARIES
|
||||
+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
|
||||
+install_pkgpyexecLTLIBRARIES = install-pkgpyexecLTLIBRARIES
|
||||
+$(install_pkgpyexecLTLIBRARIES): install-libLTLIBRARIES
|
||||
|
||||
# Unit Tests
|
||||
if DO_UNIT_TESTS
|
||||
@@ -54,6 +59,6 @@
|
||||
check-local: $(UNIT_TESTS)
|
||||
for test in $(UNIT_TESTS); do \
|
||||
echo $$test; \
|
||||
- $(top_srcdir)/media/$$test; \
|
||||
+ ../media/$$test; \
|
||||
done
|
||||
endif
|
||||
--- a/track/Makefile.am
|
||||
+++ b/track/Makefile.am
|
||||
@@ -6,6 +6,9 @@
|
||||
Road_Segment.cc \
|
||||
Strip_Track.cc \
|
||||
Strip_Track_Reader.cc
|
||||
+libvamos_track_la_LIBADD = \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
Gl_Road_Segment.h \
|
||||
@@ -17,24 +20,23 @@
|
||||
|
||||
EXTRA_DIST = $(pkginclude_HEADERS)
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic
|
||||
+AM_CXXFLAGS = -Wall -pedantic
|
||||
+AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
|
||||
|
||||
# Python Module
|
||||
if HAVE_PYTHON
|
||||
-pyexec_LTLIBRARIES = track.la
|
||||
+pkgpyexec_LTLIBRARIES = track.la
|
||||
else
|
||||
-pyexec_LTLIBRARIES =
|
||||
+pkgpyexec_LTLIBRARIES =
|
||||
endif
|
||||
|
||||
track_la_SOURCES = bp-track.cc
|
||||
-track_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
|
||||
track_la_LDFLAGS = -avoid-version -module
|
||||
track_la_LIBADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- $(top_srcdir)/track/libvamos-track.la \
|
||||
- -l$(PYTHON_LIB) \
|
||||
- -l$(BOOST_PYTHON_LIB)
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
+ libvamos-track.la \
|
||||
+ $(PYTHON_LIBS)
|
||||
|
||||
# Unit Tests
|
||||
if DO_UNIT_TESTS
|
||||
@@ -50,14 +52,14 @@
|
||||
test_Road_Segment_SOURCES = test_Road_Segment.cc
|
||||
test_Road_Segment_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Road_Segment_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
Road_Segment.lo \
|
||||
-lboost_unit_test_framework
|
||||
test_Strip_Track_SOURCES = test_Strip_Track.cc
|
||||
test_Strip_Track_CXXFLAGS = -DBOOST_TEST_DYN_LINK
|
||||
test_Strip_Track_LDADD = \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
Road_Segment.lo \
|
||||
Gl_Road_Segment.lo \
|
||||
Strip_Track.lo \
|
||||
@@ -68,6 +70,6 @@
|
||||
check-local: $(UNIT_TESTS)
|
||||
for test in $(UNIT_TESTS); do \
|
||||
echo $$test; \
|
||||
- $(top_srcdir)/track/$$test; \
|
||||
+ ../track/$$test; \
|
||||
done
|
||||
endif
|
||||
--- a/vamos/Makefile.am
|
||||
+++ b/vamos/Makefile.am
|
||||
@@ -9,12 +9,12 @@
|
||||
EXTRA_DIST = Options.h
|
||||
|
||||
cvamos_LDADD = \
|
||||
- $(top_srcdir)/world/libvamos-world.la \
|
||||
- $(top_srcdir)/body/libvamos-body.la \
|
||||
- $(top_srcdir)/track/libvamos-track.la \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
+ ../world/libvamos-world.la \
|
||||
+ ../body/libvamos-body.la \
|
||||
+ ../track/libvamos-track.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
-lboost_system \
|
||||
-lboost_filesystem
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\"
|
||||
+AM_CXXFLAGS = -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\"
|
||||
--- a/world/Makefile.am
|
||||
+++ b/world/Makefile.am
|
||||
@@ -10,6 +10,10 @@
|
||||
Sounds.cc \
|
||||
Timing_Info.cc \
|
||||
World.cc
|
||||
+libvamos_world_la_LIBADD = \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../track/libvamos-track.la \
|
||||
+ ../body/libvamos-body.la
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
Atmosphere.h \
|
||||
@@ -26,26 +30,25 @@
|
||||
|
||||
EXTRA_DIST = $(pkginclude_HEADERS)
|
||||
|
||||
-AM_CXXFLAGS = -fPIC -Wall -pedantic
|
||||
+AM_CXXFLAGS = -Wall -pedantic
|
||||
+AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
|
||||
|
||||
# Python Module
|
||||
if HAVE_PYTHON
|
||||
-pyexec_LTLIBRARIES = world.la
|
||||
+pkgpyexec_LTLIBRARIES = world.la
|
||||
else
|
||||
-pyexec_LTLIBRARIES =
|
||||
+pkgpyexec_LTLIBRARIES =
|
||||
endif
|
||||
|
||||
world_la_SOURCES = bp-world.cc
|
||||
-world_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
|
||||
world_la_LDFLAGS = -avoid-version -module
|
||||
world_la_LIBADD = \
|
||||
- $(top_srcdir)/body/libvamos-body.la \
|
||||
- $(top_srcdir)/geometry/libvamos-geometry.la \
|
||||
- $(top_srcdir)/media/libvamos-media.la \
|
||||
- $(top_srcdir)/track/libvamos-track.la \
|
||||
- $(top_srcdir)/world/libvamos-world.la \
|
||||
- -l$(PYTHON_LIB) \
|
||||
- -l$(BOOST_PYTHON_LIB)
|
||||
+ ../body/libvamos-body.la \
|
||||
+ ../geometry/libvamos-geometry.la \
|
||||
+ ../media/libvamos-media.la \
|
||||
+ ../track/libvamos-track.la \
|
||||
+ libvamos-world.la \
|
||||
+ $(PYTHON_LIBS)
|
||||
|
||||
# Unit Tests
|
||||
if DO_UNIT_TESTS
|
||||
@@ -67,6 +70,6 @@
|
||||
check-local: $(UNIT_TESTS)
|
||||
for test in $(UNIT_TESTS); do \
|
||||
echo $$test; \
|
||||
- $(top_srcdir)/world/$$test; \
|
||||
+ ../world/$$test; \
|
||||
done
|
||||
endif
|
@ -0,0 +1,25 @@
|
||||
Fix building in C++14 mode.
|
||||
See also: https://bugs.gentoo.org/show_bug.cgi?id=600774
|
||||
|
||||
--- a/media/Ac3d.cc
|
||||
+++ b/media/Ac3d.cc
|
||||
@@ -892,7 +892,7 @@
|
||||
m_rotation (rotation)
|
||||
{
|
||||
std::ifstream is (m_file.c_str ());
|
||||
- if (is == 0)
|
||||
+ if (!is)
|
||||
{
|
||||
throw No_File (m_file);
|
||||
}
|
||||
--- a/media/XML_Parser.cc
|
||||
+++ b/media/XML_Parser.cc
|
||||
@@ -391,7 +391,7 @@
|
||||
{
|
||||
m_file = file;
|
||||
mp_stream = new std::ifstream (file.c_str ());
|
||||
- if ((mp_stream == 0) || (*mp_stream == 0))
|
||||
+ if ((mp_stream == NULL) || (!(*mp_stream)))
|
||||
{
|
||||
throw No_XML_File (m_file);
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5} )
|
||||
|
||||
inherit autotools python-single-r1
|
||||
|
||||
DESCRIPTION="An automotive simulation framework"
|
||||
HOMEPAGE="http://vamos.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/vamos/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-libs/boost:=[python,${PYTHON_USEDEP}]
|
||||
media-libs/freealut
|
||||
media-libs/freeglut
|
||||
media-libs/libpng:0=
|
||||
media-libs/libsdl[joystick,video]
|
||||
media-libs/openal
|
||||
virtual/glu
|
||||
virtual/opengl"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2016.09.16
|
||||
virtual/pkgconfig"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.8.2-fix-buildsystem.patch
|
||||
"${FILESDIR}"/${PN}-0.8.2-fix-c++14.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--with-x \
|
||||
--disable-static \
|
||||
--with-boost-python="${EPYTHON#python}" \
|
||||
$(use_enable test unit-tests) \
|
||||
PYTHON="${EPYTHON}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
dobin caelum/.libs/caelum
|
||||
newdoc caelum/README README.caelum
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
@ -0,0 +1,134 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 pypy )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit distutils-r1 eutils flag-o-matic multilib toolchain-funcs versionator
|
||||
|
||||
MY_PV="${PV//.}"
|
||||
|
||||
DESCRIPTION="Powerful security toolkit for adding encryption to software"
|
||||
HOMEPAGE="http://www.cs.auckland.ac.nz/~pgut001/cryptlib/"
|
||||
DOC_PREFIX="${PN}-$(get_version_component_range 1-2 ${PV}).0"
|
||||
SRC_URI="ftp://ftp.franken.de/pub/crypt/cryptlib/cl${MY_PV}.zip
|
||||
doc? ( mirror://gentoo/${DOC_PREFIX}-manual.pdf.bz2 )"
|
||||
|
||||
LICENSE="Sleepycat"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="0"
|
||||
IUSE="doc ldap odbc python"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
RDEPEND="sys-libs/zlib
|
||||
ldap? ( net-nds/openldap )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
python? ( ${PYTHON_DEPS} )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/unzip"
|
||||
|
||||
src_unpack() {
|
||||
# we need the -a option, so we can not use 'unpack'
|
||||
unzip -qoa "${DISTDIR}/cl${MY_PV}.zip" || die
|
||||
use doc && unpack "${DOC_PREFIX}-manual.pdf.bz2"
|
||||
}
|
||||
|
||||
wrap_python() {
|
||||
if use python; then
|
||||
cd bindings || die
|
||||
distutils-r1_${1}
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -fr zlib || die
|
||||
|
||||
# we want our own CFLAGS ;-)
|
||||
sed -i -e "s:-m.*=pentium::g" -e "s:-fomit-frame-pointer::g" -e "s:-O2::g" \
|
||||
-e "s:-O3::g" -e "s:-O4::g" makefile || die "sed makefile failed"
|
||||
sed -i -e "s/-march=[[:alnum:]\.=-]*//g" -e "s/-mcpu=[[:alnum:]\.=-]*//g" \
|
||||
-e "s:-O2::g" -e "s:-O3::g" tools/ccopts.sh || die "sed tools/ccopts.sh failed"
|
||||
|
||||
# change 'make' to '$(MAKE)'
|
||||
sed -i -e "s:@\?make:\$(MAKE):g" makefile || die "sed makefile failed"
|
||||
|
||||
# NOTICE:
|
||||
# Because of stack execution
|
||||
# assembly parts are disabled.
|
||||
sed -i -e 's:i\[3,4,5,6\]86:___:g' makefile || die "sed makefile failed"
|
||||
|
||||
# Fix version number of shared library.
|
||||
sed -i -e 's/PLV="2"/PLV="3"/' tools/buildall.sh || die "sed tools/buildall.sh failed"
|
||||
|
||||
# Respect LDFLAGS and fix soname and strip issues.
|
||||
epatch "${FILESDIR}/${P}-build.patch"
|
||||
|
||||
# Use external zlib.
|
||||
epatch "${FILESDIR}/${P}-zlib.patch"
|
||||
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local libname="libcl.so.${PV}"
|
||||
|
||||
# At least -O2 is needed.
|
||||
replace-flags -O -O2
|
||||
replace-flags -O0 -O2
|
||||
replace-flags -O1 -O2
|
||||
replace-flags -Os -O2
|
||||
is-flagq -O* || append-flags -O2
|
||||
|
||||
append-flags "-fPIC"
|
||||
append-cppflags "-D__UNIX__ -DOSVERSION=2 -DNDEBUG -I."
|
||||
|
||||
if [ -f /usr/include/pthread.h -a \
|
||||
`grep -c PTHREAD_MUTEX_RECURSIVE /usr/include/pthread.h` -ge 0 ] ; then
|
||||
append-cppflags "-DHAS_RECURSIVE_MUTEX"
|
||||
fi
|
||||
if [ -f /usr/include/pthread.h -a \
|
||||
`grep -c PTHREAD_MUTEX_ROBUST /usr/include/pthread.h` -ge 0 ] ; then
|
||||
append-cppflags "-DHAS_ROBUST_MUTEX"
|
||||
fi
|
||||
|
||||
use ldap && append-cppflags -DHAS_LDAP
|
||||
use odbc && append-cppflags -DHAS_ODBC
|
||||
|
||||
emake directories
|
||||
emake toolscripts
|
||||
emake CC="$(tc-getCC)" CFLAGS="${CPPFLAGS} ${CFLAGS} -c" STRIP=true Linux
|
||||
|
||||
emake TARGET=${libname} OBJPATH="./shared-obj/" CC="$(tc-getCC)" \
|
||||
CFLAGS="${CPPFLAGS} ${CFLAGS} -c" STRIP=true Linux
|
||||
|
||||
if use python; then
|
||||
# Without this python will link against the static lib
|
||||
ln -s libcl.so.${PV} libcl.so || die
|
||||
|
||||
# Python bindings don't work with -O2 and higher.
|
||||
replace-flags -O* -O1
|
||||
|
||||
wrap_python ${FUNCNAME}
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so "libcl.so.${PV}"
|
||||
dosym "libcl.so.${PV}" "/usr/$(get_libdir)/libcl.so"
|
||||
dolib.a "libcl.a"
|
||||
|
||||
doheader cryptlib.h
|
||||
|
||||
dodoc README
|
||||
if use doc; then
|
||||
newdoc "${DOC_PREFIX}-manual.pdf" "manual.pdf"
|
||||
fi
|
||||
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST xapian-bindings-1.2.22.tar.xz 844040 SHA256 b15ca7984980a1d2aedd3378648ef5f3889cb39a047bac1522a8e5d04f0a8557 SHA512 0eec204ebb92f1230b9dbd080ad2b56ea5fa8e6170eb4354556e5790c7a7da7ba4c8475aaf86fb8f10f102a461d91590184271220626315f55c0631e73e122e0 WHIRLPOOL 05ac5b31d73f9de0c101da832ef289f6a505baa68216eba6fa0cf80df1709feef7e42c7b8f4cf9af35f775e8514c6d4b944c2acebffff10bc558a83305a637ce
|
||||
DIST xapian-bindings-1.2.24.tar.xz 886148 SHA256 0c2a0df0a4616e2bd8e578d372c9bb4684780573abebbd1ac515502177229965 SHA512 aaedac02ec9fb192ef8b45b07bef5584bc60aff7068c2e3fa0008430ed8296a653780cad04176431d81fe014802df333a3090469dce63204923eead15e6bbaef WHIRLPOOL 996b960727a79dbe669ae8139863c3896c6efdbe781177098d00960982b86a43739433c69db32e62b6660dd4751736d859f5d950d26d6b635c310c35d75a8a0f
|
||||
DIST xapian-bindings-1.4.1.tar.xz 1059412 SHA256 6ca9731eed0fdfd84c6f8d788389bc7e7a7dc62fa46e0383eb0bb502576c2331 SHA512 5a7e070d25a8ffe50e5bed473b4975366533ee646699c5c53fc0eb797a4d031c87fc8e5b0b93f77a9f122d17022cbc97862ae93c0d3510cd77588f2cd77dd179 WHIRLPOOL 153f5f5ae42dec8a4b12824a28d391f779dcccb5068b161c303c5374827fe585481c501abdcd56f501329a9e393d49f3a29c45d24111367dad6362ac2b5f28bb
|
||||
DIST xapian-bindings-1.4.2.tar.xz 1115368 SHA256 9ef59fbe38a120bd2a1774f1a277cf8132f0ca5ff2fc22bacf539ce74df35518 SHA512 28e1d060853f7992c4c0fc8ef63377bc86f41e972ea9ef45e31b083b85db5191993a8021be3581805ccc0df3fae8e8c0a50a1cf0a6fcf3959328a90155df9207 WHIRLPOOL a6e6d170f9431d521a23ddb18cd4c45ffa8dcb17a6cba17e5578c92c68f91942c18230102006a4a200bbd90e3a4fa26a81b9f0c08af14aa02d7396c3b0f8f5d3
|
||||
|
@ -0,0 +1,154 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
USE_PHP="php5-6"
|
||||
|
||||
PHP_EXT_NAME="xapian"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_OPTIONAL_USE="php"
|
||||
|
||||
#mono violates sandbox, we disable it until we figure this out
|
||||
#inherit distutils-r1 libtool java-pkg-opt-2 mono-env php-ext-source-r2 toolchain-funcs
|
||||
inherit python-r1 libtool java-pkg-opt-2 php-ext-source-r2 toolchain-funcs
|
||||
|
||||
DESCRIPTION="SWIG and JNI bindings for Xapian"
|
||||
HOMEPAGE="http://www.xapian.org/"
|
||||
SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
#IUSE="java lua mono perl php python ruby tcl"
|
||||
IUSE="java lua perl php python ruby tcl"
|
||||
#REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
|
||||
REQUIRED_USE="|| ( java lua perl php python ruby tcl )"
|
||||
|
||||
COMMONDEPEND="dev-libs/xapian:0/30
|
||||
lua? ( dev-lang/lua:= )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
ruby? ( dev-lang/ruby:= )
|
||||
tcl? ( dev-lang/tcl:= )"
|
||||
# mono? ( dev-lang/mono )
|
||||
DEPEND="${COMMONDEPEND}
|
||||
virtual/pkgconfig
|
||||
java? ( >=virtual/jdk-1.6 )"
|
||||
RDEPEND="${COMMONDEPEND}
|
||||
java? ( >=virtual/jre-1.6 )"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
pkg_setup() {
|
||||
# use mono && mono-env_pkg_setup
|
||||
use java && java-pkg-opt-2_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
use java && java-pkg-opt-2_src_prepare
|
||||
|
||||
# http://trac.xapian.org/ticket/702
|
||||
export XAPIAN_CONFIG="/usr/bin/xapian-config"
|
||||
|
||||
# Accept ruby 2.0 - patch configure directly to avoid autoreconf
|
||||
epatch "${FILESDIR}"/${PN}-1.3.6-allow-ruby-2.0.patch
|
||||
|
||||
if use python; then
|
||||
python_copy_sources
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use java; then
|
||||
export CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
|
||||
fi
|
||||
|
||||
if use perl; then
|
||||
export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
|
||||
export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
export LUA_LIB="$($(tc-getPKG_CONFIG) --variable=INSTALL_CMOD lua)"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--disable-documentation \
|
||||
$(use_with java) \
|
||||
$(use_with lua) \
|
||||
--without-csharp \
|
||||
$(use_with perl) \
|
||||
$(use_with php) \
|
||||
--without-python \
|
||||
--without-python3 \
|
||||
$(use_with ruby) \
|
||||
$(use_with tcl)
|
||||
# $(use_with mono csharp)
|
||||
|
||||
python_configure() {
|
||||
local myconf=(
|
||||
--disable-documentation
|
||||
--without-java
|
||||
--without-lua
|
||||
--without-csharp
|
||||
--without-perl
|
||||
--without-php
|
||||
--without-ruby
|
||||
--without-tcl
|
||||
)
|
||||
if python_is_python3; then
|
||||
myconf+=( --with-python3 )
|
||||
else
|
||||
myconf+=( --with-python )
|
||||
fi
|
||||
|
||||
# Avoid sandbox failures when compiling modules
|
||||
addpredict "$(python_get_sitedir)"
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl run_in_build_dir python_configure
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
if use python; then
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
python_foreach_impl run_in_build_dir emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
if use java; then
|
||||
java-pkg_dojar java/built/xapian_jni.jar
|
||||
# TODO: make the build system not install this...
|
||||
java-pkg_doso java/.libs/libxapian_jni.so
|
||||
rm -rf "${D}var" || die "could not remove java cruft!"
|
||||
fi
|
||||
|
||||
use php && php-ext-source-r2_createinifiles
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
|
||||
fi
|
||||
|
||||
# For some USE combinations this directory is not created
|
||||
if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
|
||||
mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
|
||||
fi
|
||||
|
||||
dodoc AUTHORS HACKING NEWS TODO README
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST xapian-core-1.2.22.tar.xz 3204096 SHA256 269b87ca3faf79d444e8bb82ed58a96f1955008d7702f9966dec68608588527f SHA512 cb6bd565eb307f9bc8f801fc9cda0cc6ad5d7cb8bf0af2ab6e42d48ca4ea4169f08621db810ab87d15957d0f873bcb0336e16b12fdb6026375d9c0192781e0d6 WHIRLPOOL 580c16889a6c3e99a00f8bb791f878a08ff3522c3dffb18ace18d54575247332f0fff8866f46475513dde7544205fe08971cbd284ec3714ce0d6b9b445e8746e
|
||||
DIST xapian-core-1.2.24.tar.xz 3210192 SHA256 57a82717ba07e9777958b6ef48d94b81ea41ac4c74d544f74da597fab1e1f87b SHA512 1f8ae5848f94b5f0bee03024f12ae8c336b6d85e58f7b36e885fe604f9fb962c0525e1f44e6cfcd183e811226c61b23f0f2fcc35c7d2e63544b19347a0f96c80 WHIRLPOOL fef6db7f393d4563828e1650eecd02e30d37f5837042b6a8992cfddb962593675f9c3af4eb5d387db71f99468235905bdbe5666f91975b260cb649fd422425ae
|
||||
DIST xapian-core-1.4.1.tar.xz 2793644 SHA256 c5f2534de73c067ac19eed6d6bec65b7b2c1be00131c8867da9e1dfa8bce70eb SHA512 b1bb28e78609565a2690ef147231237dcfdd3b7f6108964962260a2678ab6483a4e1f2a795d2a3595e9d0a1567d6223b0cbe6ed9d95a455437f7f5c40e49389d WHIRLPOOL ebca0a39a1f60aa1dbe09d3e3ccb7d53a23f0ef78c0ed6b7723d1c73079426003c59388ec9138b27f30d84ed5169c4d88df5de771e85efeccaec7228b28dbbc1
|
||||
DIST xapian-core-1.4.2.tar.xz 2799492 SHA256 aec2c4352998127a2f2316218bf70f48cef0a466a87af3939f5f547c5246e1ce SHA512 2ea189068837c295b9c2065f06bdf5c4078114c0a07d5ea94f396baab806c038e0e8e8ae6b7702322255b2bc8a84025c0c03d20b87dd3de7c6854666b1c753a3 WHIRLPOOL 9cda96c0317dfe9206155815ba66c20780ad2c40500710f9fd66848f76f9893d35459b0c29dbacdbdc8426ee0dcdf63524b299a82146a01ef58bcae6c22e5201
|
||||
|
@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils multilib-minimal
|
||||
|
||||
MY_P="${PN}-core-${PV}"
|
||||
|
||||
DESCRIPTION="Xapian Probabilistic Information Retrieval library"
|
||||
HOMEPAGE="http://www.xapian.org/"
|
||||
SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/30" # ABI version of libxapian.so
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
|
||||
|
||||
DEPEND="sys-libs/zlib"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
REQUIRED_USE="inmemory? ( chert )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=""
|
||||
|
||||
if use cpu_flags_x86_sse2; then
|
||||
myconf="${myconf} --enable-sse=sse2"
|
||||
else
|
||||
if use cpu_flags_x86_sse; then
|
||||
myconf="${myconf} --enable-sse=sse"
|
||||
else
|
||||
myconf="${myconf} --disable-sse"
|
||||
fi
|
||||
fi
|
||||
|
||||
myconf="${myconf} $(use_enable static-libs static)"
|
||||
|
||||
use glass || myconf="${myconf} --disable-backend-glass"
|
||||
use chert || myconf="${myconf} --disable-backend-chert"
|
||||
use inmemory || myconf="${myconf} --disable-backend-inmemory"
|
||||
|
||||
myconf="${myconf} --enable-backend-remote --program-suffix="
|
||||
|
||||
ECONF_SOURCE=${S} econf $myconf
|
||||
}
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/xapian/postingsource.h
|
||||
/usr/include/xapian/attributes.h
|
||||
/usr/include/xapian/valuesetmatchdecider.h
|
||||
/usr/include/xapian/version.h
|
||||
/usr/include/xapian/version.h
|
||||
/usr/include/xapian/types.h
|
||||
/usr/include/xapian/positioniterator.h
|
||||
/usr/include/xapian/registry.h
|
||||
)
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# bug #573466
|
||||
ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
|
||||
|
||||
use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
|
||||
|
||||
dodoc AUTHORS HACKING PLATFORMS README NEWS
|
||||
|
||||
prune_libtool_files --all
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
emake check VALGRIND=
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ocaml-containers-0.22.1.tar.gz 429672 SHA256 2ef64e8ed93211dfd4f8cd594943db3cde81ee0400b17703d8a7993128634622 SHA512 9294d43485cd17998f9d0c758ee0ffdc187ea78f1f456c0b06a57a9401c6de529e9e68bad12908b2b0da5f22fca64835acb90f3dfd6ee3403bb7c3c301cd6821 WHIRLPOOL 67844578447b321439223b5f560258cb5d5417135dfdbfdaf2fa10e104beb764e9ca6ae0ab774864c974d928e75aa5aedc7e90ea5659d910f33349a7ec4b568b
|
||||
DIST ocaml-containers-0.22.tar.gz 429678 SHA256 883e64a6b2275355086521a67d5fe0e436bbf79f54c8fb068a05ab3cf3408e98 SHA512 1454f8bcd11d02a9efd2fe223e2db591d2e1d66df6877af920b4d8a2cc3a2c6b34b0979069015565618700dfb4a74d6a8f2d8cd8f9fc6fa7888331320ea41c46 WHIRLPOOL f5993d629fe2a803b1284cd5794f3345060215cf16bb97347dd2173b7015735ddcd43b98c3b5ccf365d372ffedf77892e862fbc276b24468699a95492dc784e7
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
OASIS_BUILD_TESTS=1
|
||||
OASIS_BUILD_DOCS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="A modular standard library focused on data structures"
|
||||
HOMEPAGE="https://github.com/c-cube/ocaml-containers"
|
||||
SRC_URI="https://github.com/c-cube/ocaml-containers/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/result:=
|
||||
>=dev-ml/sequence-0.9:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/cppo
|
||||
test? ( dev-ml/iTeML )"
|
||||
|
||||
src_configure() {
|
||||
oasis_configure_opts="
|
||||
--enable-unix
|
||||
--disable-bench
|
||||
" oasis_src_configure
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DTORRES
|
||||
MY_PN="GOOGLE-ADWORDS-PERL-CLIENT"
|
||||
|
||||
inherit perl-module
|
||||
|
||||
SRC_TEST="do"
|
||||
|
||||
# tests seem to be failing, contacted upstream.
|
||||
# code has been tested to work on 2.6.0 though
|
||||
RESTRICT="test"
|
||||
|
||||
DESCRIPTION="Google AdWords API Perl Client"
|
||||
HOMEPAGE="https://github.com/googleads/googleads-perl-lib"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-perl/Cache
|
||||
dev-perl/IO-Socket-SSL
|
||||
dev-perl/Log-Log4perl
|
||||
dev-perl/libwww-perl
|
||||
dev-perl/Math-Random-MT
|
||||
>=dev-perl/Net-OAuth-0.27
|
||||
>=dev-perl/SOAP-WSDL-2.00.10
|
||||
dev-perl/URI
|
||||
dev-perl/XML-Simple
|
||||
dev-perl/XML-XPath
|
||||
dev-perl/CHI"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
virtual/perl-Test-Simple
|
||||
dev-perl/Test-MockObject
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/Config-Properties
|
||||
dev-perl/Data-Uniqid
|
||||
)
|
||||
dev-perl/Module-Build"
|
@ -1,2 +1 @@
|
||||
DIST GOOGLE-ADWORDS-PERL-CLIENT-2.7.3.tar.gz 8657336 SHA256 4016b94ee7b646e0adf97e21846a09f0125467c7c167cfdb9f1581a5d38c3eb4 SHA512 9181f3944844e86f208d6127b1c63cea250eddfdc68a9a30978e488fb166b2e3ef4c67a1b86c768d8fd910b847b51da77c8748abd6f73670434590474398fb1a WHIRLPOOL 5fe639949828825aa70c34e0072ff5850aef4f1bfc12f4c553126c424b288a7b3b62953586c50405fcb99086b01e8a448e9502af926b5820ad5e618ea58f9126
|
||||
DIST Google-Ads-AdWords-Client-4.11.0.tar.gz 4863360 SHA256 5117987ac8600e0c70342bfb8ed3ac355b4b79af3d30ee27e39ed438fba992ac SHA512 c4209469889d6359779f8153684e5c93d9db837b27c8de6fb96384def3a0dcd7b4815c5a37f21041f0a052d1273e3a2ea9b76f5f15071e9ee3c96f89e19cda3a WHIRLPOOL ec68c41c2b24d26373aeb776cf28e11804b7afc08f8c61fd6d8f6a1376061922a86fbcb2d74650510e1a81a086d812d0114609550fed5ad128ec1255b757224f
|
||||
|
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=SHLOMIF
|
||||
DIST_VERSION=2.0128
|
||||
DIST_EXAMPLES=("example/*")
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl binding for libxml2"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test minimal"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/XML-SAX-0.120.0
|
||||
>=dev-libs/libxml2-2.6.21
|
||||
dev-perl/XML-SAX-Base
|
||||
>=dev-perl/XML-NamespaceSupport-1.70.0
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
!minimal? (
|
||||
dev-perl/Test-LeakTrace
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-disable-expanding.patch"
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
export SKIP_SAX_INSTALL=1
|
||||
perl-module_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
perl_rm_files t/pod.t t/style-trailing-space.t t/cpan-changes.t
|
||||
perl-module_src_test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
pkg_update_parser add XML::LibXML::SAX::Parser
|
||||
pkg_update_parser add XML::LibXML::SAX
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
pkg_update_parser remove XML::LibXML::SAX::Parser
|
||||
pkg_update_parser remove XML::LibXML::SAX
|
||||
}
|
||||
|
||||
pkg_update_parser() {
|
||||
# pkg_update_parser [add|remove] $parser_module
|
||||
local action=$1
|
||||
local parser_module=$2
|
||||
|
||||
if [[ "$ROOT" = "/" ]] ; then
|
||||
einfo "Update Parser: $1 $2"
|
||||
perl -MXML::SAX -e "XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()" \
|
||||
|| ewarn "Update Parser: $1 $2 failed"
|
||||
else
|
||||
elog "To $1 $2 run:"
|
||||
elog "perl -MXML::SAX -e 'XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()'"
|
||||
fi
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
From 05749ae525317d05bd9d4232c080e530854f1d88 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Fri, 30 Sep 2016 14:31:26 +0200
|
||||
Subject: [PATCH] Do not enable expanding entities by default
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Expanding external entity is insecure.
|
||||
<https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing>.
|
||||
This patch makes expand_entities option disabled by default.
|
||||
|
||||
CPAN RT#118032
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
LibXML.pm | 2 +-
|
||||
docs/libxml.dbk | 2 +-
|
||||
t/43options.t | 4 ++--
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/LibXML.pm b/LibXML.pm
|
||||
index eb3cbd6..9ab4748 100644
|
||||
--- a/LibXML.pm
|
||||
+++ b/LibXML.pm
|
||||
@@ -261,7 +261,7 @@ use constant {
|
||||
HTML_PARSE_NOERROR => (1<<5), # suppress error reports
|
||||
};
|
||||
|
||||
-$XML_LIBXML_PARSE_DEFAULTS = ( XML_PARSE_NODICT | XML_PARSE_DTDLOAD | XML_PARSE_NOENT );
|
||||
+$XML_LIBXML_PARSE_DEFAULTS = ( XML_PARSE_NODICT | XML_PARSE_DTDLOAD );
|
||||
|
||||
# this hash is made global so that applications can add names for new
|
||||
# libxml2 parser flags as temporary workaround
|
||||
diff --git a/docs/libxml.dbk b/docs/libxml.dbk
|
||||
index 30f279b..2c6674b 100644
|
||||
--- a/docs/libxml.dbk
|
||||
+++ b/docs/libxml.dbk
|
||||
@@ -1676,7 +1676,7 @@ local $XML::LibXML::setTagCompression = 1;</programlisting>
|
||||
<term>expand_entities</term>
|
||||
<listitem>
|
||||
<para>/parser, reader/</para>
|
||||
- <para>substitute entities; possible values are 0 and 1; default is 1</para>
|
||||
+ <para>substitute entities; possible values are 0 and 1; default is 0</para>
|
||||
<para>Note that although this flag disables entity substitution, it
|
||||
does not prevent the parser from loading external entities;
|
||||
when substitution of an external entity is disabled, the
|
||||
diff --git a/t/43options.t b/t/43options.t
|
||||
index 826f0ad..53dd35e 100644
|
||||
--- a/t/43options.t
|
||||
+++ b/t/43options.t
|
||||
@@ -50,7 +50,7 @@ no_network
|
||||
{
|
||||
my $p = XML::LibXML->new();
|
||||
for my $opt (@all) {
|
||||
- my $ret = (($opt =~ /^(?:load_ext_dtd|expand_entities)$/) ? 1 : 0);
|
||||
+ my $ret = (($opt =~ /^(?:load_ext_dtd)$/) ? 1 : 0);
|
||||
# TEST*$all
|
||||
ok(
|
||||
($p->get_option($opt)||0) == $ret
|
||||
@@ -110,7 +110,7 @@ no_network
|
||||
ok( $p->get_option('recover') == 2, ' TODO : Add test name' );
|
||||
|
||||
# TEST
|
||||
- ok( $p->expand_entities() == 1, ' TODO : Add test name' );
|
||||
+ ok( $p->expand_entities() == 0, ' TODO : Add test name' );
|
||||
# TEST
|
||||
ok( $p->load_ext_dtd() == 1, ' TODO : Add test name' );
|
||||
$p->load_ext_dtd(0);
|
||||
--
|
||||
2.7.4
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue