parent
41d2bcd91a
commit
68a4008eb5
@ -1,4 +1,5 @@
|
||||
DIST syslog-ng-3.7.2.tar.gz 3558377 SHA256 b1b3ccc0ce7f0d8bf15b23e59f2f4f5ded70eed410dfd27105219bc8856388a5 SHA512 dbf58b51b68bc6616a136df5eb67a120718d8c83f785218d40f62e5f7b3691a3ad4d21db617551e4192e053dc9340440424e3d3b072b47ca590d4eac0dbf0e6f WHIRLPOOL 3721841f6e5ea883cd5ee71bf1651fa0861904008eb1136127c36990e2fe8801deafdf31ce880677eff7739b0b07411eee4542d8d4a80b60819fa3bd9ab24b9e
|
||||
DIST syslog-ng-3.7.3.tar.gz 3511155 SHA256 49201dcfd59c8992936aa16c694f5e6593d505b44895f6c66b7d7f7895ce2c62 SHA512 e58d793bd1a8b48c5836090ee244f6e8b223f234f5a27fbf81f6a838b9b1e3e45f73a66dab2bc58a0bba230bd778a247ae22bf529a28fb2e9fee52b8181d304b WHIRLPOOL ee434b8919183a70f484e6c96246b020a53a42e4306b2dea3b8ec15de71a1ad5be5185f0f3df5da76f0ca68618ff8391806748c6bea4a6844648e0939a57e97a
|
||||
DIST syslog-ng_3.4.8.tar.gz 3169372 SHA256 96c2f970fbba4fdd7659b1fee5e476d2858c911d4304d42099f495493762ff49 SHA512 23ba9908664e594c186cbe4bd5dcfb5d2ed3faf02ec45b931bb91b078660547989c2340a08b478a33adb530d39a6d6f39a2e7519107a3f6b923ac9f39529620e WHIRLPOOL 1085fa2c90e0c85421c64ed50e8a357f29006afea2f3e329e42d1e27f4210a10fe0f05d4af95a11c245d68b43644a4a829a50c05b7d541f59a6f580b3643b434
|
||||
DIST syslog-ng_3.6.2.tar.gz 3207456 SHA256 ef47fada52981e09af570457a5af30f815f5d5b6c2e33754cedd4ca9780d8261 SHA512 15603b4df2001e1ce7e0019d0dd9a0f4295445e3fd19a527ebf3d49486da7da27fac6c465727ec0354f8f70ca0f671a285ec132f9aa0de62b40f18b44af2a226 WHIRLPOOL 7135db242374d6e5789c0820a06187b7e325054fd214e3aee75aac5b8dde56786b432cc4519c07ce0cd413c3a560e8e74ee6eca319c21eaa750ca8140ef1b63f
|
||||
DIST syslog-ng_3.6.4.tar.gz 3276432 SHA256 7be11df31ac7d716f1f952e22b5ae8e2049edd633a41b223776a853d9106f4e7 SHA512 9c648628b9bd3ebb25bc44fa6586e88a4b9ed7c24b1c337569d3cccb04bf2f427ba1218900f8dfd8f668f245d6ab44ad45b67da661b7c2af68c6c42101b722e1 WHIRLPOOL 496a9b2e06e33b0c42726f3b13f859f356f136367c48363cd22b086b72f4f54a32cc057235636f2d2ea3ad7bdd622354ea67df1cbc770be608a84bc861fce93d
|
||||
|
@ -0,0 +1,138 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit autotools python-any-r1 eutils multilib systemd versionator
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
MY_PV_MM=$(get_version_component_range 1-2)
|
||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
||||
HOMEPAGE="http://www.balabit.com/network-security/syslog-ng"
|
||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE="amqp caps dbi geoip ipv6 json libressl mongodb pacct python redis smtp spoof-source systemd tcpd"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
caps? ( sys-libs/libcap )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
geoip? ( >=dev-libs/geoip-1.5.0 )
|
||||
json? ( >=dev-libs/json-c-0.9 )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
redis? ( dev-libs/hiredis )
|
||||
smtp? ( net-libs/libesmtp )
|
||||
spoof-source? ( net-libs/libnet:1.1 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
dev-libs/libpcre
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
>=dev-libs/eventlog-0.2.12
|
||||
>=dev-libs/glib-2.10.1:2"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
sys-devel/flex"
|
||||
|
||||
S=${WORKDIR}/${PN}-${MY_PV}
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local f
|
||||
|
||||
use python && python_fix_shebang .
|
||||
|
||||
if use !json ; then
|
||||
sed -i -e '1 s/cim //' scl/Makefile.am || die
|
||||
eautoreconf
|
||||
fi
|
||||
|
||||
for f in "${FILESDIR}"/*logrotate*.in ; do
|
||||
local bn=$(basename "${f}")
|
||||
|
||||
sed \
|
||||
-e "$(usex systemd \
|
||||
's/@GENTOO_RESTART@/systemctl kill -s HUP syslog-ng/' \
|
||||
's:@GENTOO_RESTART@:/etc/init.d/syslog-ng reload:')" \
|
||||
"${f}" > "${T}/${bn/.in/}" || die
|
||||
done
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-java \
|
||||
--disable-docs \
|
||||
--enable-manpages \
|
||||
--with-embedded-crypto \
|
||||
--with-ivykis=internal \
|
||||
--with-libmongo-client=internal \
|
||||
--sysconfdir=/etc/syslog-ng \
|
||||
--localstatedir=/var/lib/syslog-ng \
|
||||
--with-pidfile-dir=/var/run \
|
||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng \
|
||||
$(systemd_with_unitdir) \
|
||||
$(use_enable systemd) \
|
||||
$(use_enable caps linux-caps) \
|
||||
$(use_enable geoip) \
|
||||
$(use_enable ipv6) \
|
||||
$(use_enable json) \
|
||||
$(use_enable mongodb) \
|
||||
$(use_enable pacct) \
|
||||
$(use_enable python) \
|
||||
$(use_enable redis) \
|
||||
$(use_enable smtp) \
|
||||
$(use_enable amqp) \
|
||||
$(usex amqp --with-librabbitmq-client=internal --without-librabbitmq-client) \
|
||||
$(use_enable spoof-source) \
|
||||
$(use_enable dbi sql) \
|
||||
$(use_enable tcpd tcp-wrapper)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# -j1 for bug #484470
|
||||
emake -j1 DESTDIR="${D}" install
|
||||
|
||||
dodoc AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf* \
|
||||
contrib/syslog2ng "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.hardened" \
|
||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened"
|
||||
|
||||
# Install default configuration
|
||||
insinto /etc/syslog-ng
|
||||
if use userland_BSD ; then
|
||||
newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.fbsd" syslog-ng.conf
|
||||
else
|
||||
newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo" syslog-ng.conf
|
||||
fi
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
||||
|
||||
newinitd "${FILESDIR}/${MY_PV_MM}/syslog-ng.rc6" syslog-ng
|
||||
newconfd "${FILESDIR}/${MY_PV_MM}/syslog-ng.confd" syslog-ng
|
||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
||||
prune_libtool_files --modules
|
||||
|
||||
use python && python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "For detailed documentation please see the upstream website:"
|
||||
elog "http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.7-guides/en/syslog-ng-ose-v3.7-guide-admin/html/index.html"
|
||||
|
||||
# bug #355257
|
||||
if ! has_version app-admin/logrotate ; then
|
||||
echo
|
||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
||||
elog "for logrotate to use."
|
||||
echo
|
||||
fi
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST torrentzip-0.2.tar.gz 46971 SHA256 9e55f378ef5c75c452b3f52728a7503ca76e147e0ab2395b8c41de8c20995efd SHA512 802dd1bf55e0a31df75d8195c9d2d5610be8cb7f14d14278eba72b580aff3ad415711999db05a5425303380ebfc82a68896e276319e0ead5635d0a07615ba700 WHIRLPOOL 79c96f51a0b547b2651625a3b3aee6b7a769955e10b092654086a1d91a494d08f8dd732eee45b432ca97f4f6314af0f76907fa81b422ef94676e6d729994a61d
|
||||
DIST torrentzip-0.2.zip 69200 SHA256 3aa58e839743eebd97071e36585bb14cab0bddd22db646eb0765e1ae3ef2c749 SHA512 a6d6452940ab9070b96d598c7db306657afa34c3630160943260e6687e65985aa5aa8ad0b1319ee6470912207d6ef369fdb1168d5d528e8efd7405dc7722b1b8 WHIRLPOOL 0cad9f83e2d27795014be51b912d34350a59ad9c824f66237e1f15641daad812c92a7d5c6357e8d6a2517f08a381705f4eb057dc855700b007b99f3210046a1c
|
||||
DIST torrentzip-0.9.tar.gz 59007 SHA256 89059002613e3e9f06861ae90047e3d4ea6cc1b2cc4ef21bd75cb51cecb2bff6 SHA512 691cd25f501de3de16b5b15b2afadfc34b833c3e93208c2c3497674936580ad2c3532a02e02531b89974302eee7b36f7579a412718914b1b38044b78a39a4d4d WHIRLPOOL 0e172c0797d2577afd632d9d53d09a2cb25d05e78037984963996999a719aaf7295dc264554794f0b1f2eba8bb162c2ecc9d584a058c241b6f84849c0ab47e7b
|
||||
DIST trrntzip_v02_src.tar.gz 46971 SHA256 9e55f378ef5c75c452b3f52728a7503ca76e147e0ab2395b8c41de8c20995efd SHA512 802dd1bf55e0a31df75d8195c9d2d5610be8cb7f14d14278eba72b580aff3ad415711999db05a5425303380ebfc82a68896e276319e0ead5635d0a07615ba700 WHIRLPOOL 79c96f51a0b547b2651625a3b3aee6b7a769955e10b092654086a1d91a494d08f8dd732eee45b432ca97f4f6314af0f76907fa81b422ef94676e6d729994a61d
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/src/trrntzip.c
|
||||
+++ b/src/trrntzip.c
|
||||
@@ -782,7 +782,7 @@
|
||||
|
||||
if (strstr (szTmpBuf, ".zip\0") && !(istat.st_mode & S_IWUSR))
|
||||
{
|
||||
- chmod (direntp->d_name, S_IWUSR);
|
||||
+ chmod (direntp->d_name, S_IWUSR | S_IRUSR);
|
||||
mig.cEncounteredZips++;
|
||||
|
||||
if (!mig.fProcessLog)
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils autotools
|
||||
|
||||
MY_PN="trrntzip"
|
||||
MY_PV="code-9"
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="Advanced archiver to create identical files over multiple systems"
|
||||
HOMEPAGE="https://sourceforge.net/projects/trrntzip"
|
||||
SRC_URI="http://sourceforge.net/code-snapshots/svn/t/tr/${MY_PN}/code/${MY_P}.zip -> ${P}.zip"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
DEPEND="sys-libs/zlib"
|
||||
RDEPEND=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-fix-function-declarations.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# Source-code from sf.net snapshots has CRLF...
|
||||
EPATCH_OPTS="--binary"
|
||||
|
||||
epatch "${PATCHES[@]}"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
nonfatal dodoc README AUTHORS
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Create identical zip archives over multiple systems"
|
||||
HOMEPAGE="https://sourceforge.net/projects/trrntzip"
|
||||
SRC_URI="http://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
app-arch/unzip"
|
||||
|
||||
DOCS=(README AUTHORS)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
export CPPFLAGS+=" -DOF\\(args\\)=args"
|
||||
eautoreconf
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
From 36fef36b91f7ec0435215860f1458b5342ce2811 Mon Sep 17 00:00:00 2001
|
||||
From: P J P <ppandit@redhat.com>
|
||||
Date: Mon, 21 Dec 2015 15:13:13 +0530
|
||||
Subject: [PATCH] scsi: initialise info object with appropriate size
|
||||
|
||||
While processing controller 'CTRL_GET_INFO' command, the routine
|
||||
'megasas_ctrl_get_info' overflows the '&info' object size. Use its
|
||||
appropriate size to null initialise it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: P J P <ppandit@redhat.com>
|
||||
---
|
||||
hw/scsi/megasas.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
|
||||
index d7dc667..576f56c 100644
|
||||
--- a/hw/scsi/megasas.c
|
||||
+++ b/hw/scsi/megasas.c
|
||||
@@ -718,7 +718,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
|
||||
BusChild *kid;
|
||||
int num_pd_disks = 0;
|
||||
|
||||
- memset(&info, 0x0, cmd->iov_size);
|
||||
+ memset(&info, 0x0, dcmd_size);
|
||||
if (cmd->iov_size < dcmd_size) {
|
||||
trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
|
||||
dcmd_size);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,121 @@
|
||||
From 64ffbe04eaafebf4045a3ace52a360c14959d196 Mon Sep 17 00:00:00 2001
|
||||
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
||||
Date: Wed, 13 Jan 2016 09:09:58 +0100
|
||||
Subject: [PATCH] hmp: fix sendkey out of bounds write (CVE-2015-8619)
|
||||
|
||||
When processing 'sendkey' command, hmp_sendkey routine null
|
||||
terminates the 'keyname_buf' array. This results in an OOB
|
||||
write issue, if 'keyname_len' was to fall outside of
|
||||
'keyname_buf' array.
|
||||
|
||||
Since the keyname's length is known the keyname_buf can be
|
||||
removed altogether by adding a length parameter to
|
||||
index_from_key() and using it for the error output as well.
|
||||
|
||||
Reported-by: Ling Liu <liuling-it@360.cn>
|
||||
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
||||
Message-Id: <20160113080958.GA18934@olga>
|
||||
[Comparison with "<" dumbed down, test for junk after strtoul()
|
||||
tweaked]
|
||||
Signed-off-by: Markus Armbruster <armbru@redhat.com>
|
||||
---
|
||||
hmp.c | 18 ++++++++----------
|
||||
include/ui/console.h | 2 +-
|
||||
ui/input-legacy.c | 5 +++--
|
||||
3 files changed, 12 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/hmp.c b/hmp.c
|
||||
index 54f2620..9c571f5 100644
|
||||
--- a/hmp.c
|
||||
+++ b/hmp.c
|
||||
@@ -1731,21 +1731,18 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
|
||||
int has_hold_time = qdict_haskey(qdict, "hold-time");
|
||||
int hold_time = qdict_get_try_int(qdict, "hold-time", -1);
|
||||
Error *err = NULL;
|
||||
- char keyname_buf[16];
|
||||
char *separator;
|
||||
int keyname_len;
|
||||
|
||||
while (1) {
|
||||
separator = strchr(keys, '-');
|
||||
keyname_len = separator ? separator - keys : strlen(keys);
|
||||
- pstrcpy(keyname_buf, sizeof(keyname_buf), keys);
|
||||
|
||||
/* Be compatible with old interface, convert user inputted "<" */
|
||||
- if (!strncmp(keyname_buf, "<", 1) && keyname_len == 1) {
|
||||
- pstrcpy(keyname_buf, sizeof(keyname_buf), "less");
|
||||
+ if (keys[0] == '<' && keyname_len == 1) {
|
||||
+ keys = "less";
|
||||
keyname_len = 4;
|
||||
}
|
||||
- keyname_buf[keyname_len] = 0;
|
||||
|
||||
keylist = g_malloc0(sizeof(*keylist));
|
||||
keylist->value = g_malloc0(sizeof(*keylist->value));
|
||||
@@ -1758,16 +1755,17 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
|
||||
}
|
||||
tmp = keylist;
|
||||
|
||||
- if (strstart(keyname_buf, "0x", NULL)) {
|
||||
+ if (strstart(keys, "0x", NULL)) {
|
||||
char *endp;
|
||||
- int value = strtoul(keyname_buf, &endp, 0);
|
||||
- if (*endp != '\0') {
|
||||
+ int value = strtoul(keys, &endp, 0);
|
||||
+ assert(endp <= keys + keyname_len);
|
||||
+ if (endp != keys + keyname_len) {
|
||||
goto err_out;
|
||||
}
|
||||
keylist->value->type = KEY_VALUE_KIND_NUMBER;
|
||||
keylist->value->u.number = value;
|
||||
} else {
|
||||
- int idx = index_from_key(keyname_buf);
|
||||
+ int idx = index_from_key(keys, keyname_len);
|
||||
if (idx == Q_KEY_CODE_MAX) {
|
||||
goto err_out;
|
||||
}
|
||||
@@ -1789,7 +1787,7 @@ out:
|
||||
return;
|
||||
|
||||
err_out:
|
||||
- monitor_printf(mon, "invalid parameter: %s\n", keyname_buf);
|
||||
+ monitor_printf(mon, "invalid parameter: %.*s\n", keyname_len, keys);
|
||||
goto out;
|
||||
}
|
||||
|
||||
diff --git a/include/ui/console.h b/include/ui/console.h
|
||||
index adac36d..116bc2b 100644
|
||||
--- a/include/ui/console.h
|
||||
+++ b/include/ui/console.h
|
||||
@@ -448,7 +448,7 @@ static inline int vnc_display_pw_expire(const char *id, time_t expires)
|
||||
void curses_display_init(DisplayState *ds, int full_screen);
|
||||
|
||||
/* input.c */
|
||||
-int index_from_key(const char *key);
|
||||
+int index_from_key(const char *key, size_t key_length);
|
||||
|
||||
/* gtk.c */
|
||||
void early_gtk_display_init(int opengl);
|
||||
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
|
||||
index 35dfc27..3454055 100644
|
||||
--- a/ui/input-legacy.c
|
||||
+++ b/ui/input-legacy.c
|
||||
@@ -57,12 +57,13 @@ struct QEMUPutLEDEntry {
|
||||
static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =
|
||||
QTAILQ_HEAD_INITIALIZER(led_handlers);
|
||||
|
||||
-int index_from_key(const char *key)
|
||||
+int index_from_key(const char *key, size_t key_length)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; QKeyCode_lookup[i] != NULL; i++) {
|
||||
- if (!strcmp(key, QKeyCode_lookup[i])) {
|
||||
+ if (!strncmp(key, QKeyCode_lookup[i], key_length) &&
|
||||
+ !QKeyCode_lookup[i][key_length]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,58 @@
|
||||
From 66f8fd9dda312191b78d2a2ba2848bcee76127a2 Mon Sep 17 00:00:00 2001
|
||||
From: "Gabriel L. Somlo" <somlo@cmu.edu>
|
||||
Date: Thu, 5 Nov 2015 09:32:50 -0500
|
||||
Subject: [PATCH] fw_cfg: avoid calculating invalid current entry pointer
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When calculating a pointer to the currently selected fw_cfg item, the
|
||||
following is used:
|
||||
|
||||
FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
|
||||
When s->cur_entry is FW_CFG_INVALID, we are calculating the address of
|
||||
a non-existent element in s->entries[arch][...], which is undefined.
|
||||
|
||||
This patch ensures the resulting entry pointer is set to NULL whenever
|
||||
s->cur_entry is FW_CFG_INVALID.
|
||||
|
||||
Reported-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
|
||||
Message-id: 1446733972-1602-5-git-send-email-somlo@cmu.edu
|
||||
Cc: Marc Marí <markmb@redhat.com>
|
||||
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
|
||||
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/nvram/fw_cfg.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
|
||||
index c2d3a0a..046fa74 100644
|
||||
--- a/hw/nvram/fw_cfg.c
|
||||
+++ b/hw/nvram/fw_cfg.c
|
||||
@@ -277,7 +277,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
|
||||
static uint8_t fw_cfg_read(FWCfgState *s)
|
||||
{
|
||||
int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
|
||||
- FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
+ FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
|
||||
+ &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
uint8_t ret;
|
||||
|
||||
if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
|
||||
@@ -342,7 +343,8 @@ static void fw_cfg_dma_transfer(FWCfgState *s)
|
||||
}
|
||||
|
||||
arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
|
||||
- e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
+ e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
|
||||
+ &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
|
||||
|
||||
if (dma.control & FW_CFG_DMA_CTL_READ) {
|
||||
read = 1;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,65 @@
|
||||
From 4c1396cb576c9b14425558b73de1584c7a9735d7 Mon Sep 17 00:00:00 2001
|
||||
From: P J P <ppandit@redhat.com>
|
||||
Date: Fri, 18 Dec 2015 11:35:07 +0530
|
||||
Subject: [PATCH] i386: avoid null pointer dereference
|
||||
|
||||
Hello,
|
||||
|
||||
A null pointer dereference issue was reported by Mr Ling Liu, CC'd here. It
|
||||
occurs while doing I/O port write operations via hmp interface. In that,
|
||||
'current_cpu' remains null as it is not called from cpu_exec loop, which
|
||||
results in the said issue.
|
||||
|
||||
Below is a proposed (tested)patch to fix this issue; Does it look okay?
|
||||
|
||||
===
|
||||
From ae88a4947fab9a148cd794f8ad2d812e7f5a1d0f Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Fri, 18 Dec 2015 11:16:07 +0530
|
||||
Subject: [PATCH] i386: avoid null pointer dereference
|
||||
|
||||
When I/O port write operation is called from hmp interface,
|
||||
'current_cpu' remains null, as it is not called from cpu_exec()
|
||||
loop. This leads to a null pointer dereference in vapic_write
|
||||
routine. Add check to avoid it.
|
||||
|
||||
Reported-by: Ling Liu <liuling-it@360.cn>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-Id: <alpine.LFD.2.20.1512181129320.9805@wniryva>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: P J P <ppandit@redhat.com>
|
||||
---
|
||||
hw/i386/kvmvapic.c | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
|
||||
index c6d34b2..f0922da 100644
|
||||
--- a/hw/i386/kvmvapic.c
|
||||
+++ b/hw/i386/kvmvapic.c
|
||||
@@ -634,13 +634,18 @@ static int vapic_prepare(VAPICROMState *s)
|
||||
static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
|
||||
unsigned int size)
|
||||
{
|
||||
- CPUState *cs = current_cpu;
|
||||
- X86CPU *cpu = X86_CPU(cs);
|
||||
- CPUX86State *env = &cpu->env;
|
||||
- hwaddr rom_paddr;
|
||||
VAPICROMState *s = opaque;
|
||||
+ X86CPU *cpu;
|
||||
+ CPUX86State *env;
|
||||
+ hwaddr rom_paddr;
|
||||
|
||||
- cpu_synchronize_state(cs);
|
||||
+ if (!current_cpu) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ cpu_synchronize_state(current_cpu);
|
||||
+ cpu = X86_CPU(current_cpu);
|
||||
+ env = &cpu->env;
|
||||
|
||||
/*
|
||||
* The VAPIC supports two PIO-based hypercalls, both via port 0x7E.
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,98 @@
|
||||
From dd793a74882477ca38d49e191110c17dfee51dcc Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 19 Jan 2016 14:17:20 +0100
|
||||
Subject: [PATCH] e1000: eliminate infinite loops on out-of-bounds transfer
|
||||
start
|
||||
|
||||
The start_xmit() and e1000_receive_iov() functions implement DMA transfers
|
||||
iterating over a set of descriptors that the guest's e1000 driver
|
||||
prepares:
|
||||
|
||||
- the TDLEN and RDLEN registers store the total size of the descriptor
|
||||
area,
|
||||
|
||||
- while the TDH and RDH registers store the offset (in whole tx / rx
|
||||
descriptors) into the area where the transfer is supposed to start.
|
||||
|
||||
Each time a descriptor is processed, the TDH and RDH register is bumped
|
||||
(as appropriate for the transfer direction).
|
||||
|
||||
QEMU already contains logic to deal with bogus transfers submitted by the
|
||||
guest:
|
||||
|
||||
- Normally, the transmit case wants to increase TDH from its initial value
|
||||
to TDT. (TDT is allowed to be numerically smaller than the initial TDH
|
||||
value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
|
||||
that QEMU currently has here is a check against reaching the original
|
||||
TDH value again -- a complete wraparound, which should never happen.
|
||||
|
||||
- In the receive case RDH is increased from its initial value until
|
||||
"total_size" bytes have been received; preferably in a single step, or
|
||||
in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
|
||||
RX descriptors are skipped without receiving data, while RDH is
|
||||
incremented just the same. QEMU tries to prevent an infinite loop
|
||||
(processing only null RX descriptors) by detecting whether RDH assumes
|
||||
its original value during the loop. (Again, wrapping from RDLEN to 0 is
|
||||
normal.)
|
||||
|
||||
What both directions miss is that the guest could program TDLEN and RDLEN
|
||||
so low, and the initial TDH and RDH so high, that these registers will
|
||||
immediately be truncated to zero, and then never reassume their initial
|
||||
values in the loop -- a full wraparound will never occur.
|
||||
|
||||
The condition that expresses this is:
|
||||
|
||||
xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
|
||||
|
||||
i.e., TDH or RDH start out after the last whole rx or tx descriptor that
|
||||
fits into the TDLEN or RDLEN sized area.
|
||||
|
||||
This condition could be checked before we enter the loops, but
|
||||
pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
|
||||
bogus DMA addresses, so we just extend the existing failsafes with the
|
||||
above condition.
|
||||
|
||||
This is CVE-2016-1981.
|
||||
|
||||
Cc: "Michael S. Tsirkin" <mst@redhat.com>
|
||||
Cc: Petr Matousek <pmatouse@redhat.com>
|
||||
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
Cc: Prasad Pandit <ppandit@redhat.com>
|
||||
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
|
||||
Cc: Jason Wang <jasowang@redhat.com>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Jason Wang <jasowang@redhat.com>
|
||||
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||
---
|
||||
hw/net/e1000.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
|
||||
index 4eda7a3..0387fa0 100644
|
||||
--- a/hw/net/e1000.c
|
||||
+++ b/hw/net/e1000.c
|
||||
@@ -909,7 +909,8 @@ start_xmit(E1000State *s)
|
||||
* bogus values to TDT/TDLEN.
|
||||
* there's nothing too intelligent we could do about this.
|
||||
*/
|
||||
- if (s->mac_reg[TDH] == tdh_start) {
|
||||
+ if (s->mac_reg[TDH] == tdh_start ||
|
||||
+ tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
|
||||
DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
|
||||
tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
|
||||
break;
|
||||
@@ -1166,7 +1167,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
|
||||
if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
|
||||
s->mac_reg[RDH] = 0;
|
||||
/* see comment in start_xmit; same here */
|
||||
- if (s->mac_reg[RDH] == rdh_start) {
|
||||
+ if (s->mac_reg[RDH] == rdh_start ||
|
||||
+ rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
|
||||
DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
|
||||
rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
|
||||
set_ics(s, 0, E1000_ICS_RXO);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,43 @@
|
||||
From 99b4cb71069f109b79b27bc629fc0cf0886dbc4b Mon Sep 17 00:00:00 2001
|
||||
From: John Snow <jsnow@redhat.com>
|
||||
Date: Wed, 10 Feb 2016 13:29:40 -0500
|
||||
Subject: [PATCH] ahci: Do not unmap NULL addresses
|
||||
|
||||
Definitely don't try to unmap a garbage address.
|
||||
|
||||
Reported-by: Zuozhi fzz <zuozhi.fzz@alibaba-inc.com>
|
||||
Signed-off-by: John Snow <jsnow@redhat.com>
|
||||
Message-id: 1454103689-13042-2-git-send-email-jsnow@redhat.com
|
||||
---
|
||||
hw/ide/ahci.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
|
||||
index 7e87b18..3a95dad 100644
|
||||
--- a/hw/ide/ahci.c
|
||||
+++ b/hw/ide/ahci.c
|
||||
@@ -662,6 +662,10 @@ static bool ahci_map_fis_address(AHCIDevice *ad)
|
||||
|
||||
static void ahci_unmap_fis_address(AHCIDevice *ad)
|
||||
{
|
||||
+ if (ad->res_fis == NULL) {
|
||||
+ DPRINTF(ad->port_no, "Attempt to unmap NULL FIS address\n");
|
||||
+ return;
|
||||
+ }
|
||||
dma_memory_unmap(ad->hba->as, ad->res_fis, 256,
|
||||
DMA_DIRECTION_FROM_DEVICE, 256);
|
||||
ad->res_fis = NULL;
|
||||
@@ -678,6 +682,10 @@ static bool ahci_map_clb_address(AHCIDevice *ad)
|
||||
|
||||
static void ahci_unmap_clb_address(AHCIDevice *ad)
|
||||
{
|
||||
+ if (ad->lst == NULL) {
|
||||
+ DPRINTF(ad->port_no, "Attempt to unmap NULL CLB address\n");
|
||||
+ return;
|
||||
+ }
|
||||
dma_memory_unmap(ad->hba->as, ad->lst, 1024,
|
||||
DMA_DIRECTION_FROM_DEVICE, 1024);
|
||||
ad->lst = NULL;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,46 @@
|
||||
From dff0367cf66f489aa772320fa2937a8cac1ca30d Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Fri, 29 Jan 2016 18:30:34 +0530
|
||||
Subject: [PATCH] usb: ehci: add capability mmio write function
|
||||
|
||||
USB Ehci emulation supports host controller capability registers.
|
||||
But its mmio '.write' function was missing, which lead to a null
|
||||
pointer dereference issue. Add a do nothing 'ehci_caps_write'
|
||||
definition to avoid it; Do nothing because capability registers
|
||||
are Read Only(RO).
|
||||
|
||||
Reported-by: Zuozhi Fzz <zuozhi.fzz@alibaba-inc.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1454072434-16045-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/hcd-ehci.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
|
||||
index 1b50601..0f95d0d 100644
|
||||
--- a/hw/usb/hcd-ehci.c
|
||||
+++ b/hw/usb/hcd-ehci.c
|
||||
@@ -895,6 +895,11 @@ static uint64_t ehci_caps_read(void *ptr, hwaddr addr,
|
||||
return s->caps[addr];
|
||||
}
|
||||
|
||||
+static void ehci_caps_write(void *ptr, hwaddr addr,
|
||||
+ uint64_t val, unsigned size)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
static uint64_t ehci_opreg_read(void *ptr, hwaddr addr,
|
||||
unsigned size)
|
||||
{
|
||||
@@ -2315,6 +2320,7 @@ static void ehci_frame_timer(void *opaque)
|
||||
|
||||
static const MemoryRegionOps ehci_mmio_caps_ops = {
|
||||
.read = ehci_caps_read,
|
||||
+ .write = ehci_caps_write,
|
||||
.valid.min_access_size = 1,
|
||||
.valid.max_access_size = 4,
|
||||
.impl.min_access_size = 1,
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 80eecda8e5d09c442c24307f340840a5b70ea3b9 Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Thu, 11 Feb 2016 16:31:20 +0530
|
||||
Subject: [PATCH] usb: check USB configuration descriptor object
|
||||
|
||||
When processing remote NDIS control message packets, the USB Net
|
||||
device emulator checks to see if the USB configuration descriptor
|
||||
object is of RNDIS type(2). But it does not check if it is null,
|
||||
which leads to a null dereference error. Add check to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1455188480-14688-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/dev-network.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
|
||||
index 985a629..5dc4538 100644
|
||||
--- a/hw/usb/dev-network.c
|
||||
+++ b/hw/usb/dev-network.c
|
||||
@@ -654,7 +654,8 @@ typedef struct USBNetState {
|
||||
|
||||
static int is_rndis(USBNetState *s)
|
||||
{
|
||||
- return s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE;
|
||||
+ return s->dev.config ?
|
||||
+ s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE : 0;
|
||||
}
|
||||
|
||||
static int ndis_query(USBNetState *s, uint32_t oid,
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,98 @@
|
||||
From 3c52ddcdc548e7fbe65112d8a7bdc9cd105b4750 Mon Sep 17 00:00:00 2001
|
||||
From: Ladi Prosek <lprosek@redhat.com>
|
||||
Date: Thu, 3 Mar 2016 09:37:15 +0100
|
||||
Subject: [PATCH] rng: remove the unused request cancellation code
|
||||
|
||||
rng_backend_cancel_requests had no callers and none of the code
|
||||
deleted in this commit ever ran.
|
||||
|
||||
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
|
||||
Reviewed-by: Amit Shah <amit.shah@redhat.com>
|
||||
Message-Id: <1456994238-9585-2-git-send-email-lprosek@redhat.com>
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
---
|
||||
backends/rng-egd.c | 12 ------------
|
||||
backends/rng.c | 9 ---------
|
||||
include/sysemu/rng.h | 11 -----------
|
||||
3 files changed, 32 deletions(-)
|
||||
|
||||
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
|
||||
index 2de5cd5..0b2976a 100644
|
||||
--- a/backends/rng-egd.c
|
||||
+++ b/backends/rng-egd.c
|
||||
@@ -125,17 +125,6 @@ static void rng_egd_free_requests(RngEgd *s)
|
||||
s->requests = NULL;
|
||||
}
|
||||
|
||||
-static void rng_egd_cancel_requests(RngBackend *b)
|
||||
-{
|
||||
- RngEgd *s = RNG_EGD(b);
|
||||
-
|
||||
- /* We simply delete the list of pending requests. If there is data in the
|
||||
- * queue waiting to be read, this is okay, because there will always be
|
||||
- * more data than we requested originally
|
||||
- */
|
||||
- rng_egd_free_requests(s);
|
||||
-}
|
||||
-
|
||||
static void rng_egd_opened(RngBackend *b, Error **errp)
|
||||
{
|
||||
RngEgd *s = RNG_EGD(b);
|
||||
@@ -213,7 +202,6 @@ static void rng_egd_class_init(ObjectClass *klass, void *data)
|
||||
RngBackendClass *rbc = RNG_BACKEND_CLASS(klass);
|
||||
|
||||
rbc->request_entropy = rng_egd_request_entropy;
|
||||
- rbc->cancel_requests = rng_egd_cancel_requests;
|
||||
rbc->opened = rng_egd_opened;
|
||||
}
|
||||
|
||||
diff --git a/backends/rng.c b/backends/rng.c
|
||||
index b7820ef..2f2f3ee 100644
|
||||
--- a/backends/rng.c
|
||||
+++ b/backends/rng.c
|
||||
@@ -26,15 +26,6 @@ void rng_backend_request_entropy(RngBackend *s, size_t size,
|
||||
}
|
||||
}
|
||||
|
||||
-void rng_backend_cancel_requests(RngBackend *s)
|
||||
-{
|
||||
- RngBackendClass *k = RNG_BACKEND_GET_CLASS(s);
|
||||
-
|
||||
- if (k->cancel_requests) {
|
||||
- k->cancel_requests(s);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static bool rng_backend_prop_get_opened(Object *obj, Error **errp)
|
||||
{
|
||||
RngBackend *s = RNG_BACKEND(obj);
|
||||
diff --git a/include/sysemu/rng.h b/include/sysemu/rng.h
|
||||
index 858be8c..87b3ebe 100644
|
||||
--- a/include/sysemu/rng.h
|
||||
+++ b/include/sysemu/rng.h
|
||||
@@ -37,7 +37,6 @@ struct RngBackendClass
|
||||
|
||||
void (*request_entropy)(RngBackend *s, size_t size,
|
||||
EntropyReceiveFunc *receive_entropy, void *opaque);
|
||||
- void (*cancel_requests)(RngBackend *s);
|
||||
|
||||
void (*opened)(RngBackend *s, Error **errp);
|
||||
};
|
||||
@@ -68,14 +67,4 @@ struct RngBackend
|
||||
void rng_backend_request_entropy(RngBackend *s, size_t size,
|
||||
EntropyReceiveFunc *receive_entropy,
|
||||
void *opaque);
|
||||
-
|
||||
-/**
|
||||
- * rng_backend_cancel_requests:
|
||||
- * @s: the backend to cancel all pending requests in
|
||||
- *
|
||||
- * Cancels all pending requests submitted by @rng_backend_request_entropy. This
|
||||
- * should be used by a device during reset or in preparation for live migration
|
||||
- * to stop tracking any request.
|
||||
- */
|
||||
-void rng_backend_cancel_requests(RngBackend *s);
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,135 @@
|
||||
From 74074e8a7c60592cf1cc6469dbc2550d24aeded3 Mon Sep 17 00:00:00 2001
|
||||
From: Ladi Prosek <lprosek@redhat.com>
|
||||
Date: Thu, 3 Mar 2016 09:37:16 +0100
|
||||
Subject: [PATCH] rng: move request queue from RngEgd to RngBackend
|
||||
|
||||
The 'requests' field now lives in the RngBackend parent class.
|
||||
There are no functional changes in this commit.
|
||||
|
||||
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
|
||||
Reviewed-by: Amit Shah <amit.shah@redhat.com>
|
||||
Message-Id: <1456994238-9585-3-git-send-email-lprosek@redhat.com>
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
---
|
||||
backends/rng-egd.c | 28 +++++++++-------------------
|
||||
include/sysemu/rng.h | 11 +++++++++++
|
||||
2 files changed, 20 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
|
||||
index 0b2976a..b061362 100644
|
||||
--- a/backends/rng-egd.c
|
||||
+++ b/backends/rng-egd.c
|
||||
@@ -25,19 +25,8 @@ typedef struct RngEgd
|
||||
|
||||
CharDriverState *chr;
|
||||
char *chr_name;
|
||||
-
|
||||
- GSList *requests;
|
||||
} RngEgd;
|
||||
|
||||
-typedef struct RngRequest
|
||||
-{
|
||||
- EntropyReceiveFunc *receive_entropy;
|
||||
- uint8_t *data;
|
||||
- void *opaque;
|
||||
- size_t offset;
|
||||
- size_t size;
|
||||
-} RngRequest;
|
||||
-
|
||||
static void rng_egd_request_entropy(RngBackend *b, size_t size,
|
||||
EntropyReceiveFunc *receive_entropy,
|
||||
void *opaque)
|
||||
@@ -66,7 +55,7 @@ static void rng_egd_request_entropy(RngBackend *b, size_t size,
|
||||
size -= len;
|
||||
}
|
||||
|
||||
- s->requests = g_slist_append(s->requests, req);
|
||||
+ s->parent.requests = g_slist_append(s->parent.requests, req);
|
||||
}
|
||||
|
||||
static void rng_egd_free_request(RngRequest *req)
|
||||
@@ -81,7 +70,7 @@ static int rng_egd_chr_can_read(void *opaque)
|
||||
GSList *i;
|
||||
int size = 0;
|
||||
|
||||
- for (i = s->requests; i; i = i->next) {
|
||||
+ for (i = s->parent.requests; i; i = i->next) {
|
||||
RngRequest *req = i->data;
|
||||
size += req->size - req->offset;
|
||||
}
|
||||
@@ -94,8 +83,8 @@ static void rng_egd_chr_read(void *opaque, const uint8_t *buf, int size)
|
||||
RngEgd *s = RNG_EGD(opaque);
|
||||
size_t buf_offset = 0;
|
||||
|
||||
- while (size > 0 && s->requests) {
|
||||
- RngRequest *req = s->requests->data;
|
||||
+ while (size > 0 && s->parent.requests) {
|
||||
+ RngRequest *req = s->parent.requests->data;
|
||||
int len = MIN(size, req->size - req->offset);
|
||||
|
||||
memcpy(req->data + req->offset, buf + buf_offset, len);
|
||||
@@ -104,7 +93,8 @@ static void rng_egd_chr_read(void *opaque, const uint8_t *buf, int size)
|
||||
size -= len;
|
||||
|
||||
if (req->offset == req->size) {
|
||||
- s->requests = g_slist_remove_link(s->requests, s->requests);
|
||||
+ s->parent.requests = g_slist_remove_link(s->parent.requests,
|
||||
+ s->parent.requests);
|
||||
|
||||
req->receive_entropy(req->opaque, req->data, req->size);
|
||||
|
||||
@@ -117,12 +107,12 @@ static void rng_egd_free_requests(RngEgd *s)
|
||||
{
|
||||
GSList *i;
|
||||
|
||||
- for (i = s->requests; i; i = i->next) {
|
||||
+ for (i = s->parent.requests; i; i = i->next) {
|
||||
rng_egd_free_request(i->data);
|
||||
}
|
||||
|
||||
- g_slist_free(s->requests);
|
||||
- s->requests = NULL;
|
||||
+ g_slist_free(s->parent.requests);
|
||||
+ s->parent.requests = NULL;
|
||||
}
|
||||
|
||||
static void rng_egd_opened(RngBackend *b, Error **errp)
|
||||
diff --git a/include/sysemu/rng.h b/include/sysemu/rng.h
|
||||
index 87b3ebe..c744d82 100644
|
||||
--- a/include/sysemu/rng.h
|
||||
+++ b/include/sysemu/rng.h
|
||||
@@ -24,6 +24,7 @@
|
||||
#define RNG_BACKEND_CLASS(klass) \
|
||||
OBJECT_CLASS_CHECK(RngBackendClass, (klass), TYPE_RNG_BACKEND)
|
||||
|
||||
+typedef struct RngRequest RngRequest;
|
||||
typedef struct RngBackendClass RngBackendClass;
|
||||
typedef struct RngBackend RngBackend;
|
||||
|
||||
@@ -31,6 +32,15 @@ typedef void (EntropyReceiveFunc)(void *opaque,
|
||||
const void *data,
|
||||
size_t size);
|
||||
|
||||
+struct RngRequest
|
||||
+{
|
||||
+ EntropyReceiveFunc *receive_entropy;
|
||||
+ uint8_t *data;
|
||||
+ void *opaque;
|
||||
+ size_t offset;
|
||||
+ size_t size;
|
||||
+};
|
||||
+
|
||||
struct RngBackendClass
|
||||
{
|
||||
ObjectClass parent_class;
|
||||
@@ -47,6 +57,7 @@ struct RngBackend
|
||||
|
||||
/*< protected >*/
|
||||
bool opened;
|
||||
+ GSList *requests;
|
||||
};
|
||||
|
||||
/**
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,155 @@
|
||||
From 9f14b0add1dcdbfa2ee61051d068211fb0a1fcc9 Mon Sep 17 00:00:00 2001
|
||||
From: Ladi Prosek <lprosek@redhat.com>
|
||||
Date: Thu, 3 Mar 2016 09:37:17 +0100
|
||||
Subject: [PATCH] rng: move request queue cleanup from RngEgd to RngBackend
|
||||
|
||||
RngBackend is now in charge of cleaning up the linked list on
|
||||
instance finalization. It also exposes a function to finalize
|
||||
individual RngRequest instances, called by its child classes.
|
||||
|
||||
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
|
||||
Reviewed-by: Amit Shah <amit.shah@redhat.com>
|
||||
Message-Id: <1456994238-9585-4-git-send-email-lprosek@redhat.com>
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
---
|
||||
backends/rng-egd.c | 25 +------------------------
|
||||
backends/rng.c | 32 ++++++++++++++++++++++++++++++++
|
||||
include/sysemu/rng.h | 12 ++++++++++++
|
||||
3 files changed, 45 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
|
||||
index b061362..8f2bd16 100644
|
||||
--- a/backends/rng-egd.c
|
||||
+++ b/backends/rng-egd.c
|
||||
@@ -58,12 +58,6 @@ static void rng_egd_request_entropy(RngBackend *b, size_t size,
|
||||
s->parent.requests = g_slist_append(s->parent.requests, req);
|
||||
}
|
||||
|
||||
-static void rng_egd_free_request(RngRequest *req)
|
||||
-{
|
||||
- g_free(req->data);
|
||||
- g_free(req);
|
||||
-}
|
||||
-
|
||||
static int rng_egd_chr_can_read(void *opaque)
|
||||
{
|
||||
RngEgd *s = RNG_EGD(opaque);
|
||||
@@ -93,28 +87,13 @@ static void rng_egd_chr_read(void *opaque, const uint8_t *buf, int size)
|
||||
size -= len;
|
||||
|
||||
if (req->offset == req->size) {
|
||||
- s->parent.requests = g_slist_remove_link(s->parent.requests,
|
||||
- s->parent.requests);
|
||||
-
|
||||
req->receive_entropy(req->opaque, req->data, req->size);
|
||||
|
||||
- rng_egd_free_request(req);
|
||||
+ rng_backend_finalize_request(&s->parent, req);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-static void rng_egd_free_requests(RngEgd *s)
|
||||
-{
|
||||
- GSList *i;
|
||||
-
|
||||
- for (i = s->parent.requests; i; i = i->next) {
|
||||
- rng_egd_free_request(i->data);
|
||||
- }
|
||||
-
|
||||
- g_slist_free(s->parent.requests);
|
||||
- s->parent.requests = NULL;
|
||||
-}
|
||||
-
|
||||
static void rng_egd_opened(RngBackend *b, Error **errp)
|
||||
{
|
||||
RngEgd *s = RNG_EGD(b);
|
||||
@@ -183,8 +162,6 @@ static void rng_egd_finalize(Object *obj)
|
||||
}
|
||||
|
||||
g_free(s->chr_name);
|
||||
-
|
||||
- rng_egd_free_requests(s);
|
||||
}
|
||||
|
||||
static void rng_egd_class_init(ObjectClass *klass, void *data)
|
||||
diff --git a/backends/rng.c b/backends/rng.c
|
||||
index 2f2f3ee..014cb9d 100644
|
||||
--- a/backends/rng.c
|
||||
+++ b/backends/rng.c
|
||||
@@ -64,6 +64,30 @@ static void rng_backend_prop_set_opened(Object *obj, bool value, Error **errp)
|
||||
s->opened = true;
|
||||
}
|
||||
|
||||
+static void rng_backend_free_request(RngRequest *req)
|
||||
+{
|
||||
+ g_free(req->data);
|
||||
+ g_free(req);
|
||||
+}
|
||||
+
|
||||
+static void rng_backend_free_requests(RngBackend *s)
|
||||
+{
|
||||
+ GSList *i;
|
||||
+
|
||||
+ for (i = s->requests; i; i = i->next) {
|
||||
+ rng_backend_free_request(i->data);
|
||||
+ }
|
||||
+
|
||||
+ g_slist_free(s->requests);
|
||||
+ s->requests = NULL;
|
||||
+}
|
||||
+
|
||||
+void rng_backend_finalize_request(RngBackend *s, RngRequest *req)
|
||||
+{
|
||||
+ s->requests = g_slist_remove(s->requests, req);
|
||||
+ rng_backend_free_request(req);
|
||||
+}
|
||||
+
|
||||
static void rng_backend_init(Object *obj)
|
||||
{
|
||||
object_property_add_bool(obj, "opened",
|
||||
@@ -72,6 +96,13 @@ static void rng_backend_init(Object *obj)
|
||||
NULL);
|
||||
}
|
||||
|
||||
+static void rng_backend_finalize(Object *obj)
|
||||
+{
|
||||
+ RngBackend *s = RNG_BACKEND(obj);
|
||||
+
|
||||
+ rng_backend_free_requests(s);
|
||||
+}
|
||||
+
|
||||
static void rng_backend_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
|
||||
@@ -84,6 +115,7 @@ static const TypeInfo rng_backend_info = {
|
||||
.parent = TYPE_OBJECT,
|
||||
.instance_size = sizeof(RngBackend),
|
||||
.instance_init = rng_backend_init,
|
||||
+ .instance_finalize = rng_backend_finalize,
|
||||
.class_size = sizeof(RngBackendClass),
|
||||
.class_init = rng_backend_class_init,
|
||||
.abstract = true,
|
||||
diff --git a/include/sysemu/rng.h b/include/sysemu/rng.h
|
||||
index c744d82..08a2eda 100644
|
||||
--- a/include/sysemu/rng.h
|
||||
+++ b/include/sysemu/rng.h
|
||||
@@ -78,4 +79,15 @@ struct RngBackend
|
||||
void rng_backend_request_entropy(RngBackend *s, size_t size,
|
||||
EntropyReceiveFunc *receive_entropy,
|
||||
void *opaque);
|
||||
+
|
||||
+/**
|
||||
+ * rng_backend_free_request:
|
||||
+ * @s: the backend that created the request
|
||||
+ * @req: the request to finalize
|
||||
+ *
|
||||
+ * Used by child rng backend classes to finalize requests once they've been
|
||||
+ * processed. The request is removed from the list of active requests and
|
||||
+ * deleted.
|
||||
+ */
|
||||
+void rng_backend_finalize_request(RngBackend *s, RngRequest *req);
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,179 @@
|
||||
From 60253ed1e6ec6d8e5ef2efe7bf755f475dce9956 Mon Sep 17 00:00:00 2001
|
||||
From: Ladi Prosek <lprosek@redhat.com>
|
||||
Date: Thu, 3 Mar 2016 09:37:18 +0100
|
||||
Subject: [PATCH] rng: add request queue support to rng-random
|
||||
|
||||
Requests are now created in the RngBackend parent class and the
|
||||
code path is shared by both rng-egd and rng-random.
|
||||
|
||||
This commit fixes the rng-random implementation which processed
|
||||
only one request at a time and simply discarded all but the most
|
||||
recent one. In the guest this manifested as delayed completion
|
||||
of reads from virtio-rng, i.e. a read was completed only after
|
||||
another read was issued.
|
||||
|
||||
By switching rng-random to use the same request queue as rng-egd,
|
||||
the unsafe stack-based allocation of the entropy buffer is
|
||||
eliminated and replaced with g_malloc.
|
||||
|
||||
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
|
||||
Reviewed-by: Amit Shah <amit.shah@redhat.com>
|
||||
Message-Id: <1456994238-9585-5-git-send-email-lprosek@redhat.com>
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
---
|
||||
backends/rng-egd.c | 16 ++--------------
|
||||
backends/rng-random.c | 43 +++++++++++++++++++------------------------
|
||||
backends/rng.c | 13 ++++++++++++-
|
||||
include/sysemu/rng.h | 3 +--
|
||||
4 files changed, 34 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
|
||||
index 8f2bd16..30332ed 100644
|
||||
--- a/backends/rng-egd.c
|
||||
+++ b/backends/rng-egd.c
|
||||
@@ -27,20 +27,10 @@ typedef struct RngEgd
|
||||
char *chr_name;
|
||||
} RngEgd;
|
||||
|
||||
-static void rng_egd_request_entropy(RngBackend *b, size_t size,
|
||||
- EntropyReceiveFunc *receive_entropy,
|
||||
- void *opaque)
|
||||
+static void rng_egd_request_entropy(RngBackend *b, RngRequest *req)
|
||||
{
|
||||
RngEgd *s = RNG_EGD(b);
|
||||
- RngRequest *req;
|
||||
-
|
||||
- req = g_malloc(sizeof(*req));
|
||||
-
|
||||
- req->offset = 0;
|
||||
- req->size = size;
|
||||
- req->receive_entropy = receive_entropy;
|
||||
- req->opaque = opaque;
|
||||
- req->data = g_malloc(req->size);
|
||||
+ size_t size = req->size;
|
||||
|
||||
while (size > 0) {
|
||||
uint8_t header[2];
|
||||
@@ -54,8 +44,6 @@ static void rng_egd_request_entropy(RngBackend *b, size_t size,
|
||||
|
||||
size -= len;
|
||||
}
|
||||
-
|
||||
- s->parent.requests = g_slist_append(s->parent.requests, req);
|
||||
}
|
||||
|
||||
static int rng_egd_chr_can_read(void *opaque)
|
||||
diff --git a/backends/rng-random.c b/backends/rng-random.c
|
||||
index 8cdad6a..a6cb385 100644
|
||||
--- a/backends/rng-random.c
|
||||
+++ b/backends/rng-random.c
|
||||
@@ -22,10 +22,6 @@ struct RndRandom
|
||||
|
||||
int fd;
|
||||
char *filename;
|
||||
-
|
||||
- EntropyReceiveFunc *receive_func;
|
||||
- void *opaque;
|
||||
- size_t size;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -38,36 +34,35 @@ struct RndRandom
|
||||
static void entropy_available(void *opaque)
|
||||
{
|
||||
RndRandom *s = RNG_RANDOM(opaque);
|
||||
- uint8_t buffer[s->size];
|
||||
- ssize_t len;
|
||||
|
||||
- len = read(s->fd, buffer, s->size);
|
||||
- if (len < 0 && errno == EAGAIN) {
|
||||
- return;
|
||||
- }
|
||||
- g_assert(len != -1);
|
||||
+ while (s->parent.requests != NULL) {
|
||||
+ RngRequest *req = s->parent.requests->data;
|
||||
+ ssize_t len;
|
||||
+
|
||||
+ len = read(s->fd, req->data, req->size);
|
||||
+ if (len < 0 && errno == EAGAIN) {
|
||||
+ return;
|
||||
+ }
|
||||
+ g_assert(len != -1);
|
||||
|
||||
- s->receive_func(s->opaque, buffer, len);
|
||||
- s->receive_func = NULL;
|
||||
+ req->receive_entropy(req->opaque, req->data, len);
|
||||
|
||||
+ rng_backend_finalize_request(&s->parent, req);
|
||||
+ }
|
||||
+
|
||||
+ /* We've drained all requests, the fd handler can be reset. */
|
||||
qemu_set_fd_handler(s->fd, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
-static void rng_random_request_entropy(RngBackend *b, size_t size,
|
||||
- EntropyReceiveFunc *receive_entropy,
|
||||
- void *opaque)
|
||||
+static void rng_random_request_entropy(RngBackend *b, RngRequest *req)
|
||||
{
|
||||
RndRandom *s = RNG_RANDOM(b);
|
||||
|
||||
- if (s->receive_func) {
|
||||
- s->receive_func(s->opaque, NULL, 0);
|
||||
+ if (s->parent.requests == NULL) {
|
||||
+ /* If there are no pending requests yet, we need to
|
||||
+ * install our fd handler. */
|
||||
+ qemu_set_fd_handler(s->fd, entropy_available, NULL, s);
|
||||
}
|
||||
-
|
||||
- s->receive_func = receive_entropy;
|
||||
- s->opaque = opaque;
|
||||
- s->size = size;
|
||||
-
|
||||
- qemu_set_fd_handler(s->fd, entropy_available, NULL, s);
|
||||
}
|
||||
|
||||
static void rng_random_opened(RngBackend *b, Error **errp)
|
||||
diff --git a/backends/rng.c b/backends/rng.c
|
||||
index 014cb9d..277a41b 100644
|
||||
--- a/backends/rng.c
|
||||
+++ b/backends/rng.c
|
||||
@@ -20,9 +20,20 @@ void rng_backend_request_entropy(RngBackend *s, size_t size,
|
||||
void *opaque)
|
||||
{
|
||||
RngBackendClass *k = RNG_BACKEND_GET_CLASS(s);
|
||||
+ RngRequest *req;
|
||||
|
||||
if (k->request_entropy) {
|
||||
- k->request_entropy(s, size, receive_entropy, opaque);
|
||||
+ req = g_malloc(sizeof(*req));
|
||||
+
|
||||
+ req->offset = 0;
|
||||
+ req->size = size;
|
||||
+ req->receive_entropy = receive_entropy;
|
||||
+ req->opaque = opaque;
|
||||
+ req->data = g_malloc(req->size);
|
||||
+
|
||||
+ k->request_entropy(s, req);
|
||||
+
|
||||
+ s->requests = g_slist_append(s->requests, req);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/include/sysemu/rng.h b/include/sysemu/rng.h
|
||||
index 08a2eda..4fffd68 100644
|
||||
--- a/include/sysemu/rng.h
|
||||
+++ b/include/sysemu/rng.h
|
||||
@@ -45,8 +45,7 @@ struct RngBackendClass
|
||||
{
|
||||
ObjectClass parent_class;
|
||||
|
||||
- void (*request_entropy)(RngBackend *s, size_t size,
|
||||
- EntropyReceiveFunc *receive_entropy, void *opaque);
|
||||
+ void (*request_entropy)(RngBackend *s, RngRequest *req);
|
||||
|
||||
void (*opened)(RngBackend *s, Error **errp);
|
||||
};
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,15 @@
|
||||
Linux C libs are moving away from implicit header pollution with sys/types.h
|
||||
|
||||
--- a/include/qemu/osdep.h
|
||||
+++ b/include/qemu/osdep.h
|
||||
@@ -78,6 +78,10 @@ extern int daemon(int, int);
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
+#ifdef __linux__
|
||||
+#include <sys/sysmacros.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef __OpenBSD__
|
||||
#include <sys/signal.h>
|
||||
#endif
|
@ -0,0 +1,52 @@
|
||||
From 49d925ce50383a286278143c05511d30ec41a36e Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Wed, 20 Jan 2016 01:26:46 +0530
|
||||
Subject: [PATCH] usb: check page select value while processing iTD
|
||||
|
||||
While processing isochronous transfer descriptors(iTD), the page
|
||||
select(PG) field value could lead to an OOB read access. Add
|
||||
check to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/hcd-ehci.c | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
|
||||
index ab00268..93601d9 100644
|
||||
--- a/hw/usb/hcd-ehci.c
|
||||
+++ b/hw/usb/hcd-ehci.c
|
||||
@@ -1405,21 +1405,23 @@ static int ehci_process_itd(EHCIState *ehci,
|
||||
if (itd->transact[i] & ITD_XACT_ACTIVE) {
|
||||
pg = get_field(itd->transact[i], ITD_XACT_PGSEL);
|
||||
off = itd->transact[i] & ITD_XACT_OFFSET_MASK;
|
||||
- ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
|
||||
- ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
|
||||
len = get_field(itd->transact[i], ITD_XACT_LENGTH);
|
||||
|
||||
if (len > max * mult) {
|
||||
len = max * mult;
|
||||
}
|
||||
-
|
||||
- if (len > BUFF_SIZE) {
|
||||
+ if (len > BUFF_SIZE || pg > 6) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
|
||||
qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
|
||||
if (off + len > 4096) {
|
||||
/* transfer crosses page border */
|
||||
+ if (pg == 6) {
|
||||
+ return -1; /* avoid page pg + 1 */
|
||||
+ }
|
||||
+ ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
|
||||
uint32_t len2 = off + len - 4096;
|
||||
uint32_t len1 = len - len2;
|
||||
qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,59 @@
|
||||
From fe3c546c5ff2a6210f9a4d8561cc64051ca8603e Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Wed, 17 Feb 2016 00:23:41 +0530
|
||||
Subject: [PATCH] usb: check RNDIS buffer offsets & length
|
||||
|
||||
When processing remote NDIS control message packets,
|
||||
the USB Net device emulator uses a fixed length(4096) data buffer.
|
||||
The incoming informationBufferOffset & Length combination could
|
||||
overflow and cross that range. Check control message buffer
|
||||
offsets and length to avoid it.
|
||||
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Message-id: 1455648821-17340-3-git-send-email-ppandit@redhat.com
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/dev-network.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
|
||||
index 5dc4538..c6abd38 100644
|
||||
--- a/hw/usb/dev-network.c
|
||||
+++ b/hw/usb/dev-network.c
|
||||
@@ -916,8 +916,9 @@ static int rndis_query_response(USBNetState *s,
|
||||
|
||||
bufoffs = le32_to_cpu(buf->InformationBufferOffset) + 8;
|
||||
buflen = le32_to_cpu(buf->InformationBufferLength);
|
||||
- if (bufoffs + buflen > length)
|
||||
+ if (buflen > length || bufoffs >= length || bufoffs + buflen > length) {
|
||||
return USB_RET_STALL;
|
||||
+ }
|
||||
|
||||
infobuflen = ndis_query(s, le32_to_cpu(buf->OID),
|
||||
bufoffs + (uint8_t *) buf, buflen, infobuf,
|
||||
@@ -962,8 +963,9 @@ static int rndis_set_response(USBNetState *s,
|
||||
|
||||
bufoffs = le32_to_cpu(buf->InformationBufferOffset) + 8;
|
||||
buflen = le32_to_cpu(buf->InformationBufferLength);
|
||||
- if (bufoffs + buflen > length)
|
||||
+ if (buflen > length || bufoffs >= length || bufoffs + buflen > length) {
|
||||
return USB_RET_STALL;
|
||||
+ }
|
||||
|
||||
ret = ndis_set(s, le32_to_cpu(buf->OID),
|
||||
bufoffs + (uint8_t *) buf, buflen);
|
||||
@@ -1213,8 +1215,9 @@ static void usb_net_handle_dataout(USBNetState *s, USBPacket *p)
|
||||
if (le32_to_cpu(msg->MessageType) == RNDIS_PACKET_MSG) {
|
||||
uint32_t offs = 8 + le32_to_cpu(msg->DataOffset);
|
||||
uint32_t size = le32_to_cpu(msg->DataLength);
|
||||
- if (offs + size <= len)
|
||||
+ if (offs < len && size < len && offs + size <= len) {
|
||||
qemu_send_packet(qemu_get_queue(s->nic), s->out_buf + offs, size);
|
||||
+ }
|
||||
}
|
||||
s->out_ptr -= len;
|
||||
memmove(s->out_buf, &s->out_buf[len], s->out_ptr);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,669 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
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
|
||||
${BACKPORTS:+
|
||||
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
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 +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 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore 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.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[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.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:=[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]
|
||||
)
|
||||
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.8.2
|
||||
~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."
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
use nls || rm -f po/*.po
|
||||
|
||||
epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8567.patch #567868
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8558.patch #568246
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8701.patch #570110
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8743.patch #570988
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1568.patch #571566
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8613.patch #569118
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-8619.patch #569300
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1714.patch #571560
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1922.patch #572082
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-1981.patch #572412
|
||||
epatch "${FILESDIR}"/${P}-usb-ehci-oob.patch #572454
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2197.patch #573280
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2198.patch #573314
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-2392.patch #574902
|
||||
epatch "${FILESDIR}"/${P}-usb-ndis-int-overflow.patch #575492
|
||||
epatch "${FILESDIR}"/${P}-rng-stack-corrupt-{0,1,2,3}.patch #576420
|
||||
epatch "${FILESDIR}"/${P}-sysmacros.patch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
##
|
||||
# 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 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
|
||||
)
|
||||
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/kvm_stat"
|
||||
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)"
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit kde4-base
|
||||
|
||||
DESCRIPTION="Calligra localization package"
|
||||
HOMEPAGE="https://www.kde.org/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
RDEPEND="!app-office/koffice-l10n"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
MY_LANGS="bs ca ca@valencia cs da de el en_GB es et eu fi fr gl hu it ja kk nb
|
||||
nds nl pl pt pt_BR ru sk sv uk zh_CN zh_TW"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
URI_BASE="mirror://kde/unstable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
URI_BASE="mirror://kde/stable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
*)
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
SRC_URI=""
|
||||
SLOT="4"
|
||||
|
||||
for MY_LANG in ${MY_LANGS} ; do
|
||||
IUSE="${IUSE} linguas_${MY_LANG}"
|
||||
SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( ${URI_BASE}/${PN}-${MY_LANG}-${PV}.tar.xz )"
|
||||
done
|
||||
unset MY_LANG
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
local lng dir
|
||||
if [[ -z ${A} ]]; then
|
||||
elog
|
||||
elog "You either have the LINGUAS variable unset, or it only"
|
||||
elog "contains languages not supported by ${P}."
|
||||
elog "You won't have any additional language support."
|
||||
elog
|
||||
elog "${P} supports these language codes:"
|
||||
elog "${MY_LANGS}"
|
||||
elog
|
||||
fi
|
||||
|
||||
[[ -n ${A} ]] && unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
# add all linguas to cmake
|
||||
if [[ -n ${A} ]]; then
|
||||
for lng in ${MY_LANGS}; do
|
||||
dir="${PN}-${lng}-${PV}"
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
echo "add_subdirectory( ${dir} )" >> "${S}"/CMakeLists.txt
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_MESSAGES=ON -DBUILD_DATA=ON
|
||||
$(cmake-utils_use_build doc)
|
||||
)
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_install
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit kde4-base
|
||||
|
||||
DESCRIPTION="Calligra localization package"
|
||||
HOMEPAGE="https://www.kde.org/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
RDEPEND="!app-office/koffice-l10n"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
MY_LANGS="bs ca ca@valencia cs da de el en_GB es et fi fr gl hu it ja kk nb nl
|
||||
pl pt pt_BR ru sk sv tr uk zh_CN zh_TW"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
URI_BASE="mirror://kde/unstable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
2.[456789].?|2.[456789].??)
|
||||
# stable releases
|
||||
URI_BASE="mirror://kde/stable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
*)
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
SRC_URI=""
|
||||
SLOT="4"
|
||||
|
||||
for MY_LANG in ${MY_LANGS} ; do
|
||||
IUSE="${IUSE} linguas_${MY_LANG}"
|
||||
SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( ${URI_BASE}/${PN}-${MY_LANG}-${PV}.tar.xz )"
|
||||
done
|
||||
unset MY_LANG
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
local lng dir
|
||||
if [[ -z ${A} ]]; then
|
||||
elog
|
||||
elog "You either have the LINGUAS variable unset, or it only"
|
||||
elog "contains languages not supported by ${P}."
|
||||
elog "You won't have any additional language support."
|
||||
elog
|
||||
elog "${P} supports these language codes:"
|
||||
elog "${MY_LANGS}"
|
||||
elog
|
||||
fi
|
||||
|
||||
[[ -n ${A} ]] && unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
# add all linguas to cmake
|
||||
if [[ -n ${A} ]]; then
|
||||
for lng in ${MY_LANGS}; do
|
||||
dir="${PN}-${lng}-${PV}"
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
echo "add_subdirectory( ${dir} )" >> "${S}"/CMakeLists.txt
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_MESSAGES=ON -DBUILD_DATA=ON
|
||||
$(cmake-utils_use_build doc)
|
||||
)
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_install
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit kde4-base
|
||||
|
||||
DESCRIPTION="Calligra localization package"
|
||||
HOMEPAGE="https://www.kde.org/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
RDEPEND="!app-office/koffice-l10n"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
MY_LANGS="bs ca ca@valencia cs da de el en_GB es et fi fr gl hu it ja kk nb nl
|
||||
pl pt pt_BR ru sk sv tr uk zh_CN zh_TW"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
URI_BASE="mirror://kde/unstable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
URI_BASE="mirror://kde/stable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
*)
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
SRC_URI=""
|
||||
SLOT="4"
|
||||
|
||||
for MY_LANG in ${MY_LANGS} ; do
|
||||
IUSE="${IUSE} linguas_${MY_LANG}"
|
||||
SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( ${URI_BASE}/${PN}-${MY_LANG}-${PV}.tar.xz )"
|
||||
done
|
||||
unset MY_LANG
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
local lng dir
|
||||
if [[ -z ${A} ]]; then
|
||||
elog
|
||||
elog "You either have the LINGUAS variable unset, or it only"
|
||||
elog "contains languages not supported by ${P}."
|
||||
elog "You won't have any additional language support."
|
||||
elog
|
||||
elog "${P} supports these language codes:"
|
||||
elog "${MY_LANGS}"
|
||||
elog
|
||||
fi
|
||||
|
||||
[[ -n ${A} ]] && unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
# add all linguas to cmake
|
||||
if [[ -n ${A} ]]; then
|
||||
for lng in ${MY_LANGS}; do
|
||||
dir="${PN}-${lng}-${PV}"
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
echo "add_subdirectory( ${dir} )" >> "${S}"/CMakeLists.txt
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_MESSAGES=ON -DBUILD_DATA=ON
|
||||
$(cmake-utils_use_build doc)
|
||||
)
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_install
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit kde4-base
|
||||
|
||||
DESCRIPTION="Calligra localization package"
|
||||
HOMEPAGE="https://www.kde.org/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DEPEND="sys-devel/gettext"
|
||||
RDEPEND="!app-office/koffice-l10n"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
MY_LANGS="bs ca ca@valencia cs da de el en_GB es et fi fr gl hu it ja kk nb nl
|
||||
pl pt pt_BR ru sk sv tr uk zh_CN zh_TW"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
URI_BASE="mirror://kde/unstable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
URI_BASE="mirror://kde/stable/${PN/-l10n/}-${PV}/${PN}" ;;
|
||||
*)
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
SRC_URI=""
|
||||
SLOT="4"
|
||||
|
||||
for MY_LANG in ${MY_LANGS} ; do
|
||||
IUSE="${IUSE} linguas_${MY_LANG}"
|
||||
SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( ${URI_BASE}/${PN}-${MY_LANG}-${PV}.tar.xz )"
|
||||
done
|
||||
unset MY_LANG
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
local lng dir
|
||||
if [[ -z ${A} ]]; then
|
||||
elog
|
||||
elog "You either have the LINGUAS variable unset, or it only"
|
||||
elog "contains languages not supported by ${P}."
|
||||
elog "You won't have any additional language support."
|
||||
elog
|
||||
elog "${P} supports these language codes:"
|
||||
elog "${MY_LANGS}"
|
||||
elog
|
||||
fi
|
||||
|
||||
[[ -n ${A} ]] && unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
# add all linguas to cmake
|
||||
if [[ -n ${A} ]]; then
|
||||
for lng in ${MY_LANGS}; do
|
||||
dir="${PN}-${lng}-${PV}"
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
echo "add_subdirectory( ${dir} )" >> "${S}"/CMakeLists.txt
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_MESSAGES=ON -DBUILD_DATA=ON
|
||||
$(cmake-utils_use_build doc)
|
||||
)
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
[[ -e "${S}"/CMakeLists.txt ]] && kde4-base_src_install
|
||||
}
|
@ -1,231 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# note: files that need to be checked for dependencies etc:
|
||||
# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
|
||||
# krita/CMakeLists.txt
|
||||
|
||||
EAPI=5
|
||||
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
KDE_HANDBOOK="optional"
|
||||
KDE_LINGUAS_LIVE_OVERRIDE="true"
|
||||
KDE_MINIMAL="4.13.1"
|
||||
OPENGL_REQUIRED="optional"
|
||||
inherit check-reqs kde4-base versionator
|
||||
|
||||
DESCRIPTION="KDE Office Suite"
|
||||
HOMEPAGE="http://www.calligra.org/"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
SRC_URI="mirror://kde/unstable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
SRC_URI="mirror://kde/stable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].9999)
|
||||
# stable branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
9999)
|
||||
# master branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="4"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} == release ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
IUSE="attica +crypt +eigen +exif fftw +fontconfig freetds +glib +gsf gsl
|
||||
import-filter +jpeg jpeg2k +kdcraw kde +kdepim +lcms marble mysql +okular
|
||||
openexr +pdf postgres spacenav sybase test tiff +threads +truetype vc xbase
|
||||
+xml"
|
||||
|
||||
# please do not sort here, order is same as in CMakeLists.txt
|
||||
CAL_FTS="words stage sheets author karbon krita kexi flow plan braindump"
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
IUSE+=" calligra_features_${cal_ft}"
|
||||
done
|
||||
unset cal_ft
|
||||
|
||||
REQUIRED_USE="
|
||||
calligra_features_author? ( calligra_features_words )
|
||||
calligra_features_krita? ( eigen exif lcms )
|
||||
calligra_features_plan? ( kdepim )
|
||||
calligra_features_sheets? ( eigen )
|
||||
vc? ( calligra_features_krita )
|
||||
test? ( calligra_features_karbon )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
!app-office/karbon
|
||||
!app-office/kexi
|
||||
!app-office/koffice-data
|
||||
!app-office/koffice-l10n
|
||||
!app-office/koffice-libs
|
||||
!app-office/koffice-meta
|
||||
!app-office/kplato
|
||||
!app-office/kpresenter
|
||||
!app-office/krita
|
||||
!app-office/kspread
|
||||
!app-office/kword
|
||||
$(add_kdeapps_dep knewstuff)
|
||||
dev-lang/perl
|
||||
dev-libs/boost
|
||||
dev-qt/qtcore:4[exceptions]
|
||||
media-libs/libpng:0
|
||||
sys-libs/zlib
|
||||
>=dev-qt/qtgui-4.8.1-r1:4
|
||||
virtual/libiconv
|
||||
attica? ( dev-libs/libattica )
|
||||
crypt? ( app-crypt/qca:2[qt4(+)] )
|
||||
eigen? ( dev-cpp/eigen:2 )
|
||||
exif? ( media-gfx/exiv2:= )
|
||||
fftw? ( sci-libs/fftw:3.0 )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
freetds? ( dev-db/freetds )
|
||||
glib? ( dev-libs/glib:2 )
|
||||
gsf? ( gnome-extra/libgsf )
|
||||
gsl? ( sci-libs/gsl )
|
||||
import-filter? (
|
||||
app-text/libetonyek
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:*
|
||||
app-text/libwpg:*
|
||||
app-text/libwps
|
||||
media-libs/libvisio
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( media-libs/openjpeg:0 )
|
||||
kdcraw? ( $(add_kdeapps_dep libkdcraw) )
|
||||
kde? ( $(add_kdebase_dep kactivities) )
|
||||
kdepim? ( $(add_kdeapps_dep kdepimlibs) )
|
||||
lcms? (
|
||||
media-libs/lcms:2
|
||||
x11-libs/libX11
|
||||
)
|
||||
marble? ( $(add_kdeapps_dep marble) )
|
||||
mysql? ( virtual/mysql )
|
||||
okular? ( $(add_kdeapps_dep okular) )
|
||||
opengl? (
|
||||
media-libs/glew
|
||||
virtual/glu
|
||||
)
|
||||
openexr? ( media-libs/openexr )
|
||||
pdf? (
|
||||
app-text/poppler:=
|
||||
media-gfx/pstoedit
|
||||
)
|
||||
postgres? (
|
||||
dev-db/postgresql:*
|
||||
dev-libs/libpqxx
|
||||
)
|
||||
spacenav? ( dev-libs/libspnav )
|
||||
sybase? ( dev-db/freetds )
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
truetype? ( media-libs/freetype:2 )
|
||||
vc? ( <dev-libs/vc-1.0.0 )
|
||||
xbase? ( dev-db/xbase )
|
||||
calligra_features_kexi? (
|
||||
>=dev-db/sqlite-3.7.9:3[extensions(+)]
|
||||
dev-libs/icu:=
|
||||
)
|
||||
calligra_features_krita? (
|
||||
dev-qt/qtdeclarative:4
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
)
|
||||
calligra_features_words? ( dev-libs/libxslt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
[[ ${PV} == 9999 ]] && LANGVERSION="2.4" || LANGVERSION="$(get_version_component_range 1-2)"
|
||||
PDEPEND=">=app-office/calligra-l10n-${LANGVERSION}"
|
||||
|
||||
RESTRICT=test
|
||||
# bug 394273
|
||||
|
||||
pkg_pretend() {
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
kde4-base_pkg_setup
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local cal_ft
|
||||
|
||||
# first write out things we want to hard-enable
|
||||
local mycmakeargs=(
|
||||
"-DWITH_PNG=ON"
|
||||
"-DWITH_ZLIB=ON"
|
||||
"-DGHNS=ON"
|
||||
"-DWITH_Iconv=ON" # available on all supported arches and many more
|
||||
)
|
||||
|
||||
# default disablers
|
||||
mycmakeargs+=(
|
||||
"-DBUILD_active=OFF" # we dont support active gui, maybe arm could
|
||||
"-DCREATIVEONLY=OFF"
|
||||
"-DPACKAGERS_BUILD=OFF"
|
||||
"-DWITH_Soprano=OFF"
|
||||
)
|
||||
|
||||
# regular options
|
||||
mycmakeargs+=(
|
||||
$(cmake-utils_use_with attica LibAttica)
|
||||
$(cmake-utils_use_with crypt QCA2)
|
||||
$(cmake-utils_use_with eigen Eigen2)
|
||||
$(cmake-utils_use_with exif Exiv2)
|
||||
$(cmake-utils_use_with fftw FFTW3)
|
||||
$(cmake-utils_use_with fontconfig Fontconfig)
|
||||
$(cmake-utils_use_with freetds FreeTDS)
|
||||
$(cmake-utils_use_with glib GLIB2)
|
||||
$(cmake-utils_use_with gsl GSL)
|
||||
$(cmake-utils_use_with import-filter LibEtonyek)
|
||||
$(cmake-utils_use_with import-filter LibOdfGen)
|
||||
$(cmake-utils_use_with import-filter LibVisio)
|
||||
$(cmake-utils_use_with import-filter LibWpd)
|
||||
$(cmake-utils_use_with import-filter LibWpg)
|
||||
$(cmake-utils_use_with import-filter LibWps)
|
||||
$(cmake-utils_use_with jpeg JPEG)
|
||||
$(cmake-utils_use_with jpeg2k OpenJPEG)
|
||||
$(cmake-utils_use_with kdcraw Kdcraw)
|
||||
$(cmake-utils_use_with kde KActivities)
|
||||
$(cmake-utils_use_with kdepim KdepimLibs)
|
||||
$(cmake-utils_use_with lcms LCMS2)
|
||||
$(cmake-utils_use_with marble Marble)
|
||||
$(cmake-utils_use_with mysql MySQL)
|
||||
$(cmake-utils_use_with okular Okular)
|
||||
$(cmake-utils_use_with openexr OpenEXR)
|
||||
$(cmake-utils_use_with opengl GLEW)
|
||||
$(cmake-utils_use_with opengl OpenGL)
|
||||
$(cmake-utils_use_with pdf Poppler)
|
||||
$(cmake-utils_use_with pdf Pstoedit)
|
||||
$(cmake-utils_use_with postgres PostgreSQL)
|
||||
$(cmake-utils_use_build postgres pqxx)
|
||||
$(cmake-utils_use_with spacenav Spnav)
|
||||
$(cmake-utils_use_with sybase FreeTDS)
|
||||
$(cmake-utils_use_with tiff TIFF)
|
||||
$(cmake-utils_use_with threads Threads)
|
||||
$(cmake-utils_use_with truetype Freetype)
|
||||
$(cmake-utils_use_with vc Vc)
|
||||
$(cmake-utils_use_with xbase XBase)
|
||||
)
|
||||
|
||||
# applications
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
mycmakeargs+=( $(cmake-utils_use_build calligra_features_${cal_ft} ${cal_ft}) )
|
||||
done
|
||||
mycmakeargs+=( $(cmake-utils_use_build test cstester) )
|
||||
|
||||
# filters
|
||||
|
||||
kde4-base_src_configure
|
||||
}
|
@ -1,223 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# note: files that need to be checked for dependencies etc:
|
||||
# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
|
||||
# krita/CMakeLists.txt
|
||||
|
||||
EAPI=5
|
||||
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
KDE_HANDBOOK="optional"
|
||||
KDE_LINGUAS_LIVE_OVERRIDE="true"
|
||||
OPENGL_REQUIRED="optional"
|
||||
inherit check-reqs kde4-base versionator
|
||||
|
||||
DESCRIPTION="KDE Office Suite"
|
||||
HOMEPAGE="http://www.calligra.org/"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
SRC_URI="mirror://kde/unstable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].?|2.[456789].??)
|
||||
# stable releases
|
||||
SRC_URI="mirror://kde/stable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].9999)
|
||||
# stable branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
9999)
|
||||
# master branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="4"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} == release ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
IUSE="attica color-management +crypt +eigen +exif fftw +fontconfig freetds
|
||||
+glew +glib +gsf gsl import-filter +jpeg jpeg2k +kdcraw kde +kdepim +lcms
|
||||
marble mysql +okular openexr +pdf postgres spacenav sybase test tiff +threads
|
||||
+truetype vc xbase +xml"
|
||||
|
||||
# Don't use Active, it's broken on desktops.
|
||||
CAL_FTS="author braindump flow gemini karbon kexi krita plan sheets stage words"
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
IUSE+=" calligra_features_${cal_ft}"
|
||||
done
|
||||
unset cal_ft
|
||||
|
||||
REQUIRED_USE="
|
||||
calligra_features_author? ( calligra_features_words )
|
||||
calligra_features_gemini? ( opengl )
|
||||
calligra_features_krita? ( eigen exif lcms opengl )
|
||||
calligra_features_plan? ( kdepim )
|
||||
calligra_features_sheets? ( eigen )
|
||||
vc? ( calligra_features_krita )
|
||||
test? ( calligra_features_karbon )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-lang/perl
|
||||
dev-libs/boost
|
||||
dev-qt/qtcore:4[exceptions]
|
||||
media-libs/libpng:0
|
||||
sys-libs/zlib
|
||||
virtual/libiconv
|
||||
attica? ( dev-libs/libattica )
|
||||
color-management? ( media-libs/opencolorio )
|
||||
crypt? ( app-crypt/qca:2[qt4(+)] )
|
||||
eigen? ( dev-cpp/eigen:3 )
|
||||
exif? ( media-gfx/exiv2:= )
|
||||
fftw? ( sci-libs/fftw:3.0 )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
freetds? ( dev-db/freetds )
|
||||
glib? ( dev-libs/glib:2 )
|
||||
gsf? ( gnome-extra/libgsf )
|
||||
gsl? ( sci-libs/gsl )
|
||||
import-filter? (
|
||||
app-text/libetonyek
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:*
|
||||
app-text/libwpg:*
|
||||
app-text/libwps
|
||||
dev-libs/librevenge
|
||||
media-libs/libvisio
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( media-libs/openjpeg:0 )
|
||||
kdcraw? ( $(add_kdeapps_dep libkdcraw) )
|
||||
kde? ( $(add_kdebase_dep kactivities) )
|
||||
kdepim? ( $(add_kdeapps_dep kdepimlibs) )
|
||||
lcms? (
|
||||
media-libs/lcms:2
|
||||
x11-libs/libX11
|
||||
)
|
||||
marble? ( $(add_kdeapps_dep marble) )
|
||||
mysql? ( virtual/mysql )
|
||||
okular? ( $(add_kdeapps_dep okular) )
|
||||
opengl? (
|
||||
media-libs/glew
|
||||
virtual/glu
|
||||
)
|
||||
openexr? ( media-libs/openexr )
|
||||
pdf? (
|
||||
app-text/poppler:=
|
||||
media-gfx/pstoedit
|
||||
)
|
||||
postgres? (
|
||||
dev-db/postgresql:*
|
||||
dev-libs/libpqxx
|
||||
)
|
||||
spacenav? ( dev-libs/libspnav )
|
||||
sybase? ( dev-db/freetds )
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
truetype? ( media-libs/freetype:2 )
|
||||
vc? ( <dev-libs/vc-1.0.0 )
|
||||
xbase? ( dev-db/xbase )
|
||||
calligra_features_kexi? (
|
||||
>=dev-db/sqlite-3.8.7:3[extensions(+)]
|
||||
dev-libs/icu:=
|
||||
)
|
||||
calligra_features_krita? (
|
||||
dev-qt/qtdeclarative:4
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
)
|
||||
calligra_features_words? ( dev-libs/libxslt )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-misc/shared-mime-info
|
||||
"
|
||||
|
||||
[[ ${PV} == 9999 ]] && LANGVERSION="2.9" || LANGVERSION="$(get_version_component_range 1-2)"
|
||||
PDEPEND=">=app-office/calligra-l10n-${LANGVERSION}"
|
||||
|
||||
# bug 394273
|
||||
RESTRICT=test
|
||||
|
||||
pkg_pretend() {
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
kde4-base_pkg_setup
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local cal_ft myproducts
|
||||
|
||||
# applications
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
# Switch to ^^ when we switch to EAPI=6.
|
||||
#local prod=${cal_ft^^}
|
||||
local prod=$(tr '[:lower:]' '[:upper:]' <<<"${cal_ft}")
|
||||
use calligra_features_${cal_ft} && myproducts+=( "${prod}" )
|
||||
done
|
||||
|
||||
local mycmakeargs=( -DPRODUCTSET="${myproducts[*]}" )
|
||||
|
||||
# first write out things we want to hard-enable
|
||||
mycmakeargs+=(
|
||||
"-DWITH_Iconv=ON" # available on all supported arches and many more
|
||||
)
|
||||
|
||||
# default disablers
|
||||
mycmakeargs+=(
|
||||
"-DCREATIVEONLY=OFF"
|
||||
"-DPACKAGERS_BUILD=OFF"
|
||||
"-DWITH_Soprano=OFF"
|
||||
)
|
||||
|
||||
# regular options
|
||||
mycmakeargs+=(
|
||||
$(cmake-utils_use_with attica LibAttica)
|
||||
$(cmake-utils_use_with color-management OCIO)
|
||||
$(cmake-utils_use_with crypt QCA2)
|
||||
$(cmake-utils_use_with eigen Eigen3)
|
||||
$(cmake-utils_use_with exif Exiv2)
|
||||
$(cmake-utils_use_with fftw FFTW3)
|
||||
$(cmake-utils_use_with fontconfig Fontconfig)
|
||||
$(cmake-utils_use_with freetds FreeTDS)
|
||||
$(cmake-utils_use_with glib GLIB2)
|
||||
$(cmake-utils_use_with gsl GSL)
|
||||
$(cmake-utils_use_with import-filter LibEtonyek)
|
||||
$(cmake-utils_use_with import-filter LibOdfGen)
|
||||
$(cmake-utils_use_with import-filter LibRevenge)
|
||||
$(cmake-utils_use_with import-filter LibVisio)
|
||||
$(cmake-utils_use_with import-filter LibWpd)
|
||||
$(cmake-utils_use_with import-filter LibWpg)
|
||||
$(cmake-utils_use_with import-filter LibWps)
|
||||
$(cmake-utils_use_with jpeg JPEG)
|
||||
$(cmake-utils_use_with jpeg2k OpenJPEG)
|
||||
$(cmake-utils_use_with kdcraw Kdcraw)
|
||||
$(cmake-utils_use_with kde KActivities)
|
||||
$(cmake-utils_use_with kdepim KdepimLibs)
|
||||
$(cmake-utils_use_with lcms LCMS2)
|
||||
$(cmake-utils_use_with marble CalligraMarble)
|
||||
$(cmake-utils_use_with mysql MySQL)
|
||||
$(cmake-utils_use_with okular Okular)
|
||||
$(cmake-utils_use_with openexr OpenEXR)
|
||||
$(cmake-utils_use opengl USEOPENGL)
|
||||
$(cmake-utils_use_with pdf Poppler)
|
||||
$(cmake-utils_use_with pdf Pstoedit)
|
||||
$(cmake-utils_use_with postgres CalligraPostgreSQL)
|
||||
$(cmake-utils_use_build postgres pqxx)
|
||||
$(cmake-utils_use_with spacenav Spnav)
|
||||
$(cmake-utils_use_with sybase FreeTDS)
|
||||
$(cmake-utils_use_with tiff TIFF)
|
||||
$(cmake-utils_use_with threads Threads)
|
||||
$(cmake-utils_use_with truetype Freetype)
|
||||
$(cmake-utils_use_with vc Vc)
|
||||
$(cmake-utils_use_with xbase XBase)
|
||||
)
|
||||
|
||||
mycmakeargs+=( $(cmake-utils_use_build test cstester) )
|
||||
|
||||
kde4-base_src_configure
|
||||
}
|
@ -1,230 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# note: files that need to be checked for dependencies etc:
|
||||
# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
|
||||
# krita/CMakeLists.txt
|
||||
|
||||
EAPI=5
|
||||
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
KDE_HANDBOOK="optional"
|
||||
KDE_LINGUAS_LIVE_OVERRIDE="true"
|
||||
OPENGL_REQUIRED="optional"
|
||||
inherit check-reqs kde4-base versionator
|
||||
|
||||
DESCRIPTION="KDE Office Suite"
|
||||
HOMEPAGE="http://www.calligra.org/"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
SRC_URI="mirror://kde/unstable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
SRC_URI="mirror://kde/stable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].9999)
|
||||
# stable branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
9999)
|
||||
# master branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="4"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} == release ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
IUSE="attica color-management +crypt +eigen +exif fftw +fontconfig freetds
|
||||
+glew +glib +gsf gsl import-filter +jpeg jpeg2k +kdcraw kde +kdepim +lcms
|
||||
marble mysql +okular openexr +pdf postgres spacenav sybase test tiff +threads
|
||||
+truetype vc xbase +xml"
|
||||
|
||||
# Don't use Active, it's broken on desktops.
|
||||
CAL_FTS="author braindump flow gemini karbon kexi krita plan sheets stage words"
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
IUSE+=" calligra_features_${cal_ft}"
|
||||
done
|
||||
unset cal_ft
|
||||
|
||||
REQUIRED_USE="
|
||||
calligra_features_author? ( calligra_features_words )
|
||||
calligra_features_gemini? ( opengl )
|
||||
calligra_features_krita? ( eigen exif lcms opengl )
|
||||
calligra_features_plan? ( kdepim )
|
||||
calligra_features_sheets? ( eigen )
|
||||
vc? ( calligra_features_krita )
|
||||
test? ( calligra_features_karbon )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
$(add_kdeapps_dep knewstuff)
|
||||
dev-lang/perl
|
||||
dev-libs/boost
|
||||
dev-qt/qtcore:4[exceptions]
|
||||
media-libs/libpng:0
|
||||
sys-libs/zlib
|
||||
virtual/libiconv
|
||||
attica? ( dev-libs/libattica )
|
||||
color-management? ( media-libs/opencolorio )
|
||||
crypt? ( app-crypt/qca:2[qt4(+)] )
|
||||
eigen? ( dev-cpp/eigen:3 )
|
||||
exif? ( media-gfx/exiv2:= )
|
||||
fftw? ( sci-libs/fftw:3.0 )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
freetds? ( dev-db/freetds )
|
||||
glib? ( dev-libs/glib:2 )
|
||||
gsf? ( gnome-extra/libgsf )
|
||||
gsl? ( sci-libs/gsl )
|
||||
import-filter? (
|
||||
app-text/libetonyek
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:*
|
||||
app-text/libwpg:*
|
||||
app-text/libwps
|
||||
dev-libs/librevenge
|
||||
media-libs/libvisio
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( media-libs/openjpeg:0 )
|
||||
kdcraw? ( $(add_kdeapps_dep libkdcraw) )
|
||||
kde? ( $(add_kdebase_dep kactivities) )
|
||||
kdepim? ( $(add_kdeapps_dep kdepimlibs) )
|
||||
lcms? (
|
||||
media-libs/lcms:2
|
||||
x11-libs/libX11
|
||||
)
|
||||
marble? ( $(add_kdeapps_dep marble) )
|
||||
mysql? ( virtual/mysql )
|
||||
okular? ( $(add_kdeapps_dep okular) )
|
||||
opengl? (
|
||||
media-libs/glew
|
||||
virtual/glu
|
||||
)
|
||||
openexr? ( media-libs/openexr )
|
||||
pdf? (
|
||||
app-text/poppler:=
|
||||
media-gfx/pstoedit
|
||||
)
|
||||
postgres? (
|
||||
dev-db/postgresql:*
|
||||
dev-libs/libpqxx
|
||||
)
|
||||
spacenav? ( dev-libs/libspnav )
|
||||
sybase? ( dev-db/freetds )
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
truetype? ( media-libs/freetype:2 )
|
||||
vc? ( <dev-libs/vc-1.0.0 )
|
||||
xbase? ( dev-db/xbase )
|
||||
calligra_features_kexi? (
|
||||
>=dev-db/sqlite-3.8.7:3[extensions(+)]
|
||||
dev-libs/icu:=
|
||||
)
|
||||
calligra_features_krita? (
|
||||
dev-qt/qtdeclarative:4
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
)
|
||||
calligra_features_words? ( dev-libs/libxslt )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-misc/shared-mime-info
|
||||
"
|
||||
|
||||
[[ ${PV} == 9999 ]] && LANGVERSION="2.9" || LANGVERSION="$(get_version_component_range 1-2)"
|
||||
PDEPEND=">=app-office/calligra-l10n-${LANGVERSION}"
|
||||
|
||||
# bug 394273
|
||||
RESTRICT=test
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-version.patch"
|
||||
"${FILESDIR}/${P}-ghns-linking.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
kde4-base_pkg_setup
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local cal_ft myproducts
|
||||
|
||||
# applications
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
# Switch to ^^ when we switch to EAPI=6.
|
||||
#local prod=${cal_ft^^}
|
||||
local prod=$(tr '[:lower:]' '[:upper:]' <<<"${cal_ft}")
|
||||
use calligra_features_${cal_ft} && myproducts+=( "${prod}" )
|
||||
done
|
||||
|
||||
local mycmakeargs=( -DPRODUCTSET="${myproducts[*]}" )
|
||||
|
||||
# first write out things we want to hard-enable
|
||||
mycmakeargs+=(
|
||||
"-DGHNS=ON"
|
||||
"-DWITH_Iconv=ON" # available on all supported arches and many more
|
||||
)
|
||||
|
||||
# default disablers
|
||||
mycmakeargs+=(
|
||||
"-DCREATIVEONLY=OFF"
|
||||
"-DPACKAGERS_BUILD=OFF"
|
||||
"-DWITH_Soprano=OFF"
|
||||
)
|
||||
|
||||
# regular options
|
||||
mycmakeargs+=(
|
||||
$(cmake-utils_use_with attica LibAttica)
|
||||
$(cmake-utils_use_with color-management OCIO)
|
||||
$(cmake-utils_use_with crypt QCA2)
|
||||
$(cmake-utils_use_with eigen Eigen3)
|
||||
$(cmake-utils_use_with exif Exiv2)
|
||||
$(cmake-utils_use_with fftw FFTW3)
|
||||
$(cmake-utils_use_with fontconfig Fontconfig)
|
||||
$(cmake-utils_use_with freetds FreeTDS)
|
||||
$(cmake-utils_use_with glib GLIB2)
|
||||
$(cmake-utils_use_with gsl GSL)
|
||||
$(cmake-utils_use_with import-filter LibEtonyek)
|
||||
$(cmake-utils_use_with import-filter LibOdfGen)
|
||||
$(cmake-utils_use_with import-filter LibRevenge)
|
||||
$(cmake-utils_use_with import-filter LibVisio)
|
||||
$(cmake-utils_use_with import-filter LibWpd)
|
||||
$(cmake-utils_use_with import-filter LibWpg)
|
||||
$(cmake-utils_use_with import-filter LibWps)
|
||||
$(cmake-utils_use_with jpeg JPEG)
|
||||
$(cmake-utils_use_with jpeg2k OpenJPEG)
|
||||
$(cmake-utils_use_with kdcraw Kdcraw)
|
||||
$(cmake-utils_use_with kde KActivities)
|
||||
$(cmake-utils_use_with kdepim KdepimLibs)
|
||||
$(cmake-utils_use_with lcms LCMS2)
|
||||
$(cmake-utils_use_with marble CalligraMarble)
|
||||
$(cmake-utils_use_with mysql MySQL)
|
||||
$(cmake-utils_use_with okular Okular)
|
||||
$(cmake-utils_use_with openexr OpenEXR)
|
||||
$(cmake-utils_use opengl USEOPENGL)
|
||||
$(cmake-utils_use_with pdf Poppler)
|
||||
$(cmake-utils_use_with pdf Pstoedit)
|
||||
$(cmake-utils_use_with postgres CalligraPostgreSQL)
|
||||
$(cmake-utils_use_build postgres pqxx)
|
||||
$(cmake-utils_use_with spacenav Spnav)
|
||||
$(cmake-utils_use_with sybase FreeTDS)
|
||||
$(cmake-utils_use_with tiff TIFF)
|
||||
$(cmake-utils_use_with threads Threads)
|
||||
$(cmake-utils_use_with truetype Freetype)
|
||||
$(cmake-utils_use_with vc Vc)
|
||||
$(cmake-utils_use_with xbase XBase)
|
||||
)
|
||||
|
||||
mycmakeargs+=( $(cmake-utils_use_build test cstester) )
|
||||
|
||||
kde4-base_src_configure
|
||||
}
|
@ -1,227 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# note: files that need to be checked for dependencies etc:
|
||||
# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
|
||||
# krita/CMakeLists.txt
|
||||
|
||||
EAPI=5
|
||||
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
KDE_HANDBOOK="optional"
|
||||
KDE_LINGUAS_LIVE_OVERRIDE="true"
|
||||
OPENGL_REQUIRED="optional"
|
||||
inherit check-reqs kde4-base versionator
|
||||
|
||||
DESCRIPTION="KDE Office Suite"
|
||||
HOMEPAGE="http://www.calligra.org/"
|
||||
|
||||
case ${PV} in
|
||||
2.[456789].[789]?)
|
||||
# beta or rc releases
|
||||
SRC_URI="mirror://kde/unstable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].?)
|
||||
# stable releases
|
||||
SRC_URI="mirror://kde/stable/${P}/${P}.tar.xz" ;;
|
||||
2.[456789].9999)
|
||||
# stable branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
9999)
|
||||
# master branch live ebuild
|
||||
SRC_URI="" ;;
|
||||
esac
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="4"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} == release ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
IUSE="attica color-management +crypt +eigen +exif fftw +fontconfig freetds
|
||||
+glew +glib +gsf gsl import-filter +jpeg jpeg2k +kdcraw kde +kdepim +lcms
|
||||
marble mysql +okular openexr +pdf postgres spacenav sybase test tiff +threads
|
||||
+truetype vc xbase +xml"
|
||||
|
||||
# Don't use Active, it's broken on desktops.
|
||||
CAL_FTS="author braindump flow gemini karbon kexi krita plan sheets stage words"
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
IUSE+=" calligra_features_${cal_ft}"
|
||||
done
|
||||
unset cal_ft
|
||||
|
||||
REQUIRED_USE="
|
||||
calligra_features_author? ( calligra_features_words )
|
||||
calligra_features_gemini? ( opengl )
|
||||
calligra_features_krita? ( eigen exif lcms opengl )
|
||||
calligra_features_plan? ( kdepim )
|
||||
calligra_features_sheets? ( eigen )
|
||||
vc? ( calligra_features_krita )
|
||||
test? ( calligra_features_karbon )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
$(add_kdeapps_dep knewstuff)
|
||||
dev-lang/perl
|
||||
dev-libs/boost
|
||||
dev-qt/qtcore:4[exceptions]
|
||||
media-libs/libpng:0
|
||||
sys-libs/zlib
|
||||
virtual/libiconv
|
||||
attica? ( dev-libs/libattica )
|
||||
color-management? ( media-libs/opencolorio )
|
||||
crypt? ( app-crypt/qca:2[qt4(+)] )
|
||||
eigen? ( dev-cpp/eigen:3 )
|
||||
exif? ( media-gfx/exiv2:= )
|
||||
fftw? ( sci-libs/fftw:3.0 )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
freetds? ( dev-db/freetds )
|
||||
glib? ( dev-libs/glib:2 )
|
||||
gsf? ( gnome-extra/libgsf )
|
||||
gsl? ( sci-libs/gsl )
|
||||
import-filter? (
|
||||
app-text/libetonyek
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:*
|
||||
app-text/libwpg:*
|
||||
app-text/libwps
|
||||
dev-libs/librevenge
|
||||
media-libs/libvisio
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( media-libs/openjpeg:0 )
|
||||
kdcraw? ( $(add_kdeapps_dep libkdcraw) )
|
||||
kde? ( $(add_kdebase_dep kactivities) )
|
||||
kdepim? ( $(add_kdeapps_dep kdepimlibs) )
|
||||
lcms? (
|
||||
media-libs/lcms:2
|
||||
x11-libs/libX11
|
||||
)
|
||||
marble? ( $(add_kdeapps_dep marble) )
|
||||
mysql? ( virtual/mysql )
|
||||
okular? ( $(add_kdeapps_dep okular) )
|
||||
opengl? (
|
||||
media-libs/glew
|
||||
virtual/glu
|
||||
)
|
||||
openexr? ( media-libs/openexr )
|
||||
pdf? (
|
||||
app-text/poppler:=
|
||||
media-gfx/pstoedit
|
||||
)
|
||||
postgres? (
|
||||
dev-db/postgresql:*
|
||||
dev-libs/libpqxx
|
||||
)
|
||||
spacenav? ( dev-libs/libspnav )
|
||||
sybase? ( dev-db/freetds )
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
truetype? ( media-libs/freetype:2 )
|
||||
vc? ( <dev-libs/vc-1.0.0 )
|
||||
xbase? ( dev-db/xbase )
|
||||
calligra_features_kexi? (
|
||||
>=dev-db/sqlite-3.8.7:3[extensions(+)]
|
||||
dev-libs/icu:=
|
||||
)
|
||||
calligra_features_krita? (
|
||||
dev-qt/qtdeclarative:4
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
)
|
||||
calligra_features_words? ( dev-libs/libxslt )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-misc/shared-mime-info
|
||||
"
|
||||
|
||||
[[ ${PV} == 9999 ]] && LANGVERSION="2.9" || LANGVERSION="$(get_version_component_range 1-2)"
|
||||
PDEPEND=">=app-office/calligra-l10n-${LANGVERSION}"
|
||||
|
||||
# bug 394273
|
||||
RESTRICT=test
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-2.9.6-ghns-linking.patch" )
|
||||
|
||||
pkg_pretend() {
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
kde4-base_pkg_setup
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local cal_ft myproducts
|
||||
|
||||
# applications
|
||||
for cal_ft in ${CAL_FTS}; do
|
||||
# Switch to ^^ when we switch to EAPI=6.
|
||||
#local prod=${cal_ft^^}
|
||||
local prod=$(tr '[:lower:]' '[:upper:]' <<<"${cal_ft}")
|
||||
use calligra_features_${cal_ft} && myproducts+=( "${prod}" )
|
||||
done
|
||||
|
||||
local mycmakeargs=( -DPRODUCTSET="${myproducts[*]}" )
|
||||
|
||||
# first write out things we want to hard-enable
|
||||
mycmakeargs+=(
|
||||
"-DGHNS=ON"
|
||||
"-DWITH_Iconv=ON" # available on all supported arches and many more
|
||||
)
|
||||
|
||||
# default disablers
|
||||
mycmakeargs+=(
|
||||
"-DCREATIVEONLY=OFF"
|
||||
"-DPACKAGERS_BUILD=OFF"
|
||||
"-DWITH_Soprano=OFF"
|
||||
)
|
||||
|
||||
# regular options
|
||||
mycmakeargs+=(
|
||||
$(cmake-utils_use_with attica LibAttica)
|
||||
$(cmake-utils_use_with color-management OCIO)
|
||||
$(cmake-utils_use_with crypt QCA2)
|
||||
$(cmake-utils_use_with eigen Eigen3)
|
||||
$(cmake-utils_use_with exif Exiv2)
|
||||
$(cmake-utils_use_with fftw FFTW3)
|
||||
$(cmake-utils_use_with fontconfig Fontconfig)
|
||||
$(cmake-utils_use_with freetds FreeTDS)
|
||||
$(cmake-utils_use_with glib GLIB2)
|
||||
$(cmake-utils_use_with gsl GSL)
|
||||
$(cmake-utils_use_with import-filter LibEtonyek)
|
||||
$(cmake-utils_use_with import-filter LibOdfGen)
|
||||
$(cmake-utils_use_with import-filter LibRevenge)
|
||||
$(cmake-utils_use_with import-filter LibVisio)
|
||||
$(cmake-utils_use_with import-filter LibWpd)
|
||||
$(cmake-utils_use_with import-filter LibWpg)
|
||||
$(cmake-utils_use_with import-filter LibWps)
|
||||
$(cmake-utils_use_with jpeg JPEG)
|
||||
$(cmake-utils_use_with jpeg2k OpenJPEG)
|
||||
$(cmake-utils_use_with kdcraw Kdcraw)
|
||||
$(cmake-utils_use_with kde KActivities)
|
||||
$(cmake-utils_use_with kdepim KdepimLibs)
|
||||
$(cmake-utils_use_with lcms LCMS2)
|
||||
$(cmake-utils_use_with marble CalligraMarble)
|
||||
$(cmake-utils_use_with mysql MySQL)
|
||||
$(cmake-utils_use_with okular Okular)
|
||||
$(cmake-utils_use_with openexr OpenEXR)
|
||||
$(cmake-utils_use opengl USEOPENGL)
|
||||
$(cmake-utils_use_with pdf Poppler)
|
||||
$(cmake-utils_use_with pdf Pstoedit)
|
||||
$(cmake-utils_use_with postgres CalligraPostgreSQL)
|
||||
$(cmake-utils_use_build postgres pqxx)
|
||||
$(cmake-utils_use_with spacenav Spnav)
|
||||
$(cmake-utils_use_with sybase FreeTDS)
|
||||
$(cmake-utils_use_with tiff TIFF)
|
||||
$(cmake-utils_use_with threads Threads)
|
||||
$(cmake-utils_use_with truetype Freetype)
|
||||
$(cmake-utils_use_with vc Vc)
|
||||
$(cmake-utils_use_with xbase XBase)
|
||||
)
|
||||
|
||||
mycmakeargs+=( $(cmake-utils_use_build test cstester) )
|
||||
|
||||
kde4-base_src_configure
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- calligra-2.9.6/libs/widgets/CMakeLists.txt.orig 2015-08-09 21:35:06.673116594 +0200
|
||||
+++ calligra-2.9.6/libs/widgets/CMakeLists.txt 2015-08-09 21:47:31.458881310 +0200
|
||||
@@ -102,7 +102,7 @@
|
||||
target_link_libraries(kowidgets kotext pigmentcms kowidgetutils ${KDE4_KIO_LIBS})
|
||||
|
||||
if(GHNS)
|
||||
- target_link_libraries(kowidgets {KDE4_KNEWSTUFF3_LIBS})
|
||||
+ target_link_libraries(kowidgets ${KDE4_KNEWSTUFF3_LIBS})
|
||||
endif ()
|
||||
|
||||
target_link_libraries(kowidgets LINK_INTERFACE_LIBRARIES kotext pigmentcms kowidgetutils ${KDE4_KDEUI_LIBS})
|
@ -1,24 +0,0 @@
|
||||
From: Boudewijn Rempt <boud@valdyas.org>
|
||||
Date: Thu, 09 Jul 2015 06:14:05 +0000
|
||||
Subject: Update to 2.9.6
|
||||
X-Git-Url: http://quickgit.kde.org/?p=calligra.git&a=commitdiff&h=8d47cbdc81bbc3853837c6fc342d5b2dc77c3c0a
|
||||
---
|
||||
Update to 2.9.6
|
||||
---
|
||||
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -27,10 +27,10 @@
|
||||
|
||||
# define common versions of Calligra applications, used to generate calligraversion.h
|
||||
# update these version for every release:
|
||||
-set(CALLIGRA_VERSION_STRING "2.9.5")
|
||||
+set(CALLIGRA_VERSION_STRING "2.9.6")
|
||||
set(CALLIGRA_VERSION_MAJOR 2)
|
||||
set(CALLIGRA_STABLE_VERSION_MINOR 9)
|
||||
-set(CALLIGRA_VERSION_RELEASE 5) # 89 for Alpha, increase for next test releases, set 0 for first Stable, etc.
|
||||
+set(CALLIGRA_VERSION_RELEASE 6) # 89 for Alpha, increase for next test releases, set 0 for first Stable, etc.
|
||||
#set(CALLIGRA_ALPHA 1) # uncomment only for Pre-Alpha and Alpha
|
||||
#set(CALLIGRA_BETA 1) # uncomment only for Beta
|
||||
#set(CALLIGRA_RC 1) # uncomment only for RC
|
@ -1 +1,2 @@
|
||||
DIST pastebinit-1.4.1.tar.bz2 39202 SHA256 c23720ff19d239f7ae62dd7dc28f453aaea4823af29b1595ba2e58fe232988e6 SHA512 40cfdc22a9d168b239c799ecefca8b9a4f873edeb868803d8de4e57b291f695b9aa3f0b04d87b29ca1777917a53f0c210f20fa8661673630e9a29331e10dc065 WHIRLPOOL 49425b36db3477cd141eee676aa256c8d65567c189dd2cf90bfc53a29824f9611f5d9e54d1d470fdd747bacf141198fe49df7c25c83c96c98da85e3026af3056
|
||||
DIST pastebinit-1.5.tar.bz2 42941 SHA256 42e5a84ce7e46825fb3b6478e11893fad357197327257e474bd0d3549f438457 SHA512 cc4b7c46ab7932be3a1064ce7a1d91da3ebf4b132ad44b0090c8d431bfc68e945357344e59ac1239e37b3178de124930c5c8dc552b42f16c39c0452ac9ab8099 WHIRLPOOL 0d20dd1ab5cb10436fc23fae27f090195400cfcfca1b24b860e27f1e5d38d7341c08ae1c8d7cc747e4127e3c8ae634355f796a6308a5a61671210c9581b22481
|
||||
|
@ -0,0 +1,58 @@
|
||||
# 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_3,3_4} )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit python-single-r1
|
||||
|
||||
DESCRIPTION="A software that lets you send anything you want directly to a pastebin"
|
||||
HOMEPAGE="https://launchpad.net/pastebinit"
|
||||
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="crypt"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
dev-python/configobj[${PYTHON_USEDEP}]
|
||||
crypt? ( app-crypt/gnupg )"
|
||||
DEPEND="app-text/docbook-xsl-stylesheets"
|
||||
|
||||
src_prepare() {
|
||||
local mo=""
|
||||
|
||||
for lang in ${LINGUAS}; do
|
||||
if [ -f po/${lang}.po ]; then
|
||||
mo="${mo} ${lang}.mo"
|
||||
fi
|
||||
done
|
||||
|
||||
sed -i -e "/^build-mo/s/:.*/:${mo}/" po/Makefile || die
|
||||
sed -i -e "/#!/s/python3/python/" pastebinit || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C po
|
||||
xsltproc --nonet \
|
||||
"${EROOT}"usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl \
|
||||
pastebinit.xml || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin pastebinit utils/pbput
|
||||
python_fix_shebang "${ED}usr/bin/${PN}"
|
||||
dosym pbput /usr/bin/pbget
|
||||
use crypt && dosym pbput /usr/bin/pbputs
|
||||
dodoc README
|
||||
doman pastebinit.1 utils/*.1
|
||||
insinto /usr/share/locale
|
||||
[[ -d po/mo ]] && doins -r po/mo/*
|
||||
insinto /usr/share
|
||||
doins -r pastebin.d
|
||||
}
|
@ -0,0 +1,199 @@
|
||||
From e8fcbaca23878f0edd2015440eec55aaba0e8f9f Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gideon Dann <pdgiddie@gmail.com>
|
||||
Date: Wed, 20 May 2009 11:42:28 +0100
|
||||
Subject: [PATCH 1/4] Cairo backend added to Qt4 wrapper
|
||||
|
||||
---
|
||||
qt4/src/CMakeLists.txt | 15 ++++++++++
|
||||
qt4/src/poppler-document.cc | 3 ++
|
||||
qt4/src/poppler-page.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
qt4/src/poppler-qt4.h | 3 +-
|
||||
qt4/tests/CMakeLists.txt | 5 ++++
|
||||
5 files changed, 95 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qt4/src/CMakeLists.txt b/qt4/src/CMakeLists.txt
|
||||
index 189eca2..5338b55 100644
|
||||
--- a/qt4/src/CMakeLists.txt
|
||||
+++ b/qt4/src/CMakeLists.txt
|
||||
@@ -6,6 +6,11 @@ include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
+if (HAVE_CAIRO)
|
||||
+ include_directories(${CAIRO_INCLUDE_DIRS})
|
||||
+ add_definitions(${CAIRO_CFLAGS})
|
||||
+endif (HAVE_CAIRO)
|
||||
+
|
||||
set(poppler_qt4_SRCS
|
||||
poppler-annotation.cc
|
||||
poppler-document.cc
|
||||
@@ -28,10 +33,20 @@ set(poppler_qt4_SRCS
|
||||
poppler-media.cc
|
||||
ArthurOutputDev.cc
|
||||
)
|
||||
+if (HAVE_CAIRO)
|
||||
+ set(poppler_qt4_SRCS ${poppler_qt4_SRCS}
|
||||
+ ${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
|
||||
+ ${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
|
||||
+ ${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc
|
||||
+ )
|
||||
+endif(HAVE_CAIRO)
|
||||
qt4_automoc(${poppler_qt4_SRCS})
|
||||
add_library(poppler-qt4 SHARED ${poppler_qt4_SRCS})
|
||||
set_target_properties(poppler-qt4 PROPERTIES VERSION 4.9.0 SOVERSION 4)
|
||||
target_link_libraries(poppler-qt4 poppler ${QT4_QTCORE_LIBRARY} ${QT4_QTGUI_LIBRARY} ${QT4_QTXML_LIBRARY})
|
||||
+if (HAVE_CAIRO)
|
||||
+ target_link_libraries(poppler-qt4 ${CAIRO_LIBRARIES})
|
||||
+endif (HAVE_CAIRO)
|
||||
if(MSVC)
|
||||
target_link_libraries(poppler-qt4 poppler ${poppler_LIBS})
|
||||
endif(MSVC)
|
||||
diff --git a/qt4/src/poppler-document.cc b/qt4/src/poppler-document.cc
|
||||
index 94f997d..6decaaf 100644
|
||||
--- a/qt4/src/poppler-document.cc
|
||||
+++ b/qt4/src/poppler-document.cc
|
||||
@@ -547,6 +547,9 @@ namespace Poppler {
|
||||
ret << Document::SplashBackend;
|
||||
#endif
|
||||
ret << Document::ArthurBackend;
|
||||
+#if defined(HAVE_CAIRO)
|
||||
+ ret << Document::CairoBackend;
|
||||
+#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc
|
||||
index 83bcf4a..df1d344 100644
|
||||
--- a/qt4/src/poppler-page.cc
|
||||
+++ b/qt4/src/poppler-page.cc
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
#include <config.h>
|
||||
+#include <math.h>
|
||||
#include <PDFDoc.h>
|
||||
#include <Catalog.h>
|
||||
#include <Form.h>
|
||||
@@ -53,6 +54,9 @@
|
||||
#include <SplashOutputDev.h>
|
||||
#include <splash/SplashBitmap.h>
|
||||
#endif
|
||||
+#if defined(HAVE_CAIRO)
|
||||
+#include <CairoOutputDev.h>
|
||||
+#endif
|
||||
|
||||
#include "poppler-private.h"
|
||||
#include "poppler-page-transition-private.h"
|
||||
@@ -405,6 +409,70 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
|
||||
img = tmpimg;
|
||||
break;
|
||||
}
|
||||
+ case Poppler::Document::CairoBackend:
|
||||
+ {
|
||||
+#if defined(HAVE_CAIRO)
|
||||
+ CairoOutputDev *output_dev = new CairoOutputDev();
|
||||
+ output_dev->startDoc(m_page->parentDoc->doc);
|
||||
+ int buffer_width, buffer_height, rotate;
|
||||
+ cairo_surface_t *surface;
|
||||
+ cairo_t *cairo;
|
||||
+
|
||||
+ // If w or h are -1, that indicates the whole page, so we need to
|
||||
+ // calculate how many pixels that corresponds to. Otherwise, we can use w
|
||||
+ // or h directly for our buffer size.
|
||||
+ const QSize pageSize = this->pageSize();
|
||||
+ if (w == -1) {
|
||||
+ const double xscale = xres / 72.0;
|
||||
+ const double width = pageSize.width();;
|
||||
+ buffer_width = (int) ceil(width * xscale);
|
||||
+ } else {
|
||||
+ buffer_width = w;
|
||||
+ }
|
||||
+ if (h == -1) {
|
||||
+ const double yscale = yres / 72.0;
|
||||
+ const double height = pageSize.height();
|
||||
+ buffer_height = (int) ceil(height * yscale);
|
||||
+ } else {
|
||||
+ buffer_height = h;
|
||||
+ }
|
||||
+
|
||||
+ rotate = rotation + m_page->page->getRotate();
|
||||
+
|
||||
+ // FIXME: Okular never provides a rotation value, so I don't have any way
|
||||
+ // of testing this right now. The result is that subpixels are ordered
|
||||
+ // incorrectly when the page is rotated.
|
||||
+
|
||||
+ //if (rotate == 90 || rotate == 270) {
|
||||
+ // const double temp = height;
|
||||
+ // height = width;
|
||||
+ // width = temp;
|
||||
+ //}
|
||||
+
|
||||
+ img = QImage(buffer_width, buffer_height, QImage::Format_ARGB32);
|
||||
+ img.fill(Qt::white); // Never transparent
|
||||
+
|
||||
+ surface = cairo_image_surface_create_for_data(
|
||||
+ img.bits(),
|
||||
+ CAIRO_FORMAT_ARGB32,
|
||||
+ buffer_width, buffer_height,
|
||||
+ img.bytesPerLine());
|
||||
+
|
||||
+ cairo = cairo_create(surface);
|
||||
+ output_dev->setCairo(cairo);
|
||||
+
|
||||
+ m_page->parentDoc->doc->displayPageSlice(
|
||||
+ output_dev, m_page->index + 1, xres, yres, rotation, false, true,
|
||||
+ false, x, y, w, h);
|
||||
+
|
||||
+ // Clean up
|
||||
+ output_dev->setCairo(NULL);
|
||||
+ cairo_destroy(cairo);
|
||||
+ cairo_surface_destroy(surface);
|
||||
+ delete output_dev;
|
||||
+#endif
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
return img;
|
||||
@@ -447,6 +515,8 @@ bool Page::renderToPainter(QPainter* painter, double xres, double yres, int x, i
|
||||
painter->restore();
|
||||
return true;
|
||||
}
|
||||
+ case Poppler::Document::CairoBackend:
|
||||
+ return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h
|
||||
index c0340a4..118f8ba 100644
|
||||
--- a/qt4/src/poppler-qt4.h
|
||||
+++ b/qt4/src/poppler-qt4.h
|
||||
@@ -886,7 +886,8 @@ delete it;
|
||||
*/
|
||||
enum RenderBackend {
|
||||
SplashBackend, ///< Splash backend
|
||||
- ArthurBackend ///< Arthur (Qt4) backend
|
||||
+ ArthurBackend, ///< Arthur (Qt4) backend
|
||||
+ CairoBackend ///< Cairo backend
|
||||
};
|
||||
|
||||
/**
|
||||
diff --git a/qt4/tests/CMakeLists.txt b/qt4/tests/CMakeLists.txt
|
||||
index bba868f..8c40471 100644
|
||||
--- a/qt4/tests/CMakeLists.txt
|
||||
+++ b/qt4/tests/CMakeLists.txt
|
||||
@@ -8,6 +8,11 @@ include_directories(
|
||||
${QT4_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
+if (HAVE_CAIRO)
|
||||
+ include_directories(${CAIRO_INCLUDE_DIRS})
|
||||
+ add_definitions(${CAIRO_CFLAGS})
|
||||
+endif (HAVE_CAIRO)
|
||||
+
|
||||
macro(QT4_ADD_SIMPLETEST exe source)
|
||||
string(REPLACE "-" "" test_name ${exe})
|
||||
set(${test_name}_SOURCES
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 7ddcf7bf4296ed58dc316b0dd6b000057740e118 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gideon Dann <pdgiddie@gmail.com>
|
||||
Date: Wed, 20 May 2009 13:17:29 +0100
|
||||
Subject: [PATCH 2/4] Setting default Qt4 backend to Cairo
|
||||
|
||||
---
|
||||
qt4/src/poppler-private.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qt4/src/poppler-private.cc b/qt4/src/poppler-private.cc
|
||||
index cbf21b1..1c7f16c 100644
|
||||
--- a/qt4/src/poppler-private.cc
|
||||
+++ b/qt4/src/poppler-private.cc
|
||||
@@ -236,7 +236,7 @@ namespace Debug {
|
||||
void DocumentData::init()
|
||||
{
|
||||
m_fontInfoIterator = 0;
|
||||
- m_backend = Document::SplashBackend;
|
||||
+ m_backend = Document::CairoBackend;
|
||||
paperColor = Qt::white;
|
||||
m_hints = 0;
|
||||
m_optContentModel = 0;
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,30 @@
|
||||
From a9a6a3fcf4f2bf62e83d325a790624241084ad72 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gideon Dann <pdgiddie@gmail.com>
|
||||
Date: Wed, 20 May 2009 13:06:48 +0100
|
||||
Subject: [PATCH 3/4] Forcing subpixel rendering in Cairo backend
|
||||
|
||||
---
|
||||
poppler/CairoOutputDev.cc | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
|
||||
index d0d6cb4..50e64f9 100644
|
||||
--- a/poppler/CairoOutputDev.cc
|
||||
+++ b/poppler/CairoOutputDev.cc
|
||||
@@ -203,6 +203,13 @@ void CairoOutputDev::setCairo(cairo_t *cairo)
|
||||
}
|
||||
if (cairo != NULL) {
|
||||
this->cairo = cairo_reference (cairo);
|
||||
+ {
|
||||
+ cairo_font_options_t *options = cairo_font_options_create ();
|
||||
+ cairo_get_font_options (cairo, options);
|
||||
+ cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_SUBPIXEL);
|
||||
+ cairo_set_font_options (cairo, options);
|
||||
+ cairo_font_options_destroy (options);
|
||||
+ }
|
||||
/* save the initial matrix so that we can use it for type3 fonts. */
|
||||
//XXX: is this sufficient? could we miss changes to the matrix somehow?
|
||||
cairo_get_matrix(cairo, &orig_matrix);
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 1604ec6cb759b6f2b8aa006faa0ec990cd511b36 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gideon Dann <pdgiddie@gmail.com>
|
||||
Date: Thu, 21 May 2009 10:55:49 +0100
|
||||
Subject: [PATCH 4/4] Enabling slight hinting in Cairo Backend
|
||||
|
||||
Originally suggested at:
|
||||
http://bugs.freedesktop.org/show_bug.cgi?id=3307#c20
|
||||
---
|
||||
poppler/CairoFontEngine.cc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/poppler/CairoFontEngine.cc b/poppler/CairoFontEngine.cc
|
||||
index 3cff917..75a1c50 100644
|
||||
--- a/poppler/CairoFontEngine.cc
|
||||
+++ b/poppler/CairoFontEngine.cc
|
||||
@@ -132,7 +132,7 @@ CairoFont::getSubstitutionCorrection(GfxFont *gfxFont)
|
||||
cairo_matrix_t m;
|
||||
cairo_matrix_init_identity(&m);
|
||||
cairo_font_options_t *options = cairo_font_options_create();
|
||||
- cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_NONE);
|
||||
+ cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_SLIGHT);
|
||||
cairo_font_options_set_hint_metrics(options, CAIRO_HINT_METRICS_OFF);
|
||||
cairo_scaled_font_t *scaled_font = cairo_scaled_font_create(cairo_font_face, &m, &m, options);
|
||||
|
||||
@@ -189,7 +189,7 @@ _ft_new_face_uncached (FT_Library lib,
|
||||
}
|
||||
|
||||
font_face = cairo_ft_font_face_create_for_ft_face (face,
|
||||
- FT_LOAD_NO_HINTING |
|
||||
+ FT_LOAD_TARGET_LIGHT |
|
||||
FT_LOAD_NO_BITMAP);
|
||||
if (cairo_font_face_set_user_data (font_face,
|
||||
&_ft_cairo_key,
|
||||
@@ -358,7 +358,7 @@ _ft_new_face (FT_Library lib,
|
||||
_ft_open_faces = l;
|
||||
|
||||
l->font_face = cairo_ft_font_face_create_for_ft_face (tmpl.face,
|
||||
- FT_LOAD_NO_HINTING |
|
||||
+ FT_LOAD_TARGET_LIGHT |
|
||||
FT_LOAD_NO_BITMAP);
|
||||
if (cairo_font_face_set_user_data (l->font_face,
|
||||
&_ft_cairo_key,
|
||||
--
|
||||
2.7.3
|
||||
|
@ -1,5 +1 @@
|
||||
DIST tiled-0.12.3.tar.gz 2372813 SHA256 8078b266cc4902451e14b1efb6c8eba69f610e5056fcb74d1d30b5b236253200 SHA512 a8b5cb2201806e6b5a0e5079a9e12fbffcbb79f2df0a193e3c3e80424df1c8c4c94ae23c1553a82a1813d4bc65d9da54d79faa41a8983233aa67023e2348cc4b WHIRLPOOL 6deb8f40aea684619c5aee3746080f0543c8a7d3dfc37d76afbd447bc34923afdbb4b676553e6e33d187a0702dfa0514ec4b567a02a95dbd4a5e87bc28c7fa92
|
||||
DIST tiled-0.14.2.tar.gz 2941171 SHA256 11ab1ae659d63e0fc6b78a319eab72c3a058a57c6c4bbd334a3e9f258ac0a6f5 SHA512 5fd47f56f1f29fa5cb48ec82f3ac2f4fd3c3addcdd35fc5e4fe742b83ebafe72c67d37c21e73bd5ac383070d68ed270dacc86f6c3959abbada915dfea19b5acf WHIRLPOOL 7cefcd1753614e07ff296d63f0b1a661caae8feeab0b8fb4f032b55443fb6512473443c7329ae7969018b6861ab9fc0dcdfddf743b7e63d1b8d6a668d89a68e9
|
||||
DIST tiled-0.15.0.tar.gz 2984039 SHA256 978c6270f4e6be5996ee69d12a1c417ea3b98b0ba0a50fbe74176f193c0330d3 SHA512 a4116ea308858f4c430aaa9e4ba5b6170b561d6682d95e85028a32daa960c0533f904a2b065c9943c22c94d533f5a0ea5351962e92d53ee53a0152eaf7ef39a0 WHIRLPOOL e7f6848aeafe1f8fe75233fb5822600382fd8b6dbb9b846626f57f30bd06c2da91247ebd63ea93aef0da86227f98453f33ae08656acf3cc25b7bdf4bf0e3065f
|
||||
DIST tiled-0.15.1.tar.gz 2984663 SHA256 b084650adae12c1c34d9493f99fabcdb27c9fa12e3e1167212c28c5c76936b81 SHA512 34dcc6f58d3709f3499d0a317a35e7b6488a6b6a313efa3a1f1d602970721af0892742b67a01623fd4f237e3ef97d6e1ba1d304dd0e3c73f27a24f7f24e92f1a WHIRLPOOL 74d4bf7b3ebb39ab1fc3973310bab626a852d7fb1b978d8a2f5e98459370a02b3162ae6878efca320844430b5f2d40839d2d9a0efaa9f0c19a81ac84be60aa4e
|
||||
DIST tiled-0.15.2.tar.gz 3004096 SHA256 af662bba4d7b930717359484da4f3cae0ae004d0a9e51f0eeb04704cefd74ee1 SHA512 0c866ad6733ed37a60967f9826d632e4e72669289329b8db0799dafc99b95a18ec3c9e9b454ea925f4289b6d05e06268533858c8b02f7b43a224a64255a7c214 WHIRLPOOL c920f8cd7130fc055eb08bb550439e473a638a6a305eee1b70af59f1294ff25b0511c40707538200438e857f45f9909059792bf8b9bfe39849262c5eb6767187
|
||||
|
@ -1,59 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit fdo-mime multilib python-single-r1 qt4-r2
|
||||
|
||||
DESCRIPTION="A general purpose tile map editor"
|
||||
HOMEPAGE="http://www.mapeditor.org/"
|
||||
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND=">=dev-qt/qtcore-4.7:4
|
||||
>=dev-qt/qtgui-4.7:4
|
||||
>=dev-qt/qtopengl-4.7:4
|
||||
sys-libs/zlib
|
||||
python? ( ${PYTHON_DEPS} )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( AUTHORS COPYING NEWS README.md )
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -r src/zlib || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake4 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt4-r2_src_install
|
||||
|
||||
if use examples ; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit fdo-mime multilib python-single-r1 qmake-utils
|
||||
|
||||
DESCRIPTION="A general purpose tile map editor"
|
||||
HOMEPAGE="http://www.mapeditor.org/"
|
||||
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD BSD-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/zlib
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
|
||||
dodoc AUTHORS COPYING NEWS README.md
|
||||
|
||||
if use examples ; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit fdo-mime gnome2-utils multilib python-single-r1 qmake-utils
|
||||
|
||||
DESCRIPTION="A general purpose tile map editor"
|
||||
HOMEPAGE="http://www.mapeditor.org/"
|
||||
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD BSD-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/zlib
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
|
||||
dodoc AUTHORS COPYING NEWS README.md
|
||||
|
||||
if use examples ; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit fdo-mime gnome2-utils multilib python-single-r1 qmake-utils
|
||||
|
||||
DESCRIPTION="A general purpose tile map editor"
|
||||
HOMEPAGE="http://www.mapeditor.org/"
|
||||
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD BSD-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/zlib
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
|
||||
dodoc AUTHORS COPYING NEWS README.md
|
||||
|
||||
if use examples ; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST commons-primitives-1.0-src.tar.gz 172369 SHA256 96927b484b8cac7e33612469099e7bbd7139cbc79666d5612a32c997fa671ac4 SHA512 239752a615f3a88049d6c85326a67462362869eda421ab76975c0906d811c970c871042769d851a4341c8a06b501d6b12fd1feba74d83007b2dd73370c5b3195 WHIRLPOOL 725644e8ef915e77313dabf6f397a54b857265bcf9d284b4444457d3872e6982cad3670101f1e1576158b1ceebf809348bb2dec2cecec87796a22595ace03129
|
||||
DIST commons-primitives-1.0.tar.gz 172369 SHA256 96927b484b8cac7e33612469099e7bbd7139cbc79666d5612a32c997fa671ac4 SHA512 239752a615f3a88049d6c85326a67462362869eda421ab76975c0906d811c970c871042769d851a4341c8a06b501d6b12fd1feba74d83007b2dd73370c5b3195 WHIRLPOOL 725644e8ef915e77313dabf6f397a54b857265bcf9d284b4444457d3872e6982cad3670101f1e1576158b1ceebf809348bb2dec2cecec87796a22595ace03129
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="The Jakarta-Commons Primitives Component"
|
||||
HOMEPAGE="http://commons.apache.org/primitives/"
|
||||
SRC_URI="https://www.apache.org/dist/commons/primitives/source/${P}-src.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-1.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
DEPEND="
|
||||
source? ( app-arch/zip )
|
||||
>=virtual/jdk-1.6"
|
||||
|
||||
S="${WORKDIR}/${P}"
|
||||
|
||||
JAVA_SRC_DIR="src"
|
||||
|
||||
java_prepare() {
|
||||
rm -rf src/test || die
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST snip-0.11-src.tar.gz 23270 SHA256 c8d0e299010e0582d69b3c0567b89190cfab8b123b4bc61920c721c1b82240e7 SHA512 b782559bd542e4d79fa19e351d2e04331f002d139ecc4ae957ceb282c2fc117261c4031fb612c65caead07552de59782d8a0e3c8733d79f1cd2ef0118e60eaa7 WHIRLPOOL 6d72867eb46659d31703c299973ecb2cb47e566afd910122c37819afacf5333db398812af41f82adfcda7c83000e8a021ba17f99d401b185f08758ee2a4b7ef5
|
||||
DIST snip-0.11.zip 56801 SHA256 c5fc7c7c006ce4821cf143d94da29d99e7b6c25db8d3295dc72702bf05f89f33 SHA512 43ded00e411247c69882494cec1ee5322a0be273982ee37b2501d143259686f6d5f52c99b430ebad96d799aa42bb240b4a5130cba0b3fc47d21c70513e97ba93 WHIRLPOOL 145927ae16a5b067c41ac78c8e388bbf884d0c0feb7a6f53e6cd410cf51ebb744acf40f5f15c16bfe9056614dd312fd662f6e4cca3d430246ea55d3f4837ad41
|
||||
|
@ -1,13 +0,0 @@
|
||||
*** build.xml 2006-08-29 21:39:13.000000000 +0000
|
||||
--- build.xml.patched 2006-08-29 21:40:15.000000000 +0000
|
||||
***************
|
||||
*** 1,8 ****
|
||||
|
||||
<project default="compile" name="snip">
|
||||
|
||||
- <taskdef name="snip" classname="com.martiansoftware.snip.Snip" classpath="build"/>
|
||||
-
|
||||
<property name="version" value="0.11" />
|
||||
<property name="jarname" value="snip-${version}.jar"/>
|
||||
<property name="src.java" value="src/java"/>
|
||||
--- 1,6 ----
|
@ -1,39 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
inherit eutils java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="an Apache ANT optional task that extracts snippets of code from text files"
|
||||
HOMEPAGE="http://www.martiansoftware.com/lab/index.html"
|
||||
SRC_URI="http://www.martiansoftware.com/lab/${PN}/${P}-src.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
COMMON_DEP=">=dev-java/ant-core-1.5.4"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
${COMMON_DEP}"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
${COMMON_DEP}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
cd "${S}"
|
||||
rm -v *.jar
|
||||
epatch "${FILESDIR}/${PN}-0.11-build.xml.patch"
|
||||
java-ant_rewrite-classpath
|
||||
eant clean
|
||||
}
|
||||
|
||||
EANT_GENTOO_CLASSPATH="ant-core"
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar dist/${P}.jar
|
||||
use doc && java-pkg_dojavadoc javadoc
|
||||
use source && java-pkg_dosrc src/java/com
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST xsd2jibx-beta2a.zip 961258 SHA256 615d573d944d361dfa23ff1099c543c78fae1943af0735c7a7743a0472c865db SHA512 d525b5e71358c4ce259d7e65abe5ee0214b89093d209c07861f4069919d6c13ffae292b5db80a6f01b8451363aa6b40706beadd04f663bbf1224aaf3bed5b0a2 WHIRLPOOL 7fda5e53a5d96422edd679cd489038760951a39afc2337dac4ce0d103e33ad293c8fad558fed5a3d4626f804050b8bd1d331a727579fc3ee84d74f80526eab2f
|
@ -1,69 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<project basedir="." default="jar">
|
||||
|
||||
<!-- JiBX binding compiler task definition -->
|
||||
<property environment="env"/>
|
||||
<property name="jibxhome" value="${env.JIBX_HOME}"/>
|
||||
<taskdef name="bind" classname="org.jibx.binding.ant.CompileTask">
|
||||
<classpath>
|
||||
<pathelement location="${jibxhome}/lib/bcel.jar"/>
|
||||
<pathelement location="${jibxhome}/lib/jibx-bind.jar"/>
|
||||
<pathelement location="${jibxhome}/lib/jibx-run.jar"/>
|
||||
<pathelement location="${jibxhome}/lib/jibx-extras.jar"/>
|
||||
<pathelement location="${jibxhome}/lib/xpp3.jar"/>
|
||||
</classpath>
|
||||
</taskdef>
|
||||
|
||||
<!-- compile the class files -->
|
||||
<target name="compile">
|
||||
<delete quiet="true" dir="${basedir}/classes"/>
|
||||
<mkdir dir="${basedir}/classes"/>
|
||||
<javac srcdir="${basedir}/src/main"
|
||||
destdir="${basedir}/classes"
|
||||
excludes="org/jibx/xsd2jibx/GeneratorAntTask.java"
|
||||
debug="true"
|
||||
deprecation="on">
|
||||
<classpath>
|
||||
<fileset dir="${basedir}/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="${jibxhome}/lib">
|
||||
<include name="jibx-run.jar"/>
|
||||
<include name="xpp3.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
</javac>
|
||||
<copy todir="${basedir}/classes/org/jibx/xsd2jibx">
|
||||
<fileset dir="${basedir}/src/main/org/jibx/xsd2jibx" includes="**/*.xsl"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<!-- bind the class files -->
|
||||
<target name="bind" depends="compile">
|
||||
<echo message="Running binding compiler..."/>
|
||||
<bind verbose="true" load="true">
|
||||
<bindingfileset dir="${basedir}/src/main/org/jibx/xsd2jibx">
|
||||
<include name="xsd.jibx.xml"/>
|
||||
<include name="jibx.jibx.xml"/>
|
||||
</bindingfileset>
|
||||
<classpathset dir="${basedir}/classes"/>
|
||||
</bind>
|
||||
</target>
|
||||
|
||||
<target name="javadoc" description="Produce JavaDoc">
|
||||
<javadoc sourcepath="${basedir}/src/main" destdir="${basedir}/api"/>
|
||||
</target>
|
||||
|
||||
<!-- Build the jar files for the distribution -->
|
||||
<target name="jar" depends="bind">
|
||||
<delete file="${basedir}/lib/xsd2jibx.jar" quiet="true"/>
|
||||
<jar jarfile="${basedir}/lib/xsd2jibx.jar" basedir="${basedir}/classes">
|
||||
<manifest>
|
||||
<attribute name="Main-Class" value="org/jibx/xsd2jibx/Generate"/>
|
||||
<attribute name="Class-Path" value="commons-lang-2.0.jar commons-logging-1.0.4.jar jaxme-js-0.3.jar log4j-1.2.8.jar jibx-run.jar xpp3.jar"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
</project>
|
@ -1,74 +0,0 @@
|
||||
Index: src/main/org/jibx/xsd2jibx/JSource.java
|
||||
===================================================================
|
||||
RCS file: /cvsroot/jibx/xsd2jibx/src/main/org/jibx/xsd2jibx/JSource.java,v
|
||||
retrieving revision 1.6
|
||||
diff -u -B -r1.6 JSource.java
|
||||
--- src/main/org/jibx/xsd2jibx/JSource.java 19 Feb 2005 20:02:31 -0000 1.6
|
||||
+++ src/main/org/jibx/xsd2jibx/JSource.java 6 May 2007 21:16:33 -0000
|
||||
@@ -89,6 +89,12 @@
|
||||
jm.addParam(jqname, element.getFieldName());
|
||||
jm.addLine(element.getFieldList() + ".add(" + element.getFieldName() + ");");
|
||||
|
||||
+ // create add to position method:
|
||||
+ jm = source.newJavaMethod(element.getAddPositionMethod(), JQName.VOID.getJavaQName(), PUBLIC);
|
||||
+ jm.addParam(JQName.INT.getJavaQName(), "position");
|
||||
+ jm.addParam(jqname, element.getFieldName());
|
||||
+ jm.addLine(element.getFieldList() + ".add(position, " + element.getFieldName() + ");");
|
||||
+
|
||||
// create getMethod
|
||||
jm = source.newJavaMethod(element.getGetMethod(), jqname, PUBLIC);
|
||||
jm.addParam(JQName.INT.getJavaQName(), "index");
|
||||
@@ -97,6 +103,13 @@
|
||||
//create size method
|
||||
jm = source.newJavaMethod(element.getSizeMethod(), JQName.INT.getJavaQName(), JavaSource.PUBLIC);
|
||||
jm.addLine("return " + element.getFieldList() + ".size();");
|
||||
+
|
||||
+ //create clear method
|
||||
+ jm = source.newJavaMethod(element.getClearMethod(), JQName.VOID.getJavaQName(), JavaSource.PUBLIC);
|
||||
+ jm.addLine(element.getFieldList() + ".clear();");
|
||||
+ //create unmodified method
|
||||
+ jm = source.newJavaMethod(element.getListMethod(), "java.util.List", JavaSource.PUBLIC);
|
||||
+ jm.addLine("return java.util.Collections.unmodifiableList("+element.getFieldList() + ");");
|
||||
} else { // it is not a collection
|
||||
newBeanProperty(element);
|
||||
}
|
||||
Index: src/main/org/jibx/xsd2jibx/XsdElement.java
|
||||
===================================================================
|
||||
RCS file: /cvsroot/jibx/xsd2jibx/src/main/org/jibx/xsd2jibx/XsdElement.java,v
|
||||
retrieving revision 1.6
|
||||
diff -u -B -r1.6 XsdElement.java
|
||||
--- src/main/org/jibx/xsd2jibx/XsdElement.java 19 Feb 2005 20:02:31 -0000 1.6
|
||||
+++ src/main/org/jibx/xsd2jibx/XsdElement.java 6 May 2007 21:16:33 -0000
|
||||
@@ -60,6 +60,12 @@
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
+ public String getAddPositionMethod() {
|
||||
+ StringBuffer sb = new StringBuffer("addAt");
|
||||
+ sb.append(NameUtil.toUpperCamelCase(getJavaName()));
|
||||
+ return sb.toString();
|
||||
+ }
|
||||
+
|
||||
public String getSizeMethod() {
|
||||
StringBuffer sb = new StringBuffer("size");
|
||||
sb.append(NameUtil.toUpperCamelCase(getJavaName()));
|
||||
@@ -67,6 +73,19 @@
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
+ public String getClearMethod() {
|
||||
+ StringBuffer sb = new StringBuffer("clear");
|
||||
+ sb.append(NameUtil.toUpperCamelCase(getJavaName()));
|
||||
+ sb.append(NameUtil.addListSuffix);
|
||||
+ return sb.toString();
|
||||
+ }
|
||||
+ public String getListMethod() {
|
||||
+ StringBuffer sb = new StringBuffer("getList");
|
||||
+ sb.append(NameUtil.toUpperCamelCase(getJavaName()));
|
||||
+ sb.append(NameUtil.addListSuffix);
|
||||
+ return sb.toString();
|
||||
+ }
|
||||
+
|
||||
protected void importRef() {
|
||||
|
||||
if (this.ref != null) {
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="4"
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
MY_PV="beta2a"
|
||||
|
||||
DESCRIPTION="JiBX binding and code from schema generator"
|
||||
HOMEPAGE="http://jibx.sourceforge.net/xsd2jibx/"
|
||||
SRC_URI="mirror://sourceforge/jibx/${PN}-${MY_PV}.zip"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris"
|
||||
IUSE=""
|
||||
|
||||
COMMON_DEP="dev-java/commons-logging:0
|
||||
dev-java/xpp3:0
|
||||
dev-java/jaxme:0
|
||||
dev-java/jibx:0
|
||||
dev-java/commons-lang:2.1"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
app-arch/unzip
|
||||
${COMMON_DEP}"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
${COMMON_DEP}"
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
java_prepare() {
|
||||
cp "${FILESDIR}/build.xml" .
|
||||
# patch from freemind authors, freemind won't build without it
|
||||
# they sent upstream (that's how I found it) which said he's preparing
|
||||
# complete rewrite. It only adds non-abstract functionality.
|
||||
epatch "${FILESDIR}/${P}-freemind.patch"
|
||||
|
||||
cd "${S}/lib"
|
||||
rm -v *.jar || die
|
||||
java-pkg_jar-from commons-logging,xpp3,jaxme,jibx,commons-lang-2.1
|
||||
}
|
||||
|
||||
EANT_ANT_TASKS="jibx"
|
||||
EANT_EXTRA_ARGS="-Djibxhome=${EPREFIX}/usr/share/jibx/"
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar lib/${PN}.jar
|
||||
|
||||
dohtml -r docs/*
|
||||
use doc && java-pkg_dojavadoc api
|
||||
use source && java-pkg_dosrc src/main/org
|
||||
}
|
@ -1 +1 @@
|
||||
DIST HyperSpec-7-0.tar.gz 2032830 SHA256 1ac1666a9dc697dbd8881262cad4371bcd2e9843108b643e2ea93472ba85d7c3
|
||||
DIST HyperSpec-7-0.tar.gz 2032830 SHA256 1ac1666a9dc697dbd8881262cad4371bcd2e9843108b643e2ea93472ba85d7c3 SHA512 1b9058fe1ae2e283f4a68211dc659021e04bd10373d7c2392f4fa496543e2454f96c7eb671bcb1e72c906456792f8a265a5e34bac24d01e2c0e7fb1ce359c370 WHIRLPOOL 67550f4a52599fd36a4d185ff3554245a5b57d7ade60bd0019bce622113d9747a18eebc0a65313e8468522912e711183fd9db37da2b903524935ba89bbd4e936
|
||||
|
@ -1 +1,2 @@
|
||||
DIST async-113.24.00.tar.gz 65283 SHA256 cb4624ecced67e5d77e0e651650bf6aa5bb82c76f52ba94cf5454cc239671122 SHA512 ba9d3a8ec993c558ec9dd7e0b17a261a0098c7d752fec076729b295e6bc43f4496cf97ef1bd8f3b63d4412d6e972b2831cb8a03e75c513a751b68b82633d6240 WHIRLPOOL 33a5d344f2d2923d5dfae8d3783118b06064a4e84f3366c66ccf96076635c747be648bd0e17dea596d5b6e1e05efa29ca212ff10c3fef1a7c72ff4c809fe1f6d
|
||||
DIST async-113.33.00.tar.gz 65537 SHA256 ddb5c8379ad82888d218c7ac44278f64ac1012c8dc8349af45c40fe7df1d506b SHA512 7f2b9a2549cdd8fe48100135782e8e8cc42f25b83fa4c6bc730f3799041c1cce91d442ab357a7d34a7288484e694306a70daed18e3f202e1a5f842a908a8ff2b WHIRLPOOL 241c8da5db8df68dfea056b551c407b4630f7bc14e12bbdfc1142eec49d40e65b5040dd6ed64526400a0f1fab160e9f0aa0543bedb2626b6f6e24dbd5a2a6c8c
|
||||
|
@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
OASIS_BUILD_TESTS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Jane Street Capital's asynchronous execution library"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-4.02.0:=
|
||||
>=dev-ml/async_kernel-${PV}:=
|
||||
>=dev-ml/async_unix-${PV}:=
|
||||
>=dev-ml/async_extra-${PV}:=
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/core:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST async_extra-113.24.00.tar.gz 160701 SHA256 4513e27afd529f44bf73a66cdd49131c73dd3812e959e7d4c3d43eb5af661156 SHA512 2f491f337ecdf2e7dfc2530a1845d935ed2e0904518b30d73a60d15e4818b2063c4b7582e215b5aca50ac9018a64b3eced401f9fefbc77a710b5f100ab88c45a WHIRLPOOL 63c3b91c978007621a53480cb1d415593e93cce7aadfd0de943da20630ecf12b041b1379e30975a0061f530726da527efe67a1a4367a54a8fea8fc3145954b5f
|
||||
DIST async_extra-113.33.00.tar.gz 163049 SHA256 2f26ce010384d0562422cf765905dfeb52c06de3818e6ce2e8193cf3d70a7073 SHA512 35f7a69639c6c53fc862342a6445c2a693624785a3f0ca92d5bccdb7e38c9326be454496f65614d33125cfc7ada14f10ce565a596ed094d13c25e20c80de765b WHIRLPOOL 691d4d50d43c60b8d91bf9022d544cfedfb8f267d33d5cdcdc47166f5430ab87a6ad5118126879d8cedbd701b2fa06953fd5b9c1b3348311944d709387b9ff60
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Jane Street Capital's asynchronous execution library (extra)"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-4.02.0:=
|
||||
>=dev-ml/async_kernel-${PV}:=
|
||||
>=dev-ml/async_rpc_kernel-${PV}:=
|
||||
>=dev-ml/async_unix-${PV}:=
|
||||
>=dev-ml/bin-prot-109.15.00:=
|
||||
>=dev-ml/core-${PV}:=
|
||||
>=dev-ml/fieldslib-109.20.00:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
>=dev-ml/sexplib-109.20.00:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST async_kernel-113.24.00.tar.gz 152935 SHA256 4e891b8e93a90be0dddd4ea919c20287c4e18bdc986259a9d7294497d3614556 SHA512 b4be7ab3785eb283e14770e31ba5ef86c0f5074a6e470fd3b2349059fac682f7514e302c41767e951c6791c79f9945633a4af40047126e7b0ef3d8180a1f28d7 WHIRLPOOL 610d5d68ce2daf8bae596bd49f8a0273c032a0f50c031488752443cdd435f6dfaa1a9dae00735469b91ec239180aa2b6526af8584a884065d0da0c875af7ae32
|
||||
DIST async_kernel-113.33.00.tar.gz 156556 SHA256 25385f8f252e7ec91cdaee8e67201d270582ce983ed0b1069409d7d1dac573ce SHA512 236ea91c87583992f4d27c92eb8924894624c4514e63a6ce1173270dae457a082a13f37ca6ba0d44be6d2ca8bc10b167ab2787f026bf8216601f438596c18ed4 WHIRLPOOL 6b3f9b0850eab45020b328e66d26712b7ffd4163a58e35ab70c36dddb45eeef7fcd2f8d80e42355f8f8b9a16cbb170f18d61ad81a5f33c8cc86990607daa3ca8
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Jane Street Capital's asynchronous execution library (core)"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-4.02.0:=
|
||||
>=dev-ml/bin-prot-109.15.00:=
|
||||
dev-ml/core_kernel:=
|
||||
>=dev-ml/fieldslib-109.20.00:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
>=dev-ml/sexplib-109.20.00:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST async_rpc_kernel-113.24.00.tar.gz 91427 SHA256 7f6cf06929206b36de3952faf9b57928cc8428457ad3b3269d3ec03b1f36a5bb SHA512 50ff6b38ca9aa31a549d5379babb07d6e3e19441fe2e2816b43f91d279323e154beb00999cc023b6b44ab0367c785bbfea09ea04938e9163b061b8ddff83fd04 WHIRLPOOL 4eafa5a0c0aa1a8e6d9bc4585335757b17eb646e7117d1d4840df7c412fcbeebdbf30f66dd35fda2b876c198c75155eba58ef62da9f4542a8aca22c7efc1c4a9
|
||||
DIST async_rpc_kernel-113.33.00.tar.gz 93171 SHA256 9bb09d157ee44fb932c4f1c4c62e99da506558703ad552f83ce3e34b98cb6893 SHA512 f36308e2e81849358e4e20f90d3340a583509f4a0cb6f3e4eebf4c4f1d99d8e685f114d5cfdce6a3c579b35179532d62c6ecf20dc9d3493f2c495f831af782db WHIRLPOOL 8f5d8ef886735746ef3efcff537aadf59cacfa1655fddc2a5de7dfe742a27373528320251b8d5994a36156b5b238ccecfc3ad7417fdca00a9afd3fe41ac55f35
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Platform-independent core of Async RPC library"
|
||||
HOMEPAGE="https://bitbucket.org/yminsky/ocaml-core/wiki/Home"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/async_kernel:=
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/core_kernel:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST async_unix-113.24.00.tar.gz 190626 SHA256 296492a365fc921a0d9ee42267cd72f7d0c2070a1334efbb1f6334df4de22822 SHA512 773ec9dc9240a2482f79026b1a7c0dae47ed048d8f693e87e19305635c5bb47c9f2ad41010499ce8ddd0b402af713ec860a548a7d9cdaaf9e914b7962bac4bdb WHIRLPOOL 1797d0718fe55e4e864f8cc325d54c3529c7184e0a46bc7a73bf4e6df92e3ae3b2969e4caadad25e90510ec07a04d4bcd5789cc766b22565636905b5385c43b3
|
||||
DIST async_unix-113.33.00.tar.gz 195062 SHA256 ebffb3c4341e57d4f7cb347d387b9ccbd46c46f1ebd5db0c7782cdf3237fa9ec SHA512 15ed26ba51efda3f07c1bca3e0935290ed99accaa61cb60f7460e72624944d3edb3454c2ddb29deaf9928b4d4c1332c3035cd0c8d4e2dceb3a947b0ff8ee944c WHIRLPOOL 159276f4eaccc2ba36378fc0b206ea3e4fc35a28d599786504f416fa1d70f3a42965065ac9d63e82e9e5d87481da6a6cea913953a486e790289c625f059de9ad
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Jane Street Capital's asynchronous execution library (unix)"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/ocaml-4.02.0:=
|
||||
dev-ml/async_kernel:=
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/ocaml-ctypes:=
|
||||
>=dev-ml/fieldslib-109.20.00:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
>=dev-ml/sexplib-109.20.00:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST bignum-113.24.00.tar.gz 74888 SHA256 a156393144090418e2192fa5659b9479aac463678d704bae2c67cae1a727fa78 SHA512 81ff037bbbcdc5a225f6814fa62e9667ec514313bcb95d42419a66740f8572b4d9da8181ff5c0e5991fe3f2fc19c9132a43edc077313e33473acb05a82430947 WHIRLPOOL fd562c2df460794eed1660b81309b621421870711667eae97899295e6035bc917b30d99320f1d895d90bfe728b313ed93b254527c714a28d07c954d388ba68f4
|
||||
DIST bignum-113.33.00.tar.gz 75498 SHA256 7d214fe9f4cc233d8070915a750978d68ca24393cfe280f7d88c9793878829ab SHA512 eb5a8e5230177209a882a8c3dfed58952598bc2586ae41bb191bdcb00cab67034ea26b8a146a58b5d05f50db2ba0cd39706445dd09510126384c8d2884cfb1f0 WHIRLPOOL 4e4217010eaf64e0e3e6c121d8ba86d193a7ed1dbf1b0591926b5abb0015b2a79bdf4f91b65bf129f5f238731dfdd28e432489444053d6c78759406dbd5ac6f6
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Core-flavoured wrapper around zarith's arbitrary-precision rationals"
|
||||
HOMEPAGE="http://janestreet.github.io/"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/core_kernel:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
dev-ml/zarith:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST bin_prot-113.24.00.tar.gz 278825 SHA256 d6124d8a3033680076b5a6787b9e77af6840503406c4de375b19c754579fd97f SHA512 1139dc3d3456f85c7b6514fc513c5e10a551c2a4a0e245793c8e731204edea5d9a5b5a326eed38b8169a1b9f3c00e761f8a3070c62827c53fe1d894f9d6aad52 WHIRLPOOL 375dceee9cea0ae22dd30d414f97c9282ab160267bfe53c3b848e0876a054c0be64cde3a7bf6b34d6df7f6a3cbc16b999368f889093b5cf7e0c11cad4af1b93c
|
||||
DIST bin_prot-113.33.00.tar.gz 280362 SHA256 51cac973cce539e6ce3dfbafbe9dc631283d43b121e546c541b0578ca3213f5c SHA512 58772b0f56f6d4a09ded3a77d9f0b2e674b27ef387fb732bf682cd58cabc0c72d1dca0238d71b69f9576cc3105b41464a543154ea20854b20e8ed31e77599c09 WHIRLPOOL e652fc32f9de7ac0ecfdb3190eb54220ada631807907c17138da69f5a80d1d8ac4da1ff6b0bea8424e148a164e36d494dee3f64511572ef130089ad71db561aa
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 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
|
||||
|
||||
MY_P=${PN/-/_}-${PV}
|
||||
DESCRIPTION="A binary protocol generator"
|
||||
HOMEPAGE="http://ocaml.janestreet.com/?q=node/13"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND=">=dev-ml/type-conv-109.28.00:="
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/opam
|
||||
test? ( >=dev-ml/ounit-1.1.2 )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN/-/_}.install || die
|
||||
dodoc CHANGES.md README.md
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST core-113.24.00.tar.gz 806394 SHA256 66ab36a4d7b78a4710f992c670777919ae329dcbe107f270239a2215d87dce81 SHA512 ec3682ed9bb15d2bf8f9063930249f3657b34a3edda1a3b69bfcf5d50cd9d59fb6fbbc795d01a695da0897bb2673c80449972de80f4b4f60df9bab831ee1d5d4 WHIRLPOOL c5381a69901d9adc87b9814fa8cd9547ba4898a0536a634f48cee3dbdb0b3bb15c6ef2c834767047a1f8d40a1517771a0d6b79014fc4b2c9d937014c603f97a3
|
||||
DIST core-113.24.01.tar.gz 806424 SHA256 16470035f9e21e8accdaa3286c3e353f60c485402323644fd231412fccf6d9c6 SHA512 8bfe45a1d0a1973ae7cd317fd6c71d2bb3a6170e432f735e6504586cd4d51b29dec972588478f4abdc7d20d6967ca58afa3ecb5a18871c807437bf8b73e063ec WHIRLPOOL 3bbc8c54140d6277885c37a525af1467ea1c30c7bc4d9dd55738432eca7e4460fed55c7499aad35a46cff324492b0797c40919f926856d6c9d5cc7fd7728705d
|
||||
DIST core-113.24.02.tar.gz 806413 SHA256 c5a4821df9719aa0a6b87b546730de445b698cc86b28046e7b5883cb65f02e29 SHA512 7f2f3e8524704ce7d29d55904f62cbf6c5b932275171b4b03709fcbdb98954cb2cab8427f06c7d6ee5ba396ac58e1077421162d96aa91b8e182f3e0f2d07cac4 WHIRLPOOL decd161a3aeb9573638c8cbec0c126d83f1a3f4eedc9fc06d53c02ff05eef18a7be781cfde05aac730c7683eed186f14f78cf1b80600843a1b3ffceec712604d
|
||||
DIST core-113.33.00.tar.gz 806877 SHA256 cca2511bb16ee5788daf42cdeec90c75698c07a995a0fde5c27373a7993c9a6b SHA512 5ee4e9d6dcc078a518d947d09fc6adfa7f79d299539e79d3b8e3b86c6b3c494144f42b755dfb04165e3af68058c87d6a567f7e94913575d9f371a21f63bdfc9e WHIRLPOOL 50719bf6f72e3ef6f9be477c24e5b9756793c69864c0540ae8508789f95833f0247ee77f86879b44f15ac19d075b25f9bc55e9e049ba51dd9606351dbe74b121
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
OASIS_BUILD_TESTS=1
|
||||
|
||||
inherit eutils oasis
|
||||
|
||||
MY_P=${P/_/\~}
|
||||
DESCRIPTION="Jane Street's alternative to the standard library"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-ml/bin-prot-113.24.00:=
|
||||
>=dev-ml/core_kernel-113.24.00:=
|
||||
>=dev-ml/fieldslib-113.24.00:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
>=dev-ml/sexplib-113.24.00:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md README.md
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST core_bench-112.35.00.tar.gz 78192 SHA256 c2e925078412e9859458c539324d137f0aede17bf1b485961a4019609b733535 SHA512 b0ce326c6d5a5e8e44cb05b147e07cf02efbc60a18f1f6e740d1bd58e01dd373f868c42599e7818d5c3c54899b6d429b1155d79f8009833a01f173fe69c7aafc WHIRLPOOL a45e28e72d515c7240c25431471dc78cab69c6059ed6253823c85a90b03a91e62b3ef5f4cf30631a35b791d9bc3ca73307d5a60f0bbae0c2bfa464af2875fcbd
|
||||
DIST core_bench-113.24.00.tar.gz 86110 SHA256 8b282f66d57b869999483e41783abd098f4cc6c6b67de899c3590a3ef923cbea SHA512 03dbb61041269301f1cfb47da8302b7d0bfcdc2be34b023c834de6cad6fe7d57b4c83a42aaea7ef5f82c7b929bb2b6abd2fb518539cedb05c50cfccc19e898ee WHIRLPOOL dcd000c711c4865715bb1061edd952b39b1b2fdf5cd3dba0c41c74afc107920151e0a761c784403a2cafc12b6e9f38d7cc02b531963dc6d712c795332f41f34e
|
||||
DIST core_bench-113.33.00.tar.gz 86282 SHA256 0827610ed452be2475ecfda569c8d6af8cd63f0389dbfbf4e2ab71b1ec043d42 SHA512 7fb74fa40e0cba803cd7e7028490e652ac8adb23cfe37120e16e94ee77ba4493d7c512219c06c1bc941149c49d9b83f1ba07fd27ff04dad023db91bd5ef70a38 WHIRLPOOL b4f865dfb4fe5e30d3a2c8ed2b734bc21c5a7aabf16fc237ddd54a2dd3a75ad5fec5d2bb692dad01fbe78119992d01937a71db5858021fab82a9578911e85698
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Micro-benchmarking library for OCaml"
|
||||
HOMEPAGE="https://ocaml.janestreet.com/"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/core:=
|
||||
dev-ml/core_extended:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/textutils:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST core_extended-113.24.00.tar.gz 301886 SHA256 18810e3c075273d995a9d07756891d5fac28bde72570b7bc2a9b446c858195ed SHA512 766bce4b2cb39544bdbb1e6c0bc73e46935edcdc2d40be4b322357779001eee76ae5c43d0f21e3a56959bc460183d502e8be91ce1b597ae4e330ebd2621a5aaf WHIRLPOOL e1f99f9f03c207ff9d693460a8f06f3321367e0c693f43e8091031059643b95807836e01547930f8db2baba3e9beed8d85a59ffb534b50d190a5182ac72e5e0c
|
||||
DIST core_extended-113.33.00.tar.gz 302409 SHA256 89f41b5229f5f6a4051350c4e3c8b3b12ef07e35d464130e699803f3d6c36828 SHA512 a0f834ea8cd8453a3630df2c5aa829230389ac7ba5a310bc6e1ba408ce54141ef0303921bf92d1060673ee4f27ad82aa426fbd89e28cc877ab70c8d3083d0019 WHIRLPOOL e8da189ddc22ad4a0babc3762a2d9f65d00db4134561b64c5c0071907f9cc6118277cd1599df590efaea3240fd7678cf8d707391d0a6430139d2c8a23d6432e4
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
OASIS_BUILD_TESTS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Jane Street's alternative to the standard library"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-ml/core-113.24:=
|
||||
>=dev-ml/bin-prot-113.24:=
|
||||
>=dev-ml/fieldslib-113.24:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/re2:=
|
||||
>=dev-ml/sexplib-113.24:=
|
||||
dev-ml/textutils:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST core_kernel-113.24.00.tar.gz 647874 SHA256 e245cddd9bdf847a4f9c1d88922bbf567b0badc30ce9acec3933ae515acc68c6 SHA512 6cdf8f400d689fb2501d2dcedb9b287dd3ac5edb4bb8a6310f1ca92c8370f3b38ab1b68791a61034c21cb101c6f390f876fc340fde46c901a2161fa11b2d3f1f WHIRLPOOL 6d2908aa37a56342019e1fd53f845c824b61b73ffdfe66adb901b5f263a53b880ec389329897df585178fd049a8196140ce8a0f51622f51b156e210171ee863b
|
||||
DIST core_kernel-113.33.00.tar.gz 663386 SHA256 2c24033532c88c6e2d8e77bac650e7398b9ec67dbdd76e8b8a10f45f6d9c64e0 SHA512 f9ddb9e23b6a98b5c47714d90aeec96b495231bcd088a73a37cb40d841a1a230aa6647e2b97f8509e11f0f6f8704c459bd3d5f2ade569018d85a4e083fc2bad3 WHIRLPOOL 4e52a336ce57ae0756fe0f45b4a3930ff40385fcf58df4edcf1c552e8c8f5f80410b2583c97e87e0577f1da3f55eecc4930c73ba3dcc62c9134d97618424159b
|
||||
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
OASIS_BUILD_TESTS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="System-independent part of Core"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-ml/bin-prot-112.17.00:=
|
||||
>=dev-ml/fieldslib-109.20.00:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
>=dev-ml/sexplib-109.20.00:=
|
||||
>=dev-ml/variantslib-109.15.00:=
|
||||
>=dev-ml/typerep-111.17:=
|
||||
dev-ml/result:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST core_profiler-113.24.00.tar.gz 109484 SHA256 51e1f73c63e08e97c66a2ce582ef40c74f4f5fd69cf862f867b6c3468bd318ff SHA512 cf6e44fcbe04ad27c48849b7b63865c66456bfa69e603342e5d0fdcb53d734ad3fc9f5cdf275a2a8d0655c5aa3e139ffe14f8cf7ef3956730dc654ff677098ee WHIRLPOOL 3865966c29d978754a613c2dd0b0a3cb130b247c93b7af54eb06197ad19bb7f89da5d92177cfa4f12a5756f884333d09fa41bbc8eb6bf785f6cfc78f3951c9dc
|
||||
DIST core_profiler-113.33.00.tar.gz 109835 SHA256 f170ca83f1d30017755b88251c52a2cbe473d57e1229ba48db29fe886412ee54 SHA512 9ebdf6066f0501db3fc258a8b1e6c4bb904cad55194946f28dca17be6dfee3ff428b7e9b6d0563ac7114cc403aee1281253ef50b998a5e12aabbce6fde9e7deb WHIRLPOOL 8d6a927055d51c8be1d8ef3e64e44f266d4f4747dc6d1d20d84d858435d001d4187bbdb9ae05dae4fcd80b6d21391576312cbad5ee6c1779183af4ec564dd222
|
||||
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
OASIS_BUILD_DOCS=1
|
||||
OASIS_BUILD_TESTS=1
|
||||
|
||||
inherit eutils oasis
|
||||
|
||||
MY_P=${P/_/\~}
|
||||
DESCRIPTION="Jane Street's profiling library"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/core:=
|
||||
dev-ml/core_extended:=
|
||||
dev-ml/bin-prot:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/re2:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/textutils:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
DEPEND="${RDEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST incremental-113.24.00.tar.gz 129588 SHA256 9b9382f79c751e81d5a5b28574f592c1cb836d0e8628cbe002d15723026bc852 SHA512 5e8ccec168099a0d11109cd512b155aff8463aced168795d45458ced76930c534d1083442ea82d34cae0322c7dcd833c0a7e8ffba183bbaebaa6c148d8464ffc WHIRLPOOL 9267ce244b3a83b7ef456505dda08dc857cfc34ffb9c9b9993cab6fcdb9bf0ac2a610ec6e5708a2b1d6b8e9bc8369f9bd82c9f19e1c60fe6000640bc3f4b4cd5
|
||||
DIST incremental-113.33.00.tar.gz 71967 SHA256 55a1bae65226a713d6de638ac68efb6e7bac6c941ce348b47b8a5df682558ae2 SHA512 af356343c10272ce45bd1c65d8dd2a976300253969d7d2762f01442683dc200c034345faa48345e7f8186f5347da941d0edd71e02d9af6052fa31ec6920aedeb WHIRLPOOL 33bb0f46af5ecdf40a871625c16cdc90c1c4f7aa98a7af0bd3d298a736ad999940085211e508e8bf1de96475019cc768d7c945b27813438029a6e489f8047436
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Library for incremental computations"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-ml/bin-prot:=
|
||||
>=dev-ml/core-113.24:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_driver:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
dev-ml/incremental_kernel:=
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
DEPEND="${DEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST incremental_kernel-113.33.00.tar.gz 112965 SHA256 ada5dfa4a37b3eb11f85c7e38dad8eabab91db13346446b441c332218b921d6c SHA512 67a517eace7fe435fee7a0912720ad2b8f1fab587d1a2bdd8e9d3316044dfe0923ef1bf20aca7d8305260f0c18f3a401293dc8026cd9eb69f994d003bb36563f WHIRLPOOL 0bf8ba0d272608df287cd0fe08c308a4885fd4ec664fd3da2aaf6b1153d7c9b904ed9542e1048748fe557cfcef7cc970c57fb14004fc63a7f4cc5de782296d83
|
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Library for incremental computations depending only on Core_kernel"
|
||||
HOMEPAGE="http://www.janestreet.com/ocaml"
|
||||
SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-ml/bin-prot:=
|
||||
>=dev-ml/core_kernel-113.33:=
|
||||
dev-ml/fieldslib:=
|
||||
dev-ml/ppx_assert:=
|
||||
dev-ml/ppx_bench:=
|
||||
dev-ml/ppx_expect:=
|
||||
dev-ml/ppx_inline_test:=
|
||||
dev-ml/ppx_jane:=
|
||||
dev-ml/sexplib:=
|
||||
dev-ml/typerep:=
|
||||
dev-ml/variantslib:=
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
DEPEND="${DEPEND} dev-ml/opam"
|
||||
|
||||
src_configure() {
|
||||
emake setup.exe
|
||||
OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue