Sync with portage [Thu Mar 26 09:24:01 MSK 2020].

develop
root 4 years ago
parent ecfc81a6e5
commit b776d8cd20

Binary file not shown.

Binary file not shown.

@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>jonas.licht@gmail.com</email>
<name>Jonas Licht</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>jonas.licht@gmail.com</email>
<name>Jonas Licht</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -0,0 +1,131 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd
DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="puppetdb"
# will need the same keywords as puppet
KEYWORDS="amd64 x86"
RDEPEND+="
>=virtual/jdk-1.8.0
app-admin/puppet-agent[puppetdb?]"
DEPEND+="acct-user/puppet
acct-group/puppet"
src_prepare() {
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/redhat/puppetserver.service || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/bin/puppetserver || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' install.sh || die
sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
insinto /opt/puppetlabs/server/apps/puppetserver
insopts -m0774
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppet-server-release.jar
insinto /etc/puppetlabs/puppetserver
doins ext/config/logback.xml
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetserver/services.d
doins ext/system-config/services.d/bootstrap.cfg
doins ext/config/services.d/ca.cfg
insinto /etc/puppetlabs/puppetserver/conf.d
doins ext/config/conf.d/puppetserver.conf
doins ext/config/conf.d/auth.conf
doins ext/config/conf.d/global.conf
doins ext/config/conf.d/web-routes.conf
doins ext/config/conf.d/metrics.conf
doins ext/config/conf.d/webserver.conf
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetserver/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
doins ext/cli/ca
doins ext/cli/irb
doins ext/cli/foreground
doins ext/cli/gem
doins ext/cli/ruby
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetserver/cli
doins ext/cli_defaults/cli-defaults.sh
insinto /opt/puppetlabs/server/apps/puppetserver/bin
doins ext/bin/puppetserver
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
dosym ../../opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
dodir /opt/puppetlabs/server/apps/puppetserver/config/services.d
# other sys stuff
dodir /etc/puppetlabs/code
# needed for systemd
dodir /var/log/puppetlabs/puppetserver
dodir /etc/puppetlabs/puppet/ssl
fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
fperms -R 771 /etc/puppetlabs/puppet/ssl
# systemd type things
insinto /etc/systemd/system/puppetserver.service.d/
systemd_dounit ext/redhat/puppetserver.service
insinto /etc/default
newins ext/default puppetserver
# normal init type tasks
dosym ../default/puppetserver /etc/conf.d/puppetserver
newinitd "${FILESDIR}/puppetserver.init-r1" puppetserver
# misc
insinto /etc/logrotate.d
newins ext/puppetserver.logrotate.conf puppetserver
# cleanup
dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
fowners -R puppet:puppet /opt/puppetlabs/server/data
fperms -R 775 /opt/puppetlabs/server/data/puppetserver
fperms -R 700 /var/log/puppetlabs/puppetserver
insinto /opt/puppetlabs/server/data
doins ext/build-scripts/jruby-gem-list.txt
doins ext/build-scripts/mri-gem-list-no-dependencies.txt
insopts -m 0644
insinto /usr/lib/tmpfiles.d
newins ext/puppetserver.tmpfiles.conf puppetserver.conf
}
pkg_postinst() {
elog "to install you may want to run the following:"
elog
elog "puppet config set --section master vardir /opt/puppetlabs/server/data/puppetserver"
elog "puppet config set --section master logdir /var/log/puppetlabs/puppetserver"
elog "puppet config set --section master rundir /run/puppetlabs/puppetserver"
elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
elog "puppet config set --section master codedir /etc/puppetlabs/code"
elog
elog "# install puppetserver gems"
elog "cd /opt/puppetlabs/server/apps/puppetserver"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-document \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/jruby-gem-list.txt"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/puppet/lib/ruby/vendor_gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-document --ignore-dependencies \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/mri-gem-list-no-dependencies.txt"
}

Binary file not shown.

