Sync with portage [Sun Oct 8 01:31:14 MSK 2017].

mhiretskiy 981
root 7 years ago
parent 94ec473791
commit 8336f58db6

@ -1,3 +1,4 @@
DIST augeas-1.7.0.tar.gz 2156168 SHA256 b9315575d07f7ba28ca2f9f60b4987dfe77b5970c98b59dc6ca7873fc4979763 SHA512 d2a5580ffa69c0229cfae85261cf7740b268ceac35f076aef6a7e8631497e5726530adfdb85f715ebb102f28af98861b4fa29d7e3eaa37a5dafff8eaf817befb WHIRLPOOL 29a8aca382592a4492e0d5153525fe26998729f1a7a482dede5275af712dce49ee08f700549dc8f96790ec6031a0a32e5017e059cf4feea0067f1424b80021d5
DIST augeas-1.8.0.tar.gz 2164146 SHA256 515ce904138d99ff51d45ba7ed0d809bdee6c42d3bc538c8c820e010392d4cc5 SHA512 bc7b450b7ef20b7c5bac1b500c89569673a164d32e0f29b5ca100657d0100fcdbb14027d559e206b5ada2c389ac3641181a97cc0c5dcceb1ae1e9932b2decf2c WHIRLPOOL 5f5dffac092bc241bc81b853ce05dd57530aab54e83668007e67dd29ca95583d7dfaebae75f96a822d5231d6bfd16aca30dc17b5b4d7ee6c2096fb9b917a4536
DIST augeas-1.8.1.tar.gz 2165325 SHA256 65cf75b5a573fee2a5c6c6e3c95cad05f0101e70d3f9db10d53f6cc5b11bc9f9 SHA512 80be6dc75e86e2a00c56cb668824ffbe54105b64fad64a2737d980c8ee5ba347a97ddd190a1c712bd07a768ed23a8d07b0eb676033b367632036a8e7f98c976b WHIRLPOOL 71955a1a42294021f69bb9715439b248f341d06b7c2d72a72537abe3f77c8e990453a12ee99ab3ba0c979ad6fd21ef5056c6e85dc8bc01a2e9c5405389030df0
DIST augeas-1.9.0.tar.gz 2199534 SHA256 2b463d398cabc9b42747aa61d3e83ed6a93ce03d9074cf8e7a7bd3107a668343 SHA512 340aed78ac2df455770735b41f3c10a1cbe40f160e236a735d4580edf5b635afeaf7ddadc10e759e9197c4b233e98b3b6b94a3c2f072aa765c104d64371ce171 WHIRLPOOL 226262afff83c9e3421928b24d0ca067b9971f353d152a5de6fd74d8bdf30259acf63881fe761d4c538f36865c8dcd6679583c12649e2c4545374e30a226b568

@ -0,0 +1,46 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools
DESCRIPTION="A library for changing configuration files"
HOMEPAGE="http://augeas.net/"
SRC_URI="http://download.augeas.net/${P}.tar.gz"
SLOT="0"
LICENSE="LGPL-2.1"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="static-libs test"
RDEPEND="
dev-libs/libxml2
sys-libs/readline:="
DEPEND="${RDEPEND}
virtual/pkgconfig
>=app-doc/NaturalDocs-1.40
test? ( dev-lang/ruby )"
PATCHES=(
)
src_prepare() {
if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
addwrite /usr/share/NaturalDocs/Config/Languages.txt
fi
if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
addwrite /usr/share/NaturalDocs/Config/Topics.txt
fi
default
}
src_configure() {
# Needs to implemented
local myeconfargs="--without-selinux
$(use_enable !static-libs shared)
$(use_enable static-libs static)"
eautoreconf
econf ${myeconfargs}
default
}

@ -1,2 +1,2 @@
DIST calamares-3.1.3.tar.gz 4944637 SHA256 9a43dbe465f64f3f286bd13d2eea6a6cb790a561cf477521ae7dc54d49298c17 SHA512 2a8e38234b60aaf8f82cf146e79c364055485a3a50f385d7ff6744df973a67de390223a8fa7e3b5ffb854f997cd0de7e93c1c912dd5739d56dca92528d9522c0 WHIRLPOOL 524ef6dc5528e83ecad4d98f8d7ebb4398f50d683c30c13c4b2aeba1797d3aa725158e80b3a3d25fd6d2071a579882231b78f56f9f2bb1fdf46a3cbb88d10713
DIST calamares-3.1.4.tar.gz 4958385 SHA256 8255eb9b001b9b1271771c1796eb8217be78299c0a4e7f20e432b3dd4f5d371f SHA512 d3ced4222e21e6e9ab18fb90d4d591b1b59b5fd44841e56e41b2902d00f33a910e0ae287a6777c5d71eb08757cfca31d9210f6eabd00b3dd1dc6377413b54bb2 WHIRLPOOL 622122d9092bb4fff3fa40b0a08d5d71780da962c3fedd2d3c2336ff00242b25f2ba524b6ebdce48155ce0a9729a830b03d9aa3ad4c86bde3d3c26ab83574393
DIST calamares-3.1.5.tar.gz 2266110 SHA256 02bd3c10e06ac207cdee0ee29f8d20bfe48eba491800e3eab704e1d294736260 SHA512 92e29668ddab880b76319fbf4eeffea21bfa0bd5b8807cb5a2c2786eafe4921f442a9a5773243fafe5942a346d46b89285e9472d4c8da70b70979a049923df06 WHIRLPOOL 74b396551aee5c7831b05a0c40df56f047bf6bd1fb0c9e3e51b2791696b9e19eb1db78128c1167a668d0d4e412cddbb819c807dfb52cc8bea667307921752a80

@ -2,3 +2,4 @@ DIST perl-cleaner-2.20.tar.bz2 6704 SHA256 ecc3b160d01466a5c9a070e12f3e11719bedb
DIST perl-cleaner-2.23.tar.bz2 6495 SHA256 b7d25021997bd9a98f5df930d16cbaec84d19674e7b0a6eb7727c11725e0f91b SHA512 e0879f75737746479cd1032acfed50f20aad183d834e1e0e9b847edeb14577b32ac8fd4b0f5ff54c03937f181d8f5702c3bd009587a5930d40eee59a13fe6624 WHIRLPOOL 5645da862594cb8b65828ab740f433cb279cb4cac84a3005f8adcced1586b54ff766cfd3bba48fe4eab8b978f4155e29de6701d62c5164bce77cea3f730bd01e
DIST perl-cleaner-2.24.tar.bz2 7161 SHA256 870e09b492e4f725771335512694e7f8fd11ea23cba36d86a89a0ca0075fd1f7 SHA512 c6e32aa3123064e9e2fb02823a8b228e3c77720f5c471e9be51f2a4b2765a6c83dcc2ac24fbffae077f4882c70054eb0a3ca0243677a5ac970cb7a64e8b9c265 WHIRLPOOL 5b8dadc4baf6bee9822f9a062a2e79130366b6f8e10534463d1f30fe6e50a6673ba4fdbbcf7f50c6e97458876728f211b768834ef0017cbfec6647dfe3b5eeea
DIST perl-cleaner-2.25.tar.bz2 7435 SHA256 e2e73243f5292824e9a506ae2037955a9901de498b1f88a9e74bc3ebe80a70a5 SHA512 5ef5682872ce840c0df98de82a6cf622120435f542206a00bb8fe0f9d5e46fb9898a89ab576b08a74b0d69d57a90a930d9f8d7d0b527fa3a928a6e4ddbad6ee9 WHIRLPOOL dd1545321dea22dfd465b7925f20b914b58d05464c83d10eeed96cdc270a0774c8dc81614446a36de7efbf908996c8dfd8c18912adac8bf92c0a4c975791446f
DIST perl-cleaner-2.26.tar.bz2 7462 SHA256 018e6c83f2c6d6d67a1bf7dbcece2f961d6c498091f319b99aaab1ced93f24ab SHA512 5c3fa164a2b5e84e5520276e4f3ff4872298cf53aa973afd6c8755e71884f1591c7cd5cc99d399d343ca01cb9ece8ee3e8e3aaf1908d22afc31ae08fab1e5821 WHIRLPOOL 77a199962de0ec2bbbc4035ba1ff0633174ee17c33a30d6c804946a0bbce8d35468f1bc42f027dc6a407bbefa101f6cc7f4e7cfd632c03477956958f1bd02abd

@ -0,0 +1,42 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit prefix
DESCRIPTION="User land tool for cleaning up old perl installs"
HOMEPAGE="https://www.gentoo.org/proj/en/perl/"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git"
else
SRC_URI="mirror://gentoo/${P}.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
[[ "${PV}" == "9999" ]] && DEPEND="sys-apps/help2man"
RDEPEND="app-shells/bash
dev-lang/perl
|| (
( sys-apps/portage app-portage/portage-utils )
sys-apps/pkgcore
sys-apps/paludis
)
"
src_prepare() {
default
eprefixify ${PN}
}
src_install() {
dosbin perl-cleaner
doman perl-cleaner.1
}

@ -1,5 +1,3 @@
DIST puppet-agent_1.10.6-1xenial_amd64.deb 16459994 SHA256 ebd680c4c35823298ffb6d2f322ebafce498775d9a864b76c62a879d8a1102a3 SHA512 d607314c6e37180c9d1e8c88aa13dbd9e73f041f25152a3a1cc85e0afed0c401e163cdd08b7eea31ea8f26f33c183949358b50375fd84f025da4083f4a97c565 WHIRLPOOL 45720ada35ef741479d54283fc1a07ebe7c50e5c6ada4358bb321e6fa2acc07aa349c23160a458c114cd4a2fc48841515545c206f72c17c57a6c5c3b70752698
DIST puppet-agent_1.10.6-1xenial_i386.deb 16131024 SHA256 7e28145e6ca8847a1eb33bb443f1b55aa0700d4e4ddc65c74c605c075c312d55 SHA512 488fbfee2c9f75cd97e88511ef36521f26c5e617792bdc5b145040c8f7ff58b14308d24542afe4fc7c8689cc0e0d7b03514309123dc0653484eacd3de938dc59 WHIRLPOOL bb7b7a1efbddd88d4ddf382a543358af7f98ac4690fad3339f47b8ff71b8bf050acf9e0dea4ed376bac5e8b1929f4368504a1ae5ab2461e4f091abed66fb149d
DIST puppet-agent_1.10.7-1xenial_amd64.deb 16449418 SHA256 a23169ff2adeff419436f738a991d3026c3f06b993a9824922d26a125a53fd0f SHA512 5c73eea444186cbd0d52e42a20858964db6e7f2b6e537274b5b0a44499cc2bb0622a4eb6a55fa10dcc3946bdae3bb00b9d228aa5d1d444cc53aeefddf11f7b5b WHIRLPOOL 5eb0c71bc630ad878f2731353c93195b4e686ff0d48796fff0b700550f8f8ab69d039c818a557bdf231ecb08b85e8529706f280b19bae031a24f2687e50ae32b
DIST puppet-agent_1.10.7-1xenial_i386.deb 16182468 SHA256 ee60570ec29561adfded01fec2017756d5f921c08677a530149b0da2ead1f29f SHA512 7d5a41af7619fe008fec5302e23482d688692affaeded4b0b2f4e693168c2ef6995beee5e2410a9cb2e7f99650119e9c5f8007ed65709ad623654bdd6c09e402 WHIRLPOOL 81d7a325d2c675f2392dfc16f1d3a411c6e7a2e449844b90358d0a97c31cc3ccdbf6a8a891bd818017b9504e898fe8aed2d12233dae4822f125f7ab2230ceb1d
DIST puppet-agent_5.1.0-1xenial_amd64.deb 15141786 SHA256 1a3ad0ef1a5e4026927f3ae010e9a48b9c1e31dfb8e0691d01383d29f3b14644 SHA512 a210d225591328e2c041aad1dd7cfdac614531e1ceb524c3e35d3330962111bdc66408268550072e53190d6a10a7c8244b0bfa8a12b81f023883831c1fcbd070 WHIRLPOOL 34dc5cfcf6bb3500b89451078734d5d7a03a53a0be9e5501d6ded574cf2b6dbafe207db87aa919fd9cdadb6c2a0a05191854be3245d477e035fe7d52778cf527

@ -1,111 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils systemd unpacker user
DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/xenial/PC1/${PN:0:1}/${PN}/${PN}_${PV}-1xenial"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
x86? ( ${SRC_BASE}_i386.deb )
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="experimental puppetdb selinux"
RESTRICT="strip"
CDEPEND="!app-admin/augeas
!app-admin/mcollective
!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
!app-emulation/virt-what"
DEPEND="
${CDEPEND}"
RDEPEND="${CDEPEND}
app-portage/eix
sys-apps/dmidecode
sys-libs/glibc
>=sys-libs/readline-6.0
<sys-libs/readline-7.0
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
S=${WORKDIR}
QA_PREBUILT="
/opt/puppetlabs/puppet
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/*
/opt/puppetlabs/puppet/lib/engines/*
/opt/puppetlabs/puppet/lib/virt-what/*
/opt/puppetlabs/puppet/lib/*
/opt/puppetlabs/puppet/bin/*"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/run/puppet puppet
}
src_prepare() {
if use experimental; then
epatch "${FILESDIR}/43e2c935252b995134ce353e5e6312cf77aea480.patch"
fi
}
src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/mcollective
doconfd etc/default/pxp-agent
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/mcollective
doins etc/logrotate.d/pxp-agent
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
dodir var/log/puppetlabs/puppet/
fperms 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd" puppet
newinitd "${FILESDIR}/mcollective.initd" mcollective
systemd_dounit lib/systemd/system/puppet.service
systemd_dounit lib/systemd/system/mcollective.service
systemd_dounit lib/systemd/system/pxp-agent.service
systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym ../../opt/puppetlabs/bin/mco /usr/bin/mco
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
dosym ../../opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
dosym ../../opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
dosym ../../opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
dosym ../../opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
dosym ../../opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
}

@ -14,7 +14,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="experimental puppetdb selinux"
RESTRICT="strip"

@ -1,4 +1,2 @@
DIST zoo-2.10-gcc-issues-fix.patch 19467 SHA256 0215efd7aa218048f5f8bc085810f89cad6a9f710234f0d0e93be959a02f582b SHA512 a5b5e857b3d38633224ca8a28717cb529a11a2e66ca974fb9b7e326d18443657439b88b4af4867492399813845496dc0812a7e07885b01116e0163416562ce3c WHIRLPOOL dcf18afbfb097e4edf35dd0b9a10f8253c949d0017ad4c26b7bf3f0acfaa090bc32a3d06e5fa55960073baa06b6d4a8721674a355a060d31ee6acf32c13ec247
DIST zoo-2.10pl1.tar.gz 172096 SHA256 ad8d8fee5e524aca0e1e9a1e431c21cd59943d8373d5dffe4edca03a7e4284f4 SHA512 cf69b15020ebcbd10bda19967a52ac6f8fe09dc598e8034b82449c50f4c5000571a5be284452f5e7801d134e1581f8f9e871fbef65518dc9c69a77fb536f2c12 WHIRLPOOL 430fe2bd185dc1845afd36426966d0c29a2df5495d6c5c8e3092de5da48a77b781430cf95c93467826da03b646ab4641b881c5bacd4e6e763cb409dcbcf11762
DIST zoo_2.10-28.debian.tar.xz 14984 SHA256 17ce35beb831b9d67a2fc19172f519881ef88fd6f134ffe69f327c7a8c9e7a78 SHA512 07fdb16bf011ae8c8badbb0040ebd82777f11560dc231b70060fe8f71ba706707769934411043197e44b10ad38d7efd8432fdbea03e265f9f6aa58acb1cc2708 WHIRLPOOL bb21e803f88471806ada28d279925b3841fa93b19d730a202341c58d2c95907f71ebdfa1627f14587c96890ac313523a0e35d8c12b9195c883eae4eef39c4893
DIST zoo_2.10.orig.tar.gz 172629 SHA256 a8bd2fb9907db425760831eb28b3b690c18529a53568e7e9c42a97f9ef70f129 SHA512 1847fd6a6aac534386736ca04fa5a88db26c7c06315a0ea2c8e86ff944a133b7506c297cda67e44f797d9ef39446c132e847714732b9f138bf9b46c1525e574f WHIRLPOOL 566645ea8e00ec0f938657cc725deac3bdef42f5773a1c9514079afebffb27c1770b305b6448e848da511e1434e19cd41dca2ed77be690735921112ade1ec005

@ -1,36 +0,0 @@
Taken from Fedora
--- portable.c
+++ portable.c
@@ -364,6 +364,31 @@
show_dir(direntry);
}
#endif
+ char *p;
+ /* take off '../' */
+ while ((p = strstr( direntry->dirname, "../" )) != NULL) {
+ while (*(p+3) != '\0') {
+ *p = *(p + 3);
+ p++;
+ }
+ *p = *(p+3); /* move last null */
+ //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname);
+ }
+ /* take off '/' */
+ if ( direntry->dirname[0] == '/' ) {
+ p = direntry->dirname;
+ while (*p != '\0') {
+ *p = *(p + 1);
+ p++;
+ }
+ *p = *(p+1); /* move last null */
+ //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname);
+ }
+ /* take off '..' */
+ if(!strcmp(direntry->dirname, ".."))
+ direntry->dirname[0] = '\0';
+ /* direntry->dirlen = strlen(direntry->dirname); */
+
return (0);
}

@ -1,16 +0,0 @@
Taken from Fedora
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426
http://bugs.gentoo.org/125622
--- zoo/parse.c
+++ zoo/parse.c
@@ -39,7 +39,7 @@
char *namep; /* points to relevant part of tempname */
char *p;
- strcpy (tempname, fname);
+ strncpy(tempname, fname, LFNAMESIZE);
#ifdef DEBUG
printf ("parse: supplied name is [%s].\n", tempname);

@ -1,25 +0,0 @@
--- sysv.c 2007-06-16 15:01:53 +0200
+++ sysv.c.new 2007-06-16 14:38:38 +0200
@@ -63,8 +63,8 @@
return (fname); /* default is no-op */
}
-extern long timezone; /* defined by library routine */
-long time ();
+/*extern long timezone; defined by library routine */
+/* long time (); */
struct tm *localtime ();
/* Function gettz(), returns the offset from GMT in seconds of the
--- zoo.h 2007-06-16 15:01:53 +0200
+++ zoo.h.new 2007-06-16 14:57:58 +0200
@@ -95,6 +95,9 @@
#endif
typedef unsigned char uchar;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+typedef unsigned short ushort;
/* WARNING: Static initialization in zooadd.c or zooext.c depends on the
order of fields in struct zoo_header */

@ -1,71 +0,0 @@
diff -ur zoo-2.10-r2/zooext.c zoo-2.10-r3/zooext.c
--- zoo-2.10-r2/zooext.c 2007-05-23 23:39:14.000000000 +0200
+++ zoo-2.10-r3/zooext.c 2007-05-23 23:36:37.000000000 +0200
@@ -89,6 +89,7 @@
#endif
struct direntry direntry; /* directory entry */
int first_dir = 1; /* first dir entry seen? */
+ unsigned long zoo_pointer = 0; /* Track our position in the file */
static char extract_ver[] = "Zoo %d.%d is needed to extract %s.\n";
static char no_space[] = "Insufficient disk space to extract %s.\n";
@@ -169,6 +170,9 @@
exit_status = 1;
}
zooseek (zoo_file, zoo_header.zoo_start, 0); /* seek to where data begins */
+
+ /* Begin tracking our position in the file */
+ zoo_pointer = zoo_header.zoo_start;
}
#ifndef PORTABLE
@@ -597,6 +601,11 @@
} /* end if */
loop_again:
+ /* Make sure we are not seeking to already processed data */
+ if (next_ptr <= zoo_pointer)
+ prterror ('f', "ZOO chain structure is corrupted\n");
+ zoo_pointer = next_ptr;
+
zooseek (zoo_file, next_ptr, 0); /* ..seek to next dir entry */
} /* end while */
Nur in zoo-2.10-r3: zooext.c~.
Nur in zoo-2.10-r3: zooext.c.orig.
diff -ur zoo-2.10-r2/zoolist.c zoo-2.10-r3/zoolist.c
--- zoo-2.10-r2/zoolist.c 1991-07-20 00:57:27.000000000 +0200
+++ zoo-2.10-r3/zoolist.c 2007-05-23 23:38:19.000000000 +0200
@@ -92,7 +92,7 @@
int show_mode = 0; /* show file protection */
#endif
int first_dir = 1; /* if first direntry -- to adjust dat_ofs */
-
+unsigned long zoo_pointer = 0; /* Track our position in the file */
while (*option) {
switch (*option) {
case 'a': show_name++; break;
@@ -211,6 +211,9 @@
show_acmt (&zoo_header, zoo_file, 0); /* show archive comment */
}
+ /* Begin tracking our position in the file */
+ zoo_pointer = zoo_header.zoo_start;
+
/* Seek to the beginning of the first directory entry */
if (zooseek (zoo_file, zoo_header.zoo_start, 0) != 0) {
ercount++;
@@ -437,6 +440,11 @@
if (verb_list && !fast)
show_comment (&direntry, zoo_file, 0, (char *) NULL);
} /* end if (lots of conditions) */
+
+ /* Make sure we are not seeking to already processed data */
+ if (direntry.next <= zoo_pointer)
+ prterror ('f', "ZOO chain structure is corrupted\n");
+ zoo_pointer = direntry.next;
/* ..seek to next dir entry */
zooseek (zoo_file, direntry.next, 0);
Nur in zoo-2.10-r3: zoolist.c~.
Nur in zoo-2.10-r3: zoolist.c.orig.

@ -1,23 +0,0 @@
Taken from Fedora
--- misc.c
+++ misc.c
@@ -135,11 +135,17 @@
char *fullpath (direntry)
struct direntry *direntry;
{
- static char result[PATHSIZE];
+ static char result[PATHSIZE+LFNAMESIZE+12]; /* Room for enough space.*/
combine (result,
direntry->dirlen != 0 ? direntry->dirname : "",
(direntry->namlen != 0) ? direntry->lfname : direntry->fname
);
+
+ if (strlen (result) >= PATHSIZE) {
+ prterror ('f', "Combined dirname and filename too long!\n");
+ *result = '\0';
+ }
+
return (result);
}

@ -1,36 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
inherit eutils toolchain-funcs
DESCRIPTION="Manipulate archives of files in compressed form"
HOMEPAGE="ftp://ftp.kiarchive.ru/pub/unix/arcers"
SRC_URI="ftp://ftp.kiarchive.ru/pub/unix/arcers/${P}pl1.tar.gz
mirror://gentoo/${P}-gcc-issues-fix.patch"
LICENSE="zoo"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris ~x86-solaris"
IUSE=""
S=${WORKDIR}
src_unpack() {
unpack ${A}
epatch "${DISTDIR}"/${P}-gcc-issues-fix.patch
epatch "${FILESDIR}"/${P}-CAN-2005-2349.patch
epatch "${FILESDIR}"/${P}-febz-183426.patch
epatch "${FILESDIR}"/${P}-security_pathsize.patch
epatch "${FILESDIR}"/${P}-multiple-dos-fix.patch
epatch "${FILESDIR}"/${P}-gentoo-fbsd.patch
}
src_compile() {
# emake no workie on FreeBSD
make CC="$(tc-getCC)" linux || die
}
src_install() {
dobin zoo fiz || die
doman zoo.1 fiz.1
}

@ -12,7 +12,7 @@ SRC_URI="http://http.debian.net/debian/pool/main/z/${PN}/${PN}_${PV}.orig.tar.gz
LICENSE="public-domain"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ~ppc ~ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris ~x86-solaris"
IUSE=""
S="${WORKDIR}/${P}.orig"

@ -2,4 +2,5 @@ DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c1258164
DIST certbot-0.16.0.tar.gz 992700 SHA256 9abac759d7d72b520693ff806479e87609059a1546bb6ea26416267ebeedd25b SHA512 4cb6ec06c6ec71cd6886a716100f269de3922f17a582c8c20ec40327b65e1c16347a5b33d44131e56a7667233ebba88ff36a4e854beedd13e848897ba09a7e64 WHIRLPOOL 34dae0b20d472b4020986d0768ea6757c977fa4626666a9f81711007c051e76f9ad60f5a3bc77c768975e71a791f20e5ca2bb6f2fc41d809ebe2541129c975ef
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1
DIST letsencrypt-0.1.0.tar.gz 524821 SHA256 1c1ac7b41e5e0fc0e41a7ef159ac9147a4aafff54453d57b519eb05bf52ade14 SHA512 6a786290362741ac97dcb4b59bc4cba56f3e8b5193bbc10be19086d462f76e6124259c42bac36afe9eb818f4bb9edec34f8e2a02bd8c855e3b35404f4ee81f96 WHIRLPOOL cdc41a3466de54ab8ddfeedea9935205d78383028769dcfbc876be0c2ef80c2d14f5d0e4a9c56a751163718f5ababb07848822989a060de7031ea8ebdf6424a0

@ -0,0 +1,38 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
S=${WORKDIR}/certbot-${PV}/acme
fi
inherit distutils-r1
DESCRIPTION="An implementation of the ACME protocol"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
python_test() {
nosetests -w ${PN} || die
}

@ -1 +1 @@
DIST aespipe-v2.4d.tar.bz2 106703 SHA256 c5ce656e0ade49b93e1163ec7b35450721d5743d8d804ad3a9e39add0389e50f SHA512 3c48facedf2e57978e9762ca1bfaa7c435897d75ab127697e20fa935a4797fde1d88e31db1b46f35968626e1bda3f2d2251d1b3f171cd27ee3cfc7a3d0193248 WHIRLPOOL 4b41b97b50e29fb4d567368684e50f7c6dc13dc9f783e17e8da2355f6aeaa7ec38d266942b1597897f579079674b34275d1bec2af68adfaf212766beb30680d7
DIST aespipe-v2.4e.tar.bz2 107741 SHA256 bad5abb8678c2a6062d22b893171623e0c8e6163b5c1e6e5086e2140e606b93a SHA512 e038f710ac971e5ba740648c0f255e8bc9fcea9be1a6b76208a453f21f013e1662c006d4f4495fa2b2560fd9b0c236947462a9b337a120073c6a5335b29f077e WHIRLPOOL aa6cffad21a537afe198ef97170dc312d76cbd38eabd3c3e8ad9f4333c04269ba639da3d732b94792ac9dbdf6c92d066f86a595f1cc55548b958114d1edb80bc

@ -1,3 +1,4 @@
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1

@ -0,0 +1,38 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
KEYWORDS="~amd64"
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RDEPEND="~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/python-augeas[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="test? ( ${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}] )
dev-python/setuptools[${PYTHON_USEDEP}]"
python_test() {
nosetests || die
}

@ -1,3 +1,4 @@
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}"

@ -1,3 +1,4 @@
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1