@ -0,0 +1,50 @@
From 13f0260beae851f7d5dd96e9ef757d8d6d7daac1 Mon Sep 17 00:00:00 2001
From: Mark Adler <madler@alumni.caltech.edu>
Date: Sun, 9 Feb 2020 07:20:13 -0800
Subject: [PATCH] Fix false overlapped components detection on 32-bit systems.
32-bit systems with ZIP64_SUPPORT enabled could have different
size types for zoff_t and zusz_t. That resulted in bad parameter
passing to the bound tracking functions, itself due to the lack of
use of C function prototypes in unzip. This commit assures that
parameters are cast properly for those calls.
This problem occurred only for ill-chosen make options, which give
a 32-bit zoff_t. A proper build will result in a zoff_t of 64 bits,
even on 32-bit systems.
---
extract.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/extract.c b/extract.c
index 1b73cb0..d9866f9 100644
--- a/extract.c
+++ b/extract.c
@@ -329,7 +329,7 @@ static ZCONST char Far OverlappedComponents[] =
/* A growable list of spans. */
-typedef zoff_t bound_t;
+typedef zusz_t bound_t;
typedef struct {
bound_t beg; /* start of the span */
bound_t end; /* one past the end of the span */
@@ -518,7 +518,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
return PK_MEM;
}
if ((G.extra_bytes != 0 &&
- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
+ cover_add((cover_t *)G.cover,
+ (bound_t)0, (bound_t)G.extra_bytes) != 0) ||
(G.ecrec.have_ecr64 &&
cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
G.ecrec.ec64_end) != 0) ||
@@ -1216,7 +1217,7 @@ static int extract_or_test_entrylist(__G__ numchunk,
/* seek_zipf(__G__ pInfo->offset); */
request = G.pInfo->offset + G.extra_bytes;
- if (cover_within((cover_t *)G.cover, request)) {
+ if (cover_within((cover_t *)G.cover, (bound_t)request)) {
Info(slide, 0x401, ((char *)slide,
LoadFarString(OverlappedComponents)));
return PK_BOMB;

@ -32,6 +32,7 @@ src_prepare() {
eapply "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
eapply "${FILESDIR}"/${PN}-6.0-format-security.patch
eapply "${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch
use natspec && eapply "${FILESDIR}/${PN}-6.0-natspec.patch" #275244
sed -i -r \
-e '/^CFLAGS/d' \

Binary file not shown.

@ -38,7 +38,7 @@ DEPEND="
dev-libs/lzo[static-libs]
sys-libs/ncurses:=[static-libs]
sys-libs/zlib[static-libs]
acl? ( virtual/acl[static-libs] )
acl? ( virtual/acl[static-libs(+)] )
ssl? (
!libressl? ( dev-libs/openssl:0=[static-libs] )
libressl? ( dev-libs/libressl:0=[static-libs] )

@ -0,0 +1 @@
DIST borgmatic-1.5.1.tar.gz 67401 BLAKE2B c11f4b9f9acc7d7bf4e482953968dbaabc33f1513ec8f20868518bca22ffcafee90569c06ec603be919d47d724dd4a3a904e44fbb40c2309d8cb78e9277b5cc7 SHA512 9ded9bd5d6db866d196fedee88737f3d3eef6cb0e61c5f55ac543602c4429adcb57608d7f6c798edfd6ac1ecd14aadd9a88fdf94ef1f0eab4c26a9d2a29c5e38

@ -0,0 +1,62 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS="rdepend"
inherit distutils-r1
DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
HOMEPAGE="https://torsion.org/borgmatic/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="${PYTHON_DEPS}
dev-python/colorama[${PYTHON_USEDEP}]
>=dev-python/pykwalify-1.6.0[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
<dev-python/ruamel-yaml-0.17.0"[${PYTHON_USEDEP}]
RDEPEND="${DEPEND}
app-backup/borgbackup"
BDEPEND="test? (
${DEPEND}
dev-python/flexmock[${PYTHON_USEDEP}]
)"
PATCHES=(
"${FILESDIR}"/${PN}-1.5.1-no_test_coverage.patch
)
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
# Unlike the other two test files in integration/commands, which use the
# relevant modules' respective APIs, test_borgmatic.py tries to call the
# 'borgmatic' executable - which has not even been created by now.
# Seeing as the only test run from this file as of 2020-03-25 is the
# parsing of contents of 'borgmatic --version', just skip it for now.
rm -f "${S}"/tests/integration/commands/test_borgmatic.py
}
src_install() {
distutils-r1_src_install
keepdir /etc/borgmatic
# TODO: install systemd units (and explain them in postinst); need patching
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
elog "To generate a sample configuration file, run:"
elog " generate-borgmatic-config"
else
elog "To upgrade your configuration file to the current version, run:"
elog " upgrade-borgmatic-config"
fi
}

@ -0,0 +1,11 @@
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,7 +3,7 @@
[tool:pytest]
testpaths = tests
-addopts = --cov-report term-missing:skip-covered --cov=borgmatic --ignore=tests/end-to-end
+addopts = --ignore=tests/end-to-end
filterwarnings =
ignore:Coverage disabled.*:pytest.PytestWarning

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
<upstream>
<remote-id type="github">witten/borgmatic</remote-id>
<remote-id type="pypi">borgmatic</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,2 +1,3 @@
DIST isomaster-1.3.13.tar.bz2 245085 BLAKE2B ae2333f5511aae8deed76e556cf6055f7ad257d613dcf5c85274946f31f0da879b5fb7953d065046371c6f20faa15663ecb3c5d976c4dff404140cd09d23207c SHA512 dbc6a77fabf8d454bbde25a7540e68820bf773bc991176e5684e87aeb6044ad1bbbcf1c4f537148c18ec8847572949a52d6578a14f68b8ad3f21d542685859ba
DIST isomaster-1.3.14.tar.bz2 257674 BLAKE2B 7b7abeb586eb8c6964d7959222195c1999f81275dea305e7c4efec1fef6dd9d9d4969552e6a6a4a882a9fe227ea072c6639879896e50799db9e67732e1331ad4 SHA512 5454baa4ce4e09df8ec4331718df3e1d81c0647867a21cfc4c4b15d90e509371a636e8fada7e624c0cf6d1b03b564bf89a2a26e13b5ec1b4cca91407bbc518f5
DIST isomaster-1.3.15.tar.bz2 251622 BLAKE2B 9a3dd4e4a0d6aa0ff5b76774322e2f66257dda18e01835cad911f7abaa83584de1388a6c21bed8a8c8b5b9e94d4a2f23801e656b2586cb24b38b5aa4ca074c15 SHA512 08d4b12ba1f35e8fdca75b05b3125b046a03e1f1dab6876226b45c76e8a40fa78296854e8142a0864402563913af4c935ffe338777b593026e40e121b4089661

@ -0,0 +1,73 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs xdg-utils
DESCRIPTION="Graphical CD image editor for reading, modifying and writing ISO images"
HOMEPAGE="http://littlesvr.ca/isomaster"
SRC_URI="http://littlesvr.ca/${PN}/releases/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="nls"
RDEPEND=">=dev-libs/iniparser-4.1:4
x11-libs/gtk+:2"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( >=sys-devel/gettext-0.19.1 )" # bug 512448
PATCHES=(
"${FILESDIR}"/${PN}-1.3.14-include-path.patch
)
pkg_setup() {
myisoconf=(
DEFAULT_EDITOR=leafpad
MYDOCPATH=/usr/share/doc/${PF}/bkisofs
USE_SYSTEM_INIPARSER=1
LIB_INIPARSER=iniparser4
PREFIX=/usr
)
use nls || myisoconf+=( WITHOUT_NLS=1 )
}
src_prepare() {
default
rm -f configure || die #274361
rm -R iniparser-4.1 || die
}
src_compile() {
tc-export CC
emake "${myisoconf[@]}"
}
_apply_linguas() {
mv "${D}"/usr/share/locale{,_ALL} || die
dodir /usr/share/locale
for lingua in ${LINGUAS}; do
[[ -d "${D}"/usr/share/locale_ALL/${lingua} ]] || break
mv "${D}"/usr/share/{locale_ALL/${lingua},locale/} || die
done
rm -R "${D}"/usr/share/locale_ALL || die
}
src_install() {
emake "${myisoconf[@]}" DESTDIR="${D}" install
dodoc {CHANGELOG,CREDITS,README,TODO}.TXT *.txt
use nls && _apply_linguas # bug 402679, bug 512448
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}

Binary file not shown.

@ -1,5 +1,2 @@
DIST ibus-1.5.18.tar.gz 2760121 BLAKE2B dfcf549362ac9ac0cb9adb9cedc3fd7146877a42e0e086ad7be18ccb6239868ed940d2c371d83c2e2706c7120702af0bcb0106da60889f0b3d5857b8929b9165 SHA512 34519c3464eaf2cac3320e1568fc76f4edb281afa70f335c015b828ff4e86b3224d77b95cdc0b2e76e42459c54b1044264ff226963fe739dd553ac7326d2f2d3
DIST ibus-1.5.19.tar.gz 2842274 BLAKE2B a5aea4770c1c0a58a9e0b1aa26f47a8ab9eb5060a0c06179663984c5b531464ff4575a8ece2f2ee2122f777ca615296c1e46ad4833c68ba2da038f2b85dea374 SHA512 ddcd464c9afb6d081df1cfac65069506877eb4818c3ba5594bcf76f3c6795ef6c17177a778dc89b2ef69d10d87297aa12c8e04f156b750e500b51b32787bd9fc
DIST ibus-1.5.20.tar.gz 3393487 BLAKE2B 0ed930cbadf7ecf9fa82ee2c0e2a8aa8cfb25a8dc1a2e2ffef0d4f894df31f879f08d7ed14508736836545cbc25b929707939c3b0ea53f2b44ba7489d6dc80ed SHA512 2bbcc19742882fa55d9c8704251f133c5be9f36a93cf52d70c460a4713419868deb634f965e67c1d5c45b615de388b92c0fbb863b118a546fbb89370a38eb77b
DIST ibus-1.5.21.tar.gz 3463069 BLAKE2B 75b9e7cc4d84b69941d53321da1fe63ad911740a36ed51c7fceaa2a7bc30f6ae39d3f575b4b5fc4268d7c3b3e1c0bae11881dd7a8b7bd441ecf89c83c7279858 SHA512 c7c06e13e78fb4d4d26ce8975b6db4f7914efb325a903999a82197229e13d5ebb4afc876ef67e1d86db58f08c16350dc095aaea050b2f69c2bfc4c452adc5331
DIST ibus-1.5.22.tar.gz 3578251 BLAKE2B 08ad72bd455d2841700b11a4ade88e2b9768433f86bac4baf20db882580b10a4705f545a845a03d3b4196a75c43d33c51ffd31a3516d71030f891ce48dce69c2 SHA512 0abe89acc6da8cea484a6b9f807c08e94869072f374f9e8f4541a426636f818f1c3cb8b9237f97245771f9e4bf19184983d8ac924177dc4824ca6e8b5304425d

@ -1,62 +0,0 @@
From 4b4fe00cc2750713ef8d2bc0a9f396ab577c36fc Mon Sep 17 00:00:00 2001
From: Naohiro Aota <naota@gentoo.org>
Date: Thu, 4 Oct 2018 18:14:17 +0900
Subject: [PATCH] src/tests: Enable GSettings in runtest in ibus-1.5.18
This patch is based on:
https://github.com/ibus/ibus/commit/10cc30eac200d10b581d9d2122d5a732f4880943
Signed-off-by: Naohiro Aota <naota@gentoo.org>
---
src/tests/runtest | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/tests/runtest b/src/tests/runtest
index 0e43fee..84d85ab 100755
--- a/src/tests/runtest
+++ b/src/tests/runtest
@@ -29,6 +29,7 @@ ibus-engine-switch
ibus-compose
test-stress
"
+IBUS_SCHEMA_FILE='org.freedesktop.ibus.gschema.xml'
# Portable replacement of basename.
func_basename () {
@@ -80,6 +81,12 @@ trap 'func_cleanup $tstdir' 1 2 3 15
tst=$1; shift
tstdir=tmp-`func_basename $tst`
+# IBusEngine has GSettings
+if test ! -f "$top_builddir/data/dconf/$IBUS_SCHEMA_FILE" ; then
+ echo "NOT FOUND $top_builddir/data/dconf/$IBUS_SCHEMA_FILE"
+ exit -1
+fi
+
test -d $tstdir || mkdir $tstdir
( cd $tstdir
@@ -101,6 +108,20 @@ test -d $tstdir || mkdir $tstdir
IBUS_ADDRESS_FILE=$PWD/ibus-daemon.pid
export IBUS_ADDRESS_FILE
+ cp "../$top_builddir/data/dconf/$IBUS_SCHEMA_FILE" $PWD
+ glib-compile-schemas $PWD
+ if test $? -ne 0 ; then
+ echo "FAILED glib-compile-schemas"
+ retval=1
+ return
+ fi
+ if test ! -f $PWD/gschemas.compiled ; then
+ echo "NOT FOUND $PWD/gschemas.compiled"
+ retval=1
+ return
+ fi
+ export GSETTINGS_SCHEMA_DIR=$PWD
+
# Start ibus-daemon.
../$top_builddir/bus/ibus-daemon \
--daemonize \
--
2.19.0

@ -1,88 +0,0 @@
From aa0f4252ff965729b871c91b4ed089bf98963c0b Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Fri, 10 Aug 2018 15:43:58 +0900
Subject: [PATCH] ui/gtk3: Check if gdk-wayland is installed
BUG=https://github.com/ibus/ibus/issues/2035
---
configure.ac | 10 ++++++++++
ui/gtk3/Makefile.am | 5 ++++-
ui/gtk3/panelbinding.vala | 5 +++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 091e20f2..4b6a7a21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -237,12 +237,21 @@ if test x"$enable_gtk3" = x"yes"; then
PKG_CHECK_MODULES(GTK3, [
gtk+-3.0
])
+ PKG_CHECK_EXISTS([gdk-wayland-3.0],
+ [enable_gdk3_wayland=yes],
+ [enable_gdk3_wayland=no]
+ )
gtk3_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
GTK3_IM_MODULEDIR="$libdir"/gtk-3.0/$gtk3_binary_version/immodules
else
enable_gtk3="no (disabled, use --enable-gtk3 to enable)"
+ enable_gdk3_wayland=no
+fi
+if test x"$enable_gdk3_wayland" != x"yes"; then
+ enable_gdk3_wayland="no (disabled, need to install gdk-wayland-3.0.pc)"
fi
+AM_CONDITIONAL([ENABLE_GDK3_WAYLAND], [test x"$enable_gdk3_wayland" = x"yes"])
if test x"$enable_xim" = x"yes"; then
# Check for x11
@@ -785,6 +794,7 @@ Build options:
Build gtk3 immodule $enable_gtk3
Build XIM agent server $enable_xim
Build wayland support $enable_wayland
+ Build gdk3 wayland support $enable_gdk3_wayland
Build appindicator support $enable_appindicator
Build appindicator engine icon $enable_appindicator_engine_icon
Build python library $enable_python_library
diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
index aaba7a4d..6ebc96ce 100644
--- a/ui/gtk3/Makefile.am
+++ b/ui/gtk3/Makefile.am
@@ -78,7 +78,6 @@ AM_VALAFLAGS = \
--pkg=ibus-1.0 \
--pkg=config \
--pkg=xi \
- --pkg=gdk-wayland \
--target-glib="$(VALA_TARGET_GLIB_VERSION)" \
$(NULL)
@@ -105,6 +104,10 @@ if ENABLE_APPINDICATOR_ENGINE_ICON
AM_VALAFLAGS += --define=INDICATOR_ENGINE_ICON
endif
+if ENABLE_GDK3_WAYLAND
+AM_VALAFLAGS += --pkg=gdk-wayland --define=USE_GDK_WAYLAND
+endif
+
libexec_PROGRAMS = ibus-ui-gtk3
ibus_ui_gtk3_SOURCES = \
diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala
index 95115b13..981b5509 100644
--- a/ui/gtk3/panelbinding.vala
+++ b/ui/gtk3/panelbinding.vala
@@ -237,9 +237,14 @@ class PanelBinding : IBus.PanelService {
GLib.Object(connection : bus.get_connection(),
object_path : IBus.PATH_PANEL_EXTENSION_EMOJI);
+#if USE_GDK_WAYLAND
Type instance_type = Gdk.Display.get_default().get_type();
Type wayland_type = typeof(GdkWayland.Display);
m_is_wayland = instance_type.is_a(wayland_type);
+#else
+ m_is_wayland = false;
+ warning("Checking Wayland is disabled");
+#endif
m_bus = bus;
m_application = application;

@ -1,191 +0,0 @@
From 4d7c1e00e15921a0448947961183c1c124b6b49f Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Tue, 29 Jan 2019 17:57:16 +0900
Subject: [PATCH] Delete weak pointer in GList.SList for vala 0.43.4
Vala 0.43.4 does not allow to convert a weak pointer to the full one in SList.
emojier.vala:424.36-425.73: error: Assignment: Cannot convert from
`GLib.SList<weak IBus.EmojiData>' to `GLib.SList<IBus.EmojiData>?'
emojier.vala:636.9-637.69: error: Assignment: Cannot convert from
`GLib.SList<weak IBus.UnicodeBlock>' to `GLib.SList<IBus.UnicodeBlock>'
panel.vala:526.36-526.65: error: Assignment: Cannot convert from
`GLib.List<weak IBus.EngineDesc>' to `GLib.List<IBus.EngineDesc>?'
---
src/ibusbus.h | 11 ++++++-----
src/ibusemoji.h | 6 +++---
src/ibusunicode.h | 8 ++++----
ui/gtk3/emojier.vala | 24 ++++++++++++++++--------
4 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/src/ibusbus.h b/src/ibusbus.h
index dff3dfb7..fddcf5b2 100644
--- a/src/ibusbus.h
+++ b/src/ibusbus.h
@@ -2,7 +2,8 @@
/* vim:set et sts=4: */
/* ibus - The Input Bus
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
- * Copyright (C) 2008-2013 Red Hat, Inc.
+ * Copyright (C) 2013-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright (C) 2008-2019 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -692,7 +693,7 @@ gboolean ibus_bus_register_component_async_finish
*
* List engines synchronously.
*
- * Returns: (transfer container) (element-type IBusEngineDesc):
+ * Returns: (transfer full) (element-type IBusEngineDesc):
* A List of engines.
*/
GList *ibus_bus_list_engines (IBusBus *bus);
@@ -725,7 +726,7 @@ void ibus_bus_list_engines_async
*
* Finishes an operation started with ibus_bus_list_engines_async().
*
- * Returns: (transfer container) (element-type IBusEngineDesc):
+ * Returns: (transfer full) (element-type IBusEngineDesc):
* A List of engines.
*/
GList *ibus_bus_list_engines_async_finish
@@ -740,7 +741,7 @@ GList *ibus_bus_list_engines_async_finish
*
* List active engines synchronously.
*
- * Returns: (transfer container) (element-type IBusEngineDesc):
+ * Returns: (transfer full) (element-type IBusEngineDesc):
* A List of active engines.
*
* Deprecated: 1.5.3: Read dconf value
@@ -782,7 +783,7 @@ void ibus_bus_list_active_engines_async
*
* Finishes an operation started with ibus_bus_list_active_engines_async().
*
- * Returns: (transfer container) (element-type IBusEngineDesc):
+ * Returns: (transfer full) (element-type IBusEngineDesc):
* A List of active engines.
*
* Deprecated: 1.5.3: Read dconf value
diff --git a/src/ibusemoji.h b/src/ibusemoji.h
index 4edee726..5e9fbcf4 100644
--- a/src/ibusemoji.h
+++ b/src/ibusemoji.h
@@ -1,8 +1,8 @@
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
/* vim:set et sts=4: */
/* bus - The Input Bus
- * Copyright (C) 2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2017 Red Hat, Inc.
+ * Copyright (C) 2017-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright (C) 2017-2019 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -209,7 +209,7 @@ void ibus_emoji_data_save (const gchar *path,
* ibus_emoji_data_load:
* @path: A path of the saved dictionary file.
*
- * Returns: (element-type IBusEmojiData) (transfer container):
+ * Returns: (element-type IBusEmojiData) (transfer full):
* An #IBusEmojiData list loaded from the saved cache file.
*/
GSList * ibus_emoji_data_load (const gchar *path);
diff --git a/src/ibusunicode.h b/src/ibusunicode.h
index 99de9451..473bdb19 100644
--- a/src/ibusunicode.h
+++ b/src/ibusunicode.h
@@ -1,8 +1,8 @@
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
/* vim:set et sts=4: */
/* bus - The Input Bus
- * Copyright (C) 2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2018 Red Hat, Inc.
+ * Copyright (C) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright (C) 2018-2019 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -201,7 +201,7 @@ void ibus_unicode_data_save (const gchar *path,
* #IBusUnicodeData, * the total number of #IBusUnicodeData) of uint values
* with that signal by 100 times. Otherwise %NULL.
*
- * Returns: (element-type IBusUnicodeData) (transfer container):
+ * Returns: (element-type IBusUnicodeData) (transfer full):
* An #IBusUnicodeData list loaded from the saved cache file.
*/
GSList * ibus_unicode_data_load (const gchar *path,
@@ -290,7 +290,7 @@ void ibus_unicode_block_save (const gchar *path,
* ibus_unicode_block_load:
* @path: A path of the saved dictionary file.
*
- * Returns: (element-type IBusUnicodeBlock) (transfer container):
+ * Returns: (element-type IBusUnicodeBlock) (transfer full):
* An #IBusUnicodeBlock list loaded from the saved cache file.
*/
GSList * ibus_unicode_block_load (const gchar *path);
diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala
index 0b9b54a9..aedeb4cb 100644
--- a/ui/gtk3/emojier.vala
+++ b/ui/gtk3/emojier.vala
@@ -2,7 +2,7 @@
*
* ibus - The Input Bus
*
- * Copyright (c) 2017-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright (c) 2017-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -882,8 +882,13 @@ public class IBusEmojier : Gtk.ApplicationWindow {
update_unicode_blocks();
return;
} else {
- unowned GLib.SList<unowned string> emojis =
- m_category_to_emojis_dict.lookup(category);
+ // Use copy_deep() since vala 0.43.4 does not allow to assign
+ // a weak pointer to the full one in SList:
+ // emojier.vala:885.48-886.62: error: Assignment: Cannot convert
+ // from `GLib.SList<string>' to `GLib.SList<weak string>?'
+ GLib.SList<string> emojis =
+ m_category_to_emojis_dict.lookup(category).copy_deep(
+ GLib.strdup);
m_lookup_table.clear();
m_candidate_panel_mode = true;
foreach (unowned string emoji in emojis) {
@@ -1547,8 +1552,8 @@ public class IBusEmojier : Gtk.ApplicationWindow {
m_vbox.add(widget);
widget.show_all();
}
- unowned GLib.SList<unowned string>? annotations =
- data.get_annotations();
+ GLib.SList<string> annotations =
+ data.get_annotations().copy_deep(GLib.strdup);
var buff = new GLib.StringBuilder();
int i = 0;
foreach (unowned string annotation in annotations) {
@@ -2001,17 +2006,20 @@ public class IBusEmojier : Gtk.ApplicationWindow {
) as IBus.EmojiData;
m_emoji_to_data_dict.insert(favorite, new_data);
} else {
- unowned GLib.SList<string> annotations = data.get_annotations();
+ GLib.SList<string> annotations =
+ data.get_annotations().copy_deep(GLib.strdup);
if (annotations.find_custom(annotation, GLib.strcmp) == null) {
annotations.append(annotation);
- data.set_annotations(annotations.copy());
+ data.set_annotations(annotations.copy_deep(GLib.strdup));
}
}
unowned GLib.SList<string> emojis =
m_annotation_to_emojis_dict.lookup(annotation);
if (emojis.find_custom(favorite, GLib.strcmp) == null) {
emojis.append(favorite);
- m_annotation_to_emojis_dict.replace(annotation, emojis.copy());
+ m_annotation_to_emojis_dict.replace(
+ annotation,
+ emojis.copy_deep(GLib.strdup));
}
}
}

@ -1,189 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_6} )
VALA_MIN_API_VERSION="0.34"
VALA_MAX_API_VERSION="0.42"
VALA_USE_DEPEND="vapigen"
inherit autotools bash-completion-r1 gnome2-utils python-r1 vala virtualx xdg-utils
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
HOMEPAGE="https://github.com/ibus/ibus/wiki"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ia64 ppc ppc64 sparc x86"
IUSE="+X +emoji gconf +gtk +gtk2 +introspection kde +libnotify nls +python test +unicode vala wayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="emoji? ( gtk )
gtk2? ( gtk )
kde? ( gtk )
libnotify? ( gtk )
python? (
${PYTHON_REQUIRED_USE}
introspection
)
test? ( gtk )
vala? ( introspection )"
CDEPEND="app-text/iso-codes
dev-libs/glib:2
gnome-base/dconf
gnome-base/librsvg:2
sys-apps/dbus[X?]
X? (
x11-libs/libX11
!gtk? ( x11-libs/gtk+:2 )
)
gconf? ( gnome-base/gconf:2 )
gtk? (
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXi
gtk2? ( x11-libs/gtk+:2 )
)
introspection? ( dev-libs/gobject-introspection )
kde? ( dev-qt/qtgui:5 )
libnotify? ( x11-libs/libnotify )
nls? ( virtual/libintl )
python? (
${PYTHON_DEPS}
dev-python/pygobject:3[${PYTHON_USEDEP}]
)
wayland? (
dev-libs/wayland
x11-libs/libxkbcommon
)"
RDEPEND="${CDEPEND}
python? (
gtk? (
x11-libs/gtk+:3[introspection]
)
)"
DEPEND="${CDEPEND}
$(vala_depend)
dev-util/intltool
virtual/pkgconfig
emoji? (
app-i18n/unicode-cldr
app-i18n/unicode-emoji
)
nls? ( sys-devel/gettext )
unicode? ( app-i18n/unicode-data )"
PATCHES=( "${FILESDIR}"/${P}-enable-gsettings-in-runtest.patch )
src_prepare() {
vala_src_prepare --ignore-use
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
if ! use emoji; then
touch \
tools/main.vala \
ui/gtk3/panel.vala
fi
if ! use kde; then
touch ui/gtk3/panel.vala
fi
if ! use libnotify; then
touch ui/gtk3/panel.vala
fi
# for multiple Python implementations
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am
# fix for parallel install
sed -i \
-e "/^py2_compile/,/^$/d" \
-e "/^install-data-hook/,/^$/d" \
bindings/pygobject/Makefile.am
# require user interaction
sed -i "/^TESTS += ibus-compose/d" src/tests/Makefile.am
sed -i "/^bash_completion/d" tools/Makefile.am
default
eautoreconf
xdg_environment_reset
}
src_configure() {
local unicodedir="${EPREFIX}"/usr/share/unicode
local python_conf=()
if use python; then
python_setup
python_conf+=(
$(use_enable gtk setup)
--with-python=${EPYTHON}
)
else
python_conf+=( --disable-setup )
fi
econf \
$(use_enable X xim) \
$(use_enable emoji emoji-dict) \
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji) \
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations) \
$(use_enable gconf) \
$(use_enable gtk gtk3) \
$(use_enable gtk ui) \
$(use_enable gtk2) \
$(use_enable introspection) \
$(use_enable kde appindicator) \
$(use_enable libnotify) \
$(use_enable nls) \
$(use_enable test tests) \
$(use_enable unicode unicode-dict) \
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") \
$(use_enable vala) \
$(use_enable wayland) \
"${python_conf[@]}"
}
src_test() {
unset DBUS_SESSION_BUS_ADDRESS
virtx emake -j1 check
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
if use python; then
python_install() {
emake -C bindings/pygobject \
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
DESTDIR="${D}" \
install
}
python_foreach_impl python_install
fi
keepdir /usr/share/ibus/engine
newbashcomp tools/${PN}.bash ${PN}
insinto /etc/X11/xinit/xinput.d
newins xinput-${PN} ${PN}.conf
}
pkg_preinst() {
use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gconf && gnome2_gconf_install
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
dconf update
}
pkg_postrm() {
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
}

@ -1,193 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python{2_7,3_6,3_7} )
VALA_MIN_API_VERSION="0.34"
VALA_MAX_API_VERSION="0.42"
VALA_USE_DEPEND="vapigen"
inherit autotools bash-completion-r1 gnome2-utils python-r1 vala virtualx xdg-utils
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
HOMEPAGE="https://github.com/ibus/ibus/wiki"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ia64 ppc ppc64 sparc x86"
IUSE="+X +emoji gconf +gtk +gtk2 +introspection kde +libnotify nls +python test +unicode vala wayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="emoji? ( gtk )
gtk2? ( gtk )
kde? ( gtk )
libnotify? ( gtk )
python? (
${PYTHON_REQUIRED_USE}
introspection
)
test? ( gtk )
vala? ( introspection )"
CDEPEND="app-text/iso-codes
dev-libs/glib:2
gnome-base/dconf
gnome-base/librsvg:2
sys-apps/dbus[X?]
X? (
x11-libs/libX11
!gtk? ( x11-libs/gtk+:2 )
)
gconf? ( gnome-base/gconf:2 )
gtk? (
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXi
gtk2? ( x11-libs/gtk+:2 )
)
introspection? ( dev-libs/gobject-introspection )
kde? ( dev-qt/qtgui:5 )
libnotify? ( x11-libs/libnotify )
nls? ( virtual/libintl )
python? (
${PYTHON_DEPS}
dev-python/pygobject:3[${PYTHON_USEDEP}]
)
wayland? (
dev-libs/wayland
x11-libs/libxkbcommon
)"
RDEPEND="${CDEPEND}
python? (
gtk? (
x11-libs/gtk+:3[introspection]
)
)"
DEPEND="${CDEPEND}
$(vala_depend)
dev-util/glib-utils
dev-util/intltool
virtual/pkgconfig
emoji? (
app-i18n/unicode-cldr
app-i18n/unicode-emoji
)
nls? ( sys-devel/gettext )
unicode? ( app-i18n/unicode-data )"
PATCHES=(
"${FILESDIR}"/${P}-gdk-wayland.patch
"${FILESDIR}"/${P}-vala-0.43.4.patch
)
src_prepare() {
vala_src_prepare --ignore-use
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
if ! has_version 'x11-libs/gtk+:3[wayland]'; then
touch ui/gtk3/panelbinding.vala
fi
if ! use emoji; then
touch \
tools/main.vala \
ui/gtk3/panel.vala
fi
if ! use kde; then
touch ui/gtk3/panel.vala
fi
if ! use libnotify; then
touch ui/gtk3/panel.vala
fi
# for multiple Python implementations
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am
# fix for parallel install
sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am
# require user interaction
sed -i "/^TESTS += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am
sed -i "/^bash_completion/d" tools/Makefile.am
default
eautoreconf
xdg_environment_reset
}
src_configure() {
local unicodedir="${EPREFIX}"/usr/share/unicode
local python_conf=()
if use python; then
python_setup
python_conf+=(
$(use_enable gtk setup)
--with-python=${EPYTHON}
)
else
python_conf+=( --disable-setup )
fi
econf \
$(use_enable X xim) \
$(use_enable emoji emoji-dict) \
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji) \
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations) \
$(use_enable gconf) \
$(use_enable gtk gtk3) \
$(use_enable gtk ui) \
$(use_enable gtk2) \
$(use_enable introspection) \
$(use_enable kde appindicator) \
$(use_enable libnotify) \
$(use_enable nls) \
$(use_enable test tests) \
$(use_enable unicode unicode-dict) \
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") \
$(use_enable vala) \
$(use_enable wayland) \
"${python_conf[@]}"
}
src_test() {
unset DBUS_SESSION_BUS_ADDRESS
virtx emake -j1 check
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
if use python; then
python_install() {
emake -C bindings/pygobject \
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
DESTDIR="${D}" \
install
}
python_foreach_impl python_install
fi
keepdir /usr/share/ibus/engine
newbashcomp tools/${PN}.bash ${PN}
insinto /etc/X11/xinit/xinput.d
newins xinput-${PN} ${PN}.conf
}
pkg_preinst() {
use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gconf && gnome2_gconf_install
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
dconf update
}
pkg_postrm() {
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
}

@ -1,181 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_6,3_7} )
VALA_MIN_API_VERSION="0.34"
VALA_USE_DEPEND="vapigen"
inherit autotools bash-completion-r1 gnome2-utils python-r1 vala virtualx xdg-utils
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
HOMEPAGE="https://github.com/ibus/ibus/wiki"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ia64 ppc ppc64 sparc x86"
IUSE="+X +emoji gconf +gtk +gtk2 +introspection kde nls +python test +unicode vala wayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="emoji? ( gtk )
gtk2? ( gtk )
kde? ( gtk )
python? (
${PYTHON_REQUIRED_USE}
introspection
)
test? ( gtk )
vala? ( introspection )"
CDEPEND="app-text/iso-codes
dev-libs/glib:2
gnome-base/dconf
gnome-base/librsvg:2
sys-apps/dbus[X?]
X? (
x11-libs/libX11
!gtk? ( x11-libs/gtk+:2 )
)
gconf? ( gnome-base/gconf:2 )
gtk? (
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXi
gtk2? ( x11-libs/gtk+:2 )
)
introspection? ( dev-libs/gobject-introspection )
kde? ( dev-qt/qtgui:5 )
nls? ( virtual/libintl )
python? (
${PYTHON_DEPS}
dev-python/pygobject:3[${PYTHON_USEDEP}]
)
wayland? (
dev-libs/wayland
x11-libs/libxkbcommon
)"
RDEPEND="${CDEPEND}
python? (
gtk? (
x11-libs/gtk+:3[introspection]
)
)"
DEPEND="${CDEPEND}
$(vala_depend)
dev-util/glib-utils
virtual/pkgconfig
emoji? (
app-i18n/unicode-cldr
app-i18n/unicode-emoji
)
nls? ( sys-devel/gettext )
unicode? ( app-i18n/unicode-data )"
src_prepare() {
vala_src_prepare --ignore-use
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
if ! has_version 'x11-libs/gtk+:3[wayland]'; then
touch ui/gtk3/panelbinding.vala
fi
if ! use emoji; then
touch \
tools/main.vala \
ui/gtk3/panel.vala
fi
if ! use kde; then
touch ui/gtk3/panel.vala
fi
# for multiple Python implementations
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am
# fix for parallel install
sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am
# require user interaction
sed -i "/^TESTS += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am
sed -i "/^bash_completion/d" tools/Makefile.am
default
eautoreconf
xdg_environment_reset
}
src_configure() {
local unicodedir="${EPREFIX}"/usr/share/unicode
local python_conf=()
if use python; then
python_setup
python_conf+=(
$(use_enable gtk setup)
--with-python=${EPYTHON}
)
else
python_conf+=( --disable-setup )
fi
econf \
$(use_enable X xim) \
$(use_enable emoji emoji-dict) \
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji) \
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations) \
$(use_enable gconf) \
$(use_enable gtk gtk3) \
$(use_enable gtk ui) \
$(use_enable gtk2) \
$(use_enable introspection) \
$(use_enable kde appindicator) \
$(use_enable nls) \
$(use_enable test tests) \
$(use_enable unicode unicode-dict) \
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") \
$(use_enable vala) \
$(use_enable wayland) \
"${python_conf[@]}"
}
src_test() {
unset DBUS_SESSION_BUS_ADDRESS
virtx emake -j1 check
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
if use python; then
python_install() {
emake -C bindings/pygobject \
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
DESTDIR="${D}" \
install
}
python_foreach_impl python_install
fi
keepdir /usr/share/ibus/engine
newbashcomp tools/${PN}.bash ${PN}
insinto /etc/X11/xinit/xinput.d
newins xinput-${PN} ${PN}.conf
}
pkg_preinst() {
use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gconf && gnome2_gconf_install
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
dconf update
}
pkg_postrm() {
use gtk && gnome2_query_immodules_gtk3
use gtk2 && gnome2_query_immodules_gtk2
gnome2_icon_cache_update
gnome2_schemas_update
}

Binary file not shown.

@ -1 +1,2 @@
DIST beep-1.3.tar.gz 19344 BLAKE2B 4f9cf12f6983eeb53502fd85e5e1d428e1c1af481f8f424f6ae18cbe104462e8fdcc96670a72daa8a8a0d1430d00824d8795b4db53437e7bb7320cddfd84cfd3 SHA512 3f71146202208fa0c0cda360d125dd972ea003cf8cd62da21d67eb544c92f7b82640e7ce7c3835cbc65c75909a882edfa54dbd8d8b748d6f243711ea331477fd
DIST beep-1.4.9.tar.gz 83154 BLAKE2B 073169ccb4919c17c0291951834fea682c87021f18562629013293432292750f6d6b3235e8882fa9cf26c9e055e1283cfa629c2e88e0f87a301b238c38380498 SHA512 46e6066cb4d9ad4a0c55a03bf5a2163426648ce3831fe1f7bafa2f02d0e407b50c52e58cc2b123c346df96e92b73d2458b473c3fb001d9a0d1470b7cf38cc35b

@ -0,0 +1,59 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Advanced PC speaker beeper"
HOMEPAGE="https://github.com/spkr-beep"
SRC_URI="https://github.com/spkr-beep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
IUSE="suid"
# Tests require a speaker
RESTRICT="test"
src_prepare() {
default
sed -i -e "s#-D_FORTIFY_SOURCE=2##g;" GNUmakefile || die
}
src_compile() {
emake \
COMPILERS=gcc \
COMPILER_gcc="$(tc-getCC)" \
LINKER_gcc="$(tc-getCC)" \
CFLAGS_gcc="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" \
CPPFLAGS_gcc="" \
all
}
src_test() {
emake \
COMPILERS=gcc \
COMPILER_gcc="$(tc-getCC)" \
LINKER_gcc="$(tc-getCC)" \
CFLAGS_gcc="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" \
check
}
src_install() {
dobin beep
doman "${PN}.1"
if use suid ; then
fowners :audio /usr/bin/beep
fperms 4710 /usr/bin/beep
else
fperms 0711 /usr/bin/beep
fi
einstalldocs
}