@ -0,0 +1,52 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
fi
inherit distutils-r1
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
RDEPEND="
${CDEPEND}
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.2[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="
${CDEPEND}
test? (
>=dev-python/astroid-1.3.5[${PYTHON_USEDEP}]
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/ipdb[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
>=dev-python/pylint-1.4.2[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
)"
python_test() {
nosetests -v ${PN} || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -46,6 +46,10 @@ src_prepare() {
-e '/CFLAGS="$CFLAGS -O0/d' \
-i configure.ac configure || die "sed 1 failed"
# Accept GnuPG 2.2.0
sed -e 's/GNUPG_ACCEPTED="2.0.12 2.1.4"/GNUPG_ACCEPTED="2.0.12 2.1.4 2.2.0"/g' \
-i configure.ac configure || die "sed failed"
gnome2_src_prepare
}

@ -4,9 +4,9 @@ DIST atom-1.15.0.rpm 86561729 SHA256 935b444d9122f46d3ab490611476498c963de1232f9
DIST atom-1.16.0.rpm 90249819 SHA256 6305f149f7b85e498e56d92fe0927ca81fd4cce62153f266fcd8f39958a59e69 SHA512 e3e9096caf6d5ca802ad47e434a6e8a51c0ab25b967747621e2ea4eb440d5401df3b7cd3d101d6d5a1f2f12fa77525e7e54e252438ff24ec9b651601bb7f4d97 WHIRLPOOL b294fa728388a2b10000a85c02d7548e077e34c5db83ddea1d2b5d6bdebd4c72db906ccc856fd766e3f2f3900ad5f02de3c4bd22e273683c92e4f0dd027fa6f3
DIST atom-1.18.0.rpm 128551353 SHA256 08609b26776ee12effd47ff87a2eb44f7ba9000a0e28b8022ca0bace0216e8d8 SHA512 c30df4b3c10e2e886c349a8c255ea6e9e308b38811f02b2517ba464959a873d159b5fa4fe89d68ed50500038b92219cb061d9dee0917b0b807e086cceec2803b WHIRLPOOL 3a1607be3155ac614b403df94f8974a675a646e777e4cc7ce351b975e17a9e6708676f8c6772d35f90f9240757a0fbeb1e1fa1a304c3f08728041440e59b7192
DIST atom-1.20.1.tar.gz 9358859 SHA256 0577ff9df069f8c290fb73b387ea88f8af1fae8b4a40c5ad7cf97af824584b11 SHA512 a7f9edcfc84b81d768a92af5967a6889f85155c46a623b33e51999706e22f411ce570f42777fb3015174611ef19a956d8ed336ab1172612b27d75de8ef9c96fa WHIRLPOOL 467169cd0e26d9738f25e974ac188b00e80d1bc5c525d17b1b0c221bf5826c2258267fd1723ff26fb827f6f9f268a34b6d25f6278adbd2bd628dd5dad03296a1
DIST atom-1.21.0-beta2.tar.gz 9378306 SHA256 9ff06ad890b85b68d85ae9b699d2b05ac3defc3130ff590fe0441efa9e3ac55f SHA512 9e5e75bca7dbbded19e7dac3444b4c3d86d24874d0d3b83692eaf66906e6c78ecf212c63718fcb92aa9c6ef28477042564e3dec1eb0e23398fb04272b79c0b5f WHIRLPOOL 6dc0411e46832ed21b7c42b9eda0e73c6424805b0bc2966716d7f42d218b549ab8ec5b6198747f0058c892bbb661512ee3cdd4f6fe185e27288b3f4a6531dd62
DIST atom-1.21.0.tar.gz 9378180 SHA256 8600efc85e1c38c5d8c5571428eac37689fc8c1900192930cbae05d0056abcac SHA512 98afc286afc5ad46a28c3db7bfb7857c15a87711dae6b07046cd1aae5c7c2a30be847aec9eb779fdceaeb7e4f86f54ffd1262d6f0ba2d5a6c1b7d4ce5b8d2104 WHIRLPOOL 8876d974b1a22ccb20d8b660a451f7293f801d060c5835fe9d8bf74f96c1cbd4716d8ac054a8c858c3530fc547c0275cd9f17f085c0d52e76d5f7475a1eaf4b2
DIST atom-bin-1.20.1.rpm 134506625 SHA256 20a0a1e398a1eace09f298231b7169bdb73c345c6ccb784a2929bc9df5996b17 SHA512 7bf8c4b092e0b45d56c5414d088633ae016b5564a7a97e1d706ad46743b6aad43a7268b7ade881680fa5f005eed0f46ba1523909a09cf3ec0aa51ce2335b8d92 WHIRLPOOL 263c888e9ba4c103a0fb859c210d1c49cc8a956dc50ae6dd6da0322c8e908b6741f6ff931f68f60800fce90fb5133494d7ffdb7455b74ea6cae6e32af022f0e9
DIST atom-bin-1.21.0-beta2.rpm 131042161 SHA256 a70ef4e0198e424358029c265f776928b098e6a9005078cab8def44ddf5f0697 SHA512 af648caaada35475e57f151b9c658eaaeb14d9705d732f5b4a58357e21d6e1cd5efff5b34207403d46f257b693ded5894115d1e4948b9b2aad0cf2f4430ce3a4 WHIRLPOOL 6b6b9597f5da79c3249577ce4baea748a4c7c2b63bb0917d61329a5d94143918452fd8c0b2f3ba90363cabf69d7d9098a113e07662255bc73af8cb1e36c42242
DIST atom-bin-1.21.0.rpm 131039632 SHA256 ba7cf7c68944a3b756e24dbd4cbf79f8b992612033ac63335dac5a529f9e9808 SHA512 8425b8d8741632e9fcc28127c8f2cbe5901c8a4a3b2a8a1cb5d4b1410374a841241e90939952db749334c829ac541925b3785a787c60adf32cfdfa5abc2e3b8a WHIRLPOOL b5be7c89db6fc8a814a9d209190433a9a93bddc6be8f5a6af895bea630ba52ce75bb892b49ffab1c1aa77513eb8a3e26921b1edec7207ece9f5fb1535f472c07
DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
DIST atom-git-utils-5.0.0.tar.gz 36545 SHA256 a79e4951de6ac0a81f2ea359f82c575f826a4409f91b90a11f75a85c7886bec9 SHA512 42fd7589ca56049b1ad5cf7f2df7e295fc8575f4eee8a562fa103541157bd487c1748e3d6c536237b260dcbb4b530619dfcc121ba84b6d2fbf6d684dc959f819 WHIRLPOOL 03ae2290fc1ef0863c643a1fd4f9d4c98bc9b2939fddf6fd366eea9122b9d5612f53ad7ea6eb57c020eb376fa623253082da4c26f67d8de1bb59189b64f9d60b

@ -72,7 +72,7 @@ BINMODS=(
)
LICENSE="MIT"
SLOT="beta"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@ -140,8 +140,8 @@ src_prepare() {
eapply "${FILESDIR}/atom-python.patch"
eapply "${FILESDIR}/apm-python.patch"
eapply "${FILESDIR}/atom-unbundle-electron.patch"
eapply "${FILESDIR}/atom-apm-path-r1.patch"
eapply "${FILESDIR}/atom-unbundle-electron-r1.patch"
eapply "${FILESDIR}/atom-apm-path-r2.patch"
eapply "${FILESDIR}/atom-license-path-r1.patch"
eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
eapply "${FILESDIR}/atom-marker-layer-r1.patch"
@ -154,7 +154,15 @@ src_prepare() {
./atom.sh \
|| die
sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${EROOT%/}${install_dir}/app.asar|g" \
./atom.sh \
|| die
sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
./atom.sh \
|| die
sed -i -e "s|^#!/bin/bash|#!${EROOT%/}/bin/bash|g" \
./atom.sh \
|| die
@ -169,12 +177,12 @@ src_prepare() {
apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
sed -i -e \
"s|atomCommand = 'atom';|atomCommand = '/usr/bin/atom${suffix}'|g" \
"s|atomCommand = 'atom';|atomCommand = '${EROOT%/}/usr/bin/atom${suffix}'|g" \
apm/lib/test.js || die
rm apm/bin/node || die
sed -i -e "s|/$(get_atom_rpmdir)/atom|/usr/bin/atom${suffix}|g" \
sed -i -e "s|/$(get_atom_rpmdir)/atom|${EROOT%/}/usr/bin/atom${suffix}|g" \
"${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
for binmod in ${BINMODS[@]}; do
@ -219,6 +227,9 @@ src_prepare() {
ln -s "${nan_s}" "${_s}/node_modules/nan" || die
done
sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
"${BUILD_DIR}/app/src/config-schema.js" || die
sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
"${BUILD_DIR}/app/src/config-schema.js" || die
@ -281,7 +292,7 @@ src_compile() {
# Replace vendored ctags with a symlink to system ctags
rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
ln -s "/usr/bin/ctags" \
ln -s "${EROOT%/}/usr/bin/ctags" \
"${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
}
@ -364,13 +375,13 @@ get_install_dir() {
# Return the Electron installation directory.
get_electron_dir() {
echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
echo -n "${EROOT%/}/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
}
# Return the directory containing appropriate Node headers
# for the required version of Electron.
get_electron_nodedir() {
echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
echo -n "${EROOT%/}/usr/include/electron-${ELECTRON_SLOT}/node/"
}
# Run JavaScript using Electron's version of Node.

@ -0,0 +1,16 @@
diff --git a/src/config-schema.js b/src/config-schema.js
index 39f0585..24ee2de 100644
--- a/src/config-schema.js
+++ b/src/config-schema.js
@@ -5,6 +5,11 @@ const configSchema = {
core: {
type: 'object',
properties: {
+ apmPath: {
+ type: 'string',
+ "default": '{{ATOM_PREFIX}}/usr/bin/apm{{ATOM_SUFFIX}}',
+ description: 'Path to apm executable.'
+ },
ignoredNames: {
type: 'array',
default: ['.git', '.hg', '.svn', '.DS_Store', '._*', 'Thumbs.db', 'desktop.ini'],

@ -0,0 +1,45 @@
From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001
From: Elvis Pranskevichus <elvis@magic.io>
Date: Thu, 27 Jul 2017 13:18:54 -0400
Subject: [PATCH] Unbundle electron
---
atom.sh | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/atom.sh b/atom.sh
index 6b0e94430..ea8e0dc2e 100755
--- a/atom.sh
+++ b/atom.sh
@@ -102,11 +102,10 @@ elif [ $OS == 'Linux' ]; then
SCRIPT=$(readlink -f "$0")
USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
- if [ -n "$BETA_VERSION" ]; then
- ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
- else
- ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
- fi
+ export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
+ export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
+ export LOCAL_GIT_DIRECTORY="{{ATOM_PREFIX}}/usr"
+ ATOM_PATH="{{ATOM_PATH}}"
ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
mkdir -p "$ATOM_HOME"
@@ -116,11 +115,11 @@ elif [ $OS == 'Linux' ]; then
[ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
if [ $EXPECT_OUTPUT ]; then
- "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+ "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
exit $?
else
(
- nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+ nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
if [ $? -ne 0 ]; then
cat "$ATOM_HOME/nohup.out"
exit $?
--
2.13.3

@ -13,7 +13,7 @@ SRC_URI="https://github.com/rickysarraf/${PN}/releases/download/${PV}/${MY_P}.ta
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
KEYWORDS="amd64 ~ppc ~x86"
IUSE="+acpi apm bluetooth scsi"
RDEPEND="net-wireless/wireless-tools

@ -11,7 +11,7 @@ SRC_URI="http://webglimpse.net/trial/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="alpha amd64 ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
KEYWORDS="alpha amd64 ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="static"
RDEPEND="!dev-libs/tre

@ -0,0 +1,58 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGO_VENDOR=( "github.com/BurntSushi/toml b26d9c308763d68093482582cea63d69be07a0f0"
"github.com/chzyer/readline 41eea22f717c616615e1e59aa06cf831f9901f35"
"github.com/fatih/color 9131ab34cf20d2f6d83fdc67168a5430d1c7dc23"
"github.com/google/go-github 2966f2579cd93bc62410f55ba6830b3925e7629d"
"github.com/google/go-querystring 53e6ce116135b80d037921a7fdd5138cf32d7a8a"
"github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
"github.com/jroimartin/gocui ba396278de0a3c63658bbaba13d2d2fa392edb11"
"github.com/mattn/go-colorable 5411d3eea5978e6cdc258b30de592b60df6aba96"
"github.com/mattn/go-isatty 57fdcb988a5c543893cc61bce354a6e24ab70022"
"github.com/mattn/go-runewidth 9e777a8366cce605130a531d2cd6363d07ad7317"
"github.com/nsf/termbox-go b6acae516ace002cb8105a89024544a1480655a5"
"github.com/spf13/cobra 63121c8814fc0b99184dbc1c8b7ef4fddae437c3"
"github.com/spf13/pflag 2300d0f8576fe575f71aaa5b9bbe4e1b0dc2eb51"
"google.golang.org/appengine 170382fa85b10b94728989dfcf6cc818b335c952 github.com/golang/appengine" )
EGO_PN="github.com/knqyf263/${PN}"
inherit golang-build golang-vcs-snapshot
ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
DESCRIPTION="Simple command-line snippet manager"
HOMEPAGE="https://github.com/knqyf263/pet"
SRC_URI="${ARCHIVE_URI}
${EGO_VENDOR_URI}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="zsh-completion"
# dev-go/toml doesn't provide sources
DEPEND="dev-go/glide
dev-go/go-crypto
dev-go/go-net
dev-go/go-oauth2
dev-go/go-protobuf
dev-go/go-sys"
RDEPEND="${DEPEND}
zsh-completion? ( app-shells/zsh-completions )"
src_install() {
dobin pet
if use zsh-completion ; then
insinto /usr/share/zsh/site-functions
doins src/github.com/knqyf263/pet/misc/completions/zsh/_${PN}
fi
}
pkg_postinstall() {
einfo "You should consider to install app-shells/peco to be able to use selector command"
}

@ -11,7 +11,7 @@ HOMEPAGE="http://spacenav.sourceforge.net/"
SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20daemon/${PN}%20${PV}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
KEYWORDS="~amd64 ppc64 ~x86"
IUSE="X"
RDEPEND="X? ( x11-apps/xdpyinfo )"

@ -1,15 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mg_gentoo@yahoo.com</email>
<name>Mark Gilbert</name>
<description>Third-party maintainer</description>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">aiksaurus</remote-id>
</upstream>

@ -1 +1,2 @@
DIST pgadmin3-1.22.1.tar.gz 14667770 SHA256 719ea7c0e65d99e8f365bf2d395d7a199804170b3266ada1374d9ac790bc783e SHA512 f190e82317e10b75cb0ebd7cc0c878c4be9c392e33aba44a1356446e4cac92735834a32b1d65999ffc3e36ed130d4cfcc1c25ad5faa3c745e884fccd797331e0 WHIRLPOOL ce7291cd0257914d6c5c11b71f0de630d9b72ac1ec9ee890a4b1feffed540c751c16e4164544223bb7db0eca02d1798d83f188362db4b750c504fd44aad081b7
DIST pgadmin3-1.22.2.tar.gz 14788481 SHA256 9b68b0e3d3f0a261344fb8196825967d1e7acaca1d8cc82c42e12368ca5844ac SHA512 dcfc72cc2e33dbf1c9d1ce287f9d1d46eb047c99a165372cb74ef1716098f90f2ce2a8d0cd21b511a1ac8c0569dc7b3c0593208a74641f5a8f29dc9c04e40bbd WHIRLPOOL 22db2eb23520d80a3a2d2187954885ed46dac5a8db3fc26eec81faec20987fcc9a2529e0f5d91a6560374c9518209f361530911fbc60488109ec22819e0c048d

@ -0,0 +1,11 @@
--- a/pgadmin/frm/plugins.cpp
+++ b/pgadmin/frm/plugins.cpp
@@ -380,7 +380,7 @@ bool pluginUtilityFactory::CheckEnable(p
{
// If we need a specific server type, we can't enable unless
// we have a connection.
- if (!obj || !(obj->GetConnection()->GetStatus() == PGCONN_OK))
+ if (!obj || !obj->GetConnection() || !(obj->GetConnection()->GetStatus() == PGCONN_OK))
return false;
// Get the server type.

@ -0,0 +1,45 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eutils multilib versionator wxwidgets
DESCRIPTION="wxWidgets GUI for PostgreSQL"
HOMEPAGE="http://www.pgadmin.org/"
SRC_URI="mirror://postgresql/pgadmin/pgadmin3/v${PV}/src/${P}.tar.gz"
LICENSE="POSTGRESQL"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
SLOT="0"
IUSE="debug +databasedesigner"
DEPEND="
x11-libs/wxGTK:3.0=[X]
>=dev-db/postgresql-8.4.0:=
>=dev-libs/libxml2-2.6.18
>=dev-libs/libxslt-1.1"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}"/pgadmin3-{desktop,gcc6-null-pointer}.patch )
src_configure() {
WX_GTK_VER="3.0"
setup-wxwidgets
econf --with-wx-version=${WX_GTK_VER} \
$(use_enable debug) \
$(use_enable databasedesigner)
}
src_install() {
emake DESTDIR="${D}" install
newicon "${S}/pgadmin/include/images/pgAdmin3.png" ${PN}.png
domenu "${S}/pkg/pgadmin3.desktop"
# Fixing world-writable files
fperms -R go-w /usr/share
}

@ -1 +1,2 @@
DIST pgadmin4-1.6.tar.gz 24595129 SHA256 514c021994c91eb9adb4a42edcec12974b473175289d48a5824b8c0f4e15e0c8 SHA512 115c2b0f1fd205912ba5fa51426de8c75ce979a075a16434ced3421186794fef756faae58f81c9585359cbe31b7bde24b773cfc886a64d349e656334349f6387 WHIRLPOOL 2697d253cf4a05a57fd06576636ab689c883daea46eae190f57ccb0a88a77e0df5e57bea554aca844beaab4cc9e10ecdf0607a0aee24468ed0602c78073f98c4
DIST pgadmin4-2.0.tar.gz 24988176 SHA256 a8c8052d9e61f3ae357810bcabc8ffc8b02a0c39730e1f14d9a920ae7cae6ccb SHA512 463e95a341dec74ac0a08a647af1cbe83b514b0595b8469ab9c7b5335e24604e082b906d530aa735fef7b08c58d8a8a6df3edf5dc65402f6521165f1cbb72f67 WHIRLPOOL 5685a6d7c4fbeb1c4629ab30908e75792ede775afe59895462fe1760b45e33a7b67e5942eabb63400eab9c757aeb1f872d0146161839f304cb2d2b8f133a1ff5

@ -0,0 +1,121 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{4,5} )
PYTHON_REQ_USE="sqlite"
inherit python-single-r1 qmake-utils
DESCRIPTION="GUI administration and development platform for PostgreSQL"
HOMEPAGE="http://www.pgadmin.org/"
SRC_URI="mirror://postgresql/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
LICENSE="POSTGRESQL"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="doc"
RESTRICT="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON_DEPEND="${PYTHON_DEPS}
dev-qt/qtwidgets:5
dev-qt/qtwebkit:5
dev-qt/qtwebengine:5[widgets]
"
DEPEND="${COMMON_DEPEND}
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
"
RDEPEND="${COMMON_DEPEND}
>=app-text/htmlmin-0.1.10[${PYTHON_USEDEP}]
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
>=dev-python/beautifulsoup-4.4.1[${PYTHON_USEDEP}]
>=dev-python/blinker-1.3[${PYTHON_USEDEP}]
>=dev-python/click-6.6[${PYTHON_USEDEP}]
>=dev-python/extras-0.0.3[${PYTHON_USEDEP}]
>=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}]
>=dev-python/flask-0.11.1[${PYTHON_USEDEP}]
>=dev-python/flask-babel-0.11.1[${PYTHON_USEDEP}]
>=dev-python/flask-gravatar-0.4.2[${PYTHON_USEDEP}]
>=dev-python/flask-htmlmin-1.2[${PYTHON_USEDEP}]
>=dev-python/flask-login-0.3.2[${PYTHON_USEDEP}]
>=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
>=dev-python/flask-migrate-2.0.3[${PYTHON_USEDEP}]
>=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
>=dev-python/flask-security-1.7.5[${PYTHON_USEDEP}]
>=dev-python/flask-sqlalchemy-2.1[${PYTHON_USEDEP}]
>=dev-python/flask-wtf-0.12[${PYTHON_USEDEP}]
>=dev-python/html5lib-0.9999999[${PYTHON_USEDEP}]
>=dev-python/itsdangerous-0.24[${PYTHON_USEDEP}]
>=dev-python/jinja-2.7.3[${PYTHON_USEDEP}]
>=dev-python/linecache2-1.0.0[${PYTHON_USEDEP}]
>=dev-python/markupsafe-0.23[${PYTHON_USEDEP}]
>=dev-python/mimeparse-1.5.1[${PYTHON_USEDEP}]
>=dev-python/passlib-1.6.2[${PYTHON_USEDEP}]
>=dev-python/pbr-1.9.1[${PYTHON_USEDEP}]
>=dev-python/psycopg-2.7.1[${PYTHON_USEDEP}]
>=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
>=dev-python/pyrsistent-0.11.13[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.5.0[${PYTHON_USEDEP}]
>=dev-python/python-sqlparse-0.1.19[${PYTHON_USEDEP}]
>=dev-python/pytz-2014.10[${PYTHON_USEDEP}]
>=dev-python/simplejson-3.6.5[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-1.0.14[${PYTHON_USEDEP}]
>=dev-python/werkzeug-0.9.6[${PYTHON_USEDEP}]
>=dev-python/wtforms-2.0.2[${PYTHON_USEDEP}]
"
S="${WORKDIR}"/${P}/runtime
src_prepare() {
cd "${WORKDIR}"/${P} || die
default
}
src_configure() {
eqmake5
}
src_compile() {
default
if use doc; then
cd "${WORKDIR}"/${P} || die
emake docs
fi
}
src_install() {
dobin pgAdmin4
cd "${WORKDIR}"/${P} || die
local APP_DIR=/usr/share/${PN}/web
insinto "${APP_DIR}"
doins -r web/*
cat > "${D}${APP_DIR}"/config_local.py <<-EOF
SERVER_MODE = False
UPGRADE_CHECK_ENABLED = False
EOF
python_optimize "${D}${APP_DIR}"
local CONFIG_DIR="/etc/xdg/pgadmin"
dodir "${CONFIG_DIR}"
cat > "${D}${CONFIG_DIR}"/pgadmin4.conf <<-EOF
[General]
ApplicationPath=${APP_DIR}
PythonPath=$(python_get_sitedir)
EOF
if use doc; then
rm -r docs/en_US/_build/html/_sources || die
insinto /usr/share/${PN}/docs/en_US/_build
doins -r docs/en_US/_build/html
fi
}

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
POSTGRES_COMPAT=( 9.{1,2,3,4,5} )
POSTGRES_COMPAT=( 9.{2,3,4} )
inherit autotools eutils versionator
@ -23,7 +23,6 @@ RDEPEND="
dev-db/postgresql:9.4[server]
dev-db/postgresql:9.3[server]
dev-db/postgresql:9.2[server]
dev-db/postgresql:9.1[server]
)
dev-libs/json-c
dev-libs/libxml2:2

@ -2,9 +2,10 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
POSTGRES_COMPAT=( 9.{1,2,3,4,5} )
POSTGRES_COMPAT=( 9.{3..6} 10 )
POSTGRES_USEDEP="server"
inherit autotools eutils versionator subversion
inherit autotools eutils postgres-multi subversion versionator
MY_PV=$(replace_version_separator 3 '')
MY_P="${PN}-${MY_PV}"
@ -20,19 +21,13 @@ KEYWORDS=""
IUSE="doc gtk static-libs test"
RDEPEND="
|| (
dev-db/postgresql:9.5[server]
dev-db/postgresql:9.4[server]
dev-db/postgresql:9.3[server]
dev-db/postgresql:9.2[server]
dev-db/postgresql:9.1[server]
)
dev-libs/json-c
dev-libs/libxml2:2
>=sci-libs/geos-3.4.2
>=sci-libs/proj-4.6.0
>=sci-libs/gdal-1.10.0:=
gtk? ( x11-libs/gtk+:2 )
${POSTGRES_DEP}
dev-libs/json-c
dev-libs/libxml2:2
>=sci-libs/geos-3.4.2
>=sci-libs/proj-4.6.0
>=sci-libs/gdal-1.10.0:=
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
@ -46,9 +41,6 @@ DEPEND="${RDEPEND}
test? ( dev-util/cunit )
"
# TODO can be read from Version.config
PGIS="2.2"
REQUIRED_USE="test? ( doc )"
# Needs a running psql instance, doesn't work out of the box
@ -56,232 +48,67 @@ RESTRICT="test"
MAKEOPTS+=' -j1'
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
postgres_check_slot() {
if ! declare -p POSTGRES_COMPAT &>/dev/null; then
die 'POSTGRES_COMPAT not declared.'
fi
# Don't die because we can't run postgresql-config during pretend.
[[ "$EBUILD_PHASE" = "pretend" \
&& -z "$(which postgresql-config 2> /dev/null)" ]] && return 0
local res=$(echo ${POSTGRES_COMPAT[@]} \
| grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
if [[ "$res" -eq "0" ]] ; then
eerror "PostgreSQL slot must be set to one of: "
eerror " ${POSTGRES_COMPAT[@]}"
return 1
fi
return 0
}
pkg_setup() {
postgres_check_slot || die
export PGSLOT="$(postgresql-config show)"
}
src_prepare() {
# epatch "${FILESDIR}/${PN}-2.1-ldflags.patch"
# epatch "${FILESDIR}/${PN}-2.0-arflags.patch"
# epatch "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch"
source "${S}"/Version.config
export PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
export QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
eapply_user
local AT_M4DIR="macros"
eautoreconf
postgres-multi_src_prepare
}
src_configure() {
local myargs=""
use gtk && myargs+=" --with-gui"
econf \
--with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \
${myargs}
postgres-multi_foreach econf ${myargs}
}
src_compile() {
emake
emake -C topology
postgres-multi_foreach emake
postgres-multi_foreach emake -C topology
if use doc ; then
emake comments
emake cheatsheets
emake -C doc html
postgres-multi_foreach emake comments
postgres-multi_foreach emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
src_install() {
emake DESTDIR="${D}" install
use doc && emake DESTDIR="${D}" comments-install
emake -C topology DESTDIR="${D}" install
dobin ./utils/postgis_restore.pl
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt
use doc && dohtml -r doc/html/*
docinto topology
dodoc topology/{TODO,README}
insinto /etc
doins "${FILESDIR}/postgis_dbs"
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
docinto html
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
docinto html/images
postgres-multi_forbest dodoc doc/html/images/*
fi
use static-libs || find "${ED}" -name '*.a' -delete
}
pkg_postinst() {
ebegin "Refreshing PostgreSQL symlinks"
postgresql-config update
eend $?
elog "To finish installing or updating PostGIS edit:"
elog " ${EROOT%/}/etc/postgis_dbs"
elog
elog "Then, run:"
elog " emerge --config =${CATEGORY}/${PF}"
}
pkg_config(){
source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
source "${EROOT%/}/etc/postgis_dbs"
local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
if [[ -n ${configured} ]] ; then
einfon "Password for PostgreSQL user '${pguser}': "
read -s PGPASSWORD
export PGPASSWORD
echo
else
eerror "You must edit:"
eerror " ${EROOT%/}/etc/postgis_dbs"
eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
eerror
die "Edit postgis_dbs"
fi
# The server we work with must be the same slot we built against.
local server_match
server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
-Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}")
if [[ $? = 0 ]] ; then
if [[ $server_match -ne 1 ]] ; then
unset PGPASSWORD
eerror "Server version must be ${PGSLOT}.x"
die "Server version isn't ${PGSLOT}.x"
fi
else
unset PGPASSWORD
eerror "Is the server running?"
die "Couldn't connect to server."
fi
local retval
safe_exit() {
unset PGPASSWORD
sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
eend $retval
eerror "All actions could not be performed."
eerror "Read above to see what failed."
eerror "Once you fix the issue, you'll need to edit:"
eerror " ${EROOT%/}/etc/postgis_dbs"
eerror "As some things may have succeeded."
eerror
die "All actions could not be performed"
}
local db
for db in ${databases[@]} ; do
ebegin "Performing CREATE LANGUAGE on ${db}"
createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
retval=$?
# In this case, only error code 1 is fatal
[[ $retval == 1 ]] && safe_exit || eend 0
ebegin "Enabling PostGIS on ${db}"
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/postgis.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
for db in ${templates[@]} ; do
ebegin "Creating template database '${db}'"
createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
${db} "PostGIS Template"
retval=$?
[[ $retval != 0 ]] && safe_exit
psql -q -U ${pguser} -p ${PGPORT} -c \
"UPDATE pg_database \
SET datistemplate = TRUE, datallowconn = TRUE \
WHERE datname = '${db}'"
retval=$?
[[ $retval != 0 ]] && safe_exit
createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
retval=$?
# In this case, only error code 1 is fatal
[[ $retval == 1 ]] && safe_exit
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/postgis.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
for db in ${epsg_databases[@]} ; do
ebegin "Adding EPSG to ${db}"
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/spatial_ref_sys.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
for db in ${comment_databases[@]} ; do
ebegin "Adding comments on ${db}"
local comment_file
for comment_file in "${postgis_path}"/*_comments.sql ; do
psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}"
retval=$?
[[ $retval == 0 ]] && continue || safe_exit
done
eend 0
done
for db in ${upgrade_from_1_3[@]} ; do
ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
for db in ${upgrade_from_1_4[@]} ; do
ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
for db in ${upgrade_from_1_5[@]} ; do
ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
-f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
retval=$?
[[ $retval == 0 ]] && eend 0 || safe_exit
done
# Clean up and make it so the user has to edit postgis_dbs again that
# way this script won't step on any toes due to user error.
unset PGPASSWORD
sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
einfo
einfo "Currently, only one PostgreSQL slot at a time can be PostGIS enabled."
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "http://postgis.net/docs/manual-dev/postgis_installation.html#create_new_db_extensions"
}

@ -0,0 +1,51 @@
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create file
# "/etc/systemd/system/postgresql-@SLOT@.service.d/*.conf"
# containing your changes
# For example, if you want to change the server's port number to 5433,
# create a file named
# "/etc/systemd/system/postgresql-@SLOT@.service.d/port.conf"
# containing:
# [Service]
# Environment=PGPORT=5433
# This will override the setting appearing below.
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5432
# Location of configuration files
Environment=PGDATA=/etc/postgresql-@SLOT@
# Where the data directory is located
Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
ExecStart=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl start -D ${DATA_DIR} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} -D ${PGDATA} --data-directory=${DATA_DIR}" -w -t 300
ExecStop=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl stop -D ${DATA_DIR} -s -m fast
ExecReload=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl reload -D ${DATA_DIR} -s
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
[Install]
WantedBy=multi-user.target

@ -0,0 +1,52 @@
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create file
# "/etc/systemd/system/postgresql-@SLOT@.service.d/*.conf"
# containing your changes
# For example, if you want to change the server's port number to 5433,
# create a file named
# "/etc/systemd/system/postgresql-@SLOT@.service.d/port.conf"
# containing:
# [Service]
# Environment=PGPORT=5433
# This will override the setting appearing below.
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5432
# Location of configuration files
Environment=PGDATA=/etc/postgresql-@SLOT@
# Where the data directory is located
Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
ExecStart=/usr/@LIBDIR@/postgresql-@SLOT@/bin/postgres -p ${PGPORT} -D ${DATA_DIR}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
[Install]
WantedBy=multi-user.target

@ -0,0 +1 @@
d /run/postgresql 1775 root postgres -

@ -0,0 +1,464 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT=$(get_major_version)
MY_PV=${PV/_/}
S="${WORKDIR}/${PN}-${MY_PV}"
SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl python +readline
selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
server? ( systemd? ( sys-apps/systemd ) )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-${SLOT}beta2-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
for i in ${BSD_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=bsd"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !alpha spinlocks) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(usex server "$(use_with systemd)" '--without-systemd') \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
serverman=(
initdb
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
pg_{test_{fsync,timing},upgrade,waldump}
post{gres,master}
)
for m in ${serverman[@]} ; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6-r1" | \
systemd_newunit - ${PN}-${SLOT}.service
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
if ! use systemd; then
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
fi
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
elif use systemd; then
einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
einfo "instead of 'pg_ctl'."
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -0,0 +1,449 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
tcl? ( >=dev-lang/tcl-8:0= )
uuid? ( dev-libs/ossp-uuid )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with kerberos krb5) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(use_with tcl) \
$(use_with uuid ossp-uuid) \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.2" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.2" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.2" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directory/d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -0,0 +1,454 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
tcl? ( >=dev-lang/tcl-8:0= )
uuid? ( dev-libs/ossp-uuid )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with kerberos krb5) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(use_with tcl) \
$(use_with uuid ossp-uuid) \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.2" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -0,0 +1,486 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
for i in ${BSD_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=bsd"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.2" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -0,0 +1,492 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
for i in ${BSD_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=bsd"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !alpha spinlocks) \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.2" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
if use alpha && use server ; then
ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
ewarn "As a result, performance will be extremely degraded."
fi
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -0,0 +1,497 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
MY_PV=${PV/_/}
S="${WORKDIR}/${PN}-${MY_PV}"
SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
server? ( systemd? ( sys-apps/systemd ) )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
eapply_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
for i in ${BSD_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=bsd"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !alpha spinlocks) \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(usex server "$(use_with systemd)" '--without-systemd') \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6-r1" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
if ! use systemd; then
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
fi
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
elif use systemd; then
einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
einfo "instead of 'pg_ctl'."
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -1,11 +1,11 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic git-2 linux-info multilib pam prefix \
inherit eutils flag-o-matic git-r3 linux-info multilib pam prefix \
python-single-r1 systemd user versionator
KEYWORDS=""
@ -13,7 +13,7 @@ KEYWORDS=""
# Bump when rc released.
SLOT="11"
EGIT_REPO_URI="git://git.postgresql.org/git/postgresql.git"
EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
@ -75,11 +75,6 @@ sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
src_unpack() {
base_src_unpack
git-2_src_unpack
}
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
@ -124,7 +119,7 @@ src_prepare() {
die 'PGSQL_PAM_SERVICE rename failed.'
fi
epatch_user
eapply_user
}
src_configure() {
@ -188,8 +183,9 @@ src_install() {
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6" | \
"${FILESDIR}/${PN}.service-9.6-r1" | \
systemd_newunit - ${PN}-${SLOT}.service
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
@ -234,7 +230,7 @@ src_install() {
if use prefix ; then
keepdir /run/postgresql
fperms 0775 /run/postgresql
fperms 1775 /run/postgresql
fi
}
@ -273,6 +269,7 @@ pkg_preinst() {
}
pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"

@ -107,7 +107,7 @@ CDEPEND="~dev-java/netbeans-harness-${PV}
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
dev-java/sun-jaf:0
<=dev-java/sun-jaf-1.1.1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"

@ -0,0 +1,370 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="Netbeans IDE Cluster"
HOMEPAGE="http://netbeans.org/projects/ide"
SLOT="8.0"
SOURCE_URL="http://download.netbeans.org/netbeans/8.0.2/final/zip/netbeans-8.0.2-201411181905-src.zip"
SRC_URI="${SOURCE_URL}
https://dev.gentoo.org/~fordfrog/distfiles/netbeans-8.0.2-build.xml.patch.bz2
http://hg.netbeans.org/binaries/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar
http://hg.netbeans.org/binaries/98308890597ACB64047F7E896638E0D98753AE82-asm-all-4.0.jar
http://hg.netbeans.org/binaries/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar
http://hg.netbeans.org/binaries/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar
http://hg.netbeans.org/binaries/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar
http://hg.netbeans.org/binaries/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip
http://hg.netbeans.org/binaries/53AFD6CAA1B476204557B0626E7D673FBD5D245C-css3-spec.zip
http://hg.netbeans.org/binaries/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip
http://hg.netbeans.org/binaries/C40DFDACDF892D1BA14B540B32C11B6F34659931-exechlp-1.0.zip
http://hg.netbeans.org/binaries/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar
http://hg.netbeans.org/binaries/75C30C488AD2A18A82C7FE3829F4A33FC7841643-glassfish-tooling-sdk-0.3-b054-246345.jar
http://hg.netbeans.org/binaries/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip
http://hg.netbeans.org/binaries/F4A1696661E6233F8C27EE323CAEF9CB052666F1-html5-datatypes.jar
http://hg.netbeans.org/binaries/4388C34B9F085A42FBEA06C5B00FDF0A251171EC-html5doc.zip
http://hg.netbeans.org/binaries/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar
http://hg.netbeans.org/binaries/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar
http://hg.netbeans.org/binaries/A2862B7795EF0E0F0716BEC84528FA3B629E479C-io-xml-util.jar
http://hg.netbeans.org/binaries/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar
http://hg.netbeans.org/binaries/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip
http://hg.netbeans.org/binaries/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar
http://hg.netbeans.org/binaries/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip
http://hg.netbeans.org/binaries/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar
http://hg.netbeans.org/binaries/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar
http://hg.netbeans.org/binaries/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar
http://hg.netbeans.org/binaries/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar
http://hg.netbeans.org/binaries/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar
http://hg.netbeans.org/binaries/DA6CE3C2EB334DB61EFA99CD66134619867368FA-js-corestubs.zip
http://hg.netbeans.org/binaries/997BF4A93B8A99E37AB51C9016D1D18CF5FF4B60-js-domstubs.zip
http://hg.netbeans.org/binaries/A723CD3E76C92CFE563B602035532C1C9D3D7192-js-reststubs.zip
http://hg.netbeans.org/binaries/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar
http://hg.netbeans.org/binaries/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar
http://hg.netbeans.org/binaries/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar
http://hg.netbeans.org/binaries/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar
http://hg.netbeans.org/binaries/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar
http://hg.netbeans.org/binaries/76E901A1F432323E7E90FC86FDB2534A28952293-nashorn-02f810c26ff9-patched.jar
http://hg.netbeans.org/binaries/010FC8BD229B7F68C8C4D5BDE399475373096601-non-schema.jar
http://hg.netbeans.org/binaries/7052E115041D04410A4519A61307502FB7C138E6-org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar
http://hg.netbeans.org/binaries/B19A4D998C76FE7A30830C96B9E3A47682F320FC-org.eclipse.core.jobs-3.5.101.jar
http://hg.netbeans.org/binaries/E64EF6A3FC5DB01AD95632B843706CCE56614C90-org.eclipse.core.net_1.2.100.I20110511-0800.jar
http://hg.netbeans.org/binaries/6658C235056134F7E86295E751129508802D71F2-org.eclipse.core.runtime-3.7.0.jar
http://hg.netbeans.org/binaries/0CA9B9DF8A8E4C6805C60A5761C470FCE8AE828F-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110.jar
http://hg.netbeans.org/binaries/9C74D245214DB08E7EB9BC07A951B41CFE3E3648-org.eclipse.equinox.app-1.3.100.jar
http://hg.netbeans.org/binaries/78E5D0B8516B042495660DA36CE5114650F8F156-org.eclipse.equinox.common_3.6.0.v20110523.jar
http://hg.netbeans.org/binaries/FD94003A1BCE42008753522BFED68E5A84B92644-org.eclipse.equinox.preferences-3.4.2.jar
http://hg.netbeans.org/binaries/54AE046B40C9095C2637F8D21664C5CD76E34485-org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar
http://hg.netbeans.org/binaries/0FFB9B1D7CD992CE6C8AAEEC2F6F98DFBB1D2F91-org.eclipse.equinox.security-1.1.1.jar
http://hg.netbeans.org/binaries/7FE73A21F4A078ABAAFACE4D2B03B5EB3D306F63-org.eclipse.jgit-3.4.1.201406201815-r.jar
http://hg.netbeans.org/binaries/49F1EFEBC8CECA5D514209BE18A048EB5707C0A7-org.eclipse.jgit.java7-3.4.1.201406201815-r.jar
http://hg.netbeans.org/binaries/A94F8F805202B28236FFBC03C1CA149129DAEA1C-org.eclipse.mylyn.bugzilla.core_3.10.0.20131024-1218.jar
http://hg.netbeans.org/binaries/19D64C17A692D2023E22B16AD515118DF6427790-org.eclipse.mylyn.commons.core_3.10.0.20130926-1710.jar
http://hg.netbeans.org/binaries/A1BF01D1DD09274446738C3F83360314B8881CD5-org.eclipse.mylyn.commons.net_3.10.0.20131018-1210.jar
http://hg.netbeans.org/binaries/136A7EB3BB9B2559C5F9184B438F108C959B3C03-org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116.jar
http://hg.netbeans.org/binaries/531746EBE57071AB7F8CCC7ACB0E806F25893916-org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116.jar
http://hg.netbeans.org/binaries/D3ED088A49DE9E5163457E9279181DD4185BFBE6-org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023.jar
http://hg.netbeans.org/binaries/8D4278A9F47D17A104182E59CF06D682B3DE0B3E-org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055.jar
http://hg.netbeans.org/binaries/1FC011B8A350B70950B3F1D722D7F2890C6E76D8-org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055.jar
http://hg.netbeans.org/binaries/6E914CA3075C8FDF7652F04A02868CF32F2EDCE3-org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055.jar
http://hg.netbeans.org/binaries/8A2F6232978E0330A5D36F19BA0686F96FB980B5-org.tmatesoft.svnkit_1.8.4.r10218_v20140302_1242.jar
http://hg.netbeans.org/binaries/820FD32B3FB7F885996B15474F220BDCCACD6D27-processtreekiller-1.0.2.jar
http://hg.netbeans.org/binaries/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar
http://hg.netbeans.org/binaries/D08E473A4D0510FB329D64E4CC4F2963D000699C-svnClientAdapter-javahl-1.10.3.jar
http://hg.netbeans.org/binaries/2CD487DCDE4C4FC38D1C9EBCD45418A1B5EF188D-svnClientAdapter-main-1.10.3.jar
http://hg.netbeans.org/binaries/5D37A7FE167A1D44731192748C79B2D7905D474F-svnClientAdapter-svnkit-1.10.3.jar
http://hg.netbeans.org/binaries/24CEAE4A9A2AAAA0BD78FF001914BA06B59CEDF2-svnjavahl-1.8.4.jar
http://hg.netbeans.org/binaries/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar
http://hg.netbeans.org/binaries/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar
http://hg.netbeans.org/binaries/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar
http://hg.netbeans.org/binaries/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar
http://hg.netbeans.org/binaries/CE9A1C96875443F2FDD5127B750DA39CF4CE818B-com.trilead.ssh2_1.0.0.build217_r155_v20130603_1628.jar
http://hg.netbeans.org/binaries/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar
http://hg.netbeans.org/binaries/6FC6098C230D7CBA5730106D379CBBB42F6EC48A-validator.jar
http://hg.netbeans.org/binaries/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar
http://hg.netbeans.org/binaries/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar
http://hg.netbeans.org/binaries/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar
http://hg.netbeans.org/binaries/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar"
LICENSE="|| ( CDDL GPL-2-with-classpath-exception )"
KEYWORDS="~amd64 ~x86"
IUSE=""
S="${WORKDIR}"
CDEPEND="~dev-java/netbeans-harness-${PV}
~dev-java/netbeans-platform-${PV}
dev-java/commons-httpclient:3
dev-java/commons-lang:2.1
dev-java/commons-logging:0
dev-java/icu4j:55
>=dev-java/iso-relax-20050331-r4:0
dev-java/jdbc-mysql:0
dev-java/jdbc-postgresql:0
>=dev-java/json-simple-1.1:0
dev-java/jsr173:0
dev-java/jvyamlb:0
dev-java/log4j:0
dev-java/lucene:3.5
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
>=dev-java/sun-jaf-1.1.1-r1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"
# dev-vcs/subversion>=1.8.4:0[java] missing from the tree
# app-text/jing:0 our version is probably too old
# dev-java/commons-io:1 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/freemarker:2.3
# dev-java/ini4j:0 our version is too old
# dev-java/jaxb:2 upstream version contains more stuff so websvccommon does not compile with ours
# dev-java/trilead-ssh2:0 in overlay
DEPEND="virtual/jdk:1.7
app-arch/unzip
dev-java/commons-codec:0
>=dev-java/jsch-0.1.46:0
dev-java/jzlib:0
${CDEPEND}
dev-java/javacc:0
dev-java/javahelp:0"
RDEPEND=">=virtual/jdk-1.7
${CDEPEND}"
INSTALL_DIR="/usr/share/${PN}-${SLOT}"
EANT_BUILD_XML="nbbuild/build.xml"
EANT_BUILD_TARGET="rebuild-cluster"
EANT_EXTRA_ARGS="-Drebuild.cluster.name=nb.cluster.ide -Dext.binaries.downloaded=true -Djava.awt.headless=true"
EANT_FILTER_COMPILER="ecj-3.3 ecj-3.4 ecj-3.5 ecj-3.6 ecj-3.7"
JAVA_PKG_BSFIX="off"
JAVA_PKG_WANT_SOURCE="1.7"
JAVA_PKG_WANT_TARGET="1.7"
src_unpack() {
unpack $(basename ${SOURCE_URL})
einfo "Deleting bundled jars..."
find -name "*.jar" -type f -delete
unpack netbeans-8.0.2-build.xml.patch.bz2
pushd "${S}" >/dev/null || die
ln -s "${DISTDIR}"/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar libs.antlr3.runtime/external/antlr-runtime-3.4.jar || die
ln -s "${DISTDIR}"/98308890597ACB64047F7E896638E0D98753AE82-asm-all-4.0.jar libs.nashorn/external/asm-all-4.0.jar || die
ln -s "${DISTDIR}"/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar libs.bytelist/external/bytelist-0.1.jar || die
ln -s "${DISTDIR}"/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar o.apache.commons.io/external/commons-io-1.4.jar || die
ln -s "${DISTDIR}"/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar libs.commons_net/external/commons-net-3.3.jar || die
ln -s "${DISTDIR}"/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip css.editor/external/css21-spec.zip || die
ln -s "${DISTDIR}"/53AFD6CAA1B476204557B0626E7D673FBD5D245C-css3-spec.zip css.editor/external/css3-spec.zip || die
ln -s "${DISTDIR}"/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip derby/external/derbysampledb.zip || die
ln -s "${DISTDIR}"/C40DFDACDF892D1BA14B540B32C11B6F34659931-exechlp-1.0.zip dlight.nativeexecution/external/exechlp-1.0.zip || die
ln -s "${DISTDIR}"/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar libs.freemarker/external/freemarker-2.3.19.jar || die
ln -s "${DISTDIR}"/75C30C488AD2A18A82C7FE3829F4A33FC7841643-glassfish-tooling-sdk-0.3-b054-246345.jar libs.glassfish.sdk/external/glassfish-tooling-sdk-0.3-b054-246345.jar || die
ln -s "${DISTDIR}"/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip html.editor/external/html-4.01.zip || die
ln -s "${DISTDIR}"/F4A1696661E6233F8C27EE323CAEF9CB052666F1-html5-datatypes.jar html.validation/external/html5-datatypes.jar || die
ln -s "${DISTDIR}"/4388C34B9F085A42FBEA06C5B00FDF0A251171EC-html5doc.zip html.parser/external/html5doc.zip || die
ln -s "${DISTDIR}"/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar html.parser/external/htmlparser-1.2.1.jar || die
ln -s "${DISTDIR}"/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar libs.ini4j/external/ini4j-0.5.1.jar || die
ln -s "${DISTDIR}"/A2862B7795EF0E0F0716BEC84528FA3B629E479C-io-xml-util.jar html.validation/external/io-xml-util.jar || die
ln -s "${DISTDIR}"/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar html.validation/external/iri.jar || die
ln -s "${DISTDIR}"/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip spellchecker.dictionary_en/external/ispell-enwl-3.1.20.zip || die
ln -s "${DISTDIR}"/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar xml.jaxb.api/external/jaxb-api.jar || die
ln -s "${DISTDIR}"/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip libs.jaxb/external/jaxb-api-doc.zip || die
ln -s "${DISTDIR}"/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar libs.jaxb/external/jaxb-impl.jar || die
ln -s "${DISTDIR}"/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar libs.jaxb/external/jaxb-xjc.jar || die
ln -s "${DISTDIR}"/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar libs.jaxb/external/jaxb1-impl.jar || die
ln -s "${DISTDIR}"/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar libs.javafx/external/jfxrt.jar || die
ln -s "${DISTDIR}"/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar html.validation/external/jing.jar || die
ln -s "${DISTDIR}"/DA6CE3C2EB334DB61EFA99CD66134619867368FA-js-corestubs.zip javascript2.editor/external/js-corestubs.zip || die
ln -s "${DISTDIR}"/997BF4A93B8A99E37AB51C9016D1D18CF5FF4B60-js-domstubs.zip javascript2.editor/external/js-domstubs.zip || die
ln -s "${DISTDIR}"/A723CD3E76C92CFE563B602035532C1C9D3D7192-js-reststubs.zip javascript2.editor/external/js-reststubs.zip || die
ln -s "${DISTDIR}"/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.core-0.0.7.jar || die
ln -s "${DISTDIR}"/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.sshagent-0.0.7.jar || die
ln -s "${DISTDIR}"/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.pageant-0.0.7.jar || die
ln -s "${DISTDIR}"/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.usocket-jna-0.0.7.jar || die
ln -s "${DISTDIR}"/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar extexecution.impl/external/libpam4j-1.1.jar || die
ln -s "${DISTDIR}"/76E901A1F432323E7E90FC86FDB2534A28952293-nashorn-02f810c26ff9-patched.jar libs.nashorn/external/nashorn-02f810c26ff9-patched.jar || die
ln -s "${DISTDIR}"/010FC8BD229B7F68C8C4D5BDE399475373096601-non-schema.jar html.validation/external/non-schema.jar || die
ln -s "${DISTDIR}"/7052E115041D04410A4519A61307502FB7C138E6-org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar o.eclipse.core.contenttype/external/org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar || die
ln -s "${DISTDIR}"/B19A4D998C76FE7A30830C96B9E3A47682F320FC-org.eclipse.core.jobs-3.5.101.jar o.eclipse.core.jobs/external/org.eclipse.core.jobs-3.5.101.jar || die
ln -s "${DISTDIR}"/E64EF6A3FC5DB01AD95632B843706CCE56614C90-org.eclipse.core.net_1.2.100.I20110511-0800.jar o.eclipse.core.net/external/org.eclipse.core.net_1.2.100.I20110511-0800.jar || die
ln -s "${DISTDIR}"/6658C235056134F7E86295E751129508802D71F2-org.eclipse.core.runtime-3.7.0.jar o.eclipse.core.runtime/external/org.eclipse.core.runtime-3.7.0.jar || die
ln -s "${DISTDIR}"/0CA9B9DF8A8E4C6805C60A5761C470FCE8AE828F-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110.jar o.eclipse.core.runtime.compatibility.auth/external/org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110.jar || die
ln -s "${DISTDIR}"/9C74D245214DB08E7EB9BC07A951B41CFE3E3648-org.eclipse.equinox.app-1.3.100.jar o.eclipse.equinox.app/external/org.eclipse.equinox.app-1.3.100.jar || die
ln -s "${DISTDIR}"/78E5D0B8516B042495660DA36CE5114650F8F156-org.eclipse.equinox.common_3.6.0.v20110523.jar o.eclipse.equinox.common/external/org.eclipse.equinox.common_3.6.0.v20110523.jar || die
ln -s "${DISTDIR}"/FD94003A1BCE42008753522BFED68E5A84B92644-org.eclipse.equinox.preferences-3.4.2.jar o.eclipse.equinox.preferences/external/org.eclipse.equinox.preferences-3.4.2.jar || die
ln -s "${DISTDIR}"/54AE046B40C9095C2637F8D21664C5CD76E34485-org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar o.eclipse.equinox.registry/external/org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar || die
ln -s "${DISTDIR}"/0FFB9B1D7CD992CE6C8AAEEC2F6F98DFBB1D2F91-org.eclipse.equinox.security-1.1.1.jar o.eclipse.equinox.security/external/org.eclipse.equinox.security-1.1.1.jar || die
ln -s "${DISTDIR}"/7FE73A21F4A078ABAAFACE4D2B03B5EB3D306F63-org.eclipse.jgit-3.4.1.201406201815-r.jar o.eclipse.jgit/external/org.eclipse.jgit-3.4.1.201406201815-r.jar || die
ln -s "${DISTDIR}"/49F1EFEBC8CECA5D514209BE18A048EB5707C0A7-org.eclipse.jgit.java7-3.4.1.201406201815-r.jar o.eclipse.jgit.java7/external/org.eclipse.jgit.java7-3.4.1.201406201815-r.jar || die
ln -s "${DISTDIR}"/A94F8F805202B28236FFBC03C1CA149129DAEA1C-org.eclipse.mylyn.bugzilla.core_3.10.0.20131024-1218.jar o.eclipse.mylyn.bugzilla.core/external/org.eclipse.mylyn.bugzilla.core_3.10.0.20131024-1218.jar || die
ln -s "${DISTDIR}"/19D64C17A692D2023E22B16AD515118DF6427790-org.eclipse.mylyn.commons.core_3.10.0.20130926-1710.jar o.eclipse.mylyn.commons.core/external/org.eclipse.mylyn.commons.core_3.10.0.20130926-1710.jar || die
ln -s "${DISTDIR}"/A1BF01D1DD09274446738C3F83360314B8881CD5-org.eclipse.mylyn.commons.net_3.10.0.20131018-1210.jar o.eclipse.mylyn.commons.net/external/org.eclipse.mylyn.commons.net_3.10.0.20131018-1210.jar || die
ln -s "${DISTDIR}"/136A7EB3BB9B2559C5F9184B438F108C959B3C03-org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116.jar o.eclipse.mylyn.commons.repositories.core/external/org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116.jar || die
ln -s "${DISTDIR}"/531746EBE57071AB7F8CCC7ACB0E806F25893916-org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116.jar o.eclipse.mylyn.commons.xmlrpc/external/org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116.jar || die
ln -s "${DISTDIR}"/D3ED088A49DE9E5163457E9279181DD4185BFBE6-org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023.jar o.eclipse.mylyn.tasks.core/external/org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023.jar || die
ln -s "${DISTDIR}"/8D4278A9F47D17A104182E59CF06D682B3DE0B3E-org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055.jar o.eclipse.mylyn.wikitext.confluence.core/external/org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055.jar || die
ln -s "${DISTDIR}"/1FC011B8A350B70950B3F1D722D7F2890C6E76D8-org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055.jar o.eclipse.mylyn.wikitext.core/external/org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055.jar || die
ln -s "${DISTDIR}"/6E914CA3075C8FDF7652F04A02868CF32F2EDCE3-org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055.jar o.eclipse.mylyn.wikitext.textile.core/external/org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055.jar || die
ln -s "${DISTDIR}"/8A2F6232978E0330A5D36F19BA0686F96FB980B5-org.tmatesoft.svnkit_1.8.4.r10218_v20140302_1242.jar libs.svnClientAdapter.svnkit/external/org.tmatesoft.svnkit_1.8.4.r10218_v20140302_1242.jar || die
ln -s "${DISTDIR}"/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar libs.svnClientAdapter.svnkit/external/svnkit_1.7.8.r9538_v20130107_2001.jar || die
ln -s "${DISTDIR}"/820FD32B3FB7F885996B15474F220BDCCACD6D27-processtreekiller-1.0.2.jar extexecution.impl/external/processtreekiller-1.0.2.jar || die
ln -s "${DISTDIR}"/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar o.apache.xml.resolver/external/resolver-1.2.jar || die
ln -s "${DISTDIR}"/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar libs.svnClientAdapter.svnkit/external/sqljet-1.1.10.jar || die
ln -s "${DISTDIR}"/D08E473A4D0510FB329D64E4CC4F2963D000699C-svnClientAdapter-javahl-1.10.3.jar libs.svnClientAdapter.javahl/external/svnClientAdapter-javahl-1.10.3.jar || die
ln -s "${DISTDIR}"/2CD487DCDE4C4FC38D1C9EBCD45418A1B5EF188D-svnClientAdapter-main-1.10.3.jar libs.svnClientAdapter/external/svnClientAdapter-main-1.10.3.jar || die
ln -s "${DISTDIR}"/5D37A7FE167A1D44731192748C79B2D7905D474F-svnClientAdapter-svnkit-1.10.3.jar libs.svnClientAdapter.svnkit/external/svnClientAdapter-svnkit-1.10.3.jar || die
ln -s "${DISTDIR}"/24CEAE4A9A2AAAA0BD78FF001914BA06B59CEDF2-svnjavahl-1.8.4.jar libs.svnClientAdapter.javahl/external/svnjavahl-1.8.4.jar || die
ln -s "${DISTDIR}"/3B91269E9055504778F57744D24F505856698602-svnkit-1.7.0-beta4-20120316.233307-1.jar libs.svnClientAdapter.svnkit/external/svnkit-1.7.0-beta4-20120316.233307-1.jar || die
ln -s "${DISTDIR}"/015525209A02BD74254930FF844C7C13498B7FB9-svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar libs.svnClientAdapter.svnkit/external/svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar || die
ln -s "${DISTDIR}"/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar libs.swingx/external/swingx-all-1.6.4.jar || die
ln -s "${DISTDIR}"/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar httpserver/external/tomcat-webserver-3.2.jar || die
ln -s "${DISTDIR}"/CE9A1C96875443F2FDD5127B750DA39CF4CE818B-com.trilead.ssh2_1.0.0.build217_r155_v20130603_1628.jar libs.svnClientAdapter.svnkit/external/com.trilead.ssh2_1.0.0.build217_r155_v20130603_1628.jar || die
ln -s "${DISTDIR}"/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar swing.validation/external/ValidationAPI.jar || die
ln -s "${DISTDIR}"/6FC6098C230D7CBA5730106D379CBBB42F6EC48A-validator.jar html.validation/external/validator.jar || die
ln -s "${DISTDIR}"/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar o.apache.xmlrpc/external/xmlrpc-client-3.0.jar || die
ln -s "${DISTDIR}"/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar o.apache.xmlrpc/external/xmlrpc-common-3.0.jar || die
ln -s "${DISTDIR}"/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar o.apache.xmlrpc/external/xmlrpc-server-3.0.jar || die
ln -s "${DISTDIR}"/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar extexecution.impl/external/winp-1.14-patched.jar || die
popd >/dev/null || die
}
src_prepare() {
einfo "Deleting bundled class files..."
find -name "*.class" -type f | xargs rm -vf
epatch netbeans-8.0.2-build.xml.patch
# Support for custom patches
if [ -n "${NETBEANS80_PATCHES_DIR}" -a -d "${NETBEANS80_PATCHES_DIR}" ] ; then
local files=`find "${NETBEANS80_PATCHES_DIR}" -type f`
if [ -n "${files}" ] ; then
einfo "Applying custom patches:"
for file in ${files} ; do
epatch "${file}"
done
fi
fi
einfo "Symlinking external libraries..."
java-pkg_jar-from --build-only --into javahelp/external javahelp jhall.jar jhall-2.0_05.jar
java-pkg_jar-from --into libs.json_simple/external json-simple json-simple.jar json-simple-1.1.1.jar
einfo "Linking in other clusters..."
mkdir "${S}"/nbbuild/netbeans || die
pushd "${S}"/nbbuild/netbeans >/dev/null || die
ln -s /usr/share/netbeans-platform-${SLOT} platform || die
cat /usr/share/netbeans-platform-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.platform.built
ln -s /usr/share/netbeans-harness-${SLOT} harness || die
cat /usr/share/netbeans-harness-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.harness.built
popd >/dev/null || die
java-pkg_jar-from --build-only --into c.jcraft.jsch/external jsch jsch.jar jsch-0.1.49.jar
java-pkg_jar-from --build-only --into c.jcraft.jzlib/external jzlib jzlib.jar jzlib-1.0.7.jar
java-pkg_jar-from --into db.drivers/external jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.23-bin.jar
java-pkg_jar-from --into db.drivers/external jdbc-postgresql jdbc-postgresql.jar postgresql-9.2-1002.jdbc4.jar
java-pkg_jar-from --build-only --into db.sql.visualeditor/external javacc javacc.jar javacc-3.2.jar
java-pkg_jar-from --into html.parser/external icu4j-55 icu4j.jar icu4j-4_4_2.jar
java-pkg_jar-from --into html.validation/external iso-relax iso-relax.jar isorelax.jar
java-pkg_jar-from --into html.validation/external log4j log4j.jar log4j-1.2.15.jar
java-pkg_jar-from --into html.validation/external saxon-9 saxon.jar saxon9B.jar
# java-pkg_jar-from --into libs.freemarker/external freemarker-2.3 freemarker.jar freemarker-2.3.19.jar
java-pkg_jar-from --into libs.jvyamlb/external jvyamlb jvyamlb.jar jvyamlb-0.2.3.jar
java-pkg_jar-from --into libs.lucene/external lucene-3.5 lucene-core.jar lucene-core-3.5.0.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smack.jar smack.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smackx.jar smackx.jar
# java-pkg_jar-from --into libs.svnClientAdapter.javahl/external subversion svn-javahl.jar svnjavahl-1.8.4.jar
java-pkg_jar-from --into libs.xerces/external xerces-2 xercesImpl.jar xerces-2.8.0.jar
java-pkg_jar-from --build-only --into o.apache.commons.codec/external commons-codec commons-codec.jar apache-commons-codec-1.3.jar
java-pkg_jar-from --into o.apache.commons.httpclient/external commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.1.jar
java-pkg_jar-from --into o.apache.commons.lang/external commons-lang-2.1 commons-lang.jar commons-lang-2.4.jar
java-pkg_jar-from --into o.apache.commons.logging/external commons-logging commons-logging.jar commons-logging-1.1.1.jar
java-pkg_jar-from --into o.apache.ws.commons.util/external ws-commons-util ws-commons-util.jar ws-commons-util-1.0.1.jar
java-pkg_jar-from --into servletapi/external tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
java-pkg_jar-from --into xml.jaxb.api/external sun-jaf sun-jaf.jar activation.jar
java-pkg_jar-from --into xml.jaxb.api/external jsr173 jsr173.jar jsr173_1.0_api.jar
java-pkg-2_src_prepare
}
src_compile() {
unset DISPLAY
eant -f ${EANT_BUILD_XML} ${EANT_EXTRA_ARGS} ${EANT_BUILD_TARGET} || die "Compilation failed"
}
src_install() {
pushd nbbuild/netbeans/ide >/dev/null || die
insinto ${INSTALL_DIR}
grep -E "/ide$" ../moduleCluster.properties > "${D}"/${INSTALL_DIR}/moduleCluster.properties || die
doins -r *
rm -fr "${D}"/${INSTALL_DIR}/bin/nativeexecution || die
rm -fr "${D}"/${INSTALL_DIR}/modules/lib || die
insinto ${INSTALL_DIR}/bin/nativeexecution
doins bin/nativeexecution/*
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution >/dev/null || die
for file in *.sh ; do
fperms 755 ${file}
done
popd >/dev/null || die
if use x86 ; then
doins -r bin/nativeexecution/Linux-x86
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
elif use amd64 ; then
doins -r bin/nativeexecution/Linux-x86_64
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86_64 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
fi
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext
pushd "${D}"/${instdir} >/dev/null || die
# rm freemarker-2.3.19.jar && dosym /usr/share/freemarker-2.3/lib/freemarker.jar ${instdir}/freemarker-2.3.19.jar || die
rm icu4j-4_4_2.jar && dosym /usr/share/icu4j-55/lib/icu4j.jar ${instdir}/icu4j-4_4_2.jar || die
rm isorelax.jar && dosym /usr/share/iso-relax/lib/iso-relax.jar ${instdir}/isorelax.jar || die
rm json-simple-1.1.1.jar && dosym /usr/share/json-simple/lib/json-simple.jar ${instdir}/json-simple-1.1.1.jar || die
rm jvyamlb-0.2.3.jar && dosym /usr/share/jvyamlb/lib/jvyamlb.jar ${instdir}/jvyamlb-0.2.3.jar || die
rm log4j-1.2.15.jar && dosym /usr/share/log4j/lib/log4j.jar ${instdir}/log4j-1.2.15.jar || die
rm lucene-core-3.5.0.jar && dosym /usr/share/lucene-3.5/lib/lucene-core.jar ${instdir}/lucene-core-3.5.0.jar || die
rm mysql-connector-java-5.1.23-bin.jar && dosym /usr/share/jdbc-mysql/lib/jdbc-mysql.jar ${instdir}/mysql-connector-java-5.1.23-bin.jar || die
rm postgresql-9.2-1002.jdbc4.jar && dosym /usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar ${instdir}/postgresql-9.2-1002.jdbc4.jar || die
rm saxon9B.jar && dosym /usr/share/saxon-9/lib/saxon.jar ${instdir}/saxon9B.jar || die
rm servlet-2.2.jar && dosym /usr/share/tomcat-servlet-api-2.2/lib/servlet.jar ${instdir}/servlet-2.2.jar || die
rm smack.jar && dosym /usr/share/smack-2.2/lib/smack.jar ${instdir}/smack.jar || die
rm smackx.jar && dosym /usr/share/smack-2.2/lib/smackx.jar ${instdir}/smackx.jar || die
# rm svnjavahl.jar && dosym /usr/share/subversion/lib/svn-javahl.jar ${instdir}/svnjavahl.jar || die
rm xerces-2.8.0.jar && dosym /usr/share/xerces-2/lib/xercesImpl.jar ${instdir}/xerces-2.8.0.jar || die
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext/jaxb
pushd "${D}"/${instdir} >/dev/null || die
rm activation.jar && dosym /usr/share/sun-jaf/lib/sun-jaf.jar ${instdir}/activation.jar || die
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext/jaxb/api
pushd "${D}"/${instdir} >/dev/null || die
rm jsr173_1.0_api.jar && dosym /usr/share/jsr173/lib/jsr173.jar ${instdir}/jsr173_1.0_api.jar || die
popd >/dev/null || die
dosym ${INSTALL_DIR} /usr/share/netbeans-nb-${SLOT}/ide
}

@ -109,7 +109,7 @@ CDEPEND="~dev-java/netbeans-harness-${PV}
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
dev-java/sun-jaf:0
<=dev-java/sun-jaf-1.1.1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"

@ -0,0 +1,376 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="Netbeans IDE Cluster"
HOMEPAGE="http://netbeans.org/projects/ide"
SLOT="8.1"
SOURCE_URL="http://download.netbeans.org/netbeans/8.1/final/zip/netbeans-8.1-201510222201-src.zip"
SRC_URI="${SOURCE_URL}
https://dev.gentoo.org/~fordfrog/distfiles/netbeans-8.1-build.xml.patch.bz2
http://hg.netbeans.org/binaries/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar
http://hg.netbeans.org/binaries/98308890597ACB64047F7E896638E0D98753AE82-asm-all-4.0.jar
http://hg.netbeans.org/binaries/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar
http://hg.netbeans.org/binaries/ACAB7C860DF78C4A528FD8A64F2C62A0A96639E5-com.trilead.ssh2_1.0.0.build219_t20150519_2322.jar
http://hg.netbeans.org/binaries/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar
http://hg.netbeans.org/binaries/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar
http://hg.netbeans.org/binaries/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip
http://hg.netbeans.org/binaries/83E794DFF9A39401AC65252C8E10157761584224-css3-spec.zip
http://hg.netbeans.org/binaries/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip
http://hg.netbeans.org/binaries/3502EB7D4A72C2C684D23AFC241CCF50797079D1-exechlp-1.0.zip
http://hg.netbeans.org/binaries/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar
http://hg.netbeans.org/binaries/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip
http://hg.netbeans.org/binaries/F4A1696661E6233F8C27EE323CAEF9CB052666F1-html5-datatypes.jar
http://hg.netbeans.org/binaries/2541D025F428A361110C4D656CDD99B5C5C5DFCE-html5doc.zip
http://hg.netbeans.org/binaries/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar
http://hg.netbeans.org/binaries/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar
http://hg.netbeans.org/binaries/A2862B7795EF0E0F0716BEC84528FA3B629E479C-io-xml-util.jar
http://hg.netbeans.org/binaries/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar
http://hg.netbeans.org/binaries/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip
http://hg.netbeans.org/binaries/ECEAF316A8FAF0E794296EBE158AE110C7D72A5A-JavaEWAH-0.7.9.jar
http://hg.netbeans.org/binaries/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar
http://hg.netbeans.org/binaries/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip
http://hg.netbeans.org/binaries/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar
http://hg.netbeans.org/binaries/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar
http://hg.netbeans.org/binaries/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar
http://hg.netbeans.org/binaries/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar
http://hg.netbeans.org/binaries/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar
http://hg.netbeans.org/binaries/3699DFFE17089F9B9C73857EDA9B8669AAD657D3-js-corestubs.zip
http://hg.netbeans.org/binaries/2AA13ACCC4059C930C4AD3B6ABD8E1C0FC06235C-js-domstubs.zip
http://hg.netbeans.org/binaries/7C0C3CFD989EE775198337C11715C1ACD6C84F41-js-reststubs.zip
http://hg.netbeans.org/binaries/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar
http://hg.netbeans.org/binaries/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar
http://hg.netbeans.org/binaries/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar
http://hg.netbeans.org/binaries/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar
http://hg.netbeans.org/binaries/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar
http://hg.netbeans.org/binaries/76E901A1F432323E7E90FC86FDB2534A28952293-nashorn-02f810c26ff9-patched.jar
http://hg.netbeans.org/binaries/010FC8BD229B7F68C8C4D5BDE399475373096601-non-schema.jar
http://hg.netbeans.org/binaries/F27BF427BE72709F3094BF76ECA8C5A2B9AC6DA9-org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar
http://hg.netbeans.org/binaries/9BC512C5BB9A9F5276B9E8672F6B30AD0BD97D88-org.eclipse.core.jobs-3.5.101_nosignature.jar
http://hg.netbeans.org/binaries/105DC9A1A93E6EA9A6CD368AD12897B1F247D6AE-org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar
http://hg.netbeans.org/binaries/E99C3C29A90F8AB29078A38CF8EBC3860249640C-org.eclipse.core.runtime-3.7.0_nosignature.jar
http://hg.netbeans.org/binaries/84FC6D443CD0816FA87093B6B7AD6876ADFC4207-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar
http://hg.netbeans.org/binaries/74069BFD03B2C66A9EBB4370C0B8064E3F5B6594-org.eclipse.equinox.app-1.3.100_nosignature.jar
http://hg.netbeans.org/binaries/A7953EEE9D4D7CD896C7D0AD6D21902E6259979B-org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar
http://hg.netbeans.org/binaries/3FB169C95F095B70F05B96BE9496DA63FAE7F707-org.eclipse.equinox.preferences-3.4.2_nosignature.jar
http://hg.netbeans.org/binaries/CD5919A707EB6B5C1FC29964C8EF5E2CF3F5A3D4-org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar
http://hg.netbeans.org/binaries/A4634373DC60650C49CC98AEA2090889F7ADC68F-org.eclipse.equinox.security-1.1.1_nosignature.jar
http://hg.netbeans.org/binaries/278049664FFA5447191BD5FE96B0B62B0CFD15D1-org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar
http://hg.netbeans.org/binaries/9039A0C1FA0E56CB56A1A192908814478FA747C5-org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar
http://hg.netbeans.org/binaries/DAA45A7EE529A7532F5DC08625A5A3E81DB2D4CB-org.eclipse.mylyn.bugzilla.core_3.14.2.v20150217-2341.jar
http://hg.netbeans.org/binaries/F5AC8FBA216A8C52F319EC2CB455B44FFD734B38-org.eclipse.mylyn.commons.core_3.10.0.20130926-1710_nosignature.jar
http://hg.netbeans.org/binaries/B43E7CE55F0DECA3BE1A6E695A3E3ABC6D62567F-org.eclipse.mylyn.commons.net_3.10.0.20131018-1210_nosignature.jar
http://hg.netbeans.org/binaries/1B9CBEC0FCB47C279519E52D360199C24EC99B01-org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116_nosignature.jar
http://hg.netbeans.org/binaries/6B0A6E9F9179E314944E4ADB831A9D6FCADED3DC-org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116_nosignature.jar
http://hg.netbeans.org/binaries/B28B8EE777232102471EA5334FD70E20851845DD-org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023_nosignature.jar
http://hg.netbeans.org/binaries/24A15BD37950663933CC4975EE6E518BEB2C28A3-org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055_nosignature.jar
http://hg.netbeans.org/binaries/01CD242F06F6F7E4E61C9E05ABBE07318E501D51-org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055_nosignature.jar
http://hg.netbeans.org/binaries/75928E4368CA748131A6767BA1A97D9DA643C306-org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055_nosignature.jar
http://hg.netbeans.org/binaries/8307A44D3F150F1BB317532097A0C7D125C00F2D-org.tmatesoft.svnkit_1.8.10.r10446_v20150526_1454.jar
http://hg.netbeans.org/binaries/E90EF50215FFD23928B3308DC76A17B7DADE5F33-processtreekiller-1.0.5.jar
http://hg.netbeans.org/binaries/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar
http://hg.netbeans.org/binaries/D08E473A4D0510FB329D64E4CC4F2963D000699C-svnClientAdapter-javahl-1.10.3.jar
http://hg.netbeans.org/binaries/2CD487DCDE4C4FC38D1C9EBCD45418A1B5EF188D-svnClientAdapter-main-1.10.3.jar
http://hg.netbeans.org/binaries/5D37A7FE167A1D44731192748C79B2D7905D474F-svnClientAdapter-svnkit-1.10.3.jar
http://hg.netbeans.org/binaries/24CEAE4A9A2AAAA0BD78FF001914BA06B59CEDF2-svnjavahl-1.8.4.jar
http://hg.netbeans.org/binaries/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar
http://hg.netbeans.org/binaries/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar
http://hg.netbeans.org/binaries/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar
http://hg.netbeans.org/binaries/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar
http://hg.netbeans.org/binaries/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar
http://hg.netbeans.org/binaries/6FC6098C230D7CBA5730106D379CBBB42F6EC48A-validator.jar
http://hg.netbeans.org/binaries/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar
http://hg.netbeans.org/binaries/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar
http://hg.netbeans.org/binaries/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar
http://hg.netbeans.org/binaries/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar"
LICENSE="|| ( CDDL GPL-2-with-classpath-exception )"
KEYWORDS="~amd64 ~x86"
IUSE=""
S="${WORKDIR}"
CDEPEND="~dev-java/netbeans-harness-${PV}
~dev-java/netbeans-platform-${PV}
dev-java/commons-httpclient:3
dev-java/commons-lang:2.1
dev-java/commons-logging:0
dev-java/icu4j:55
>=dev-java/iso-relax-20050331-r4:0
dev-java/jdbc-mysql:0
dev-java/jdbc-postgresql:0
>=dev-java/jsch-0.1.46:0
>=dev-java/json-simple-1.1:0
dev-java/jsr173:0
dev-java/jzlib:0
dev-java/jvyamlb:0
dev-java/log4j:0
dev-java/lucene:3.5
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
>=dev-java/sun-jaf-1.1.1-r1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"
# dev-vcs/subversion>=1.8.4:0[java] missing from the tree
# app-text/jing:0 our version is probably too old
# dev-java/commons-io:1 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/freemarker:2.3
# dev-java/ini4j:0 our version is too old
# dev-java/jaxb:2 upstream version contains more stuff so websvccommon does not compile with ours
# dev-java/trilead-ssh2:0 in overlay
DEPEND=">=virtual/jdk-1.7
app-arch/unzip
dev-java/commons-codec:0
${CDEPEND}
dev-java/javacc:0
dev-java/javahelp:0"
RDEPEND=">=virtual/jdk-1.7
${CDEPEND}"
INSTALL_DIR="/usr/share/${PN}-${SLOT}"
EANT_BUILD_XML="nbbuild/build.xml"
EANT_BUILD_TARGET="rebuild-cluster"
EANT_EXTRA_ARGS="-Drebuild.cluster.name=nb.cluster.ide -Dext.binaries.downloaded=true -Djava.awt.headless=true -Dpermit.jdk8.builds=true"
EANT_FILTER_COMPILER="ecj-3.3 ecj-3.4 ecj-3.5 ecj-3.6 ecj-3.7"
JAVA_PKG_BSFIX="off"
JAVA_PKG_WANT_SOURCE="1.7"
JAVA_PKG_WANT_TARGET="1.7"
src_unpack() {
unpack $(basename ${SOURCE_URL})
einfo "Deleting bundled jars..."
find -name "*.jar" -type f -delete
unpack netbeans-8.1-build.xml.patch.bz2
pushd "${S}" >/dev/null || die
ln -s "${DISTDIR}"/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar libs.antlr3.runtime/external/antlr-runtime-3.4.jar || die
ln -s "${DISTDIR}"/98308890597ACB64047F7E896638E0D98753AE82-asm-all-4.0.jar libs.nashorn/external/asm-all-4.0.jar || die
ln -s "${DISTDIR}"/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar libs.bytelist/external/bytelist-0.1.jar || die
ln -s "${DISTDIR}"/ACAB7C860DF78C4A528FD8A64F2C62A0A96639E5-com.trilead.ssh2_1.0.0.build219_t20150519_2322.jar libs.svnClientAdapter.svnkit/external/com.trilead.ssh2_1.0.0.build219_t20150519_2322.jar || die
ln -s "${DISTDIR}"/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar o.apache.commons.io/external/commons-io-1.4.jar || die
ln -s "${DISTDIR}"/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar libs.commons_net/external/commons-net-3.3.jar || die
ln -s "${DISTDIR}"/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip css.editor/external/css21-spec.zip || die
ln -s "${DISTDIR}"/83E794DFF9A39401AC65252C8E10157761584224-css3-spec.zip css.editor/external/css3-spec.zip || die
ln -s "${DISTDIR}"/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip derby/external/derbysampledb.zip || die
ln -s "${DISTDIR}"/3502EB7D4A72C2C684D23AFC241CCF50797079D1-exechlp-1.0.zip dlight.nativeexecution/external/exechlp-1.0.zip || die
ln -s "${DISTDIR}"/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar libs.freemarker/external/freemarker-2.3.19.jar || die
ln -s "${DISTDIR}"/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip html.editor/external/html-4.01.zip || die
ln -s "${DISTDIR}"/F4A1696661E6233F8C27EE323CAEF9CB052666F1-html5-datatypes.jar html.validation/external/html5-datatypes.jar || die
ln -s "${DISTDIR}"/2541D025F428A361110C4D656CDD99B5C5C5DFCE-html5doc.zip html.parser/external/html5doc.zip || die
ln -s "${DISTDIR}"/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar html.parser/external/htmlparser-1.2.1.jar || die
ln -s "${DISTDIR}"/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar libs.ini4j/external/ini4j-0.5.1.jar || die
ln -s "${DISTDIR}"/A2862B7795EF0E0F0716BEC84528FA3B629E479C-io-xml-util.jar html.validation/external/io-xml-util.jar || die
ln -s "${DISTDIR}"/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar html.validation/external/iri.jar || die
ln -s "${DISTDIR}"/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip spellchecker.dictionary_en/external/ispell-enwl-3.1.20.zip || die
ln -s "${DISTDIR}"/ECEAF316A8FAF0E794296EBE158AE110C7D72A5A-JavaEWAH-0.7.9.jar c.googlecode.javaewah.JavaEWAH/external/JavaEWAH-0.7.9.jar || die
ln -s "${DISTDIR}"/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar xml.jaxb.api/external/jaxb-api.jar || die
ln -s "${DISTDIR}"/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip libs.jaxb/external/jaxb-api-doc.zip || die
ln -s "${DISTDIR}"/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar libs.jaxb/external/jaxb-impl.jar || die
ln -s "${DISTDIR}"/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar libs.jaxb/external/jaxb-xjc.jar || die
ln -s "${DISTDIR}"/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar libs.jaxb/external/jaxb1-impl.jar || die
ln -s "${DISTDIR}"/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar libs.javafx/external/jfxrt.jar || die
ln -s "${DISTDIR}"/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar html.validation/external/jing.jar || die
ln -s "${DISTDIR}"/3699DFFE17089F9B9C73857EDA9B8669AAD657D3-js-corestubs.zip javascript2.editor/external/js-corestubs.zip || die
ln -s "${DISTDIR}"/2AA13ACCC4059C930C4AD3B6ABD8E1C0FC06235C-js-domstubs.zip javascript2.editor/external/js-domstubs.zip || die
ln -s "${DISTDIR}"/7C0C3CFD989EE775198337C11715C1ACD6C84F41-js-reststubs.zip javascript2.editor/external/js-reststubs.zip || die
ln -s "${DISTDIR}"/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.core-0.0.7.jar || die
ln -s "${DISTDIR}"/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.sshagent-0.0.7.jar || die
ln -s "${DISTDIR}"/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.pageant-0.0.7.jar || die
ln -s "${DISTDIR}"/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.usocket-jna-0.0.7.jar || die
ln -s "${DISTDIR}"/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar extexecution.process/external/libpam4j-1.1.jar || die
ln -s "${DISTDIR}"/76E901A1F432323E7E90FC86FDB2534A28952293-nashorn-02f810c26ff9-patched.jar libs.nashorn/external/nashorn-02f810c26ff9-patched.jar || die
ln -s "${DISTDIR}"/010FC8BD229B7F68C8C4D5BDE399475373096601-non-schema.jar html.validation/external/non-schema.jar || die
ln -s "${DISTDIR}"/F27BF427BE72709F3094BF76ECA8C5A2B9AC6DA9-org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar o.eclipse.core.contenttype/external/org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar || die
ln -s "${DISTDIR}"/9BC512C5BB9A9F5276B9E8672F6B30AD0BD97D88-org.eclipse.core.jobs-3.5.101_nosignature.jar o.eclipse.core.jobs/external/org.eclipse.core.jobs-3.5.101_nosignature.jar || die
ln -s "${DISTDIR}"/105DC9A1A93E6EA9A6CD368AD12897B1F247D6AE-org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar o.eclipse.core.net/external/org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar || die
ln -s "${DISTDIR}"/E99C3C29A90F8AB29078A38CF8EBC3860249640C-org.eclipse.core.runtime-3.7.0_nosignature.jar o.eclipse.core.runtime/external/org.eclipse.core.runtime-3.7.0_nosignature.jar || die
ln -s "${DISTDIR}"/84FC6D443CD0816FA87093B6B7AD6876ADFC4207-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar o.eclipse.core.runtime.compatibility.auth/external/org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar || die
ln -s "${DISTDIR}"/74069BFD03B2C66A9EBB4370C0B8064E3F5B6594-org.eclipse.equinox.app-1.3.100_nosignature.jar o.eclipse.equinox.app/external/org.eclipse.equinox.app-1.3.100_nosignature.jar || die
ln -s "${DISTDIR}"/A7953EEE9D4D7CD896C7D0AD6D21902E6259979B-org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar o.eclipse.equinox.common/external/org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar || die
ln -s "${DISTDIR}"/3FB169C95F095B70F05B96BE9496DA63FAE7F707-org.eclipse.equinox.preferences-3.4.2_nosignature.jar o.eclipse.equinox.preferences/external/org.eclipse.equinox.preferences-3.4.2_nosignature.jar || die
ln -s "${DISTDIR}"/CD5919A707EB6B5C1FC29964C8EF5E2CF3F5A3D4-org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar o.eclipse.equinox.registry/external/org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar || die
ln -s "${DISTDIR}"/A4634373DC60650C49CC98AEA2090889F7ADC68F-org.eclipse.equinox.security-1.1.1_nosignature.jar o.eclipse.equinox.security/external/org.eclipse.equinox.security-1.1.1_nosignature.jar || die
ln -s "${DISTDIR}"/278049664FFA5447191BD5FE96B0B62B0CFD15D1-org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar o.eclipse.jgit/external/org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar || die
ln -s "${DISTDIR}"/9039A0C1FA0E56CB56A1A192908814478FA747C5-org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar o.eclipse.jgit.java7/external/org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar || die
ln -s "${DISTDIR}"/DAA45A7EE529A7532F5DC08625A5A3E81DB2D4CB-org.eclipse.mylyn.bugzilla.core_3.14.2.v20150217-2341.jar o.eclipse.mylyn.bugzilla.core/external/org.eclipse.mylyn.bugzilla.core_3.14.2.v20150217-2341.jar || die
ln -s "${DISTDIR}"/F5AC8FBA216A8C52F319EC2CB455B44FFD734B38-org.eclipse.mylyn.commons.core_3.10.0.20130926-1710_nosignature.jar o.eclipse.mylyn.commons.core/external/org.eclipse.mylyn.commons.core_3.10.0.20130926-1710_nosignature.jar || die
ln -s "${DISTDIR}"/B43E7CE55F0DECA3BE1A6E695A3E3ABC6D62567F-org.eclipse.mylyn.commons.net_3.10.0.20131018-1210_nosignature.jar o.eclipse.mylyn.commons.net/external/org.eclipse.mylyn.commons.net_3.10.0.20131018-1210_nosignature.jar || die
ln -s "${DISTDIR}"/1B9CBEC0FCB47C279519E52D360199C24EC99B01-org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116_nosignature.jar o.eclipse.mylyn.commons.repositories.core/external/org.eclipse.mylyn.commons.repositories.core_1.2.0.20130704-2116_nosignature.jar || die
ln -s "${DISTDIR}"/6B0A6E9F9179E314944E4ADB831A9D6FCADED3DC-org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116_nosignature.jar o.eclipse.mylyn.commons.xmlrpc/external/org.eclipse.mylyn.commons.xmlrpc_3.10.0.20130704-2116_nosignature.jar || die
ln -s "${DISTDIR}"/B28B8EE777232102471EA5334FD70E20851845DD-org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023_nosignature.jar o.eclipse.mylyn.tasks.core/external/org.eclipse.mylyn.tasks.core_3.10.0.20131010-2023_nosignature.jar || die
ln -s "${DISTDIR}"/24A15BD37950663933CC4975EE6E518BEB2C28A3-org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055_nosignature.jar o.eclipse.mylyn.wikitext.confluence.core/external/org.eclipse.mylyn.wikitext.confluence.core_1.9.0.20131007-2055_nosignature.jar || die
ln -s "${DISTDIR}"/01CD242F06F6F7E4E61C9E05ABBE07318E501D51-org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055_nosignature.jar o.eclipse.mylyn.wikitext.core/external/org.eclipse.mylyn.wikitext.core_1.9.0.20131007-2055_nosignature.jar || die
ln -s "${DISTDIR}"/75928E4368CA748131A6767BA1A97D9DA643C306-org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055_nosignature.jar o.eclipse.mylyn.wikitext.textile.core/external/org.eclipse.mylyn.wikitext.textile.core_1.9.0.20131007-2055_nosignature.jar || die
ln -s "${DISTDIR}"/8307A44D3F150F1BB317532097A0C7D125C00F2D-org.tmatesoft.svnkit_1.8.10.r10446_v20150526_1454.jar libs.svnClientAdapter.svnkit/external/org.tmatesoft.svnkit_1.8.10.r10446_v20150526_1454.jar || die
ln -s "${DISTDIR}"/E90EF50215FFD23928B3308DC76A17B7DADE5F33-processtreekiller-1.0.5.jar extexecution.process/external/processtreekiller-1.0.5.jar || die
ln -s "${DISTDIR}"/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar libs.svnClientAdapter.svnkit/external/svnkit_1.7.8.r9538_v20130107_2001.jar || die
ln -s "${DISTDIR}"/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar o.apache.xml.resolver/external/resolver-1.2.jar || die
ln -s "${DISTDIR}"/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar libs.svnClientAdapter.svnkit/external/sqljet-1.1.10.jar || die
ln -s "${DISTDIR}"/D08E473A4D0510FB329D64E4CC4F2963D000699C-svnClientAdapter-javahl-1.10.3.jar libs.svnClientAdapter.javahl/external/svnClientAdapter-javahl-1.10.3.jar || die
ln -s "${DISTDIR}"/2CD487DCDE4C4FC38D1C9EBCD45418A1B5EF188D-svnClientAdapter-main-1.10.3.jar libs.svnClientAdapter/external/svnClientAdapter-main-1.10.3.jar || die
ln -s "${DISTDIR}"/5D37A7FE167A1D44731192748C79B2D7905D474F-svnClientAdapter-svnkit-1.10.3.jar libs.svnClientAdapter.svnkit/external/svnClientAdapter-svnkit-1.10.3.jar || die
ln -s "${DISTDIR}"/24CEAE4A9A2AAAA0BD78FF001914BA06B59CEDF2-svnjavahl-1.8.4.jar libs.svnClientAdapter.javahl/external/svnjavahl-1.8.4.jar || die
ln -s "${DISTDIR}"/3B91269E9055504778F57744D24F505856698602-svnkit-1.7.0-beta4-20120316.233307-1.jar libs.svnClientAdapter.svnkit/external/svnkit-1.7.0-beta4-20120316.233307-1.jar || die
ln -s "${DISTDIR}"/015525209A02BD74254930FF844C7C13498B7FB9-svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar libs.svnClientAdapter.svnkit/external/svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar || die
ln -s "${DISTDIR}"/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar libs.swingx/external/swingx-all-1.6.4.jar || die
ln -s "${DISTDIR}"/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar httpserver/external/tomcat-webserver-3.2.jar || die
ln -s "${DISTDIR}"/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar swing.validation/external/ValidationAPI.jar || die
ln -s "${DISTDIR}"/6FC6098C230D7CBA5730106D379CBBB42F6EC48A-validator.jar html.validation/external/validator.jar || die
ln -s "${DISTDIR}"/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar extexecution.process/external/winp-1.14-patched.jar || die
ln -s "${DISTDIR}"/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar o.apache.xmlrpc/external/xmlrpc-client-3.0.jar || die
ln -s "${DISTDIR}"/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar o.apache.xmlrpc/external/xmlrpc-common-3.0.jar || die
ln -s "${DISTDIR}"/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar o.apache.xmlrpc/external/xmlrpc-server-3.0.jar || die
popd >/dev/null || die
}
src_prepare() {
einfo "Deleting bundled class files..."
find -name "*.class" -type f | xargs rm -vf
epatch netbeans-8.1-build.xml.patch
# Support for custom patches
if [ -n "${NETBEANS9999_PATCHES_DIR}" -a -d "${NETBEANS9999_PATCHES_DIR}" ] ; then
local files=`find "${NETBEANS9999_PATCHES_DIR}" -type f`
if [ -n "${files}" ] ; then
einfo "Applying custom patches:"
for file in ${files} ; do
epatch "${file}"
done
fi
fi
einfo "Symlinking external libraries..."
java-pkg_jar-from --build-only --into javahelp/external javahelp jhall.jar jhall-2.0_05.jar
java-pkg_jar-from --into libs.json_simple/external json-simple json-simple.jar json-simple-1.1.1.jar
einfo "Linking in other clusters..."
mkdir "${S}"/nbbuild/netbeans || die
pushd "${S}"/nbbuild/netbeans >/dev/null || die
ln -s /usr/share/netbeans-platform-${SLOT} platform || die
cat /usr/share/netbeans-platform-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.platform.built
ln -s /usr/share/netbeans-harness-${SLOT} harness || die
cat /usr/share/netbeans-harness-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.harness.built
popd >/dev/null || die
java-pkg_jar-from --into c.jcraft.jsch/external jsch jsch.jar jsch-0.1.53.jar
java-pkg_jar-from --into c.jcraft.jzlib/external jzlib jzlib.jar jzlib-1.0.7.jar
java-pkg_jar-from --into db.drivers/external jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.23-bin.jar
java-pkg_jar-from --into db.drivers/external jdbc-postgresql jdbc-postgresql.jar postgresql-9.2-1002.jdbc4.jar
java-pkg_jar-from --build-only --into db.sql.visualeditor/external javacc javacc.jar javacc-3.2.jar
java-pkg_jar-from --into html.parser/external icu4j-55 icu4j.jar icu4j-4_4_2.jar
java-pkg_jar-from --into html.validation/external iso-relax iso-relax.jar isorelax.jar
java-pkg_jar-from --into html.validation/external log4j log4j.jar log4j-1.2.15.jar
java-pkg_jar-from --into html.validation/external saxon-9 saxon.jar saxon9B.jar
# java-pkg_jar-from --into libs.freemarker/external freemarker-2.3 freemarker.jar freemarker-2.3.19.jar
java-pkg_jar-from --into libs.jvyamlb/external jvyamlb jvyamlb.jar jvyamlb-0.2.7.jar
java-pkg_jar-from --into libs.lucene/external lucene-3.5 lucene-core.jar lucene-core-3.5.0.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smack.jar smack.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smackx.jar smackx.jar
# java-pkg_jar-from --into libs.svnClientAdapter.javahl/external subversion svn-javahl.jar svnjavahl-1.8.4.jar
java-pkg_jar-from --into libs.xerces/external xerces-2 xercesImpl.jar xerces-2.8.0.jar
java-pkg_jar-from --build-only --into o.apache.commons.codec/external commons-codec commons-codec.jar apache-commons-codec-1.3.jar
java-pkg_jar-from --into o.apache.commons.httpclient/external commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.1.jar
java-pkg_jar-from --into o.apache.commons.lang/external commons-lang-2.1 commons-lang.jar commons-lang-2.4.jar
java-pkg_jar-from --into o.apache.commons.logging/external commons-logging commons-logging.jar commons-logging-1.1.1.jar
java-pkg_jar-from --into o.apache.ws.commons.util/external ws-commons-util ws-commons-util.jar ws-commons-util-1.0.1.jar
java-pkg_jar-from --into servletapi/external tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
java-pkg_jar-from --into xml.jaxb.api/external sun-jaf sun-jaf.jar activation.jar
java-pkg_jar-from --into xml.jaxb.api/external jsr173 jsr173.jar jsr173_1.0_api.jar
java-pkg-2_src_prepare
}
src_compile() {
unset DISPLAY
eant -f ${EANT_BUILD_XML} ${EANT_EXTRA_ARGS} ${EANT_BUILD_TARGET} || die "Compilation failed"
}
src_install() {
pushd nbbuild/netbeans/ide >/dev/null || die
insinto ${INSTALL_DIR}
grep -E "/ide$" ../moduleCluster.properties > "${D}"/${INSTALL_DIR}/moduleCluster.properties || die
doins -r *
rm -fr "${D}"/${INSTALL_DIR}/bin/nativeexecution || die
rm -fr "${D}"/${INSTALL_DIR}/modules/lib || die
insinto ${INSTALL_DIR}/bin/nativeexecution
doins bin/nativeexecution/*
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution >/dev/null || die
for file in *.sh ; do
fperms 755 ${file}
done
popd >/dev/null || die
if use x86 ; then
doins -r bin/nativeexecution/Linux-x86
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
elif use amd64 ; then
doins -r bin/nativeexecution/Linux-x86_64
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86_64 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
fi
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules
pushd "${D}"/${instdir} >/dev/null || die
rm com-jcraft-jsch.jar && dosym /usr/share/jsch/lib/jsch.jar ${instdir}/com-jcraft-jsch.jar || die
rm com-jcraft-jzlib.jar && dosym /usr/share/jzlib/lib/jzlib.jar ${instdir}/com-jcraft-jzlib.jar || die
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext
pushd "${D}"/${instdir} >/dev/null || die
# rm freemarker-2.3.19.jar && dosym /usr/share/freemarker-2.3/lib/freemarker.jar ${instdir}/freemarker-2.3.19.jar || die
rm icu4j-4_4_2.jar && dosym /usr/share/icu4j-55/lib/icu4j.jar ${instdir}/icu4j-4_4_2.jar || die
rm isorelax.jar && dosym /usr/share/iso-relax/lib/iso-relax.jar ${instdir}/isorelax.jar || die
rm json-simple-1.1.1.jar && dosym /usr/share/json-simple/lib/json-simple.jar ${instdir}/json-simple-1.1.1.jar || die
rm jvyamlb-0.2.7.jar && dosym /usr/share/jvyamlb/lib/jvyamlb.jar ${instdir}/jvyamlb-0.2.7.jar || die
rm log4j-1.2.15.jar && dosym /usr/share/log4j/lib/log4j.jar ${instdir}/log4j-1.2.15.jar || die
rm lucene-core-3.5.0.jar && dosym /usr/share/lucene-3.5/lib/lucene-core.jar ${instdir}/lucene-core-3.5.0.jar || die
rm mysql-connector-java-5.1.23-bin.jar && dosym /usr/share/jdbc-mysql/lib/jdbc-mysql.jar ${instdir}/mysql-connector-java-5.1.23-bin.jar || die
rm postgresql-9.2-1002.jdbc4.jar && dosym /usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar ${instdir}/postgresql-9.2-1002.jdbc4.jar || die
rm saxon9B.jar && dosym /usr/share/saxon-9/lib/saxon.jar ${instdir}/saxon9B.jar || die
rm servlet-2.2.jar && dosym /usr/share/tomcat-servlet-api-2.2/lib/servlet.jar ${instdir}/servlet-2.2.jar || die
rm smack.jar && dosym /usr/share/smack-2.2/lib/smack.jar ${instdir}/smack.jar || die
rm smackx.jar && dosym /usr/share/smack-2.2/lib/smackx.jar ${instdir}/smackx.jar || die
# rm svnjavahl.jar && dosym /usr/share/subversion/lib/svn-javahl.jar ${instdir}/svnjavahl.jar || die
rm xerces-2.8.0.jar && dosym /usr/share/xerces-2/lib/xercesImpl.jar ${instdir}/xerces-2.8.0.jar || die
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext/jaxb
pushd "${D}"/${instdir} >/dev/null || die
rm activation.jar && dosym /usr/share/sun-jaf/lib/sun-jaf.jar ${instdir}/activation.jar || die
popd >/dev/null || die
local instdir=${INSTALL_DIR}/modules/ext/jaxb/api
pushd "${D}"/${instdir} >/dev/null || die
rm jsr173_1.0_api.jar && dosym /usr/share/jsr173/lib/jsr173.jar ${instdir}/jsr173_1.0_api.jar || die
popd >/dev/null || die
dosym ${INSTALL_DIR} /usr/share/netbeans-nb-${SLOT}/ide
}

@ -0,0 +1,360 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="Netbeans IDE Cluster"
HOMEPAGE="http://netbeans.org/projects/ide"
SLOT="8.2"
SOURCE_URL="http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101-src.zip"
SRC_URI="${SOURCE_URL}
https://dev.gentoo.org/~fordfrog/distfiles/netbeans-8.2-build.xml.patch.bz2
http://hg.netbeans.org/binaries/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar
http://hg.netbeans.org/binaries/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar
http://hg.netbeans.org/binaries/DCDA3604865C8E80789B4F8E8EECC3D4D15D00F8-com.trilead.ssh2_1.0.0.build220_r167_v20150618_1733.jar
http://hg.netbeans.org/binaries/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar
http://hg.netbeans.org/binaries/0CE1EDB914C94EBC388F086C6827E8BDEEC71AC2-commons-lang-2.6.jar
http://hg.netbeans.org/binaries/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar
http://hg.netbeans.org/binaries/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip
http://hg.netbeans.org/binaries/83E794DFF9A39401AC65252C8E10157761584224-css3-spec.zip
http://hg.netbeans.org/binaries/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip
http://hg.netbeans.org/binaries/3502EB7D4A72C2C684D23AFC241CCF50797079D1-exechlp-1.0.zip
http://hg.netbeans.org/binaries/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar
http://hg.netbeans.org/binaries/ED727A8D9F247E2050281CB083F1C77B09DCB5CD-guava-15.0.jar
http://hg.netbeans.org/binaries/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip
http://hg.netbeans.org/binaries/2541D025F428A361110C4D656CDD99B5C5C5DFCE-html5doc.zip
http://hg.netbeans.org/binaries/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar
http://hg.netbeans.org/binaries/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar
http://hg.netbeans.org/binaries/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar
http://hg.netbeans.org/binaries/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip
http://hg.netbeans.org/binaries/ECEAF316A8FAF0E794296EBE158AE110C7D72A5A-JavaEWAH-0.7.9.jar
http://hg.netbeans.org/binaries/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar
http://hg.netbeans.org/binaries/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip
http://hg.netbeans.org/binaries/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar
http://hg.netbeans.org/binaries/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar
http://hg.netbeans.org/binaries/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar
http://hg.netbeans.org/binaries/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar
http://hg.netbeans.org/binaries/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar
http://hg.netbeans.org/binaries/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar
http://hg.netbeans.org/binaries/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar
http://hg.netbeans.org/binaries/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar
http://hg.netbeans.org/binaries/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar
http://hg.netbeans.org/binaries/F406B7784A0DA5C4670B038BF55A4DCD4AF30AEB-jzlib-1.0.7.jar
http://hg.netbeans.org/binaries/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar
http://hg.netbeans.org/binaries/AA2671239EBB762FEEE8B908E9F35473A72AFE1B-org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar
http://hg.netbeans.org/binaries/1605B38BB28EAE32C11EAB8F9E238A497754A5B8-org.eclipse.core.jobs-3.5.101_nosignature.jar
http://hg.netbeans.org/binaries/20800206EB8B490F3CE5BB8AC8A7C3B9E8004A30-org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar
http://hg.netbeans.org/binaries/D2D2105B1E3C9E2FA6240AD088237A57590DDA8D-org.eclipse.core.runtime-3.7.0_nosignature.jar
http://hg.netbeans.org/binaries/16507EAFDC2B95121AA718895BDB54D616EE4B0F-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar
http://hg.netbeans.org/binaries/BD55836AABD558DC643A7844B78866AD990544BC-org.eclipse.equinox.app-1.3.100_nosignature.jar
http://hg.netbeans.org/binaries/4EE275AE73A140A403903D7E4DBA68C8FBB07001-org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar
http://hg.netbeans.org/binaries/B7001D9CC2E2AC4E167D22A13063F0350C71AAA9-org.eclipse.equinox.preferences-3.4.2_nosignature.jar
http://hg.netbeans.org/binaries/C647079E36A4EB7A24AED2C545E4F0F94194C4D1-org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar
http://hg.netbeans.org/binaries/9267CF311F979078211A70C1B19AF8A8EE71DC8E-org.eclipse.equinox.security-1.1.1_nosignature.jar
http://hg.netbeans.org/binaries/B580E446B543A8DD2F5AA368B07F9C4C9C2E7029-org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar
http://hg.netbeans.org/binaries/244560B99152F3F9BC75DF2D6FAFA8A5216B06B6-org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar
http://hg.netbeans.org/binaries/8E2776DE17446EC7450285F19F2C6366117748A8-org.eclipse.mylyn.bugzilla.core_3.17.0.v20150828-2026.jar
http://hg.netbeans.org/binaries/D4F2BE52B5C048158B5C046C0ACAC3965027FE12-org.eclipse.mylyn.commons.core_3.17.0.v20150625-2042.jar
http://hg.netbeans.org/binaries/4C753A9D8AB768A55EC99A377A0D22EDA67BAE25-org.eclipse.mylyn.commons.net_3.17.0.v20150706-2057.jar
http://hg.netbeans.org/binaries/8E52A783A3700FE2F3AED720CBEF6D895C0D5DBC-org.eclipse.mylyn.commons.repositories.core_1.9.0.v20150625-2042.jar
http://hg.netbeans.org/binaries/50F0A49BDF7C5610E3E602609926065D47A16C6E-org.eclipse.mylyn.commons.xmlrpc_3.17.0.v20150625-2042.jar
http://hg.netbeans.org/binaries/4F2E28BDB091E2DD215FB9B16C8708513288F16A-org.eclipse.mylyn.tasks.core_3.17.0.v20150828-2026.jar
http://hg.netbeans.org/binaries/11D1982BE23B06B2721240F424DBEF9F5FDE7F45-org.eclipse.mylyn.wikitext.confluence.core_2.6.0.v20150901-2143.jar
http://hg.netbeans.org/binaries/A3FEF6144ED1622E4CDD506B9D745527CC675D8D-org.eclipse.mylyn.wikitext.core_2.6.0.v20150901-2143-patched-nosignature.jar
http://hg.netbeans.org/binaries/825DC870D1D423E347F4F8229A211A2C297BB15D-org.eclipse.mylyn.wikitext.markdown.core_2.6.0.v20150901-2143.jar
http://hg.netbeans.org/binaries/C3024631DD14008D2FF35A576C3D82AC6FCB2E10-org.eclipse.mylyn.wikitext.textile.core_2.6.0.v20150901-2143.jar
http://hg.netbeans.org/binaries/17C0C8D6DEBF5EBE734881C131888D8088BD9E7D-org.tmatesoft.svnkit_1.8.12.r10533_v20160129_0158.jar
http://hg.netbeans.org/binaries/6819C79348FCF4F5125C834E7D3B742582DCA34D-processtreekiller-1.0.7.jar
http://hg.netbeans.org/binaries/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar
http://hg.netbeans.org/binaries/DAAEFA7A5F3AF75FE4CDC86A1B5904C9F3B5BBF8-svnClientAdapter-javahl-1.10.12.jar
http://hg.netbeans.org/binaries/C47ED3BCD8CEAECDE3BDEEB7D8D14B577B26F9C8-svnClientAdapter-main-1.10.12.jar
http://hg.netbeans.org/binaries/AD4A88D99AB7C5B64C8893CA2FF2CBCFCEFC51C8-svnClientAdapter-svnkit-1.10.12.jar
http://hg.netbeans.org/binaries/5C47A97F05F761F190D87ED5FCBB08D1E05A7FB5-svnjavahl-1.9.3.jar
http://hg.netbeans.org/binaries/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar
http://hg.netbeans.org/binaries/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar
http://hg.netbeans.org/binaries/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar
http://hg.netbeans.org/binaries/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar
http://hg.netbeans.org/binaries/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar
http://hg.netbeans.org/binaries/15ACB06E2E3A70FC188782BA51369CA81ACFE860-validator.jar
http://hg.netbeans.org/binaries/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar
http://hg.netbeans.org/binaries/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar
http://hg.netbeans.org/binaries/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar
http://hg.netbeans.org/binaries/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar"
LICENSE="|| ( CDDL GPL-2-with-linking-exception )"
KEYWORDS="~amd64 ~x86"
IUSE=""
S="${WORKDIR}"
CDEPEND="virtual/jdk:1.8
~dev-java/netbeans-harness-${PV}
~dev-java/netbeans-platform-${PV}
>=dev-java/antlr-4.5:4
dev-java/commons-compress:0
dev-java/commons-httpclient:3
dev-java/commons-logging:0
dev-java/icu4j:55
dev-java/iso-relax:0
dev-java/jdbc-mysql:0
dev-java/jdbc-postgresql:0
>=dev-java/jsch-0.1.46:0
>=dev-java/json-simple-1.1:0
dev-java/jsr173:0
dev-java/jvyamlb:0
dev-java/log4j:0
dev-java/lucene:3.5
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
>=dev-java/sun-jaf-1.1.1-r1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"
# dev-vcs/subversion>=1.8.4:0[java] missing from the tree
# app-text/jing:0 our version is probably too old
# dev-java/commons-io:1 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/commons-lang:2.1 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/freemarker:2.3
# dev-java/guava:15 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/ini4j:0 our version is too old
# dev-java/jaxb:2 upstream version contains more stuff so websvccommon does not compile with ours
# dev-java/jzlib:0 fails with "Missing manifest tag OpenIDE-Module"
# dev-java/trilead-ssh2:0 in overlay
DEPEND="${CDEPEND}
app-arch/unzip
dev-java/commons-codec:0
dev-java/javacc:0
dev-java/javahelp:0
dev-java/jna:0"
RDEPEND="${CDEPEND}"
INSTALL_DIR="/usr/share/${PN}-${SLOT}"
EANT_BUILD_XML="nbbuild/build.xml"
EANT_BUILD_TARGET="rebuild-cluster"
EANT_EXTRA_ARGS="-Drebuild.cluster.name=nb.cluster.ide -Dext.binaries.downloaded=true -Djava.awt.headless=true -Dpermit.jdk8.builds=true"
EANT_FILTER_COMPILER="ecj-3.3 ecj-3.4 ecj-3.5 ecj-3.6 ecj-3.7"
JAVA_PKG_BSFIX="off"
JAVA_PKG_WANT_SOURCE="1.7"
JAVA_PKG_WANT_TARGET="1.7"
src_unpack() {
unpack $(basename ${SOURCE_URL})
einfo "Deleting bundled jars..."
find -name "*.jar" -type f -delete
unpack netbeans-8.2-build.xml.patch.bz2
pushd "${S}" >/dev/null || die
ln -s "${DISTDIR}"/4E74C6BE42FE89871A878C7C4D6158F21A6D8010-antlr-runtime-3.4.jar libs.antlr3.runtime/external/antlr-runtime-3.4.jar || die
ln -s "${DISTDIR}"/886FAF4B85054DD6E50D9B3438542F432B5F9251-bytelist-0.1.jar libs.bytelist/external/bytelist-0.1.jar || die
ln -s "${DISTDIR}"/DCDA3604865C8E80789B4F8E8EECC3D4D15D00F8-com.trilead.ssh2_1.0.0.build220_r167_v20150618_1733.jar libs.svnClientAdapter.svnkit/external/com.trilead.ssh2_1.0.0.build220_r167_v20150618_1733.jar || die
ln -s "${DISTDIR}"/A8762D07E76CFDE2395257A5DA47BA7C1DBD3DCE-commons-io-1.4.jar o.apache.commons.io/external/commons-io-1.4.jar || die
ln -s "${DISTDIR}"/0CE1EDB914C94EBC388F086C6827E8BDEEC71AC2-commons-lang-2.6.jar o.apache.commons.lang/external/commons-lang-2.6.jar || die
ln -s "${DISTDIR}"/CD0D5510908225F76C5FE5A3F1DF4FA44866F81E-commons-net-3.3.jar libs.commons_net/external/commons-net-3.3.jar || die
ln -s "${DISTDIR}"/901D8F815922C435D985DA3814D20E34CC7622CB-css21-spec.zip css.editor/external/css21-spec.zip || die
ln -s "${DISTDIR}"/83E794DFF9A39401AC65252C8E10157761584224-css3-spec.zip css.editor/external/css3-spec.zip || die
ln -s "${DISTDIR}"/C9A6304FAA121C97CB2458B93D30B1FD6F0F7691-derbysampledb.zip derby/external/derbysampledb.zip || die
ln -s "${DISTDIR}"/3502EB7D4A72C2C684D23AFC241CCF50797079D1-exechlp-1.0.zip dlight.nativeexecution/external/exechlp-1.0.zip || die
ln -s "${DISTDIR}"/5EEAAC41164FEBCB79C73BEBD678A7B6C10C3E80-freemarker-2.3.19.jar libs.freemarker/external/freemarker-2.3.19.jar || die
ln -s "${DISTDIR}"/ED727A8D9F247E2050281CB083F1C77B09DCB5CD-guava-15.0.jar c.google.guava/external/guava-15.0.jar || die
ln -s "${DISTDIR}"/23123BB29025254556B6E573023FCDF0F6715A66-html-4.01.zip html.editor/external/html-4.01.zip || die
ln -s "${DISTDIR}"/2541D025F428A361110C4D656CDD99B5C5C5DFCE-html5doc.zip html.parser/external/html5doc.zip || die
ln -s "${DISTDIR}"/D528B44AE7593D2275927396BF930B28078C5220-htmlparser-1.2.1.jar html.parser/external/htmlparser-1.2.1.jar || die
ln -s "${DISTDIR}"/8E737D82ECAC9BA6100A9BBA71E92A381B75EFDC-ini4j-0.5.1.jar libs.ini4j/external/ini4j-0.5.1.jar || die
ln -s "${DISTDIR}"/0DCC973606CBD9737541AA5F3E76DED6E3F4D0D0-iri.jar html.validation/external/iri.jar || die
ln -s "${DISTDIR}"/F90E3DA5259DB07F36E6987EFDED647A5231DE76-ispell-enwl-3.1.20.zip spellchecker.dictionary_en/external/ispell-enwl-3.1.20.zip || die
ln -s "${DISTDIR}"/ECEAF316A8FAF0E794296EBE158AE110C7D72A5A-JavaEWAH-0.7.9.jar c.googlecode.javaewah.JavaEWAH/external/JavaEWAH-0.7.9.jar || die
ln -s "${DISTDIR}"/71F434378F822B09A57174AF6C75D37408687C57-jaxb-api.jar xml.jaxb.api/external/jaxb-api.jar || die
ln -s "${DISTDIR}"/27FAE927B5B9AE53A5B0ED825575DD8217CE7042-jaxb-api-doc.zip libs.jaxb/external/jaxb-api-doc.zip || die
ln -s "${DISTDIR}"/387BE740EAEF52B3F6E6EE2F140757E7632584CE-jaxb-impl.jar libs.jaxb/external/jaxb-impl.jar || die
ln -s "${DISTDIR}"/C3787DAB0DDFBD9E98086ED2F219859B0CB77EF7-jaxb-xjc.jar libs.jaxb/external/jaxb-xjc.jar || die
ln -s "${DISTDIR}"/F4DB465F207907A2406B0BF5C8FFEE22A5C3E4E3-jaxb1-impl.jar libs.jaxb/external/jaxb1-impl.jar || die
ln -s "${DISTDIR}"/5E40984A55F6FFF704F05D511A119CA5B456DDB1-jfxrt.jar libs.javafx/external/jfxrt.jar || die
ln -s "${DISTDIR}"/483A61B688B13C62BB201A683D98A6688B5373B6-jing.jar html.validation/external/jing.jar || die
ln -s "${DISTDIR}"/036FA0032B44AD06A1F13504D97B3685B1C88961-jsch.agentproxy.core-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.core-0.0.7.jar || die
ln -s "${DISTDIR}"/9F31964104D71855DF6B73F0C761CDEB3FA3C49C-jsch.agentproxy.sshagent-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.sshagent-0.0.7.jar || die
ln -s "${DISTDIR}"/3FA59A536F3DC2197826DC7F224C0823C1534203-jsch.agentproxy.pageant-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.pageant-0.0.7.jar || die
ln -s "${DISTDIR}"/F759114E5A9F9AE907EADB59DBF65189AA399B45-jsch.agentproxy.usocket-jna-0.0.7.jar libs.jsch.agentproxy/external/jsch.agentproxy.usocket-jna-0.0.7.jar || die
ln -s "${DISTDIR}"/F406B7784A0DA5C4670B038BF55A4DCD4AF30AEB-jzlib-1.0.7.jar c.jcraft.jzlib/external/jzlib-1.0.7.jar || die
ln -s "${DISTDIR}"/2E07375E5CA3A452472F0E87FB33F243F7A5C08C-libpam4j-1.1.jar extexecution.process/external/libpam4j-1.1.jar || die
ln -s "${DISTDIR}"/AA2671239EBB762FEEE8B908E9F35473A72AFE1B-org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar o.eclipse.core.contenttype/external/org.eclipse.core.contenttype_3.4.100.v20110423-0524_nosignature.jar || die
ln -s "${DISTDIR}"/1605B38BB28EAE32C11EAB8F9E238A497754A5B8-org.eclipse.core.jobs-3.5.101_nosignature.jar o.eclipse.core.jobs/external/org.eclipse.core.jobs-3.5.101_nosignature.jar || die
ln -s "${DISTDIR}"/20800206EB8B490F3CE5BB8AC8A7C3B9E8004A30-org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar o.eclipse.core.net/external/org.eclipse.core.net_1.2.100.I20110511-0800_nosignature.jar || die
ln -s "${DISTDIR}"/D2D2105B1E3C9E2FA6240AD088237A57590DDA8D-org.eclipse.core.runtime-3.7.0_nosignature.jar o.eclipse.core.runtime/external/org.eclipse.core.runtime-3.7.0_nosignature.jar || die
ln -s "${DISTDIR}"/16507EAFDC2B95121AA718895BDB54D616EE4B0F-org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar o.eclipse.core.runtime.compatibility.auth/external/org.eclipse.core.runtime.compatibility.auth_3.2.200.v20110110_nosignature.jar || die
ln -s "${DISTDIR}"/BD55836AABD558DC643A7844B78866AD990544BC-org.eclipse.equinox.app-1.3.100_nosignature.jar o.eclipse.equinox.app/external/org.eclipse.equinox.app-1.3.100_nosignature.jar || die
ln -s "${DISTDIR}"/4EE275AE73A140A403903D7E4DBA68C8FBB07001-org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar o.eclipse.equinox.common/external/org.eclipse.equinox.common_3.6.0.v20110523_nosignature.jar || die
ln -s "${DISTDIR}"/B7001D9CC2E2AC4E167D22A13063F0350C71AAA9-org.eclipse.equinox.preferences-3.4.2_nosignature.jar o.eclipse.equinox.preferences/external/org.eclipse.equinox.preferences-3.4.2_nosignature.jar || die
ln -s "${DISTDIR}"/C647079E36A4EB7A24AED2C545E4F0F94194C4D1-org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar o.eclipse.equinox.registry/external/org.eclipse.equinox.registry_3.5.200.v20120522-1841_nosignature.jar || die
ln -s "${DISTDIR}"/9267CF311F979078211A70C1B19AF8A8EE71DC8E-org.eclipse.equinox.security-1.1.1_nosignature.jar o.eclipse.equinox.security/external/org.eclipse.equinox.security-1.1.1_nosignature.jar || die
ln -s "${DISTDIR}"/B580E446B543A8DD2F5AA368B07F9C4C9C2E7029-org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar o.eclipse.jgit/external/org.eclipse.jgit-3.6.2.201501210735-r_nosignature.jar || die
ln -s "${DISTDIR}"/244560B99152F3F9BC75DF2D6FAFA8A5216B06B6-org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar o.eclipse.jgit.java7/external/org.eclipse.jgit.java7-3.6.2.201501210735-r_nosignature.jar || die
ln -s "${DISTDIR}"/8E2776DE17446EC7450285F19F2C6366117748A8-org.eclipse.mylyn.bugzilla.core_3.17.0.v20150828-2026.jar o.eclipse.mylyn.bugzilla.core/external/org.eclipse.mylyn.bugzilla.core_3.17.0.v20150828-2026.jar || die
ln -s "${DISTDIR}"/D4F2BE52B5C048158B5C046C0ACAC3965027FE12-org.eclipse.mylyn.commons.core_3.17.0.v20150625-2042.jar o.eclipse.mylyn.commons.core/external/org.eclipse.mylyn.commons.core_3.17.0.v20150625-2042.jar || die
ln -s "${DISTDIR}"/4C753A9D8AB768A55EC99A377A0D22EDA67BAE25-org.eclipse.mylyn.commons.net_3.17.0.v20150706-2057.jar o.eclipse.mylyn.commons.net/external/org.eclipse.mylyn.commons.net_3.17.0.v20150706-2057.jar || die
ln -s "${DISTDIR}"/8E52A783A3700FE2F3AED720CBEF6D895C0D5DBC-org.eclipse.mylyn.commons.repositories.core_1.9.0.v20150625-2042.jar o.eclipse.mylyn.commons.repositories.core/external/org.eclipse.mylyn.commons.repositories.core_1.9.0.v20150625-2042.jar || die
ln -s "${DISTDIR}"/50F0A49BDF7C5610E3E602609926065D47A16C6E-org.eclipse.mylyn.commons.xmlrpc_3.17.0.v20150625-2042.jar o.eclipse.mylyn.commons.xmlrpc/external/org.eclipse.mylyn.commons.xmlrpc_3.17.0.v20150625-2042.jar || die
ln -s "${DISTDIR}"/4F2E28BDB091E2DD215FB9B16C8708513288F16A-org.eclipse.mylyn.tasks.core_3.17.0.v20150828-2026.jar o.eclipse.mylyn.tasks.core/external/org.eclipse.mylyn.tasks.core_3.17.0.v20150828-2026.jar || die
ln -s "${DISTDIR}"/11D1982BE23B06B2721240F424DBEF9F5FDE7F45-org.eclipse.mylyn.wikitext.confluence.core_2.6.0.v20150901-2143.jar o.eclipse.mylyn.wikitext.confluence.core/external/org.eclipse.mylyn.wikitext.confluence.core_2.6.0.v20150901-2143.jar || die
ln -s "${DISTDIR}"/A3FEF6144ED1622E4CDD506B9D745527CC675D8D-org.eclipse.mylyn.wikitext.core_2.6.0.v20150901-2143-patched-nosignature.jar o.eclipse.mylyn.wikitext.core/external/org.eclipse.mylyn.wikitext.core_2.6.0.v20150901-2143-patched-nosignature.jar || die
ln -s "${DISTDIR}"/825DC870D1D423E347F4F8229A211A2C297BB15D-org.eclipse.mylyn.wikitext.markdown.core_2.6.0.v20150901-2143.jar o.eclipse.mylyn.wikitext.markdown.core/external/org.eclipse.mylyn.wikitext.markdown.core_2.6.0.v20150901-2143.jar || die
ln -s "${DISTDIR}"/C3024631DD14008D2FF35A576C3D82AC6FCB2E10-org.eclipse.mylyn.wikitext.textile.core_2.6.0.v20150901-2143.jar o.eclipse.mylyn.wikitext.textile.core/external/org.eclipse.mylyn.wikitext.textile.core_2.6.0.v20150901-2143.jar || die
ln -s "${DISTDIR}"/17C0C8D6DEBF5EBE734881C131888D8088BD9E7D-org.tmatesoft.svnkit_1.8.12.r10533_v20160129_0158.jar libs.svnClientAdapter.svnkit/external/org.tmatesoft.svnkit_1.8.12.r10533_v20160129_0158.jar || die
ln -s "${DISTDIR}"/6819C79348FCF4F5125C834E7D3B742582DCA34D-processtreekiller-1.0.7.jar extexecution.process/external/processtreekiller-1.0.7.jar || die
ln -s "${DISTDIR}"/4F94E5B4F14B4571A1D8E37885A3037C91F7C02C-svnkit_1.7.8.r9538_v20130107_2001.jar libs.svnClientAdapter.svnkit/external/svnkit_1.7.8.r9538_v20130107_2001.jar || die
ln -s "${DISTDIR}"/B0D0FCBAC68826D2AFA3C7C89FC4D57B95A000C3-resolver-1.2.jar o.apache.xml.resolver/external/resolver-1.2.jar || die
ln -s "${DISTDIR}"/EDE7FBABD4C96D34E48FDA0E8FECED24C98CEDCA-sqljet-1.1.10.jar libs.svnClientAdapter.svnkit/external/sqljet-1.1.10.jar || die
ln -s "${DISTDIR}"/DAAEFA7A5F3AF75FE4CDC86A1B5904C9F3B5BBF8-svnClientAdapter-javahl-1.10.12.jar libs.svnClientAdapter.javahl/external/svnClientAdapter-javahl-1.10.12.jar || die
ln -s "${DISTDIR}"/C47ED3BCD8CEAECDE3BDEEB7D8D14B577B26F9C8-svnClientAdapter-main-1.10.12.jar libs.svnClientAdapter/external/svnClientAdapter-main-1.10.12.jar || die
ln -s "${DISTDIR}"/AD4A88D99AB7C5B64C8893CA2FF2CBCFCEFC51C8-svnClientAdapter-svnkit-1.10.12.jar libs.svnClientAdapter.svnkit/external/svnClientAdapter-svnkit-1.10.12.jar || die
ln -s "${DISTDIR}"/5C47A97F05F761F190D87ED5FCBB08D1E05A7FB5-svnjavahl-1.9.3.jar libs.svnClientAdapter.javahl/external/svnjavahl-1.9.3.jar || die
ln -s "${DISTDIR}"/3B91269E9055504778F57744D24F505856698602-svnkit-1.7.0-beta4-20120316.233307-1.jar libs.svnClientAdapter.svnkit/external/svnkit-1.7.0-beta4-20120316.233307-1.jar || die
ln -s "${DISTDIR}"/015525209A02BD74254930FF844C7C13498B7FB9-svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar libs.svnClientAdapter.svnkit/external/svnkit-javahl16-1.7.0-beta4-20120316.233536-1.jar || die
ln -s "${DISTDIR}"/C0D8A3265D194CC886BAFD585117B6465FD97DCE-swingx-all-1.6.4.jar libs.swingx/external/swingx-all-1.6.4.jar || die
ln -s "${DISTDIR}"/CD5B5996B46CB8D96C8F0F89A7A734B3C01F3DF7-tomcat-webserver-3.2.jar httpserver/external/tomcat-webserver-3.2.jar || die
ln -s "${DISTDIR}"/89BC047153217F5254506F4C622A771A78883CBC-ValidationAPI.jar swing.validation/external/ValidationAPI.jar || die
ln -s "${DISTDIR}"/15ACB06E2E3A70FC188782BA51369CA81ACFE860-validator.jar html.validation/external/validator.jar || die
ln -s "${DISTDIR}"/C9757EFB2CFBA523A7375A78FA9ECFAF0D0AC505-winp-1.14-patched.jar extexecution.process/external/winp-1.14-patched.jar || die
ln -s "${DISTDIR}"/64F5BEEADD2A239C4BC354B8DFDB97CF7FDD9983-xmlrpc-client-3.0.jar o.apache.xmlrpc/external/xmlrpc-client-3.0.jar || die
ln -s "${DISTDIR}"/8FA16AD28B5E79A7CD52B8B72985B0AE8CCD6ADF-xmlrpc-common-3.0.jar o.apache.xmlrpc/external/xmlrpc-common-3.0.jar || die
ln -s "${DISTDIR}"/D6917BF718583002CBE44E773EE21E2DF08ADC71-xmlrpc-server-3.0.jar o.apache.xmlrpc/external/xmlrpc-server-3.0.jar || die
popd >/dev/null || die
}
src_prepare() {
einfo "Deleting bundled class files..."
find -name "*.class" -type f | xargs rm -vf
epatch netbeans-8.2-build.xml.patch
einfo "Symlinking external libraries..."
java-pkg_jar-from --into c.jcraft.jsch/external jsch jsch.jar jsch-0.1.53.jar
java-pkg_jar-from --into db.drivers/external jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.23-bin.jar
java-pkg_jar-from --into db.drivers/external jdbc-postgresql jdbc-postgresql.jar postgresql-9.4.1209.jar
java-pkg_jar-from --build-only --into db.sql.visualeditor/external javacc javacc.jar javacc-3.2.jar
java-pkg_jar-from --into html.parser/external icu4j-55 icu4j.jar icu4j-4_4_2.jar
java-pkg_jar-from --into html.validation/external iso-relax iso-relax.jar isorelax.jar
java-pkg_jar-from --into html.validation/external log4j log4j.jar log4j-1.2.15.jar
java-pkg_jar-from --into html.validation/external saxon-9 saxon.jar saxon9B.jar
java-pkg_jar-from --build-only --into javahelp/external javahelp jhall.jar jhall-2.0_05.jar
java-pkg_jar-from --into libs.antlr4.runtime/external antlr-4 antlr-runtime.jar antlr-runtime-4.5.3.jar
java-pkg_jar-from --into libs.commons_compress/external commons-compress commons-compress.jar commons-compress-1.8.1.jar
# java-pkg_jar-from --into libs.freemarker/external freemarker-2.3 freemarker.jar freemarker-2.3.19.jar
java-pkg_jar-from --build-only --into libs.jna/external jna jna.jar jna-4.2.2.jar
java-pkg_jar-from --into libs.json_simple/external json-simple json-simple.jar json-simple-1.1.1.jar
java-pkg_jar-from --into libs.jvyamlb/external jvyamlb jvyamlb.jar jvyamlb-0.2.7.jar
java-pkg_jar-from --into libs.lucene/external lucene-3.5 lucene-core.jar lucene-core-3.5.0.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smack.jar smack.jar
java-pkg_jar-from --into libs.smack/external smack-2.2 smackx.jar smackx.jar
# java-pkg_jar-from --into libs.svnClientAdapter.javahl/external subversion svn-javahl.jar svnjavahl-1.8.4.jar
java-pkg_jar-from --into libs.xerces/external xerces-2 xercesImpl.jar xerces-2.8.0.jar
java-pkg_jar-from --build-only --into o.apache.commons.codec/external commons-codec commons-codec.jar apache-commons-codec-1.3.jar
java-pkg_jar-from --into o.apache.commons.httpclient/external commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.1.jar
java-pkg_jar-from --into o.apache.commons.logging/external commons-logging commons-logging.jar commons-logging-1.1.1.jar
java-pkg_jar-from --into o.apache.ws.commons.util/external ws-commons-util ws-commons-util.jar ws-commons-util-1.0.1.jar
java-pkg_jar-from --into servletapi/external tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
java-pkg_jar-from --into xml.jaxb.api/external sun-jaf sun-jaf.jar activation.jar
java-pkg_jar-from --into xml.jaxb.api/external jsr173 jsr173.jar jsr173_1.0_api.jar
einfo "Linking in other clusters..."
mkdir "${S}"/nbbuild/netbeans || die
pushd "${S}"/nbbuild/netbeans >/dev/null || die
ln -s /usr/share/netbeans-platform-${SLOT} platform || die
cat /usr/share/netbeans-platform-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.platform.built
ln -s /usr/share/netbeans-harness-${SLOT} harness || die
cat /usr/share/netbeans-harness-${SLOT}/moduleCluster.properties >> moduleCluster.properties || die
touch nb.cluster.harness.built
popd >/dev/null || die
java-pkg-2_src_prepare
default
}
src_compile() {
unset DISPLAY
eant -f ${EANT_BUILD_XML} ${EANT_EXTRA_ARGS} ${EANT_BUILD_TARGET} || die "Compilation failed"
}
src_install() {
pushd nbbuild/netbeans/ide >/dev/null || die
insinto ${INSTALL_DIR}
grep -E "/ide$" ../moduleCluster.properties > "${D}"/${INSTALL_DIR}/moduleCluster.properties || die
doins -r *
rm -fr "${D}"/${INSTALL_DIR}/bin/nativeexecution || die
rm -fr "${D}"/${INSTALL_DIR}/modules/lib || die
insinto ${INSTALL_DIR}/bin/nativeexecution
doins bin/nativeexecution/*
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution >/dev/null || die
for file in *.sh ; do
fperms 755 ${file}
done
popd >/dev/null || die
if use x86 ; then
doins -r bin/nativeexecution/Linux-x86
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
elif use amd64 ; then
doins -r bin/nativeexecution/Linux-x86_64
pushd "${D}"/${INSTALL_DIR}/bin/nativeexecution/Linux-x86_64 >/dev/null || die
for file in * ; do
fperms 755 ${file}
done
popd >/dev/null || die
fi
popd >/dev/null || die
local instdir="${D}"/${INSTALL_DIR}/modules
pushd "${instdir}" >/dev/null || die
rm com-jcraft-jsch.jar && java-pkg_jar-from --into "${instdir}" jsch jsch.jar com-jcraft-jsch.jar
popd >/dev/null || die
local instdir="${D}"/${INSTALL_DIR}/modules/ext
pushd "${instdir}" >/dev/null || die
rm antlr-runtime-4.5.3.jar && java-pkg_jar-from --into "${instdir}" antlr-4 antlr-runtime.jar antlr-runtime-4.5.3.jar
rm commons-compress-1.8.1.jar && java-pkg_jar-from --into "${instdir}" commons-compress commons-compress.jar commons-compress-1.8.1.jar
# rm freemarker-2.3.19.jar && dosym /usr/share/freemarker-2.3/lib/freemarker.jar ${instdir}/freemarker-2.3.19.jar || die
rm icu4j-4_4_2.jar && java-pkg_jar-from --into "${instdir}" icu4j-55 icu4j.jar icu4j-4_4_2.jar
rm isorelax.jar && java-pkg_jar-from --into "${instdir}" iso-relax iso-relax.jar isorelax.jar
rm json-simple-1.1.1.jar && java-pkg_jar-from --into "${instdir}" json-simple json-simple.jar json-simple-1.1.1.jar
rm jvyamlb-0.2.7.jar && java-pkg_jar-from --into "${instdir}" jvyamlb jvyamlb.jar jvyamlb-0.2.7.jar
rm log4j-1.2.15.jar && java-pkg_jar-from --into "${instdir}" log4j log4j.jar log4j-1.2.15.jar
rm lucene-core-3.5.0.jar && java-pkg_jar-from --into "${instdir}" lucene-3.5 lucene-core.jar lucene-core-3.5.0.jar
rm mysql-connector-java-5.1.23-bin.jar && java-pkg_jar-from --into "${instdir}" jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.23-bin.jar
rm postgresql-9.4.1209.jar && java-pkg_jar-from --into "${instdir}" jdbc-postgresql jdbc-postgresql.jar postgresql-9.4.1209.jar
rm saxon9B.jar && java-pkg_jar-from --into "${instdir}" saxon-9 saxon.jar saxon9B.jar
rm servlet-2.2.jar && java-pkg_jar-from --into "${instdir}" tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
rm smack.jar && java-pkg_jar-from --into "${instdir}" smack-2.2 smack.jar
rm smackx.jar && java-pkg_jar-from --into "${instdir}" smack-2.2 smackx.jar
# rm svnjavahl.jar && dosym /usr/share/subversion/lib/svn-javahl.jar ${instdir}/svnjavahl.jar || die
rm xerces-2.8.0.jar && java-pkg_jar-from --into "${instdir}" xerces-2 xercesImpl.jar xerces-2.8.0.jar
popd >/dev/null || die
local instdir="${D}"/${INSTALL_DIR}/modules/ext/jaxb
pushd "${instdir}" >/dev/null || die
rm activation.jar && java-pkg_jar-from --into "${instdir}" sun-jaf sun-jaf.jar activation.jar
popd >/dev/null || die
local instdir="${D}"/${INSTALL_DIR}/modules/ext/jaxb/api
pushd "${instdir}" >/dev/null || die
rm jsr173_1.0_api.jar && java-pkg_jar-from --into "${instdir}" jsr173 jsr173.jar jsr173_1.0_api.jar
popd >/dev/null || die
dosym ${INSTALL_DIR} /usr/share/netbeans-nb-${SLOT}/ide
}

@ -106,7 +106,7 @@ CDEPEND="virtual/jdk:1.8
dev-java/rhino:1.6
dev-java/saxon:9
dev-java/smack:2.2
dev-java/sun-jaf:0
<=dev-java/sun-jaf-1.1.1:0
dev-java/tomcat-servlet-api:2.2
dev-java/ws-commons-util:0
dev-java/xerces:2"

@ -20,7 +20,6 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="
dev-lang/R:0=
dev-libs/double-conversion:0=
dev-libs/gmp:0=
<dev-libs/libgit2-0.25:0=

@ -18,7 +18,6 @@ KEYWORDS=""
IUSE=""
RDEPEND="
dev-lang/R:0=
dev-libs/double-conversion:0=
dev-libs/gmp:0=
dev-libs/libgit2:0=

@ -1,11 +1,14 @@
DIST pl-6.6.6.tar.gz 14838653 SHA256 9f80bb274e2f31fd68b0acbe35982c012d5f8311dbe44ec1d8d04351a776996d SHA512 a850b0f6b283d34aa77d5e9d8a0053161fa534fa6d8935c7472362ff7b59ea6035de0658d9e38c317e2d92ed810370f2adc3e92b6346fc0ff392d18f1c8012a6 WHIRLPOOL 448d844fe45aee97ad2e37bea3f81dd5eb388e1dcb9f1c4dc54c18991aa91d481bff5b70174fb06edb06c1361759621a570a083fe36d62bffdf6028c49244b2a
DIST swi-prolog-6.6.6-gentoo-patchset-0.tar.gz 1590 SHA256 2b240d15562603120e0314bb69bde50089326c11876b7a62106c05f9d48ace71 SHA512 807c7e897dd5b9eef14e063ea53c03047f3acb23174a70a613258adf7f85dc1f7637158fde70aab2e0f40de4bc6ac5e3548dd09dbe3745d916a388f43eb832eb WHIRLPOOL 0a0dbc361cfbe343c8b3562a2c0535905eb1443eea0783b14f96bda43c04e8db6264f476c07da766c6936dc6088e34059f799a3244717390644bf0f5ae83018e
DIST swi-prolog-7.2.3-gentoo-patchset-1.tar.gz 1875 SHA256 c11e48122dc468f21e08da4a65f5a2daa9e0ddbc2e186bbd952626c95b29db04 SHA512 3506f4168d52f7d3539cd753c5153750df8c3239b78ffac1784c634b585d5fb0c825700e77abc9c1f467af71473ae1861eef629ebdf76b7c783d276c393f40fc WHIRLPOOL 8b70ab91592280d0634c6c897771696c0c63d30680044994cedf69f18cd4f386adf833998e64d4ad892cff97300b5bbfaa8dec8448ea04ebaba7e31f7e9c30d0
DIST swi-prolog-7.4.2-gentoo-patchset-2.tar.gz 2300 SHA256 95f0e0d82363cbe1646c75b1e91cd7bad7893c21f7834becb6752ad046b824e4 SHA512 01427cfb244a1966c07267f914afe110e5759ac7db284a5ac39e6ef5d8df2dbd66f4345bc60ba82dbbe82a7e4cc06a7522b16026bd332c1b8f97db590f670fe5 WHIRLPOOL 4ba489bb5c2a348516ef2d2935424ee363c263c93e5672af5d35bb556b38fead441cb5f6415fb9eb7a400551274b03d2e7903f70d09c85d03a64c9a5dce07b63
DIST swi-prolog-7.4.2-gentoo-patchset-3.tar.gz 3256 SHA256 6d6a98be7e0c8f69b0c2fac213a0b690112d985fdc87752eb9010f442b35c792 SHA512 bc1b408e311d10ab59fa221bf5ef3d3cb1003a3edcdd13fd000cbc647117458e1f130e960cc37968481ccc2047529ca128159fac8e0ee75114022ed439905cce WHIRLPOOL b91b8d2a588acee744d104618aed27125988a6998e7bbb517744394b0348afe6b189285cee8c37b43372b25e7bf69efb96d304e7c8d4e3a86b8e3612430f1ada
DIST swi-prolog-7.5.15-gentoo-patchset-2.tar.gz 2789 SHA256 55a853a8ed12b5df7b2bff921aa49f79d1192d177176fffffe4ec62c3ccede18 SHA512 8c0bdfcf2be99aacef221c4a66d9323fa64e207496b04bd454dd25e2b33c5dc629302e7a0c99baca8545923a302f9b38d24a26e356a247f82745b64d05785c63 WHIRLPOOL 9b54d62cffe2d80a82039617f1619bf8d96579d5a352bcae5a4e435e1c615bc63a372d4613f2acacf14b94a207292a025a7e56d9669e091835eede502d5b528f
DIST swi-prolog-7.7.1-gentoo-patchset-0.tar.gz 1126 SHA256 1b9d5606c09815068ab3f1acef81dce1a42db382755932a5cef19ccd78b98d33 SHA512 e25d8e380a1f5c47958bea5756da9686b8325ace79ef5bfcd4b82cbeb04061b484ef284b10a3190e389df9c6e2f3c5dc61a01e2319cbd46b590823e9ed1de175 WHIRLPOOL 4504c40aa6dd085c40a5b5958186c2028a2fbe568886190e6763395071eff5675d041d91212f0eb6a3e62a6680fb69bc67f97ededbbd34b1864acecee8ef2223
DIST swipl-7.2.3.tar.gz 16192142 SHA256 43657d51b7c5887bc2d2bced50a9822b86a08a6841399b8e76ee877f51d646b5 SHA512 da27a6b171d3b471401f1a91e86a4dbe98973d8a1db8c72aa27e452311d08b893b01a1de8f9f4dafcdac460774b4ea980050256d37284546941e1bdf84f8cd7b WHIRLPOOL de695c8e0317921dcc13898f7a3c88d1012e3f87f633cd25766ca5cb6637b29ca81b9245d015614089291a7d9abd0d8c7109ccae1df9297d78301d241cb258b3
DIST swipl-7.4.1.tar.gz 16498678 SHA256 891e314e8f5d856ef71d8bbce5d255a18b0c8f227628748bb0e1e19473273cc1 SHA512 a3e49cc43aed05808901860fe302711d2850b23740a987d1071822d7b4888aca30a8b5f7c94e1e7191057a031f45adeedb0fbff9139d0294e6ec07032da6798d WHIRLPOOL 5605043173e6bbebed316504b3eb20a0ccc4891d25ae7a7eafc7de6eadef1688367a524e1d81fd0c1ff427e1ece39295555bbf7114deb6056b12b3c3ce2196ed
DIST swipl-7.4.2.tar.gz 16496738 SHA256 7f17257da334bc1e7a35e9cf5cb8fca01d82f1ea406c7ace76e9062af8f0df8b SHA512 5b526d4f079e7a36184f871bb7341330bcadaeee2a69af981fbcad71ae76c77331b1f157174ac2b31d96e069dc530afa86c024de6709edd9dc8baee3b4ebffb3 WHIRLPOOL 2dad1a5e7ae3670b3a3965010d60420a27cb9623b35cdee83360f6f3a4fadc3dbf2a91fd3e7178b59c9b81723dfe6036fb968953218e7611179b52117a16cb19
DIST swipl-7.5.13.tar.gz 16748371 SHA256 3680231e22ac1622c507652649e17ad07bc41ff08484f4e4f767ec04802c435c SHA512 a19037a6a9ffa06d3775d3669e51431b8f83ec37c2515955b0721bfa7dc4ab4661b740689f2aa74ee0bf0b0fff40b0d0a85453d3cfce3b0936082d719878ea23 WHIRLPOOL b81b30db11677992d0ef55c4619615a47c3576aab1e115c5fe78731d7675ba1d0c0223d540b693804720cbd4bfe9d2177069ce111f1981af5668001c6225c5ce
DIST swipl-7.5.14.tar.gz 16743212 SHA256 2e83e96a0eace037da3f75fc44e9c8f4e3b2cf8fd3c27f8f05ff489276aec572 SHA512 f655b9adff90909398772f5612dfbf3a4e6c7ecb17b4c959a58547f30c67c861ad574cf044267280fd22a05503ead10c807d33f54f2cbf8af6ea19753c9b1d34 WHIRLPOOL 93451c566c39901a7c480bb8bc5eb1f53c3ae7adc5ee2e0281c8746b804dd4522a2cfb2e825122753ca212306798ab0659992f588ad8230b6262eeb84a0dd479
DIST swipl-7.5.15.tar.gz 16757246 SHA256 aca07ce9c564e608586e7ae7b9a56c82ca5dd919cde1a1edf1121efa16bda568 SHA512 07344914726a5a1d3e9d6542c06be7c0937cbe3ac59b64025e068e513c99c66be991af9da0d4200364edec24c143295740c232621173039bffda2fbf379fbf33 WHIRLPOOL 5b0cc1b9cfb1f362d4145759a6f575c9bd606a717e33bd02c741321ce7303855bb472ea12ce058b02de0b96a3300807774c8697033403cf183dc9d67c6f95c88
DIST swipl-7.7.0.tar.gz 16761831 SHA256 a1f603302fee12bfc390272ca76381401f5483c3a5521d391265404af58fdfcb SHA512 196e0c17cfaa9368a0032372cfc64e4b96f55048a4457c9ca28b1180b9277fba7811c2a72f410502f12544ca21751013b73002bf7c84cfb79ed0f909a871a24e WHIRLPOOL d2665b75a2bcb147b207bfc3b6c66be1344a7411420d8e016ae1e6e89f27f70325ef6b4804107a76f6d1714a961d5b689655037b0cb596efb8028fd85cc86a3e
DIST swipl-7.7.1.tar.gz 16762129 SHA256 fda2c8b6b606ff199ea8a6f019008aa8272b7c349cb9312ccd5944153509503a SHA512 d95cc460c5eecf3d122c5e558266fd9203a0e8fe389ea1c83f08783e819bae04fe5e55f727ac6fffe89242dae7dc059fdabe09f1093915ba0e5675ee0e278de5 WHIRLPOOL 812eb2c5098f737b99cd063f156b11fed0151e59b949403620b498e2aa477dc08aa2fdd4da7669f2c7998cfbaabbfb0edb85f43aaeee32ae0b347880d577c4d2

@ -5,7 +5,7 @@ EAPI=5
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="2"
PATCHSET_VER="3"
DESCRIPTION="free, small, and standard compliant Prolog compiler"
HOMEPAGE="http://www.swi-prolog.org/"

@ -0,0 +1,146 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="0"
DESCRIPTION="free, small, and standard compliant Prolog compiler"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X"
RDEPEND="sys-libs/ncurses:=
archive? ( app-arch/libarchive )
berkdb? ( >=sys-libs/db-4:= )
zlib? ( sys-libs/zlib )
odbc? ( dev-db/unixODBC )
pcre? ( dev-libs/libpcre )
readline? ( sys-libs/readline:= )
libedit? ( dev-libs/libedit )
gmp? ( dev-libs/gmp:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
java? ( >=virtual/jdk-1.7:= )
uuid? ( dev-libs/ossp-uuid )
X? (
virtual/jpeg:0
x11-libs/libX11
x11-libs/libXft
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )"
DEPEND="${RDEPEND}
X? ( x11-proto/xproto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/swipl-${PV}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
if [[ -d "${WORKDIR}"/${PV} ]] ; then
epatch "${WORKDIR}"/${PV}
fi
if ! use uuid; then
mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die
fi
# OSX/Intel ld doesn't like an archive without table of contents
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
}
src_configure() {
append-flags -fno-strict-aliasing
use ppc && append-flags -mno-altivec
use hardened && append-flags -fno-unit-at-a-time
use debug && append-flags -DO_DEBUG
# ARCH is used in the configure script to figure out host and target
# specific stuff
export ARCH=${CHOST}
export CC_FOR_BUILD=$(tc-getBUILD_CC)
cd "${S}"/src || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_enable gmp) \
$(use_enable static-libs static) \
--enable-shared \
--enable-custom-flags COFLAGS="${CFLAGS}"
if ! use minimal ; then
local jpltestconf
if use java && use test ; then
jpltestconf="--with-junit=$(java-config --classpath junit)"
fi
cd "${S}/packages" || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_with archive) \
$(use_with berkdb bdb ) \
$(use_with java jpl) \
${jpltestconf} \
$(use_with libedit) \
$(use_with pcre) \
$(use_with odbc) \
$(use_with readline) \
$(use_with ssl) \
$(use_with X xpce) \
$(use_with zlib) \
COFLAGS='"${CFLAGS}"'
fi
}
src_compile() {
cd "${S}"/src || die
emake
if ! use minimal ; then
cd "${S}/packages" || die
emake
./report-failed || die "Cannot report failed packages"
fi
}
src_test() {
cd "${S}/src" || die
emake check
if ! use minimal ; then
unset DISPLAY
cd "${S}/packages" || die
emake \
USE_PUBLIC_NETWORK_TESTS=false \
USE_ODBC_TESTS=false \
check
./report-failed || die
fi
}
src_install() {
emake -C src DESTDIR="${D}" install
if ! use minimal ; then
emake -C packages DESTDIR="${D}" install
if use doc ; then
emake -C packages DESTDIR="${D}" html-install
fi
./packages/report-failed || die "Cannot report failed packages"
fi
dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION
}

@ -0,0 +1,147 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="0"
DESCRIPTION="free, small, and standard compliant Prolog compiler"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X"
RDEPEND="sys-libs/ncurses:=
archive? ( app-arch/libarchive )
berkdb? ( >=sys-libs/db-4:= )
zlib? ( sys-libs/zlib )
odbc? ( dev-db/unixODBC )
pcre? ( dev-libs/libpcre )
readline? ( sys-libs/readline:= )
libedit? ( dev-libs/libedit )
gmp? ( dev-libs/gmp:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
java? ( >=virtual/jdk-1.7:= )
uuid? ( dev-libs/ossp-uuid )
X? (
virtual/jpeg:0
x11-libs/libX11
x11-libs/libXft
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )"
DEPEND="${RDEPEND}
X? ( x11-proto/xproto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/swipl-${PV}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
if [[ -d "${WORKDIR}"/${PV} ]] ; then
epatch "${WORKDIR}"/${PV}
fi
if ! use uuid; then
mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die
fi
# OSX/Intel ld doesn't like an archive without table of contents
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
}
src_configure() {
append-flags -fno-strict-aliasing
use ppc && append-flags -mno-altivec
use hardened && append-flags -fno-unit-at-a-time
use debug && append-flags -DO_DEBUG
# ARCH is used in the configure script to figure out host and target
# specific stuff
export ARCH=${CHOST}
export CC_FOR_BUILD=$(tc-getBUILD_CC)
cd "${S}"/src || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_enable gmp) \
$(use_enable static-libs static) \
--enable-shared \
--enable-custom-flags COFLAGS="${CFLAGS}"
if ! use minimal ; then
local jpltestconf
if use java && use test ; then
jpltestconf="--with-junit=$(java-config --classpath junit)"
fi
cd "${S}/packages" || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_with archive) \
$(use_with berkdb bdb ) \
$(use_with java jpl) \
${jpltestconf} \
$(use_with libedit) \
$(use_with pcre) \
$(use_with odbc) \
$(use_with readline) \
$(use_with ssl) \
$(use_with X xpce) \
$(use_with zlib) \
COFLAGS='"${CFLAGS}"'
fi
}
src_compile() {
cd "${S}"/src || die
emake
if ! use minimal ; then
cd "${S}/packages" || die
emake
./report-failed || die "Cannot report failed packages"
fi
}
src_test() {
cd "${S}/src" || die
emake check
if ! use minimal ; then
unset DISPLAY
cd "${S}/packages" || die
emake \
USE_PUBLIC_NETWORK_TESTS=false \
USE_ODBC_TESTS=false \
check
./report-failed || die
fi
}
src_install() {
emake -C src DESTDIR="${D}" install
if ! use minimal ; then
emake -C packages DESTDIR="${D}" install
if use doc ; then
emake -C packages DESTDIR="${D}" html-install
fi
./packages/report-failed || die "Cannot report failed packages"
fi
dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION
}

@ -1,59 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs
DESCRIPTION="C++ class library of cryptographic schemes"
HOMEPAGE="http://cryptopp.com"
SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
LICENSE="Boost-1.0"
SLOT="0/5.6" # subslot is so version
KEYWORDS="alpha amd64 ~arm arm64 hppa ppc ppc64 sparc x86 ~x64-macos"
IUSE="static-libs"
DEPEND="app-arch/unzip"
S="${WORKDIR}"
PATCHES=(
"${FILESDIR}/${PN}-5.6.4-nonative.patch"
)
pkg_setup() {
export CXX="$(tc-getCXX)"
export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
export PREFIX="${EPREFIX}/usr"
}
src_compile() {
# higher optimizations cause problems
replace-flags -O3 -O2
# ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
[[ ${CHOST} == *-darwin* ]] && append-cxxflags -DCRYPTOPP_DISABLE_ASM
emake -f GNUmakefile all shared
}
src_install() {
default
# remove leftovers as build system sucks
rm -fr "${ED}"/usr/bin "${ED}"/usr/share/cryptopp
use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a
# compatibility
dosym cryptopp "${EPREFIX}"/usr/include/crypto++
for f in "${ED}${EPREFIX}"/usr/$(get_libdir)/*; do
ln -s "$(basename "${f}")" "$(echo "${f}" | sed 's/cryptopp/crypto++/')" || die
done
}
pkg_preinst() {
# we switched directory to symlink
# make sure portage digests that
rm -fr "${EROOT}/usr/include/crypto++"
rm -fr "${EROOT}/usr/include/cryptopp"
}

@ -1,2 +1,3 @@
DIST deviceatlas-enterprise-c-2.1.2_1.tgz 184432 SHA256 984e1ae3147459a4ed0a8d5053d83dd05ce8c5127cd3cb055be35a74e9217372 SHA512 4ff269c55e74688dc1c954a1d9b0fc28aa135eccd20089f4da390522644bd1c08e2bc38e4ad15a64308a0e91b007a820dcdc3998c262fa5a7cfe1038e9f0e969 WHIRLPOOL 73c1c7eec0daed7632e8a5a7ceda956ec91cc603fe45df2fdbf2b54ecc950bd72ff59fdd85ff6a0ee70d54b2099ecc3219ef55f4aecb308f254851f93fe57738
DIST deviceatlas-enterprise-c-2.1.2_2.tgz 184368 SHA256 feaa9198a5d6bed125b34742bd626ad0a0fcb862803916cd7d974413f8bdfdce SHA512 46c021b3430c6900f9172c13cdeb26931634345485c2fe0fe7b6911f7c6f6bee46ab3551e4fe11ef5b5caabe66c786c72b51db6875aa9d44aab673056b9debee WHIRLPOOL d85161010cf195eab5ef9c4e83404ad08cc10d607ace5bc6424ffb170ca09a26d5410534279eab1d721615db943f3a447ff908f62f76311ec80c3d95abbb49d4
DIST deviceatlas-enterprise-c-2.1.zip 504286 SHA256 a02fc29486d245b1c8d946c663b71ba981e88fee8d037f5bc1bf255deb287974 SHA512 99a8e89f3d1c084a93b184685108ea65d1fd925e0c8b52599a42dbe70af3126103da0a9fd284b14ddf59b996204334d360a12651025413bc4d7f76054779275b WHIRLPOOL 939733a58f352cbeee852ccfea3f2f022310ceb7363a15889d9a6366532102ee700271b6008e0a57ae4d86cafe6354409f9520105e46eaabb5c41f1a7827f1b4

@ -0,0 +1,50 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-multilib
MY_P="deviceatlas-enterprise-c-${PV/_p/_}"
DESCRIPTION="API to detect devices based on the User-Agent HTTP header"
HOMEPAGE="https://deviceatlas.com"
SRC_URI="${MY_P}.tgz"
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="doc examples"
RDEPEND="dev-libs/libpcre[${MULTILIB_USEDEP}]"
DEPEND="
${RDEPEND}"
RESTRICT="fetch mirror bindist"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PV}-src-cmakelists.patch"
)
pkg_nofetch() {
eerror "Please go to https://deviceatlas.com/deviceatlas-haproxy-module"
eerror "And download DeviceAtlas C API"
eerror "Then place the file in ${DISTDIR}/${MY_P}.tgz"
}
multilib_src_install_all() {
if use doc; then
local -a HTML_DOCS=( Documentation )
fi
if use examples; then
insinto /usr/share/doc/${P}/examples
doins examples/daexutil.h
doins examples/example{0,1,2,3}.c
doins examples/util.c
doins examples/EXAMPLES.USAGE
fi
einstalldocs
}

@ -1,2 +1 @@
DIST libtasn1-4.10.tar.gz 1887057 SHA256 681a4d9a0d259f2125713f2e5766c5809f151b3a1392fd91390f780b4b8f5a02 SHA512 614e93128e6be8f46a2ad46e2a515e2edfb1f5a2e90c9e5da02d3afc0a882dc956632dd2b1eddd6b0e258e7b58a82d5d745d8ccd23120d94bb0af48132ed1a18 WHIRLPOOL 3f7bf6ba72006b22d126546e5f683d5bb8e758e4a919deac5d319d520175f7805a0c922561967bc7708ac1838ae1ccfa0da829b818705434eb46406e8a0ff1f1
DIST libtasn1-4.12.tar.gz 1888450 SHA256 6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753 SHA512 6c551670949881193e39122f72948e4999ff1ba377f9ee5963d0a4ad1b84256e4fe42e9f6d6a2aa9f7d4ef7acc0e5174fb5cc3df5298524cdeda92f4b8c104f7 WHIRLPOOL a2f29dbfb59bb2cbe5d533647028c9418b2b4871b67f7367757ebf4c706eab2b1bac8d5645784899bb85e9611a28f693655c1ff857c984109c0719a6f5dd78a5

@ -1,43 +0,0 @@
From 5520704d075802df25ce4ffccc010ba1641bd484 Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
Date: Thu, 18 May 2017 18:03:34 +0200
Subject: [PATCH] asn1_find_node: added safety check on asn1_find_node()
This prevents a stack overflow in asn1_find_node() which
is triggered by too long variable names in the definitions
files. That means that applications have to deliberately
pass a too long 'name' constant to asn1_write_value()
and friends. Reported by Jakub Jirasek.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
---
lib/parser_aux.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/parser_aux.c b/lib/parser_aux.c
index b4a7370..976ab38 100644
--- a/lib/parser_aux.c
+++ b/lib/parser_aux.c
@@ -120,6 +120,9 @@ asn1_find_node (asn1_node pointer, const char *name)
if (n_end)
{
nsize = n_end - n_start;
+ if (nsize >= sizeof(n))
+ return NULL;
+
memcpy (n, n_start, nsize);
n[nsize] = 0;
n_start = n_end;
@@ -158,6 +161,9 @@ asn1_find_node (asn1_node pointer, const char *name)
if (n_end)
{
nsize = n_end - n_start;
+ if (nsize >= sizeof(n))
+ return NULL;
+
memcpy (n, n_start, nsize);
n[nsize] = 0;
n_start = n_end;
--
libgit2 0.25.0

@ -1,50 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib-minimal libtool
DESCRIPTION="ASN.1 library"
HOMEPAGE="https://www.gnu.org/software/libtasn1/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0/6" # subslot = libtasn1 soname version
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs valgrind"
DEPEND=">=dev-lang/perl-5.6
sys-apps/help2man
virtual/yacc"
RDEPEND="
valgrind? ( dev-util/valgrind )
abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20131008-r16
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
DOCS=( AUTHORS ChangeLog NEWS README THANKS )
pkg_setup() {
if use doc; then
DOCS+=( doc/libtasn1.pdf )
HTML_DOCS=( doc/reference/html/. )
fi
}
src_prepare() {
default
elibtoolize # for Solaris shared library
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable static-libs static) \
$(multilib_native_use_enable valgrind valgrind-tests)
}
multilib_src_install_all() {
einstalldocs
use static-libs || find "${ED}" -name '*.la' -delete
}

@ -1,54 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib-minimal libtool
DESCRIPTION="ASN.1 library"
HOMEPAGE="https://www.gnu.org/software/libtasn1/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0/6" # subslot = libtasn1 soname version
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs valgrind"
DEPEND=">=dev-lang/perl-5.6
sys-apps/help2man
virtual/yacc"
RDEPEND="
valgrind? ( dev-util/valgrind )
abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20131008-r16
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
DOCS=( AUTHORS ChangeLog NEWS README THANKS )
PATCHES=(
"${FILESDIR}/${P}-asn1_find_node.patch"
)
pkg_setup() {
if use doc; then
DOCS+=( doc/libtasn1.pdf )
HTML_DOCS=( doc/reference/html/. )
fi
}
src_prepare() {
default
elibtoolize # for Solaris shared library
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable static-libs static) \
$(multilib_native_use_enable valgrind valgrind-tests)
}
multilib_src_install_all() {
einstalldocs
use static-libs || find "${ED}" -name '*.la' -delete
}

@ -1,50 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib-minimal libtool
DESCRIPTION="ASN.1 library"
HOMEPAGE="https://www.gnu.org/software/libtasn1/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0/6" # subslot = libtasn1 soname version
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs valgrind"
DEPEND=">=dev-lang/perl-5.6
sys-apps/help2man
virtual/yacc"
RDEPEND="
valgrind? ( dev-util/valgrind )
abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20131008-r16
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
DOCS=( AUTHORS ChangeLog NEWS README THANKS )
pkg_setup() {
if use doc; then
DOCS+=( doc/libtasn1.pdf )
HTML_DOCS=( doc/reference/html/. )
fi
}
src_prepare() {
default
elibtoolize # for Solaris shared library
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable static-libs static) \
$(multilib_native_use_enable valgrind valgrind-tests)
}
multilib_src_install_all() {
einstalldocs
use static-libs || find "${ED}" -name '*.la' -delete
}

@ -1,2 +1 @@
DIST softhsm-2.2.0.tar.gz 966806 SHA256 eb6928ae08da44fca4135d84d6b79ad7345f408193208c54bf69f5b2e71f85f7 SHA512 6ef17deef491f7298244a3d2ddefe25843fc17534c4e5f2e08927f05cafdaf05601beb953539fce5d34fa02fe355cbd4ab3aaabb6e5a106936b04c06aae9793c WHIRLPOOL 9e2ead19b2091fc46c6cdf63d2aaa26ad21dfe7d69d047ea85b38d725576885c8a1c6656cbec9d79e480158a9b8f9a90d36cf3fad0a80af317b883ee59ffba06
DIST softhsm-2.3.0.tar.gz 992417 SHA256 5ed604c89a3a6ef9d7d1ee92c28a2c4b3cd1f86f302c808e2d12c8f39aa2c127 SHA512 ef9ee41aa6eaeeb004d4ff5c78ca6e00895cc47e36551025a4422806eee8eead985cfd28476a867761a810f6957b0759edaac769bcdedf4ad974e426cfefce0f WHIRLPOOL adf718c757f2f1ab3bdc8dade04790e89fd5ef1e51d957b3506b8a89a61ef19cb5225805ed7a8e5c8073298f19e60a59b140339cc3693121cb21fbd15a670794

@ -1,251 +0,0 @@
From ae2fea013237e227ab62b52f9855a8f9dd8dcdbb Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@gmail.com>
Date: Fri, 27 Jan 2017 14:18:19 +0200
Subject: [PATCH 1/2] build: add missing log dependency to test
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
src/lib/test/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lib/test/Makefile.am b/src/lib/test/Makefile.am
index 339593e..4555ff2 100644
--- a/src/lib/test/Makefile.am
+++ b/src/lib/test/Makefile.am
@@ -25,6 +25,7 @@ p11test_SOURCES = p11test.cpp \
AsymWrapUnwrapTests.cpp \
TestsBase.cpp \
TestsNoPINInitBase.cpp \
+ ../common/log.cpp \
../common/osmutex.cpp
p11test_LDADD = ../libsofthsm2.la
--
2.10.2
From c90ba51dd944c9e842e4743cf8dd9d5f4ea7bc5d Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@gmail.com>
Date: Fri, 27 Jan 2017 14:41:11 +0200
Subject: [PATCH 2/2] build: tests: use pkg-config for cppunit
do not execute cppunit-config over and over.
move detection to autoconf.
use standard pkg-config module of pkg-config instead
of cppunit-config.
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
configure.ac | 3 +++
m4/acx_cppunit.m4 | 4 ++++
src/lib/crypto/test/Makefile.am | 7 ++++---
src/lib/data_mgr/test/Makefile.am | 7 ++++---
src/lib/handle_mgr/test/Makefile.am | 7 ++++---
src/lib/object_store/test/Makefile.am | 7 ++++---
src/lib/session_mgr/test/Makefile.am | 7 ++++---
src/lib/slot_mgr/test/Makefile.am | 7 ++++---
src/lib/test/Makefile.am | 7 ++++---
9 files changed, 35 insertions(+), 21 deletions(-)
create mode 100644 m4/acx_cppunit.m4
diff --git a/configure.ac b/configure.ac
index 4ecabd6..7df0f73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -117,6 +117,9 @@ ACX_VISIBILITY
# If we should install the p11-kit module
ACX_P11KIT
+# cppunit setetings
+ACX_CPPUNIT
+
# Set full directory paths
full_sysconfdir=`eval eval eval eval eval echo "${sysconfdir}" | sed "s#NONE#${prefix}#" | sed "s#NONE#${ac_default_prefix}#"`
full_localstatedir=`eval eval eval eval eval echo "${localstatedir}" | sed "s#NONE#${prefix}#" | sed "s#NONE#${ac_default_prefix}#"`
diff --git a/m4/acx_cppunit.m4 b/m4/acx_cppunit.m4
new file mode 100644
index 0000000..ff5b90e
--- /dev/null
+++ b/m4/acx_cppunit.m4
@@ -0,0 +1,4 @@
+AC_DEFUN([ACX_CPPUNIT],[
+ PKG_PROG_PKG_CONFIG
+ PKG_CHECK_MODULES([CPPUNIT], [cppunit], [have_cppunit=yes], [have_cppunit=no])
+])
diff --git a/src/lib/crypto/test/Makefile.am b/src/lib/crypto/test/Makefile.am
index ca7e421..81c2ce6 100644
--- a/src/lib/crypto/test/Makefile.am
+++ b/src/lib/crypto/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../object_store \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../slot_mgr \
- @CRYPTO_INCLUDES@ \
- `cppunit-config --cflags`
+ @CRYPTO_INCLUDES@
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = cryptotest
@@ -32,7 +33,7 @@ cryptotest_SOURCES = cryptotest.cpp \
cryptotest_LDADD = ../../libsofthsm_convarch.la
-cryptotest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs`
+cryptotest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install
TESTS = cryptotest
diff --git a/src/lib/data_mgr/test/Makefile.am b/src/lib/data_mgr/test/Makefile.am
index 27b4fbd..944224c 100644
--- a/src/lib/data_mgr/test/Makefile.am
+++ b/src/lib/data_mgr/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../object_store \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../slot_mgr \
- @CRYPTO_INCLUDES@ \
- `cppunit-config --cflags`
+ @CRYPTO_INCLUDES@
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = datamgrtest
@@ -20,7 +21,7 @@ datamgrtest_SOURCES = datamgrtest.cpp \
datamgrtest_LDADD = ../../libsofthsm_convarch.la
-datamgrtest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs`
+datamgrtest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install
TESTS = datamgrtest
diff --git a/src/lib/handle_mgr/test/Makefile.am b/src/lib/handle_mgr/test/Makefile.am
index 4cf92e4..f439a56 100644
--- a/src/lib/handle_mgr/test/Makefile.am
+++ b/src/lib/handle_mgr/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../object_store \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../slot_mgr \
- -I$(srcdir)/../../data_mgr \
- `cppunit-config --cflags`
+ -I$(srcdir)/../../data_mgr
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = handlemgrtest
@@ -18,7 +19,7 @@ handlemgrtest_SOURCES = handlemgrtest.cpp \
handlemgrtest_LDADD = ../../libsofthsm_convarch.la
-handlemgrtest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs`
+handlemgrtest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install
TESTS = handlemgrtest
diff --git a/src/lib/object_store/test/Makefile.am b/src/lib/object_store/test/Makefile.am
index ab2aa82..eec4a92 100644
--- a/src/lib/object_store/test/Makefile.am
+++ b/src/lib/object_store/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../data_mgr \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../slot_mgr \
- @CRYPTO_INCLUDES@ \
- `cppunit-config --cflags`
+ @CRYPTO_INCLUDES@
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = objstoretest
@@ -32,7 +33,7 @@ endif
objstoretest_LDADD = ../../libsofthsm_convarch.la
-objstoretest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs` -pthread
+objstoretest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install -pthread
TESTS = objstoretest
diff --git a/src/lib/session_mgr/test/Makefile.am b/src/lib/session_mgr/test/Makefile.am
index 5e9a71c..385deec 100644
--- a/src/lib/session_mgr/test/Makefile.am
+++ b/src/lib/session_mgr/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../data_mgr \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../slot_mgr \
- -I$(srcdir)/../../object_store \
- `cppunit-config --cflags`
+ -I$(srcdir)/../../object_store
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = sessionmgrtest
@@ -18,7 +19,7 @@ sessionmgrtest_SOURCES = sessionmgrtest.cpp \
sessionmgrtest_LDADD = ../../libsofthsm_convarch.la
-sessionmgrtest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs` -pthread
+sessionmgrtest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install -pthread
TESTS = sessionmgrtest
diff --git a/src/lib/slot_mgr/test/Makefile.am b/src/lib/slot_mgr/test/Makefile.am
index e9b9ce2..ecf36f5 100644
--- a/src/lib/slot_mgr/test/Makefile.am
+++ b/src/lib/slot_mgr/test/Makefile.am
@@ -8,8 +8,9 @@ AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../../object_store \
-I$(srcdir)/../../session_mgr \
-I$(srcdir)/../../data_mgr \
- @CRYPTO_INCLUDES@ \
- `cppunit-config --cflags`
+ @CRYPTO_INCLUDES@
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = slotmgrtest
@@ -18,7 +19,7 @@ slotmgrtest_SOURCES = slotmgrtest.cpp \
slotmgrtest_LDADD = ../../libsofthsm_convarch.la
-slotmgrtest_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs` -pthread
+slotmgrtest_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install -pthread
TESTS = slotmgrtest
diff --git a/src/lib/test/Makefile.am b/src/lib/test/Makefile.am
index 4555ff2..9d157a5 100644
--- a/src/lib/test/Makefile.am
+++ b/src/lib/test/Makefile.am
@@ -2,8 +2,9 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
AM_CPPFLAGS = -I$(srcdir)/.. \
-I$(srcdir)/../cryptoki_compat \
- -I$(srcdir)/../common \
- `cppunit-config --cflags`
+ -I$(srcdir)/../common
+
+AM_CFLAGS = @CPPUNIT_CFLAGS@
check_PROGRAMS = p11test
@@ -30,7 +31,7 @@ p11test_SOURCES = p11test.cpp \
p11test_LDADD = ../libsofthsm2.la
-p11test_LDFLAGS = @CRYPTO_LIBS@ -no-install `cppunit-config --libs` -pthread -static
+p11test_LDFLAGS = @CRYPTO_LIBS@ @CPPUNIT_LIBS@ -no-install -pthread -static
TESTS = p11test
--
2.10.2

@ -1,203 +0,0 @@
From 13ed52e65f6f07f2c0c2aa70604298c9f983693d Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@gmail.com>
Date: Sat, 28 Jan 2017 21:09:05 +0200
Subject: [PATCH] crypto: openssl: libressl support
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
m4/acx_openssl_gost.m4 | 2 +-
src/lib/crypto/OSSLComp.cpp | 2 +-
src/lib/crypto/OSSLComp.h | 2 +-
src/lib/crypto/OSSLCryptoFactory.cpp | 2 +-
src/lib/crypto/OSSLDHPrivateKey.cpp | 2 +-
src/lib/crypto/OSSLDHPublicKey.cpp | 2 +-
src/lib/crypto/OSSLDSAPrivateKey.cpp | 2 +-
src/lib/crypto/OSSLDSAPublicKey.cpp | 2 +-
src/lib/crypto/OSSLECDH.cpp | 2 +-
src/lib/crypto/OSSLECDSA.cpp | 4 ++--
src/lib/crypto/OSSLRSAPrivateKey.cpp | 2 +-
src/lib/crypto/OSSLRSAPublicKey.cpp | 2 +-
win32/Configure.py | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/m4/acx_openssl_gost.m4 b/m4/acx_openssl_gost.m4
index 2a949f2..dca489b 100644
--- a/m4/acx_openssl_gost.m4
+++ b/m4/acx_openssl_gost.m4
@@ -22,7 +22,7 @@ AC_DEFUN([ACX_OPENSSL_GOST],[
OpenSSL_add_all_algorithms();
/* Load engines */
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
ENGINE_load_builtin_engines();
#else
OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN | OPENSSL_INIT_LOAD_CONFIG, NULL);
diff --git a/src/lib/crypto/OSSLComp.cpp b/src/lib/crypto/OSSLComp.cpp
index 31333f6..ede710b 100644
--- a/src/lib/crypto/OSSLComp.cpp
+++ b/src/lib/crypto/OSSLComp.cpp
@@ -34,7 +34,7 @@
#include "OSSLComp.h"
#include <openssl/opensslv.h>
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
/*
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
diff --git a/src/lib/crypto/OSSLComp.h b/src/lib/crypto/OSSLComp.h
index 71d6c21..4bced32 100644
--- a/src/lib/crypto/OSSLComp.h
+++ b/src/lib/crypto/OSSLComp.h
@@ -36,7 +36,7 @@
#include "config.h"
#include <openssl/opensslv.h>
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#include <openssl/evp.h>
#include <openssl/hmac.h>
diff --git a/src/lib/crypto/OSSLCryptoFactory.cpp b/src/lib/crypto/OSSLCryptoFactory.cpp
index cd7f9d3..41134df 100644
--- a/src/lib/crypto/OSSLCryptoFactory.cpp
+++ b/src/lib/crypto/OSSLCryptoFactory.cpp
@@ -134,7 +134,7 @@ OSSLCryptoFactory::OSSLCryptoFactory()
#ifdef WITH_GOST
// Load engines
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
ENGINE_load_builtin_engines();
#else
OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN |
diff --git a/src/lib/crypto/OSSLDHPrivateKey.cpp b/src/lib/crypto/OSSLDHPrivateKey.cpp
index 4c1b9c3..5571a88 100644
--- a/src/lib/crypto/OSSLDHPrivateKey.cpp
+++ b/src/lib/crypto/OSSLDHPrivateKey.cpp
@@ -210,7 +210,7 @@ void OSSLDHPrivateKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLDHPublicKey.cpp b/src/lib/crypto/OSSLDHPublicKey.cpp
index 78820e1..e261726 100644
--- a/src/lib/crypto/OSSLDHPublicKey.cpp
+++ b/src/lib/crypto/OSSLDHPublicKey.cpp
@@ -151,7 +151,7 @@ void OSSLDHPublicKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLDSAPrivateKey.cpp b/src/lib/crypto/OSSLDSAPrivateKey.cpp
index 2192fad..527e041 100644
--- a/src/lib/crypto/OSSLDSAPrivateKey.cpp
+++ b/src/lib/crypto/OSSLDSAPrivateKey.cpp
@@ -227,7 +227,7 @@ void OSSLDSAPrivateKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLDSAPublicKey.cpp b/src/lib/crypto/OSSLDSAPublicKey.cpp
index 71ec3bf..38ecc79 100644
--- a/src/lib/crypto/OSSLDSAPublicKey.cpp
+++ b/src/lib/crypto/OSSLDSAPublicKey.cpp
@@ -168,7 +168,7 @@ void OSSLDSAPublicKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLECDH.cpp b/src/lib/crypto/OSSLECDH.cpp
index 9afbf38..e2abaeb 100644
--- a/src/lib/crypto/OSSLECDH.cpp
+++ b/src/lib/crypto/OSSLECDH.cpp
@@ -187,7 +187,7 @@ bool OSSLECDH::deriveKey(SymmetricKey **ppSymmetricKey, PublicKey* publicKey, Pr
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLECDSA.cpp b/src/lib/crypto/OSSLECDSA.cpp
index 80d2386..7387367 100644
--- a/src/lib/crypto/OSSLECDSA.cpp
+++ b/src/lib/crypto/OSSLECDSA.cpp
@@ -78,7 +78,7 @@ bool OSSLECDSA::sign(PrivateKey* privateKey, const ByteString& dataToSign,
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
@@ -170,7 +170,7 @@ bool OSSLECDSA::verify(PublicKey* publicKey, const ByteString& originalData,
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLRSAPrivateKey.cpp b/src/lib/crypto/OSSLRSAPrivateKey.cpp
index 94ec432..26065cf 100644
--- a/src/lib/crypto/OSSLRSAPrivateKey.cpp
+++ b/src/lib/crypto/OSSLRSAPrivateKey.cpp
@@ -289,7 +289,7 @@ void OSSLRSAPrivateKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/src/lib/crypto/OSSLRSAPublicKey.cpp b/src/lib/crypto/OSSLRSAPublicKey.cpp
index 71b1b92..2a6893b 100644
--- a/src/lib/crypto/OSSLRSAPublicKey.cpp
+++ b/src/lib/crypto/OSSLRSAPublicKey.cpp
@@ -133,7 +133,7 @@ void OSSLRSAPublicKey::createOSSLKey()
}
// Use the OpenSSL implementation and not any engine
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifdef WITH_FIPS
if (FIPS_mode())
diff --git a/win32/Configure.py b/win32/Configure.py
index 0a01e0c..2ad652d 100644
--- a/win32/Configure.py
+++ b/win32/Configure.py
@@ -789,7 +789,7 @@ int main() {\n\
ENGINE *eg;\n\
const EVP_MD* EVP_GOST_34_11;\n\
OpenSSL_add_all_algorithms();\n\
-#if OPENSSL_VERSION_NUMBER < 0x10100000L\n\
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)\n\
ENGINE_load_builtin_engines();\n\
#else\n\
OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN | OPENSSL_INIT_LOAD_CONFIG, NULL);\n\
--
2.10.2

@ -1,54 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools ltprune
DESCRIPTION="A software PKCS#11 implementation"
HOMEPAGE="http://www.opendnssec.org/"
SRC_URI="http://www.opendnssec.org/files/source/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="bindist libressl migration-tool test"
SLOT="2"
LICENSE="BSD"
RDEPEND="
sys-devel/gcc:=[cxx]
migration-tool? ( dev-db/sqlite:3 )
!libressl? ( dev-libs/openssl:=[bindist=] )
libressl? ( dev-libs/libressl )
!=dev-libs/softhsm-2.0.0:0
"
DEPEND="${RDEPEND}
virtual/pkgconfig
test? ( dev-util/cppunit )
"
PATCHES=(
"${FILESDIR}/${P}-build.patch"
"${FILESDIR}/${P}-libressl.patch"
)
DOCS=( NEWS README.md )
src_prepare() {
default
eautoreconf
}
src_configure() {
econf \
--disable-static \
--localstatedir="${EROOT}var" \
--with-crypto-backend=openssl \
--disable-p11-kit \
$(use_enable !bindist ecc) \
$(use_enable !libressl gost) \
$(use_with migration-tool migrate)
}
src_install() {
default
prune_libtool_files --modules
}

@ -4,5 +4,6 @@ DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c5
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb
DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0
DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6
DIST asdf-3.3.0.tar.gz 498451 SHA256 685bc6252feb2120c6d66aa73a0a0e4217da7bb64b9a913fbd44371a8584179b SHA512 4e8b3434d9eb504af253fa39ac759cceb7ea0c3e2c364875d7259b32a9818b051fb2a3c94c188c7f38e43825e2a18107f1732211534a8b1fbbaa77b6c7f90486 WHIRLPOOL da640ea3f99a6a2bee89ebb004fdca700bffe9f719c45233be9e26952fab0ae2b7461ad1078913e224e2fc63e3e7c9970690510e8631dab7a23f77dd3df005d2
DIST cl-asdf_1.89-1.diff.gz 395 SHA256 1ad2de4d9bb494f58e69f327d02cd86100967371c93727393b99b3b6fd20d567 SHA512 0d5ac51e69914b58497815971f1736712bd65988944fff5966f854c2dd22d1969d9237c996bfd44a6195d2765db9af07c3055c9bf126ba25059eccdbf8da20b4 WHIRLPOOL 20bc02a86d3645bedf1952ef70193f3b52250dcab5720e21940f0721e2c8be330f8452d4f77c82cc7bb105afb935c3b255e435b5d99ac40965c49621082c0f4b
DIST cl-asdf_1.89.orig.tar.gz 60134 SHA256 617853e512a0e6bdfa269811c3b9866af3878d40c7e4e8bab4ebf5374bd5a0ec SHA512 eb20877bb6acb6cab5874229290605aaef19d2501d8011473b66d0c9609d0b4d12f2951c39e4a3d2d07a3f0a7862c7e6beb6073514bb8b36189049bb96ba0e9a WHIRLPOOL 23636e9db0d351f88cec352a2c85489f41c5dc1085af75d2a3f4b460c462ff1115a0fb0408dcb21e2dc66d2ac773053c3586067aeaeca19615a2b22fcc3b384b

@ -0,0 +1,54 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils prefix common-lisp-3
DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp"
HOMEPAGE="http://common-lisp.net/project/asdf/"
SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE="doc"
SLOT="0/${PVR}"
DEPEND="!dev-lisp/cl-${PN}
!dev-lisp/asdf-binary-locations
!dev-lisp/gentoo-init
!<dev-lisp/asdf-2.33-r3
doc? ( virtual/texi2dvi )"
RDEPEND=""
PDEPEND="~dev-lisp/uiop-${PV}"
install_docs() {
(cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf )
if has_version ">=dev-lisp/sbcl-1.4.0" ; then
(cd doc ; doinfo "${PN}.info" )
fi
}
src_compile() {
emake
use doc && emake -C doc
}
src_test() {
common-lisp-export-impl-args "$(common-lisp-find-lisp-impl)"
test/run-tests.sh ${CL_BINARY}
}
src_install() {
insinto "${CLSOURCEROOT}/${PN}"
doins -r build version.lisp-expr
dodoc README.md TODO
use doc && install_docs
insinto /etc/common-lisp
cd "${T}" || die
cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die
eprefixify gentoo-init.lisp source-registry.conf
doins gentoo-init.lisp source-registry.conf
}

@ -1,4 +1,3 @@
DIST ecl-12.12.1.tgz 9006697 SHA256 54e77ce8157752eab49f8640f7d0077522d493a4d4def463af26d292e46bc297 SHA512 9ac5d61e37cf18a56b2fb572b830955ededbe72d5d9a4e32ed631cd8cb5d27804ff5c0216a41f10ac988320b0584bcc4f9b4fb23732c541ee29f422c5726b23a WHIRLPOOL 8c2b1bd61caa27442bf337ab64788806e7e20150a902fe6c6d6cc593a3350d67252f8d450e6fd1ee99456a6238891c4b383044a6e79a77fad174d5db5a668aeb
DIST ecl-13.5.1.tgz 9401163 SHA256 f91c57ce065fe9748bc8104e191e4b2dcfe854d634315fe7800dd0a613472ca2 SHA512 a09f8b824aa78e461d700eefb1a8b68b876e15d49124a397e0b5b58ad73b80f818133a7b8e48ddb83505eea2f9c5fb024de8701b527524004e336e456eb07c84 WHIRLPOOL def6de6444430e45bfff29c0716a23869e3455ba9b1cd9bfc1f02ef5c79c83df5b2280b8bada28acb1e742cdbe5c819970273386333d7c7c7c4fb48464dc6a2b
DIST ecl-15.3.7.tgz 8755180 SHA256 2dc6ffbbf1e0a7b1323d49a991ba1f005127ca3e153651d91ba9e65bdaec948f SHA512 50a28ed551e507bee526ae44a12da2524c1feedf07cf8ca99650e37ecd7b99c4e2f2758c077979b174d303ffdcd9325637b708a29d14d8c3851c7e65d4ea026c WHIRLPOOL 57b0382b0e3dc7cd601b835a371c9ec6658911b1471cb5bfeee6144d22500e8ca55268f2a001c49d446e9be1a3771ca12348f2565f68ec83f1660c4295545a06
DIST ecl-16.0.0.tgz 8009304 SHA256 343ed4c3e4906562757a6039b85ce16d33dd5e8001d74004936795983e3af033 SHA512 15e4c604901dae1037e54ab1739d45a0f5f05decf6e72ba60d8b6b53e549021e93b811b809c4a72f423a20e9f9770969910d35edd5f184757293f98f89024c3a WHIRLPOOL 1af13ce81017bdad0ad6ee235beea9cc3e79d4b09b3863911a8092fd69a8d15f9c6eb75603c62d291450001d900cc1074c8882beb4c6da011b368b2a7f8fe7b5

@ -1,78 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=4
inherit eutils multilib
MY_P=ecl-${PV}
DESCRIPTION="ECL is an embeddable Common Lisp implementation"
HOMEPAGE="http://ecls.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
LICENSE="BSD LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="debug emacs gengc precisegc threads +unicode X"
RDEPEND="dev-libs/gmp
virtual/libffi
>=dev-libs/boehm-gc-7.1[threads?]"
DEPEND="${RDEPEND}
app-text/texi2html
emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
PDEPEND="dev-lisp/gentoo-init"
S="${WORKDIR}"/${MY_P}
pkg_setup() {
if use gengc || use precisegc; then
ewarn "USE flags gengc and precisegc are experimental"
ewarn "Don't use them if you want a stable ecl"
fi
}
src_prepare() {
epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
}
src_configure() {
econf \
--with-system-gmp \
--enable-boehm=system \
--enable-longdouble \
$(use_enable gengc) \
$(use_enable precisegc) \
$(use_with debug debug-cflags) \
$(use_enable threads) \
$(use_with threads __thread) \
$(use_enable unicode) \
$(use_with X x) \
$(use_with X clx)
}
src_compile() {
if use emacs; then
local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}')
[[ -n ${ETAGS} ]] || die "No etags implementation found"
pushd build > /dev/null || die
emake ETAGS=${ETAGS} TAGS
popd > /dev/null
else
touch build/TAGS
fi
#parallel fails
emake -j1
}
src_install () {
emake DESTDIR="${D}" install
dodoc ANNOUNCEMENT Copyright
dodoc "${FILESDIR}"/README.Gentoo
pushd build/doc > /dev/null
newman ecl.man ecl.1
newman ecl-config.man ecl-config.1
popd > /dev/null
}

@ -1,17 +0,0 @@
diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
+++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
@@ -23,8 +23,13 @@
Integer and boolean types (see config.h)
*/
+#ifndef TRUE
#define TRUE 1 /* boolean true value */
+#endif
+
+#ifndef FALSE
#define FALSE 0 /* boolean false value */
+#endif
#if !defined(__cplusplus) && !defined(bool)
typedef int bool;

@ -4,3 +4,4 @@ DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c5
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb
DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0
DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6
DIST asdf-3.3.0.tar.gz 498451 SHA256 685bc6252feb2120c6d66aa73a0a0e4217da7bb64b9a913fbd44371a8584179b SHA512 4e8b3434d9eb504af253fa39ac759cceb7ea0c3e2c364875d7259b32a9818b051fb2a3c94c188c7f38e43825e2a18107f1732211534a8b1fbbaa77b6c7f90486 WHIRLPOOL da640ea3f99a6a2bee89ebb004fdca700bffe9f719c45233be9e26952fab0ae2b7461ad1078913e224e2fc63e3e7c9970690510e8631dab7a23f77dd3df005d2

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

@ -1 +1,2 @@
DIST capnp-ocaml-3.0.0.tar.gz 140985 SHA256 01b5380d4d4ec5392c91036787d93a553055ad403ff41d2cf73caff25a9098cc SHA512 5cdf678fa80e67c552f60123f1d04eb5facad81e6c29661c2234c06bbcb98312d1eba96f81f3e747fef0b4de986aff07b69aafcbfde60873ba40452a66d75075 WHIRLPOOL 2b6f04034c81dd0d01089b3ff39c681dab98a665ade944ca5d21014bb2d61b5bcaa4e4545e65d2829e9a837b44423cca580e7c6ca87a62d55c33e81caf859e3e
DIST capnp-ocaml-3.1.0.tar.gz 141189 SHA256 59b7d4a8e87c0b492e51bd53dde9571f25e8fdf328dd458fa14aff39374346d5 SHA512 d3a24800ee334d5d0506a9b9f2db10994e475b205e347ae606d4f963cd846c7ab2ed8f60505495509cf2f3444c46b8aefe0501c6803874b5659b8b6429506b77 WHIRLPOOL 9d744b18ff9a7997b9f3e230e1fc188cb971bffcf5e87616ce05e6b87c12dcf42c568ed5ec004a0dac670e9b38f8a04672edb244d8a74ca78f9cb07285c91b3e

@ -0,0 +1,36 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit opam
DESCRIPTION="OCaml code generator plugin for the Cap'n Proto serialization framework"
HOMEPAGE="https://github.com/pelzlpj/capnp-ocaml"
SRC_URI="https://github.com/pelzlpj/capnp-ocaml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="test"
RDEPEND="
dev-ml/core_kernel:=
dev-ml/ocaml-extunix:=
dev-ml/ocplib-endian:=
dev-ml/res:=
dev-ml/ocaml-uint:=
dev-libs/capnproto:=
"
DEPEND="${RDEPEND}
test? ( dev-ml/core:= dev-ml/ounit )
dev-ml/jbuilder
"
src_compile() {
emake build
}
src_install() {
opam_src_install capnp
}

@ -3,7 +3,7 @@
EAPI=5
inherit findlib
inherit findlib opam
MY_P=ocaml-dns-${PV}
@ -19,11 +19,10 @@ IUSE="test"
RDEPEND="
>=dev-lang/ocaml-4:=
dev-ml/async:=
dev-ml/ocaml-dns:=
dev-ml/dns:=
"
DEPEND="
dev-ml/jbuilder
dev-ml/opam
test? (
dev-ml/dns-lwt-unix
)
@ -41,11 +40,3 @@ src_compile() {
src_test() {
jbuilder runtest -p ${PN} || die
}
src_install() {
opam-installer -i \
--prefix="${ED}/usr" \
--libdir="${D}/$(ocamlc -where)" \
--docdir="${ED}/usr/share/doc/${PF}" \
${PN}.install || die
}

@ -3,7 +3,7 @@
EAPI=5
inherit findlib
inherit findlib opam
MY_P=ocaml-dns-${PV}
@ -19,14 +19,13 @@ IUSE="test"
RDEPEND="
>=dev-lang/ocaml-4:=
dev-ml/dns-lwt:=
dev-ml/ocaml-dns:=
dev-ml/dns:=
dev-ml/cmdliner:=
dev-ml/mirage-profile:=
dev-ml/ocaml-ipaddr:=
"
DEPEND="
dev-ml/jbuilder
dev-ml/opam
test? (
dev-ml/ounit
)
@ -44,11 +43,3 @@ src_compile() {
src_test() {
jbuilder runtest -p ${PN} || die
}
src_install() {
opam-installer -i \
--prefix="${ED}/usr" \
--libdir="${D}/$(ocamlc -where)" \
--docdir="${ED}/usr/share/doc/${PF}" \
${PN}.install || die
}

@ -3,7 +3,7 @@
EAPI=5
inherit findlib
inherit findlib opam
MY_P=ocaml-dns-${PV}
@ -19,12 +19,11 @@ IUSE="test"
RDEPEND="
>=dev-lang/ocaml-4:=
dev-ml/lwt:=
dev-ml/ocaml-dns:=
dev-ml/dns:=
dev-ml/mirage-profile:=
"
DEPEND="
dev-ml/jbuilder
dev-ml/opam
test? (
dev-ml/dns-lwt-unix
)
@ -42,11 +41,3 @@ src_compile() {
src_test() {
jbuilder runtest -p ${PN} || die
}
src_install() {
opam-installer -i \
--prefix="${ED}/usr" \
--libdir="${D}/$(ocamlc -where)" \
--docdir="${ED}/usr/share/doc/${PF}" \
${PN}.install || die
}

@ -0,0 +1 @@
DIST ocaml-dns-1.0.0.tar.gz 99161 SHA256 823410badaf2faf54ca8a59472b0ad82c4db9fe4ef92f6809061baa826851226 SHA512 199653605e985851dcaafc94f1efeba5c261c29cd5e5f8eaebc9f7d25a05c43adcf7620efb291b22f9549f7c05f8ac3f6abfbcf40e0d7762bd2f7cd623ebcb1c WHIRLPOOL e7c26857270d92be2e8e068ac29119ef5d82d52fd739b8304e84c595d6a6e7fc11c22ed98e4a6d99a20f4e9d1d6b28dbc76c333d6b464bbd1dc4d37597cfe66c

@ -3,11 +3,11 @@
EAPI=5
inherit findlib eutils
inherit findlib opam
DESCRIPTION="A pure OCaml implementation of the DNS protocol"
HOMEPAGE="https://github.com/mirage/ocaml-dns https://mirage.io"
SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ocaml-${P}.tar.gz"
LICENSE="LGPL-2 LGPL-2.1-with-linking-exception ISC"
SLOT="0/${PV}"
@ -15,7 +15,6 @@ KEYWORDS="~amd64"
IUSE=""
RDEPEND="
>=dev-lang/ocaml-4:=
>=dev-ml/ocaml-base64-2.0.0:=
>=dev-ml/ocaml-cstruct-3.0.2:=[ppx]
dev-ml/ocaml-hashcons:=
@ -27,13 +26,14 @@ RDEPEND="
"
DEPEND="
dev-ml/jbuilder
dev-ml/opam
${RDEPEND}
"
# Do not work
RESTRICT="test"
S="${WORKDIR}/ocaml-${P}"
src_compile() {
jbuilder build @install -p dns || die
}
@ -41,11 +41,3 @@ src_compile() {
src_test() {
jbuilder runtest -p dns || die
}
src_install() {
opam-installer -i \
--prefix="${ED}/usr" \
--libdir="${D}/$(ocamlc -where)" \
--docdir="${ED}/usr/share/doc/${PF}" \
dns.install || die
}

@ -5,10 +5,6 @@
<email>ml@gentoo.org</email>
<name>Gentoo ML Project</name>
</maintainer>
<use>
<flag name="async">support for asynchronous execution</flag>
<flag name="lwt">enable threads via lwt</flag>
</use>
<upstream>
<remote-id type="github">mirage/ocaml-dns</remote-id>
</upstream>

@ -1,2 +1 @@
DIST ocaml-conduit-0.15.3.tar.gz 38921 SHA256 6760c9fed6b1c5360d74b4cd6fafbd78e1736c08d3024ed9ecb79b29ad3456db SHA512 0666ed22a93351dc8381de3eaafcf019336f9d62e6b7ed7c0bcd7e202ecfb54ede8ed999023a0ed712da6406cee872965b22c77982ed65897b2e0abfadd0a07c WHIRLPOOL e754553c08fe31be337b8f1aaf504a5319af66aea9f897b411a6ca4d8efd4a5c1ac9488cbe7ca091f7c87ce4171e3725f701a9f8359d04dfd6c6cca350a1a611
DIST ocaml-conduit-0.15.4.tar.gz 38960 SHA256 5c18e1cd034b4f8e0f229426051a16100d30d07c83d7969e3331e0d7dec3b2d7 SHA512 12f61828c943cb60b2c9be080fb32c8fe5ba16d8bac46a8b788f2ea9b8b7a3a53563defbb05271d516365d18cddafe57051125391ac018328608c4f6537ec5b0 WHIRLPOOL 6d82618a68acdee4bb93b18c9a379ecad96ba8d88ebfe600465a7f57ea84b1dfd5cfd7e0f6dcde5f5c76c9395e3e528a9d457d54173a911079daab3ec1064253

@ -1,45 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit findlib eutils
DESCRIPTION="Dereference URIs into communication channels for Async or Lwt"
HOMEPAGE="https://github.com/mirage/ocaml-conduit"
SRC_URI="https://github.com/mirage/ocaml-conduit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE=""
DEPEND="
dev-lang/ocaml:=
dev-ml/sexplib:=
dev-ml/stringext:=
dev-ml/ocaml-uri:=
dev-ml/logs:=
dev-ml/ocaml-cstruct:=
dev-ml/ocaml-ipaddr:=
>=dev-ml/lwt-3:=
dev-ml/async:=
dev-ml/ocaml-dns:=
dev-ml/ocaml-ssl:=
"
RDEPEND="${DEPEND}"
DEPEND="${DEPEND}
dev-ml/findlib
dev-ml/ocamlbuild
dev-ml/ppx_driver
dev-ml/ppx_optcomp
dev-ml/ppx_sexp_conv
"
DOCS=( TODO.md README.md CHANGES )
src_install() {
findlib_src_preinst
default
}

@ -26,7 +26,7 @@ DEPEND="
>=dev-ml/lwt-3:=
dev-ml/lwt_ssl:=
dev-ml/async:=
dev-ml/ocaml-dns:=
dev-ml/dns:=
dev-ml/ocaml-ssl:=
"
RDEPEND="${DEPEND}"

@ -1,6 +1,4 @@
DIST ocaml-ctypes-0.11.2.tar.gz 203564 SHA256 708e2c5501ba00b3ed6726a7da1c2b58f607859e8e1cc0381eefd222510488d6 SHA512 f3d75e9e596f68438733090fea8c675624c3b186a77c3adf1eca8f12cc2da336f0f5b1688c2ee788726e873bbb0c4dce1d237d53d1637d78e4ad6a8eae1f912a WHIRLPOOL cbf74628695e01dfe2e379a7c645313e36eaae98f733cda231a290960e52241c96bcc2fb8491daa28b964cf06c0d43a41282767a2d9fa1a4a6f395736eb08864
DIST ocaml-ctypes-0.11.3.tar.gz 204959 SHA256 683b0215dca7bba797404869a80564cd4901a0a3f3c14bd65be7656c40b2329d SHA512 e7698954a6b683869a1482af8fe1bbeb5ccf693c2bb8583e2c19c5da92ed2730466e373c6f53d9ff9f09c2bdedf102da3f76b75511d7f9b7d266ac0765999f94 WHIRLPOOL ddeb6cf4b2b4c611bfe26f94974eaaa69415164825c5744d59b5afe388230cedad4d4c12b7d3753da31899af01f10c642f3478f9cc4270d49e70057023f61450
DIST ocaml-ctypes-0.11.4.tar.gz 205055 SHA256 519812a3d3cf98983acb20d8f8ace7914c7ff2f20fa03402ae8295a66a5c32f7 SHA512 3bd9aa6c12117e097476437e8df544095fa6243b7fdc1fcc07db3a0bf17189ea5eb9436fad49be29bbc4acdf43e3ceba2a026cf3d4958335cb1698264a27d856 WHIRLPOOL 3c200918181f1b8f50c7a611543315024a428878673e923ff7d9bc05344e9a584878630c5fd3cc64d016b036c5f60253af6e31f377e04b92aca42ecdd2116615
DIST ocaml-ctypes-0.12.0.tar.gz 199557 SHA256 a4f78e9b3ed71f3cba0ccdcfa0690f423dedee6132611cd4be0534b43c980ca3 SHA512 f2491f068da969d8d047733ca56d7b967a4f4de038bc24c6539b90fbfe29864d94e92f02518fb419facf8223797a27e87cde88042f22dc55bc6bef3a216760de WHIRLPOOL 80326044c7feaaa1e4d370ac3c1e085905ca8d3d9f2a2cc42f6aa7c3a6dff94a1aa3193a862cad185379d115f9cc7bf7913ff8760e3f86a24fa3732cc6fcd0a2
DIST ocaml-ctypes-0.12.1.tar.gz 199686 SHA256 127298c14af89625ebd300c08420e8629df98ebcff016fe6c1d0d106a0542810 SHA512 801c66395d843c9e410736a06ab5e03bbe22851a364dc9b9444f49dc133e0f5e0b7a1c31e88de56d23a21817cb35595a1b6743c430c8c1a689b7ae12adc8856f WHIRLPOOL 6179ea58bd7f5f03ff04806fd49c21637ad903cbfb0b16c3a255e6a9f2b9d32f2f97e15f86cec2692f84464121f496fc674d0f1e10ba80796e232d59c49a0a33
DIST ocaml-ctypes-0.4.1.tar.gz 162601 SHA256 74564e049de5d3c0e76ea284c225cb658ac1a2b483345be1efb9be4b3c1702f5 SHA512 8155ffe16a58d5714ceb602afa5531c93526defca39a16047328ac06d2c7c7f52b768b18170391f467e1f6919c69275734faf85d27315e11b8bbefcb1bc8afa9 WHIRLPOOL d8d0ef24e0b6c40f50fddf38fed7238cf95573909d2809cc2ab5c1b9b3dab333210e1ce99cf805804576a79d08d819e2ecdee7b4a6a9e13efb13e7b9f88ad802
DIST ocaml-ctypes-0.13.0.tar.gz 200959 SHA256 81f61e13b789b57b8055d4a22f0e41ae1309e0b9da86b0472bdb7bed0537f4f7 SHA512 ba2e4cd77d42cf032d823e26f94a8cc37d81ac12bafd40c5d61685d66c97e18996a286dd8d486c94ad4a34e4214e55104e6283158962871e7f0722b2144f7a7d WHIRLPOOL 6c3e1a039b3f0f77149ff00c6bc7e3cdcc8c07c8f9bc17435687f68d9bd4f830b53d786b240117d6b8d10f53bfa69229481590dda22aaff7647282e510bb31c3

@ -1,35 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit findlib
DESCRIPTION="Library for binding to C libraries using pure OCaml"
HOMEPAGE="https://github.com/ocamllabs/ocaml-ctypes"
SRC_URI="https://github.com/ocamllabs/ocaml-ctypes/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm"
IUSE="test"
RDEPEND="
>=dev-lang/ocaml-4.02:=[ocamlopt]
virtual/libffi
"
DEPEND="${RDEPEND}
test? ( dev-ml/ounit dev-ml/lwt )"
src_compile() {
emake -j1
}
src_test() {
emake -j1 test
}
src_install() {
findlib_src_install
dodoc CHANGES.md README.md
}

@ -1,35 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit findlib
DESCRIPTION="Library for binding to C libraries using pure OCaml"
HOMEPAGE="https://github.com/ocamllabs/ocaml-ctypes"
SRC_URI="https://github.com/ocamllabs/ocaml-ctypes/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm"
IUSE="test"
RDEPEND="
>=dev-lang/ocaml-4.02:=[ocamlopt]
virtual/libffi
"
DEPEND="${RDEPEND}
test? ( dev-ml/ounit dev-ml/lwt )"
src_compile() {
emake -j1
}
src_test() {
emake -j1 test
}
src_install() {
findlib_src_install
dodoc CHANGES.md README.md
}

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

Loading…
Cancel
Save