Binary file not shown.

@ -1,3 +1,4 @@
DIST repoman-2.3.16.tar.bz2 86739 BLAKE2B dc3e3b5e72df751cfacc17e6f5c847160438a4d6f5d86b4dd17ab8a3a69cd0502f2965934c456ea7538f228c40364535e861c489ab2a09a0df14183b111e9a38 SHA512 d0e8bee1e3bd6dd8aecb1278fc7877768552612c4638488b61a9b8856ad9cd7333c7d52f0c334925d90170a1d8af20e9ead6533edbc10cae02baec629dece121
DIST repoman-2.3.20.tar.bz2 87313 BLAKE2B cc0ff9b651e01b12202b32d48979f42ffde6e8a7c72095a3f75228a54892bc11c521f015738443133bec223f9ca0faf5687388680ddfd19e07514f873094b0f9 SHA512 edb5564de920156fd89b4df136d86b73401d4d5cf591abc2fbbf97f0ebb7bb43ed17d076560a76a1f3269d19a64c7c52d48540134a9fb86d9fa952d1702e01e2
DIST repoman-2.3.21.tar.bz2 87094 BLAKE2B feb972d9585440d2a5ed6800146a1d7027fde4c5e7a70904905837261776b9c09bc9bfc6c4da8248a1420635ad8443b31d7716990e6425db3403c8bb74ddca5d SHA512 537c6f6152134df4cd99321b812a1e02608ef0621e674214789dc79ca6540ff1ddab05d100e2bbc2fd0d85664cd92549fb39f8da3cf6850c1a190a88a95814e5
DIST repoman-2.3.22.tar.bz2 87026 BLAKE2B 52262339410b95d47df19e225493075d6e9f763e85b7fa9c982c47ed88b652620d3ab083781c9e4747d8e3659795de7a05163b00339065ce5d84f8babfadc1dd SHA512 8be75f58127452ed162b0f5feac96110b82f7a06fa904c65f6084dff4c542602870cde7fde5cf4108b04142d433c1167dc5bccdf839064dbce2278ea789f77ae

@ -0,0 +1,64 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE='bzip2(+)'
inherit distutils-r1
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage.git"
S="${WORKDIR}/${P}/repoman"
else
SRC_URI="https://dev.gentoo.org/~zmedico/portage/archives/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RDEPEND="
>=sys-apps/portage-2.3.80[${PYTHON_USEDEP}]
>=dev-python/lxml-3.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
python_test() {
esetup.py test
}
python_install() {
# Install sbin scripts to bindir for python-exec linking
# they will be relocated in pkg_preinst()
distutils-r1_python_install \
--system-prefix="${EPREFIX}/usr" \
--bindir="$(python_get_scriptdir)" \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
--sbindir="$(python_get_scriptdir)" \
--sysconfdir="${EPREFIX}/etc" \
"${@}"
}
pkg_postinst() {
if [[ -z {REPLACING_VERSIONS} ]]; then
elog ""
elog "This release of repoman is from the new portage/repoman split"
elog "release code base."
elog "This new repoman code base is still being developed. So its API's"
elog "are not to be considered stable and are subject to change."
elog "The code released has been tested and considered ready for use."
elog "This however does not guarantee it to be completely bug free."
elog "Please report any bugs you may encounter."
elog ""
fi
}

Binary file not shown.

@ -11,10 +11,10 @@ if [[ $PV = 9999 ]]; then
ECVS_MODULE="mksh"
ECVS_USER="_anoncvs"
ECVS_AUTH="ext"
KEYWORDS="amd64 ppc x86"
KEYWORDS="amd64 arm ppc ppc64 sparc x86"
else
SRC_URI="https://www.mirbsd.org/MirOS/dist/mir/mksh/${PN}-R${PV}.tgz"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~sh ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~sh sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="MirBSD Korn Shell"

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -21,7 +21,7 @@ RDEPEND="
app-text/djvu:0=
dev-lang/mujs:0=
dev-libs/openssl:0=
!media-gfx/fbida[fbcon]
!media-gfx/fbida[fbcon(-)]
media-libs/freetype:2=
media-libs/jbig2dec:0=
media-libs/openjpeg:0=
@ -34,6 +34,7 @@ S=${WORKDIR}/${P}-${COMMIT}
PATCHES=(
"${FILESDIR}"/${P}-use-pkg-config.patch
"${FILESDIR}"/${P}-printf.patch
)
src_compile() {

@ -0,0 +1,38 @@
https://bugs.gentoo.org/714736
From e89e36c01d09ca6aec03732e922e749257cac3f4 Mon Sep 17 00:00:00 2001
From: Dmitry Bogatov <KAction@disroot.org>
Date: Sun, 9 Feb 2020 00:47:09 -0500
Subject: [PATCH] Avoid passing non-constant format string to printf
gcc complains loudly on any code that uses anything but string literal
as format string to printf. Right now format string is "const char *"
and does not contain %-sequences, but should '%' appear in "usage"
string in future, bad things would happen.
Since formatting functionality of "printf" is not used anyway, replacing
it with "puts" makes code both safer and easier to understand.
---
fbpdf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fbpdf.c b/fbpdf.c
index a58797f..65b654b 100644
--- a/fbpdf.c
+++ b/fbpdf.c
@@ -351,13 +351,13 @@ static void mainloop(void)
}
static char *usage =
- "usage: fbpdf [-r rotation] [-z zoom x10] [-p page] filename\n";
+ "usage: fbpdf [-r rotation] [-z zoom x10] [-p page] filename";
int main(int argc, char *argv[])
{
int i = 1;
if (argc < 2) {
- printf(usage);
+ puts(usage);
return 1;
}
strcpy(filename, argv[argc - 1]);

@ -11,7 +11,7 @@ if [[ ${PV} == *9999* ]] ; then
SLOT="0/9999"
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/95" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi

@ -0,0 +1,13 @@
diff --git a/Source/troff_generator.c b/Source/troff_generator.c
index 1b123b8..94ddcda 100644
--- a/Source/troff_generator.c
+++ b/Source/troff_generator.c
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <ctype.h>
#include <sys/param.h>
-#include <sys/unistd.h>
+#include <unistd.h>
#include "troff_generator.h"
#include "util.h"

@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Automating Software Documentation"
HOMEPAGE="https://www.xs4all.nl/~rfsber/Robo/robodoc.html"
SRC_URI="https://rfsber.home.xs4all.nl/Robo/archives/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="examples"
PATCHES=(
"${FILESDIR}/${P}_clean_libc.patch"
)
RDEPEND=">=dev-util/ctags-5.3.1"
DEPEND="${RDEPEND}"
src_install() {
default
insinto /usr/share/${PN}
doins Contributions/*
if use examples; then
insinto /usr/share/${PN}
doins -r Examples/PerlExample
fi
}

Binary file not shown.

@ -10,7 +10,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
IUSE="+jemalloc tcmalloc luajit test"
RESTRICT="!test? ( test )"
SLOT="0"

Binary file not shown.

@ -1,2 +1 @@
DIST get-ego-vendor-0.1.0.tar.gz 3889 BLAKE2B 5399984876b253a5807b581e813196250e977a12c95692208cbd4cb6046322650c1a400c219fff50a4535c6f6fafba0d4bab713443315f71f1b65b0b616a4a31 SHA512 83e0ffdddc26ac3778becb8c3272e5d455b6b0ac401ca5b0c0b55a4053b8bc103c3c0a013cb3a1a75747f9bd80da85f38e7b91eb51dcdb96406d06ad657ad80e
DIST get-ego-vendor-0.2.0.tar.gz 2027 BLAKE2B 41803e088f86775cdf93759580722b5dad6b9d0a2d70a0f57540f2a578a97df399ed7ba8b0c0a2a61d53841b4aca470189fd3b24523c044d15fd542b33e600cb SHA512 32cd123b5782399fc7b51fef5a2fe5115a6c473e8d62c5a0ad354efdd72d89c291c1cc4b8eb9034a1f3fef1e9ce39a8fcc989fe5ee21c852058655ed7e0dc57a

@ -1,22 +0,0 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
DESCRIPTION="Utility to generate EGO_VENDOR data for ebuilds"
HOMEPAGE="https://github.com/williamh/get-ego-vendor"
SRC_URI="https://github.com/williamh/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc64"
src_compile() {
go build || die
}
src_install() {
dobin get-ego-vendor
dodoc README.md
}

@ -4,7 +4,7 @@
EAPI=7
inherit go-module
DESCRIPTION="Utility to generate EGO_VENDOR data for ebuilds"
DESCRIPTION="Utility to generate EGO_SUM data for ebuilds"
HOMEPAGE="https://github.com/williamh/get-ego-vendor"
SRC_URI="https://github.com/williamh/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

Binary file not shown.

@ -1,5 +1,3 @@
DIST R-3.4.1.tar.gz 30200109 BLAKE2B 03602e9a48759caee8ce047fa6273df7a54af089de4489e21953c0e3fc7bfdf720d924f1e0167d3dbf65f63ed42ac10dea8b45289b921cda1c0e6d25a0063ebb SHA512 19bd50c87dc001ef947c15c1760f27ac8986ff6b43c6d90d3093ae184e42963027ef06faf31ec57ac9e519af7a35a2f53f8ea23ef75d800ebbd02945cedc4651
DIST R-3.5.3.tar.gz 30205979 BLAKE2B 60dde4c1a7874df0b113630577d943d581d9e0844383a5cb7eda7f62470177d541704a888c33ded216f8b1f088cda493d7716693f5e2451effe3639ce2286dd1 SHA512 077cbd4bc9f19a3a2485afbd4d8e08e0754ddcb9a10164cbc8478f239d5ed0ffaf6796929f154cce1c8aea549c32d460049fc036dc326174d1dbb0a1ddb5f5ef
DIST R-3.6.0.tar.gz 30449618 BLAKE2B 2fb2f1252f5ead97ab42eb1f71fa0be1e8aec2f6cce182956ec1c35b43b70b58f579faf5f3ca11efb8e9c24a9ed836b5b690cb23858249bc7f575aca4709bc3b SHA512 b2e17b909b6387abb964492e2e9370f913295ca7ac99bab0e965c43ed3c4635e27468c326fb2bca3c529b03c731b0170d9e777a194ad4d6c5a983c050223d8c8
DIST R-3.6.2.tar.gz 33311930 BLAKE2B 53f344e80e017064a275c271d98be714e210193931a120e7ebc79ee6cf0ebc0c24c090acc25560998f26600c05305147816ab782632d99beaea83b3a9b5e2a21 SHA512 17513e9f4dd27c61c11f7aa45227aeeeefb375bf5d4e193b471724f379a1b2da33e127cbe91aa175cbbbb048b892047e2f610280585c8159242a6c94790b07f9
DIST R-3.6.3.tar.gz 33308185 BLAKE2B f82751e21d3b502132f8f27d4fc47a921fb085a50c3da3b45e08fbbdd1ab3d42e89b4fa6653a570c21176d79f492277b1d0b86c3c9f4da1386d8b6e4771d4d2c SHA512 9b1dc78922e431bd1af81e6e560b10ad04d121718f680fed32db735d561fd40ea6028759976722db11559f1a78fe684119b766f0567128cb2ee5003aa87a0931
DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06

@ -1,204 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib toolchain-funcs
# latest git commit for R bash completion: https://github.com/deepayan/rcompletion
BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6
DESCRIPTION="Language and environment for statistical computing and graphics"
HOMEPAGE="http://www.r-project.org/"
SRC_URI="
mirror://cran/src/base/R-3/${P}.tar.gz
https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion"
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
CDEPEND="
app-arch/bzip2:0=
app-arch/xz-utils:0=
app-text/ghostscript-gpl
>=dev-libs/libpcre-8.35:3=
net-libs/libtirpc
net-misc/curl
virtual/blas:0
|| ( >=sys-apps/coreutils-8.15 app-misc/realpath )
cairo? ( x11-libs/cairo:0=[X=] x11-libs/pango:0= )
icu? ( dev-libs/icu:= )
jpeg? ( virtual/jpeg:0 )
lapack? ( virtual/lapack:0 )
perl? ( dev-lang/perl )
png? ( media-libs/libpng:0= )
readline? ( sys-libs/readline:0= )
tiff? ( media-libs/tiff:0= )
tk? ( dev-lang/tk:0= )
X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )"
DEPEND="${CDEPEND}
virtual/pkgconfig
doc? (
virtual/latex-base
dev-texlive/texlive-fontsrecommended
)"
RDEPEND="${CDEPEND}
>=sys-libs/zlib-1.2.5.1-r2:0[minizip]
java? ( >=virtual/jre-1.5 )"
RESTRICT="minimal? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-3.4.1-parallel.patch
"${FILESDIR}"/${PN}-3.4.1-rmath-shared.patch
)
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
if ! tc-check-openmp; then
ewarn "OpenMP is not available in your current selected compiler"
die "need openmp capable compiler"
fi
FORTRAN_NEED_OPENMP=1
fi
fortran-2_pkg_setup
filter-ldflags -Wl,-Bdirect -Bdirect
# avoid using existing R installation
unset R_HOME
# Temporary fix for bug #419761
if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then
append-flags -fno-ipa-cp-clone
fi
}
src_prepare() {
default
# fix packages.html for doc (gentoo bug #205103)
sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \
-i src/library/tools/R/Rd.R || die
# fix Rscript path when installed (gentoo bug #221061)
sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EROOT}/usr/$(get_libdir)/${PN}\"':" \
-i src/unix/Makefile.in || die "sed unix Makefile failed"
# fix HTML links to manual (gentoo bug #273957)
sed -e 's:\.\./manual/:manual/:g' \
-i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed"
use lapack && \
export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
if use X; then
export R_BROWSER="$(type -p xdg-open)"
export R_PDFVIEWER="$(type -p xdg-open)"
fi
use perl && \
export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}"
# don't search /usr/local
sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die
# Fix for Darwin (OS X)
if use prefix; then
if [[ ${CHOST} == *-darwin* ]] ; then
sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \
-e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \
-e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \
-e "/SHLIB_EXT/s/\.so/.dylib/" \
-i configure.ac || die
# sort of "undo" 2.14.1-rmath-shared.patch
sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT}/usr/$(get_libdir)/libRmath.dylib:" \
-i src/nmath/standalone/Makefile.in || die
else
append-ldflags -Wl,-rpath="${EROOT}/usr/$(get_libdir)/R/lib"
fi
fi
AT_M4DIR=m4
eautoreconf
}
src_configure() {
# --with-system-tre \
# tre is patched from upstream
econf \
--enable-byte-compiled-packages \
--enable-R-shlib \
--disable-R-framework \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
rdocdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable java) \
$(use_enable nls) \
$(use_enable openmp) \
$(use_enable profile R-profiling) \
$(use_enable profile memory-profiling) \
$(use_enable static-libs static) \
$(use_enable static-libs R-static-lib) \
$(use_with cairo) \
$(use_with icu ICU) \
$(use_with jpeg jpeglib) \
$(use_with lapack) \
$(use_with !minimal recommended-packages) \
$(use_with png libpng) \
$(use_with readline) \
$(use_with tiff libtiff) \
$(use_with tk tcltk) \
$(use_with tk tk-config "${EPREFIX}"/usr/$(get_libdir)/tkConfig.sh) \
$(use_with tk tcl-config "${EPREFIX}"/usr/$(get_libdir)/tclConfig.sh) \
$(use_with X x)
}
src_compile() {
export VARTEXFONTS="${T}/fonts"
emake AR="$(tc-getAR)"
emake -C src/nmath/standalone \
shared $(use static-libs && echo static) AR="$(tc-getAR)"
use doc && emake info pdf
}
src_install() {
default
emake -j1 -C src/nmath/standalone DESTDIR="${D}" install
if use doc; then
emake DESTDIR="${D}" install-info install-pdf
dosym ../manual /usr/share/doc/${PF}/html/manual
fi
cat > 99R <<-EOF
LDPATH=${EROOT}/usr/$(get_libdir)/${PN}/lib
R_HOME=${EROOT}/usr/$(get_libdir)/${PN}
EOF
doenvd 99R
newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN}
# The buildsystem has a different understanding of install_names than
# we require. Since it builds modules like shared objects (wrong), many
# objects (all modules) get an incorrect install_name. Fixing the build
# system here is not really trivial.
if [[ ${CHOST} == *-darwin* ]] ; then
local mod
pushd "${ED}"/usr/$(get_libdir)/R > /dev/null
for mod in $(find . -name "*.dylib") ; do
mod=${mod#./}
install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" \
"${mod}"
done
popd > /dev/null
fi
docompress -x /usr/share/doc/${PF}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,NEWS.rds}
}
pkg_postinst() {
if use java; then
einfo "Re-initializing java paths for ${P}"
R CMD javareconf
fi
}

@ -1,204 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib toolchain-funcs
# latest git commit for R bash completion: https://github.com/deepayan/rcompletion
BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6
DESCRIPTION="Language and environment for statistical computing and graphics"
HOMEPAGE="http://www.r-project.org/"
SRC_URI="
mirror://cran/src/base/R-3/${P}.tar.gz
https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion"
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
CDEPEND="
app-arch/bzip2:0=
app-arch/xz-utils:0=
app-text/ghostscript-gpl
>=dev-libs/libpcre-8.35:3=
net-libs/libtirpc
net-misc/curl
virtual/blas:0
|| ( >=sys-apps/coreutils-8.15 app-misc/realpath )
cairo? ( x11-libs/cairo:0=[X=] x11-libs/pango:0= )
icu? ( dev-libs/icu:= )
jpeg? ( virtual/jpeg:0 )
lapack? ( virtual/lapack:0 )
perl? ( dev-lang/perl )
png? ( media-libs/libpng:0= )
readline? ( sys-libs/readline:0= )
tiff? ( media-libs/tiff:0= )
tk? ( dev-lang/tk:0= )
X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )"
DEPEND="${CDEPEND}
virtual/pkgconfig
doc? (
virtual/latex-base
dev-texlive/texlive-fontsrecommended
)"
RDEPEND="${CDEPEND}
>=sys-libs/zlib-1.2.5.1-r2:0[minizip]
java? ( >=virtual/jre-1.5 )"
RESTRICT="minimal? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-3.4.1-parallel.patch
"${FILESDIR}"/${PN}-3.4.1-rmath-shared.patch
)
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
if ! tc-check-openmp; then
ewarn "OpenMP is not available in your current selected compiler"
die "need openmp capable compiler"
fi
FORTRAN_NEED_OPENMP=1
fi
fortran-2_pkg_setup
filter-ldflags -Wl,-Bdirect -Bdirect
# avoid using existing R installation
unset R_HOME
# Temporary fix for bug #419761
if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then
append-flags -fno-ipa-cp-clone
fi
}
src_prepare() {
default
# fix packages.html for doc (gentoo bug #205103)
sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \
-i src/library/tools/R/Rd.R || die
# fix Rscript path when installed (gentoo bug #221061)
sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EROOT}/usr/$(get_libdir)/${PN}\"':" \
-i src/unix/Makefile.in || die "sed unix Makefile failed"
# fix HTML links to manual (gentoo bug #273957)
sed -e 's:\.\./manual/:manual/:g' \
-i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed"
use lapack && \
export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
if use X; then
export R_BROWSER="$(type -p xdg-open)"
export R_PDFVIEWER="$(type -p xdg-open)"
fi
use perl && \
export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}"
# don't search /usr/local
sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die
# Fix for Darwin (OS X)
if use prefix; then
if [[ ${CHOST} == *-darwin* ]] ; then
sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \
-e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \
-e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \
-e "/SHLIB_EXT/s/\.so/.dylib/" \
-i configure.ac || die
# sort of "undo" 2.14.1-rmath-shared.patch
sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT}/usr/$(get_libdir)/libRmath.dylib:" \
-i src/nmath/standalone/Makefile.in || die
else
append-ldflags -Wl,-rpath="${EROOT}/usr/$(get_libdir)/R/lib"
fi
fi
AT_M4DIR=m4
eautoreconf
}
src_configure() {
# --with-system-tre \
# tre is patched from upstream
econf \
--enable-byte-compiled-packages \
--enable-R-shlib \
--disable-R-framework \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
rdocdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable java) \
$(use_enable nls) \
$(use_enable openmp) \
$(use_enable profile R-profiling) \
$(use_enable profile memory-profiling) \
$(use_enable static-libs static) \
$(use_enable static-libs R-static-lib) \
$(use_with cairo) \
$(use_with icu ICU) \
$(use_with jpeg jpeglib) \
$(use_with lapack) \
$(use_with !minimal recommended-packages) \
$(use_with png libpng) \
$(use_with readline) \
$(use_with tiff libtiff) \
$(use_with tk tcltk) \
$(use_with tk tk-config "${EPREFIX}"/usr/$(get_libdir)/tkConfig.sh) \
$(use_with tk tcl-config "${EPREFIX}"/usr/$(get_libdir)/tclConfig.sh) \
$(use_with X x)
}
src_compile() {
export VARTEXFONTS="${T}/fonts"
emake AR="$(tc-getAR)"
emake -C src/nmath/standalone \
shared $(use static-libs && echo static) AR="$(tc-getAR)"
use doc && emake info pdf
}
src_install() {
default
emake -j1 -C src/nmath/standalone DESTDIR="${D}" install
if use doc; then
emake DESTDIR="${D}" install-info install-pdf
dosym ../manual /usr/share/doc/${PF}/html/manual
fi
cat > 99R <<-EOF
LDPATH=${EROOT}/usr/$(get_libdir)/${PN}/lib
R_HOME=${EROOT}/usr/$(get_libdir)/${PN}
EOF
doenvd 99R
newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN}
# The buildsystem has a different understanding of install_names than
# we require. Since it builds modules like shared objects (wrong), many
# objects (all modules) get an incorrect install_name. Fixing the build
# system here is not really trivial.
if [[ ${CHOST} == *-darwin* ]] ; then
local mod
pushd "${ED}"/usr/$(get_libdir)/R > /dev/null
for mod in $(find . -name "*.dylib") ; do
mod=${mod#./}
install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" \
"${mod}"
done
popd > /dev/null
fi
docompress -x /usr/share/doc/${PF}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,NEWS.rds}
}
pkg_postinst() {
if use java; then
einfo "Re-initializing java paths for ${P}"
R CMD javareconf
fi
}

@ -20,7 +20,12 @@ KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-mac
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
CDEPEND="
BDEPEND="virtual/pkgconfig
doc? (
virtual/latex-base
dev-texlive/texlive-fontsrecommended
)"
DEPEND="
app-arch/bzip2:0=
app-arch/xz-utils:0=
app-text/ghostscript-gpl
@ -40,14 +45,7 @@ CDEPEND="
tk? ( dev-lang/tk:0= )
X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )"
DEPEND="${CDEPEND}
virtual/pkgconfig
doc? (
virtual/latex-base
dev-texlive/texlive-fontsrecommended
)"
RDEPEND="${CDEPEND}
RDEPEND="${DEPEND}
sys-libs/zlib:0[minizip]
java? ( >=virtual/jre-1.5 )"
@ -66,10 +64,6 @@ pkg_pretend() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
if ! tc-check-openmp; then
ewarn "OpenMP is not available in your current selected compiler"
die "need openmp capable compiler"
fi
FORTRAN_NEED_OPENMP=1
fi
fortran-2_pkg_setup

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -81,7 +81,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
>=dev-libs/gmp-5:=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -74,7 +74,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
>=dev-libs/gmp-5:=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
PREBUILT_BINARY_DEPENDS="

@ -79,7 +79,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -85,7 +85,7 @@ RDEPEND="
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
elfutils? ( dev-libs/elfutils )
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
numa? ( sys-process/numactl )
"

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -75,7 +75,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -75,7 +75,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -75,7 +75,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -75,7 +75,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -75,7 +75,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -81,7 +81,7 @@ RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
"
# This set of dependencies is needed to run

@ -85,7 +85,7 @@ RDEPEND="
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
elfutils? ( dev-libs/elfutils )
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
numa? ( sys-process/numactl )
"

@ -84,7 +84,7 @@ RDEPEND="
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
elfutils? ( dev-libs/elfutils )
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
numa? ( sys-process/numactl )
"

@ -84,7 +84,7 @@ RDEPEND="
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
elfutils? ( dev-libs/elfutils )
!ghcmakebinary? ( virtual/libffi:= )
!ghcmakebinary? ( dev-libs/libffi:= )
numa? ( sys-process/numactl )
"

@ -19,7 +19,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

Binary file not shown.

@ -1 +0,0 @@
DIST beignet-1.3.2-source.tar.gz 1143573 BLAKE2B e95e9ad352e7e695a0c56a8cea7bff312d7e1e811e17da6c744f16833130ca5339c163504afff3ed61947e752b94dc0465f6702317feb7662fb9676939838f20 SHA512 ed09a895c2f7e9b6e18687a899f1303dfda95e505c3c2d54bf7598cc4eba6c2fb5926589b19dd294384a4ff3f832c43235b1f03f8b7fd295cd558e78bda1400a

@ -1,104 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
CMAKE_BUILD_TYPE="Release"
inherit python-any-r1 cmake-multilib flag-o-matic llvm
DESCRIPTION="OpenCL implementation for Intel Sandy Bridge, Ivy Bridge and Haswell GPUs"
HOMEPAGE="https://01.org/beignet https://gitlab.freedesktop.org/beignet/beignet"
SRC_URI="https://01.org/sites/default/files/${P}-source.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="amd64"
IUSE="ocl-icd ocl20"
BDEPEND="${PYTHON_DEPS}
virtual/pkgconfig"
COMMON="app-eselect/eselect-opencl
media-libs/mesa[X(+),${MULTILIB_USEDEP}]
<sys-devel/clang-8.0.0:=[static-analyzer,${MULTILIB_USEDEP}]
>=x11-libs/libdrm-2.4.70[video_cards_intel,${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
ocl-icd? ( dev-libs/ocl-icd )"
RDEPEND="${COMMON}"
DEPEND="${COMMON}"
LLVM_MAX_SLOT=7
PATCHES=(
"${FILESDIR}"/no-debian-multiarch.patch
"${FILESDIR}"/${PN}-1.3.2_disable-doNegAddOptimization.patch
"${FILESDIR}"/${PN}-1.3.2_cmake-llvm-config-multilib.patch
"${FILESDIR}"/${PN}-1.3.2_llvm6.patch
"${FILESDIR}"/${PN}-1.3.2_llvm7.patch
"${FILESDIR}"/${PN}-1.3.1-oclicd_no_upstream_icdfile.patch
"${FILESDIR}"/${PN}-1.2.0_no-hardcoded-cflags.patch
"${FILESDIR}"/llvm-terminfo.patch
)
DOCS=(
docs/.
)
S="${WORKDIR}"/Beignet-${PV}-Source
pkg_setup() {
llvm_pkg_setup
python_setup
}
src_prepare() {
# See Bug #593968
append-flags -fPIC
cmake-utils_src_prepare
# We cannot run tests because they require permissions to access
# the hardware, and building them is very time-consuming.
cmake_comment_add_subdirectory utests
}
multilib_src_configure() {
VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}${VENDOR_DIR}"
-DOCLICD_COMPAT=$(usex ocl-icd)
$(usex ocl20 "" "-DENABLE_OPENCL_20=OFF")
)
cmake-utils_src_configure
}
multilib_src_install() {
VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
cmake-utils_src_install
insinto /etc/OpenCL/vendors/
echo "${EPREFIX}${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file"
doins "${PN}-${ABI}.icd"
dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so.1
dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so
dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so.1
dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so
}
pkg_postinst() {
elog ""
elog "Please note that for Broadwell and newer architectures, Beignet has been deprecated upstream in favour of dev-libs/intel-neo."
elog "It remains the recommended solution for Sandy Bridge, Ivy Bridge and Haswell."
elog ""
if use ocl-icd; then
"${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
else
"${ROOT}"/usr/bin/eselect opencl set --use-old beignet
fi
}

@ -1,12 +0,0 @@
--- a/CMakeLists.txt 2016-08-30 10:06:31.000000000 +0000
+++ b/CMakeLists.txt 2016-09-16 06:55:28.975772954 +0000
@@ -89,8 +89,7 @@
elseif (COMPILER STREQUAL "ICC")
set (CMAKE_C_CXX_FLAGS "${CMAKE_C_CXX_FLAGS} -wd2928 -Wall -fPIC -fstrict-aliasing -fp-model fast -msse4.1 -Wl,-E")
endif ()
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_CXX_FLAGS}")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DGBE_DEBUG=1")
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DGBE_DEBUG=1")
set (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG -DGBE_DEBUG=0")

@ -1,14 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -213,11 +213,6 @@
Find_Package(OCLIcd)
IF(OCLIcd_FOUND)
MESSAGE(STATUS "Looking for OCL ICD header file - found")
- configure_file (
- "intel-beignet.icd.in"
- "${ICD_FILE_NAME}"
- )
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION /etc/OpenCL/vendors)
ELSE(OCLIcd_FOUND)
MESSAGE(STATUS "Looking for OCL ICD header file - not found")
MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.")

@ -1,17 +0,0 @@
--- a/CMake/FindLLVM.cmake
+++ b/CMake/FindLLVM.cmake
@@ -8,12 +8,12 @@
# LLVM_FOUND - True if llvm found.
if (LLVM_INSTALL_DIR)
find_program(LLVM_CONFIG_EXECUTABLE
- NAMES llvm-config-37 llvm-config-3.7 llvm-config-36 llvm-config-3.6 llvm-config-38 llvm-config-3.8 llvm-config-39 llvm-config-3.9 llvm-config llvm-config-35 llvm-config-3.5 llvm-config-34 llvm-config-3.4
+ NAMES $ENV{CHOST}-llvm-config
DOC "llvm-config executable"
PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
else (LLVM_INSTALL_DIR)
find_program(LLVM_CONFIG_EXECUTABLE
- NAMES llvm-config-37 llvm-config-3.7 llvm-config-36 llvm-config-3.6 llvm-config-38 llvm-config-3.8 llvm-config-39 llvm-config-3.9 llvm-config llvm-config-35 llvm-config-3.5 llvm-config-34 llvm-config-3.4
+ NAMES $ENV{CHOST}-llvm-config
DOC "llvm-config executable")
endif (LLVM_INSTALL_DIR)

@ -1,66 +0,0 @@
--- b/backend/src/backend/gen_insn_selection_optimize.cpp
+++ a/backend/src/backend/gen_insn_selection_optimize.cpp
@@ -74,7 +74,8 @@ namespace gbe
const GenRegister& replacement) :
insn(insn), intermedia(intermedia), replacement(replacement)
{
- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD);
+ assert(insn.opcode == SEL_OP_MOV);
+ assert(&(insn.src(0)) == &replacement);
assert(&(insn.dst(0)) == &intermedia);
this->elements = CalculateElements(intermedia, insn.state.execWidth);
replacementOverwritten = false;
@@ -101,7 +102,6 @@ namespace gbe
void doReplacement(ReplaceInfo* info);
bool CanBeReplaced(const ReplaceInfo* info, const SelectionInstruction& insn, const GenRegister& var);
void cleanReplaceInfoMap();
- void doNegAddOptimization(SelectionInstruction &insn);
SelectionBlock &bb;
const ir::Liveness::LiveOut& liveout;
@@ -159,13 +159,8 @@ namespace gbe
void SelBasicBlockOptimizer::addToReplaceInfoMap(SelectionInstruction& insn)
{
- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD);
- GenRegister &src = insn.src(0);
- if (insn.opcode == SEL_OP_ADD) {
- if (src.file == GEN_IMMEDIATE_VALUE)
- src = insn.src(1);
- }
-
+ assert(insn.opcode == SEL_OP_MOV);
+ const GenRegister& src = insn.src(0);
const GenRegister& dst = insn.dst(0);
if (src.type != dst.type || src.file != dst.file)
return;
@@ -254,29 +249,10 @@ namespace gbe
if (insn.opcode == SEL_OP_MOV)
addToReplaceInfoMap(insn);
-
- doNegAddOptimization(insn);
}
cleanReplaceInfoMap();
}
- /* LLVM transform Mad(a, -b, c) to
- Add b, -b, 0
- Mad val, a, b, c
- for Gen support negtive modifier, mad(a, -b, c) is native suppoted.
- Also it can be used for the same like instruction sequence.
- Do it just like a: mov b, -b, so it is a Mov operation like LocalCopyPropagation
- */
- void SelBasicBlockOptimizer::doNegAddOptimization(SelectionInstruction &insn) {
- if (insn.opcode == SEL_OP_ADD) {
- GenRegister src0 = insn.src(0);
- GenRegister src1 = insn.src(1);
- if ((src0.negation && src1.file == GEN_IMMEDIATE_VALUE && src1.value.f == 0.0f) ||
- (src1.negation && src0.file == GEN_IMMEDIATE_VALUE && src0.value.f == 0.0f))
- addToReplaceInfoMap(insn);
- }
- }
-
void SelBasicBlockOptimizer::run()
{
for (size_t i = 0; i < MaxTries; ++i) {

@ -1,27 +0,0 @@
--- a/backend/src/llvm/llvm_to_gen.cpp
+++ b/backend/src/llvm/llvm_to_gen.cpp
@@ -322,7 +322,11 @@ namespace gbe
DataLayout DL(&mod);
gbeDiagnosticContext dc;
+#if LLVM_VERSION_MAJOR >= 6
+ mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc);
+#else
mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc);
+#endif
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37
mod.setDataLayout(DL);
--- a/backend/src/llvm/llvm_unroll.cpp
+++ b/backend/src/llvm/llvm_unroll.cpp
@@ -205,7 +205,9 @@ namespace gbe {
if (parentTripCount != 0 && currTripCount * parentTripCount > 32) {
//Don't change the unrollID if doesn't force unroll.
//setUnrollID(parentL, false);
-#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
+#if LLVM_VERSION_MAJOR >= 6
+ loopInfo.erase(parentL);
+#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
loopInfo.markAsRemoved(parentL);
#else
LPM.deleteLoopFromQueue(parentL);

@ -1,124 +0,0 @@
commit e1b2419a0008e38ef2d9d255d9e9c74e9fba084b
Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Date: Sat Jul 21 20:05:54 2018 +0100
Add preliminary LLVM 7 support
This is preliminary because LLVM 7 has not been released yet:
it was tested with the snapshot from Debian experimental (svn336894).
1.Change linking order, as clangCodeGen now links to clangFrontend
2.Pass references not pointers to WriteBitcodeToFile and CloneModule
3.Add the headers that LoopSimplifyID, LCSSAID and
some create*Pass have moved to
4.Define our DEBUG whether or not we just undefined LLVM's
(theirs is now LLVM_DEBUG, but we never actually use it)
Signed-off-by: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Reviewed-by: Yang Rong <rong.r.yang@intel.com>
diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake
index 5457f248..f882589d 100644
--- a/CMake/FindLLVM.cmake
+++ b/CMake/FindLLVM.cmake
@@ -113,10 +113,10 @@ macro(add_one_lib name)
endmacro()
#Assume clang lib path same as llvm lib path
+add_one_lib("clangCodeGen")
add_one_lib("clangFrontend")
add_one_lib("clangSerialization")
add_one_lib("clangDriver")
-add_one_lib("clangCodeGen")
add_one_lib("clangSema")
add_one_lib("clangStaticAnalyzerFrontend")
add_one_lib("clangStaticAnalyzerCheckers")
diff --git a/backend/src/backend/gen_program.cpp b/backend/src/backend/gen_program.cpp
index 274c99c7..41592349 100644
--- a/backend/src/backend/gen_program.cpp
+++ b/backend/src/backend/gen_program.cpp
@@ -454,7 +454,11 @@ namespace gbe {
#ifdef GBE_COMPILER_AVAILABLE
std::string str;
llvm::raw_string_ostream OS(str);
+#if LLVM_VERSION_MAJOR >= 7
+ llvm::WriteBitcodeToFile(*((llvm::Module*)prog->module), OS);
+#else
llvm::WriteBitcodeToFile((llvm::Module*)prog->module, OS);
+#endif
std::string& bin_str = OS.str();
int llsz = bin_str.size();
*binary = (char *)malloc(sizeof(char) * (llsz+1) );
@@ -545,7 +549,11 @@ namespace gbe {
&modRef);
src = llvm::unwrap(modRef);
}
+#if LLVM_VERSION_MAJOR >= 7
+ llvm::Module* clone = llvm::CloneModule(*src).release();
+#else
llvm::Module* clone = llvm::CloneModule(src).release();
+#endif
if (LLVMLinkModules2(wrap(dst), wrap(clone))) {
#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37
if (LLVMLinkModules(wrap(dst), wrap(src), LLVMLinkerPreserveSource_Removed, &errMsg)) {
diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
index c37c5951..b36f7b4a 100644
--- a/backend/src/backend/program.cpp
+++ b/backend/src/backend/program.cpp
@@ -794,7 +794,11 @@ namespace gbe {
llvm::raw_fd_ostream ostream (dumpSPIRBinaryName.c_str(),
err, llvm::sys::fs::F_None);
if (!err)
+#if LLVM_VERSION_MAJOR<7
llvm::WriteBitcodeToFile(*out_module, ostream);
+#else
+ llvm::WriteBitcodeToFile(**out_module, ostream);
+#endif
}
#endif
return true;
diff --git a/backend/src/llvm/ExpandLargeIntegers.cpp b/backend/src/llvm/ExpandLargeIntegers.cpp
index 8515dc13..4aec44ee 100644
--- a/backend/src/llvm/ExpandLargeIntegers.cpp
+++ b/backend/src/llvm/ExpandLargeIntegers.cpp
@@ -99,8 +99,8 @@ using namespace llvm;
#ifdef DEBUG
#undef DEBUG
- #define DEBUG(...)
#endif
+#define DEBUG(...)
// Break instructions up into no larger than 64-bit chunks.
static const unsigned kChunkBits = 64;
static const unsigned kChunkBytes = kChunkBits / CHAR_BIT;
diff --git a/backend/src/llvm/llvm_bitcode_link.cpp b/backend/src/llvm/llvm_bitcode_link.cpp
index ef56e4c2..4c3e20e4 100644
--- a/backend/src/llvm/llvm_bitcode_link.cpp
+++ b/backend/src/llvm/llvm_bitcode_link.cpp
@@ -340,7 +340,11 @@ namespace gbe
/* We use beignet's bitcode as dst because it will have a lot of
lazy functions which will not be loaded. */
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 39
+#if LLVM_VERSION_MAJOR >= 7
+ llvm::Module * linked_module = llvm::CloneModule(*(llvm::Module*)mod).release();
+#else
llvm::Module * linked_module = llvm::CloneModule((llvm::Module*)mod).release();
+#endif
if(LLVMLinkModules2(wrap(clonedLib), wrap(linked_module))) {
#else
char* errorMsg;
diff --git a/backend/src/llvm/llvm_includes.hpp b/backend/src/llvm/llvm_includes.hpp
index 184553af..ffccf025 100644
--- a/backend/src/llvm/llvm_includes.hpp
+++ b/backend/src/llvm/llvm_includes.hpp
@@ -89,6 +89,10 @@
#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/Transforms/Scalar.h"
+#if LLVM_VERSION_MAJOR >= 7
+#include "llvm/Transforms/Utils.h"
+#include "llvm/Transforms/InstCombine/InstCombine.h"
+#endif
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInstrInfo.h"

@ -1,20 +0,0 @@
--- a/backend/src/CMakeLists.txt 2015-12-18 07:40:03.000000000 +0100
+++ b/backend/src/CMakeLists.txt 2016-08-01 13:44:31.475875150 +0200
@@ -153,7 +153,7 @@
add_library(gbeinterp SHARED gbe_bin_interpreter.cpp)
-if (LLVM_VERSION_NODOT VERSION_EQUAL 34)
+if (NOT (LLVM_VERSION_NODOT LESS 34))
find_library(TERMINFO NAMES tinfo ncurses)
if (${TERMINFO} STREQUAL TERMINFO-NOTFOUND)
message(FATAL_ERROR "no libtinfo or libncurses is found in system")
@@ -161,7 +161,7 @@
target_link_libraries(gbe ${TERMINFO})
message(STATUS "use ${TERMINFO} as terminal control library")
endif (${TERMINFO} STREQUAL TERMINFO-NOTFOUND)
-endif(LLVM_VERSION_NODOT VERSION_EQUAL 34)
+endif(NOT (LLVM_VERSION_NODOT LESS 34))
link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR})

@ -1,39 +0,0 @@
--- a/CMakeLists.txt 2015-04-17 04:27:51.000000000 +0200
+++ b/CMakeLists.txt 2015-05-20 20:59:17.895041760 +0200
@@ -39,14 +39,9 @@
SET(CMAKE_VERBOSE_MAKEFILE "false")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake/")
-INCLUDE (GNUInstallDirs OPTIONAL)
-# support old CMake without GNUInstallDirs
-if (NOT CMAKE_INSTALL_FULL_LIBDIR)
- set (CMAKE_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
- set (BEIGNET_LIBRARY_ARCHITECTURE "")
-else (NOT CMAKE_INSTALL_FULL_LIBDIR)
- set (BEIGNET_LIBRARY_ARCHITECTURE "${CMAKE_LIBRARY_ARCHITECTURE}")
-endif (NOT CMAKE_INSTALL_FULL_LIBDIR)
+
+set (CMAKE_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
+set (BEIGNET_LIBRARY_ARCHITECTURE "")
if (NOT LIB_INSTALL_DIR)
set (LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}")
@@ -55,17 +50,7 @@
set (BEIGNET_INSTALL_DIR "${LIB_INSTALL_DIR}/beignet/")
endif (NOT BEIGNET_INSTALL_DIR)
-# allow co-installation of 32- and 64-bit versions:
-# https://wiki.debian.org/Multiarch
-if (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
- set (ICD_FILE_NAME "intel-beignet.icd")
-else (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
- if (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
- set (ICD_FILE_NAME "intel-beignet.icd")
- else (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
- set (ICD_FILE_NAME "intel-beignet-${BEIGNET_LIBRARY_ARCHITECTURE}.icd")
- endif (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
-endif (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
+set (ICD_FILE_NAME "intel-beignet.icd")
# Force Release with debug info
if (NOT CMAKE_BUILD_TYPE)

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
<use>
<flag name="ocl-icd">Enable compatibility with the
<pkg>dev-libs/ocl-icd</pkg> OpenCL ICD loader</flag>
<flag name="ocl20">Enable experimental OpenCL 2.0 support on Skylake
and newer architectures</flag>
</use>
</pkgmetadata>

@ -1,3 +1,4 @@
DIST ell-0.26.tar.xz 473512 BLAKE2B bad1545b65caad7263e03156740ef5dfc401536fc063f34bdac5346a9edca8b7b16fd175abb264a6163e9dca87d1469f388984a95962dcc695e3e98549ff2a0a SHA512 b7a841f6e3c50077b60c210549744344ee70b5116bc9ee0f44dfea896f68fe6ab89a6fa38fcfe04e259648de978162aa5592f2e07accf13825584b40d57ef6cb
DIST ell-0.27.tar.xz 474412 BLAKE2B 3b7d7ccfff8a92bbe930032b6a54bdc91b6541d1e6d8e514f1e49fcd08f3f5bc47beb3722dc864a63dcbbd72f793fbc2bc590b168f1623ff6e7088fbc960acb1 SHA512 ecda285155ef5ac1b8bdeabfba2e972149a5027c85236af74366c735aec7304b2dee8ff6aa931000b4299e8bb7654e7d4a63c1738de6e6e740f5ba16467f2823
DIST ell-0.28.tar.xz 474880 BLAKE2B 2c571f952056c9f4e3e8c245b2b57645c4baa2935fdbe758170dcfe689f4db2162322f25a80cc5a7d4d5bded6159d1fa0d583be979a2708d32e61e91d1ced585 SHA512 6c3aef4d403878c0c9b8a1e5e8861656f2abbab19dd275b1aecca899ca615c00aee30e18f194435ec6be859adcffbe3703a79b13508e1e76c2192ec51f7c0cd7
DIST ell-0.30.tar.xz 478204 BLAKE2B 77d1b7307949feb47da28e0c777172b9f5272676dc6fe677955118a9f8dfdaad43fc400e0057ae8b370ac441c61a21bc351fe89053e40d0d94f9874a3b373726 SHA512 e58ad67b8c6aca5294eb00cc194bac672f8666a445295f289e68462981bc07e5c2bce1297423470e1ba34cc2e2d10ee57741ce370e7c013991571ad1f685c6ff

@ -0,0 +1,59 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic linux-info multilib-minimal
DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
HOMEPAGE="https://01.org/ell"
if [[ "${PV}" == *9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
fi
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="glib pie"
RDEPEND="
glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
pkg_pretend() {
CONFIG_CHECK="
~TIMERFD
~EVENTFD
~CRYPTO_USER_API
~CRYPTO_USER_API_HASH
~CRYPTO_MD5
~CRYPTO_SHA1
~KEY_DH_OPERATIONS
"
check_extra_config
}
src_prepare() {
default
[[ "${PV}" == *9999 ]] && eautoreconf
}
multilib_src_configure() {
append-cflags "-fsigned-char" #662694
local myeconfargs=(
$(use_enable glib)
$(use_enable pie)
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_install_all() {
local DOCS=( ChangeLog README )
einstalldocs
find "${ED}" -name "*.la" -delete || die
}

@ -3,7 +3,7 @@
EAPI=7
inherit flag-o-matic multilib-minimal
inherit flag-o-matic linux-info multilib-minimal
DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
HOMEPAGE="https://01.org/ell"
@ -24,6 +24,19 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
pkg_pretend() {
CONFIG_CHECK="
~TIMERFD
~EVENTFD
~CRYPTO_USER_API
~CRYPTO_USER_API_HASH
~CRYPTO_MD5
~CRYPTO_SHA1
~KEY_DH_OPERATIONS
"
check_extra_config
}
src_prepare() {
default
[[ "${PV}" == *9999 ]] && eautoreconf

@ -11,7 +11,7 @@ SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/0.14"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ppc ~ppc64 s390 sparc x86 ~x64-solaris"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 s390 sparc x86 ~x64-solaris"
IUSE="examples static-libs test"
RESTRICT="!test? ( test )"

@ -4,7 +4,10 @@
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit meson multilib-minimal vala
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="xml(+)"
inherit meson multilib-minimal python-any-r1 vala
DESCRIPTION="GObject wrapper for libusb"
HOMEPAGE="https://github.com/hughsie/libgusb"
@ -25,6 +28,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
$(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
gtk-doc? (
app-text/docbook-xml-dtd:4.1.2
app-text/docbook-xml-dtd:4.4
@ -36,6 +40,10 @@ BDEPEND="
RESTRICT="!test? ( test )"
python_check_deps() {
has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
}
src_prepare() {
use vala && vala_src_prepare
default

@ -1,5 +1,4 @@
DIST libpcre2-10.33-patchset-1.0.tar.xz 17812 BLAKE2B 7a6e73101ed12676e1acf1beafcb6bc84d99d588a9dc0a957697380d906474f6ac59ab509e6c7ee5a0879b8d6ec9d06a0aceb8b02c7b16f73602d034927dc836 SHA512 4a0e86756cb96e6143df3add6cd6bca4fb9bb8fcb6a4d2df1530847b946b2494132e9842da01d75b385c33555d96e25f1390788b9e41ca320c1d65f31c89b281
DIST libpcre2-10.34-patchset-01.tar.xz 1208 BLAKE2B 615b7eff085bd52bb3aed30c90ec5b8cec406f96c58bdfb0304dd59311517662067e68f85bc9930ed6f749820ecfe3c483e261616187bc1077ebb053670d4950 SHA512 d881665701bc330f237d19ee48491a81dc8b952b0b8e529eb83c3ffdf14710f68eb934f872ed76ef6b0bee1864261453e7e71e60e14217c004e4e12c6baa499f
DIST pcre2-10.32.tar.bz2 1641814 BLAKE2B fdd512312547ae90b36b6c9eb86b6fcfea9b03fcfd9766063c901819c6bf7536e1f3da89bd69ae62309069bc07c705e96e81f4a36355bf934c566f343e3104e4 SHA512 3d712e7d6afbaef227952680ded69fadbdec0b1abdfcac17cf071415c3c93edd152d6d268dec80570aedf24f82ba954f74f5f9e62c9b9991be75080a3d6ab5fe
DIST pcre2-10.33.tar.bz2 1690739 BLAKE2B e59cf47a5068b2ec2d647d6dfe1cb5f8d6cdcc6fc6b47aa65a4c3d5aae256e7f0b090487d372c62aa7ec7f15a1f037650088b53385fc2fe31aa405878855e5d5 SHA512 c6aa52cdbb0c906b02e9a9f255697a1b9b99d9c7dccdaa484ffdb04fe3582d232ba3cb3c421d6df589a387b415dedb0817f58ec5391488b25b4e7bd9da6bab8f
DIST pcre2-10.34.tar.bz2 1714731 BLAKE2B f731339b3acdb084ddb1462cf4638edefbfc4a95e63e44c8c75ded55fd9b98334336dbda5f31bd8e9410e63ccd83dc7e707cc20f03df4d801f182ff4939b6cc6 SHA512 77ad75f8b0b8bbfc2f57932596151bca25b06bd621e0f047e476f38cd127f43e2052460b95c281a7e874aad2b7fd86c8f3413f4a323abb74b9440a42d0ee9524

@ -1,78 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic libtool multilib-minimal toolchain-funcs usr-ldscript
DESCRIPTION="Perl-compatible regular expression library"
HOMEPAGE="http://www.pcre.org/"
MY_P="pcre2-${PV/_rc/-RC}"
if [[ ${PV} != *_rc* ]] ; then
# Only the final releases are available here.
SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
else
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
fi
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="bzip2 +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
REQUIRED_USE="?? ( libedit readline )"
RDEPEND="bzip2? ( app-arch/bzip2 )
zlib? ( sys-libs/zlib )
libedit? ( dev-libs/libedit )
readline? ( sys-libs/readline:0= )"
DEPEND="${RDEPEND}
virtual/pkgconfig
userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
S="${WORKDIR}/${MY_P}"
MULTILIB_CHOST_TOOLS=(
/usr/bin/pcre2-config
)
src_prepare() {
default
elibtoolize
}
multilib_src_configure() {
local myeconfargs=(
--enable-pcre2-8
--enable-shared
--with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
$(multilib_native_use_enable bzip2 pcre2grep-libbz2)
$(multilib_native_use_enable libedit pcre2test-libedit)
$(multilib_native_use_enable readline pcre2test-libreadline)
$(multilib_native_use_enable zlib pcre2grep-libz)
$(use_enable jit)
$(use_enable jit pcre2grep-jit)
$(use_enable pcre16 pcre2-16)
$(use_enable pcre32 pcre2-32)
$(use_enable static-libs static)
$(use_enable unicode)
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_compile() {
emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
}
multilib_src_install() {
emake \
DESTDIR="${D}" \
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
install
multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
}
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
}

@ -21,7 +21,7 @@ fi
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="bzip2 +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
REQUIRED_USE="?? ( libedit readline )"

@ -1,2 +1 @@
DIST onig-6.9.3.tar.gz 902349 BLAKE2B 4b20290a2d72b638b13a2e2edc89e072a8d17f89f6a273b58d0e408d01726ace948dd390bb2f4c478b87d01bed9fa344a4933060736a40981219301529957aaa SHA512 6b038879cb9cbe8cc756159eb53125e1d4dc7365ca434d07b99a59f3602987e573da120506bbd88d0f51dcdde5866bfa48d45803f8869503726c4d9a47d62861
DIST onig-6.9.4.tar.gz 908702 BLAKE2B e6e9939f284569408ba01b8551960bc939bbfdca425f8470499f5bb83ead7b6b09898f6f6a09d5d8c26d74d5416f6e5e9e2f00fbe7aa9eb820edb8aa4a3050cc SHA512 ed8f42f6893966c0ee3c168b4fdbcb04b2286ad69ecab43a754c1dbc8fc4656e01319991d776d7144b6a3f90d050781b321432278d83c74c9565c2743851c85b

@ -1,13 +0,0 @@
https://bugs.php.net/bug.php?id=78559
https://github.com/kkos/oniguruma/commit/d3e402928b6eb3327f8f7d59a9edfa622fec557b
--- a/src/regexec.c
+++ b/src/regexec.c
@@ -4196,6 +4196,7 @@ str_lower_case_match(OnigEncoding enc, int case_fold_flag,
lowlen = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &p, end, lowbuf);
q = lowbuf;
while (lowlen > 0) {
+ if (t >= tend) return 0;
if (*t++ != *q++) return 0;
lowlen--;
}

@ -1,25 +0,0 @@
https://bugs.php.net/bug.php?id=78633
https://github.com/kkos/oniguruma/commit/15c4228aa2ffa02140a99912dd3177df0b1841c6
--- a/src/regcomp.c
+++ b/src/regcomp.c
@@ -734,8 +734,8 @@ add_compile_string(UChar* s, int mb_len, int str_len,
COP(reg)->exact_n.s = p;
}
else {
+ xmemset(COP(reg)->exact.s, 0, sizeof(COP(reg)->exact.s));
xmemcpy(COP(reg)->exact.s, s, (size_t )byte_len);
- COP(reg)->exact.s[byte_len] = '\0';
}
return 0;
--- a/src/regexec.c
+++ b/src/regexec.c
@@ -2889,6 +2889,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
DATA_ENSURE(0);
q = lowbuf;
while (len-- > 0) {
+ if (ps >= endp) goto fail;
if (*ps != *q) goto fail;
ps++; q++;
}

@ -1,37 +0,0 @@
# Copyright 2003-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit multilib-minimal
MY_P="onig-${PV}"
DESCRIPTION="Regular expression library for different character encodings"
HOMEPAGE="https://github.com/kkos/oniguruma"
SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/${MY_P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/5"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
IUSE="crnl-as-line-terminator static-libs"
PATCHES=(
"${FILESDIR}"/${PN}-6.9.3-fix-heap-buffer-overflow-php78559.patch
"${FILESDIR}"/${PN}-6.9.3-fix-heap-buffer-overflow-php78633.patch
)
S="${WORKDIR}/${MY_P}"
DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable crnl-as-line-terminator) \
$(use_enable static-libs static)
}
multilib_src_install_all() {
einstalldocs
find "${D}" -name "*.la" -type f -delete || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -9,7 +9,7 @@ SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0/6" # subslot = soname version
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ppc ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ppc ppc64 sparc x86"
IUSE="static-libs regression-test test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -1,7 +1,4 @@
DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
DIST llvmorg-10.0.0-rc4.tar.gz 120816191 BLAKE2B 66c497fa682b9bcbdef3776f540e6b2781286df3405b00ab335aa405a19418d9c4571b301a6814b526e363bb9c0b7c0be0dfc85444fb9d636ecf11ee788b2cdd SHA512 b3df32cafbbe9147c7b5cfbfe96c7231dc2e66d32560c6d0bcda90d6863b37bf8c9cb3f080fb459acd1d56c013149b275d0ce58f1678205f8ca737f1c8d034cd
DIST llvmorg-10.0.0-rc6.tar.gz 120815075 BLAKE2B 3c5eb3594d30f1d6c4e2fec916a209030c7e3d8ebcf0f7ceb376adc78cd8a5bdf94a7c85d821bd5ea65631cf0a2438c538019fe1d58d1f835f3b9a899207d0c4 SHA512 04d8df9cd14f78fc5f80885f5d2e8fe4a1f66a218079c2574f6f3f8f3a86c2a886763da08a9454465615d89da300022e9e0754ecd4b40e25fedc600c2e66f39b
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59

@ -1,125 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
DESCRIPTION="OCaml bindings for LLVM"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Keep in sync with sys-devel/llvm
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/ocaml-4.00.0:0=
dev-ml/ocaml-ctypes:=
~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
!sys-devel/llvm[ocaml(-)]"
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/perl
dev-ml/findlib
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
# Python is needed to run tests using lit
python_setup
cmake-utils_src_prepare
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
-DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON
-DLLVM_OCAML_OUT_OF_TREE=ON
# cheap hack: LLVM combines both anyway, and the only difference
# is that the former list is explicitly verified at cmake time
-DLLVM_TARGETS_TO_BUILD=""
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
# disable various irrelevant deps and settings
-DLLVM_ENABLE_FFI=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DHAVE_HISTEDIT_H=NO
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_HOST_TRIPLE="${CHOST}"
# disable go bindings
-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
# TODO: ocamldoc
)
use test && mycmakeargs+=(
-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
# also: custom rules for OCaml do not work for CPPFLAGS
use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
cmake-utils_src_configure
local llvm_libdir=$(llvm-config --libdir)
# an ugly hack; TODO: figure out a way to pass -L to ocaml...
cd "${BUILD_DIR}/${libdir}" || die
ln -s "${llvm_libdir}"/*.so . || die
if use test; then
local llvm_bindir=$(llvm-config --bindir)
# Force using system-installed tools.
sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
"${BUILD_DIR}"/test/lit.site.cfg.py || die
fi
}
src_compile() {
cmake-utils_src_compile ocaml_all
}
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-llvm-bindings-ocaml
}
src_install() {
DESTDIR="${D}" \
cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
dodoc bindings/ocaml/README.txt
}

@ -1,125 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
DESCRIPTION="OCaml bindings for LLVM"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Keep in sync with sys-devel/llvm
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/ocaml-4.00.0:0=
dev-ml/ocaml-ctypes:=
~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
!sys-devel/llvm[ocaml(-)]"
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/perl
dev-ml/findlib
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
# Python is needed to run tests using lit
python_setup
cmake-utils_src_prepare
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
-DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON
-DLLVM_OCAML_OUT_OF_TREE=ON
# cheap hack: LLVM combines both anyway, and the only difference
# is that the former list is explicitly verified at cmake time
-DLLVM_TARGETS_TO_BUILD=""
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
# disable various irrelevant deps and settings
-DLLVM_ENABLE_FFI=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DHAVE_HISTEDIT_H=NO
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_HOST_TRIPLE="${CHOST}"
# disable go bindings
-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
# TODO: ocamldoc
)
use test && mycmakeargs+=(
-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
# also: custom rules for OCaml do not work for CPPFLAGS
use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
cmake-utils_src_configure
local llvm_libdir=$(llvm-config --libdir)
# an ugly hack; TODO: figure out a way to pass -L to ocaml...
cd "${BUILD_DIR}/${libdir}" || die
ln -s "${llvm_libdir}"/*.so . || die
if use test; then
local llvm_bindir=$(llvm-config --bindir)
# Force using system-installed tools.
sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
"${BUILD_DIR}"/test/lit.site.cfg.py || die
fi
}
src_compile() {
cmake-utils_src_compile ocaml_all
}
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-llvm-bindings-ocaml
}
src_install() {
DESTDIR="${D}" \
cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
dodoc bindings/ocaml/README.txt
}

@ -1,125 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
DESCRIPTION="OCaml bindings for LLVM"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Keep in sync with sys-devel/llvm
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS=""
IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/ocaml-4.00.0:0=
dev-ml/ocaml-ctypes:=
~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
!sys-devel/llvm[ocaml(-)]"
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/perl
dev-ml/findlib
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
# Python is needed to run tests using lit
python_setup
cmake-utils_src_prepare
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
-DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON
-DLLVM_OCAML_OUT_OF_TREE=ON
# cheap hack: LLVM combines both anyway, and the only difference
# is that the former list is explicitly verified at cmake time
-DLLVM_TARGETS_TO_BUILD=""
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
# disable various irrelevant deps and settings
-DLLVM_ENABLE_FFI=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DHAVE_HISTEDIT_H=NO
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_HOST_TRIPLE="${CHOST}"
# disable go bindings
-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
# TODO: ocamldoc
)
use test && mycmakeargs+=(
-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
# also: custom rules for OCaml do not work for CPPFLAGS
use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
cmake-utils_src_configure
local llvm_libdir=$(llvm-config --libdir)
# an ugly hack; TODO: figure out a way to pass -L to ocaml...
cd "${BUILD_DIR}/${libdir}" || die
ln -s "${llvm_libdir}"/*.so . || die
if use test; then
local llvm_bindir=$(llvm-config --bindir)
# Force using system-installed tools.
sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
"${BUILD_DIR}"/test/lit.site.cfg.py || die
fi
}
src_compile() {
cmake-utils_src_compile ocaml_all
}
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-llvm-bindings-ocaml
}
src_install() {
DESTDIR="${D}" \
cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
dodoc bindings/ocaml/README.txt
}

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]"

@ -14,7 +14,7 @@ DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

Binary file not shown.

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

Loading…
Cancel
Save