Sync with portage [Sat Sep 2 20:43:01 MSK 2017].

mhiretskiy 962
root 7 years ago
parent 5c68395ff7
commit f5de7a9b93

@ -11,7 +11,7 @@ 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"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="static-libs test"
RDEPEND="

@ -35,7 +35,7 @@ DEPEND="${PYTHON_DEPS}
>=dev-libs/boost-1.55:=[${PYTHON_USEDEP}]
sys-apps/dbus
sys-apps/dmidecode
sys-auth/polkit-qt[qt5]
sys-auth/polkit-qt[qt5(+)]
>=sys-libs/kpmcore-3.0.3:5=
pythonqt? ( >=dev-python/PythonQt-3.1:=[${PYTHON_USEDEP}] )
"

@ -1,31 +1,20 @@
#!/sbin/openrc-run
# Copyright 2015-2016 Gentoo Foundation
# Copyright 2015-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="consul-template agent"
group=${group:-${SVCNAME}}
pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
user=${user:-${SVCNAME}}
user=${user:-${RC_SVCNAME}}
group=${group:-${RC_SVCNAME}}
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
command="/usr/bin/${SVCNAME}"
command_args="agent -config-dir=/etc/consul-template.d ${command_args}"
command="/usr/bin/${RC_SVCNAME}"
command_args="-config=/etc/consul-template.d ${command_args}"
command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
--stdout /var/log/${SVCNAME}/${SVCNAME}.log \
--stderr /var/log/${SVCNAME}/${SVCNAME}.log"
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
stopsig="SIGINT"
depend() {
need net
after net
}
start_pre() {
checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}
stop() {
# SIGINT is required for graceful shutdown of consul-template
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --signal SIGINT --pidfile "${pidfile}"
eend $?
}

@ -1,40 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit toolchain-funcs user
MY_P="logsurfer-${PV}"
DESCRIPTION="Real Time Log Monitoring and Alerting"
HOMEPAGE="http://www.crypt.gen.nz/logsurfer/"
SRC_URI="http://kerryt.orcon.net.nz/${MY_P}.tar.gz
http://www.crypt.gen.nz/logsurfer/${MY_P}.tar.gz"
LICENSE="freedist GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="bindist" #444330
S="${WORKDIR}/${MY_P}"
src_configure() {
econf --with-etcdir=/etc
}
src_compile() {
emake CC="$(tc-getCC)"
}
src_install() {
dobin src/logsurfer
doman man/logsurfer.1 man/logsurfer.conf.4
newinitd "${FILESDIR}"/logsurfer-1.8.initd logsurfer
newconfd "${FILESDIR}"/logsurfer.confd logsurfer
dodoc ChangeLog README TODO
}
pkg_postinst() {
enewuser logsurfer -1 -1 -1 daemon
}

@ -12,7 +12,7 @@ SRC_URI="http://kerryt.orcon.net.nz/${MY_P}.tar.gz
LICENSE="freedist GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="bindist" #444330

@ -0,0 +1,194 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby21 ruby22 ruby23"
#RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit xemacs-elisp-common eutils user ruby-fakegem versionator
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="http://puppetlabs.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~x86"
IUSE="augeas diff doc emacs experimental ldap rrdtool selinux shadow sqlite vim-syntax xemacs"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
>=dev-ruby/rgen-0.6.5
dev-ruby/json:=
>=dev-ruby/facter-3.0.0
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl"
# ruby_add_bdepend "
# test? (
# dev-ruby/mocha:0.14
# =dev-ruby/rack-1*
# dev-ruby/rspec-its
# dev-ruby/rspec-collection_matchers
# >=dev-ruby/vcr-2.9:2
# >=dev-ruby/webmock-1.24:0
# )"
DEPEND+=" ${DEPEND}
xemacs? ( app-editors/xemacs )"
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
SITEFILE="50${PN}-mode-gentoo.el"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/lib/puppet puppet
}
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# can't be run within portage.
epatch "${FILESDIR}/puppet-fix-tests-4.7.0.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
if use experimental; then
epatch "${FILESDIR}/43e2c935252b995134ce353e5e6312cf77aea480.patch"
fi
# Use working version of mocha
sed -i -e '1igem "mocha", "~>0.14.0"; gem "rack", "~>1.0"' spec/spec_helper.rb || die
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing specs that need further investigation.
sed -i -e '/should resolve external facts/,/^ end/ s:^:#:' \
spec/integration/indirector/facts/facter_spec.rb || die
sed -i -e "/describe 'cfacter'/,/^ end/ s:^:#:" spec/unit/defaults_spec.rb || die
rm -f spec/unit/indirector/ldap_spec.rb \
spec/unit/parser/functions/create_resources_spec.rb || die
# Avoid specs that rely on tools from other OSs
rm -f spec/unit/provider/package/{dnf,tdnf,yum}_spec.rb \
spec/unit/provider/user/directoryservice_spec.rb || die
# Avoid specs that depend on hiera-eyaml to avoid circular
# dependencies
rm -f spec/unit/functions/lookup_spec.rb || die
# Avoid specs that fail due to an unpackaged file
sed -i -e '/when loading pp resource types using auto loading/,/^ end/ s:^:#:' spec/unit/pops/loaders/loaders_spec.rb || die
}
all_ruby_compile() {
if use xemacs ; then
# Create a separate version for xemacs to be able to install
# emacs and xemacs in parallel.
mkdir ext/xemacs
cp ext/emacs/* ext/xemacs/
xemacs-elisp-compile ext/xemacs/puppet-mode.el
fi
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
if use xemacs ; then
xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el*
xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
local v
for v in ${REPLACING_VERSIONS}; do
if [ "$(get_major_version $v)" = "3" ]; then
elog
elog "If you're upgrading from 3.x then please move everything in /etc/puppet to"
elog "/etc/puppetlabs/puppet"
elog "Also, puppet now uses config directories for modules and manifests."
elog "See https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_agent.html"
elog "and https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_server.html"
elog "for more information."
elog
fi
done
use xemacs && xemacs-elisp-site-regen
}
pkg_postrm() {
use xemacs && xemacs-elisp-site-regen
}

@ -0,0 +1,144 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby22 ruby23 ruby24"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils user ruby-fakegem versionator
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="http://puppetlabs.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
>=dev-ruby/facter-3.0.0
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/lib/puppet puppet
}
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# can't be run within portage.
epatch "${FILESDIR}/puppet-fix-tests-4.7.0.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
for v in ${REPLACING_VERSIONS}; do
if [ "$(get_major_version $v)" = "4" ]; then
elog
elog "Please see the following url for the release notes for puppet-5"
elog "https://docs.puppet.com/puppet/5.0/release_notes.html#if-youre-upgrading-from-puppet-4x"
elog
fi
done
}

@ -1,6 +1,3 @@
DIST github.com-mitchellh-gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz 15772 SHA256 826666828f1ec3e535268fa95d983362c6c773e9a87aa94613e7a47805d22e38 SHA512 d4b2d5d9666285584697bc0d6ddc2f1a1e3f23741650e831adb42baffbb5f72fc3d5ae8a8fb6719faf1df75d3da334941b0404387f0c213aabdb5c3d5634c55d WHIRLPOOL 89d52013bfb563a11a4042760470ac317398c3f8a61b9e7734c3ac2737d916126ad10a113948eb5a8362de3d77e598e42f4a0510760ae67465bde08658947f7a
DIST github.com-mitchellh-iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz 1785 SHA256 71c117246bb1d4d78ad5c3bc5d301942bcebaae5b1e35da1ad7851ceac71a675 SHA512 2efc0e3cbca496240e3e24550fd0d2aab742eb9b227230ff1ed4ee47344b994642b028bd4644cd45cd697f5f5ef6a729aad65537b10c6555bd52d9ca4b9c717c WHIRLPOOL 15dfd50bfc992a7b6a1b5d672d5bf9bfcb71a357eae371eac773e7fe9ad4ec8d4d0578e0dc6b12bb14689d1497129616b0eb300bbcb483a6865ac315bced562a
DIST gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz 15772 SHA256 826666828f1ec3e535268fa95d983362c6c773e9a87aa94613e7a47805d22e38 SHA512 d4b2d5d9666285584697bc0d6ddc2f1a1e3f23741650e831adb42baffbb5f72fc3d5ae8a8fb6719faf1df75d3da334941b0404387f0c213aabdb5c3d5634c55d WHIRLPOOL 89d52013bfb563a11a4042760470ac317398c3f8a61b9e7734c3ac2737d916126ad10a113948eb5a8362de3d77e598e42f4a0510760ae67465bde08658947f7a
DIST iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz 1785 SHA256 71c117246bb1d4d78ad5c3bc5d301942bcebaae5b1e35da1ad7851ceac71a675 SHA512 2efc0e3cbca496240e3e24550fd0d2aab742eb9b227230ff1ed4ee47344b994642b028bd4644cd45cd697f5f5ef6a729aad65537b10c6555bd52d9ca4b9c717c WHIRLPOOL 15dfd50bfc992a7b6a1b5d672d5bf9bfcb71a357eae371eac773e7fe9ad4ec8d4d0578e0dc6b12bb14689d1497129616b0eb300bbcb483a6865ac315bced562a
DIST serf-0.8.0.tar.gz 1439191 SHA256 f56e8da3e6cf748c20ae629aacfd652a04adfacfd0ee0af6560c33933d93547a SHA512 2e074ee8d002e6c7803f23d50d42800cf660ee22c968be8adf4f5e4cefde6dd39bf601c9bd91544d5f45d639ed0eec82c31a0fd1b903e8a0223f2cdd967bbf36 WHIRLPOOL 09b5e5471c14e11bbeb214a64ec57720cd31779c9d331bba2eea31cac9859cdff12d925923514272101449f7d62b671e685f768af1cf2f2497ad1a7a36402570
DIST serf-0.8.1.tar.gz 1445011 SHA256 266d38c08d7459d38ba901d7cdaf36122a3cb77049fa537f5ab17fac1747d094 SHA512 81a4bc2e1659324980fd59464af021ad5ec80431dc1b49b875bb0c97c8f92766dfee9b204bd8c9ab4e175a281bc23815f5e3008ecfb2848c7354c33603bb5514 WHIRLPOOL 1d7a39b84b939b73dda817df3f9b98c044a93e20561ed7cb573ee68afc2742a3f7aea9cfc837b6b25cd1abdf390bc84c2460b97b27c2a0090f13f9a73b5a7779

@ -5,7 +5,7 @@
description="serf agent"
extra_started_commands="reload"
group=${group:-${RC_SVCNAME}}
pidfile=${pidfile:-"/run/${RC_SVCNAME}/${RC_SVCNAME}.pid"}
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
user=${user:-${RC_SVCNAME}}
command="/usr/bin/${RC_SVCNAME}"
@ -14,10 +14,10 @@ command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
stopsig="SIGINT"
depend() {
need net
after net
}
reload() {
@ -25,14 +25,3 @@ reload() {
${command} reload
eend $?
}
start_pre() {
checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}
stop() {
# SIGINT is required for graceful shutdown of serf agent
ebegin "Stopping ${RC_SVCNAME}"
start-stop-daemon --stop --signal SIGINT --pidfile "${pidfile}"
eend $?
}

@ -1,105 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit systemd user
KEYWORDS="~amd64"
EGO_PN="github.com/hashicorp/serf"
DESCRIPTION="Service orchestration and management tool"
HOMEPAGE="https://www.serfdom.io/"
SRC_URI="https://github.com/hashicorp/serf/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/mitchellh/gox/archive/c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz -> gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz
https://github.com/mitchellh/iochan/archive/87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz -> iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz
"
SLOT="0"
LICENSE="MPL-2.0"
IUSE=""
RESTRICT="test"
DEPEND="
>=dev-lang/go-1.6:=
>=dev-go/go-tools-0_pre20160121"
RDEPEND=""
pkg_setup() {
enewgroup serf
enewuser serf -1 -1 /var/lib/${PN} serf
}
get_archive_go_package() {
local archive=${1} uri x
for x in ${SRC_URI}; do
if [[ ${x} == http* ]]; then
uri=${x}
elif [[ ${x} == ${archive} ]]; then
break
fi
done
uri=${uri#https://}
echo ${uri%/archive/*}
}
unpack_go_packages() {
local go_package x
# Unpack packages to appropriate locations for GOPATH
for x in ${A}; do
unpack ${x}
if [[ ${x} == *.tar.gz ]]; then
go_package=$(get_archive_go_package ${x})
mkdir -p src/${go_package%/*}
mv ${go_package##*/}-* src/${go_package} || die
fi
done
}
src_unpack() {
mkdir "${S}" || die
cd "${S}" || die
unpack_go_packages
}
src_prepare() {
eapply_user
# Avoid the need to have a git checkout
sed -e 's:^GIT.*::' \
-e 's:-X main.GitCommit.*:" \\:' \
-i "${S}/src/${EGO_PN}/scripts/build.sh" || die
# go install golang.org/x/tools/cmd/stringer: mkdir /usr/lib/go-gentoo/bin/: permission denied
sed -e 's:go get -u -v $(GOTOOLS)::' \
-e 's:^GIT.*::' \
-i "${S}/src/${EGO_PN}/GNUmakefile" || die
}
src_compile() {
export GOPATH="${S}"
go install -v -work -x ${EGO_BUILD_FLAGS} "github.com/mitchellh/gox/..." || die
# The dev target sets causes build.sh to set appropriate XC_OS
# and XC_ARCH, and skips generation of an unused zip file,
# avoiding a dependency on app-arch/zip.
PATH=${PATH}:${S}/bin \
emake -C "${S}/src/${EGO_PN}" dev
}
src_install() {
local x
dobin "${S}/bin/${PN}"
keepdir /etc/serf.d
insinto /etc/serf.d
for x in /var/{lib,log}/${PN}; do
keepdir "${x}"
fowners serf:serf "${x}"
done
newinitd "${FILESDIR}/serf.initd" "${PN}"
newconfd "${FILESDIR}/serf.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/serf.service"
}

@ -1,46 +0,0 @@
--- tmpreaper.c.orig 2006-12-05 10:55:58.000000000 -0800
+++ tmpreaper.c 2006-12-05 10:56:46.000000000 -0800
@@ -467,6 +467,21 @@
continue;
}
+ if (FLAGS_PROTECT_P (flags)) {
+ skip = i = 0;
+ do {
+ if (sb.st_ino == protect_table[i].inode) {
+ message (LOG_VERBOSE,
+ "Entry matching `--protect' pattern skipped. `%s'\n",
+ protect_table[i].name);
+ skip = 1;
+ break;
+ }
+ } while (protect_table[i++].name);
+ if (skip)
+ continue;
+ }
+
if (S_ISDIR (sb.st_mode)) {
char *dst;
@@ -489,21 +504,6 @@
(u_int) getpid(), ent->d_name);
}
- if (FLAGS_PROTECT_P (flags)) {
- skip = i = 0;
- do {
- if (sb.st_ino == protect_table[i].inode) {
- message (LOG_VERBOSE,
- "Entry matching `--protect' pattern skipped. `%s'\n",
- protect_table[i].name);
- skip = 1;
- break;
- }
- } while (protect_table[i++].name);
- if (skip)
- continue;
- }
-
/* Decide whether to remove the file or not */
/* check for mtime on directory instead of atime if requested */
if ( FLAGS_MTIME_P(flags) ||

@ -1,5 +1 @@
DIST gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz 15772 SHA256 826666828f1ec3e535268fa95d983362c6c773e9a87aa94613e7a47805d22e38 SHA512 d4b2d5d9666285584697bc0d6ddc2f1a1e3f23741650e831adb42baffbb5f72fc3d5ae8a8fb6719faf1df75d3da334941b0404387f0c213aabdb5c3d5634c55d WHIRLPOOL 89d52013bfb563a11a4042760470ac317398c3f8a61b9e7734c3ac2737d916126ad10a113948eb5a8362de3d77e598e42f4a0510760ae67465bde08658947f7a
DIST iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz 1785 SHA256 71c117246bb1d4d78ad5c3bc5d301942bcebaae5b1e35da1ad7851ceac71a675 SHA512 2efc0e3cbca496240e3e24550fd0d2aab742eb9b227230ff1ed4ee47344b994642b028bd4644cd45cd697f5f5ef6a729aad65537b10c6555bd52d9ca4b9c717c WHIRLPOOL 15dfd50bfc992a7b6a1b5d672d5bf9bfcb71a357eae371eac773e7fe9ad4ec8d4d0578e0dc6b12bb14689d1497129616b0eb300bbcb483a6865ac315bced562a
DIST vault-0.6.5.tar.gz 5628341 SHA256 ef4c2fffbc80e126e027e76b30e37351fcaf0baf1178e1fba0e8912276441c00 SHA512 3a135281a2135aae45e9a659b0492d37069b080f42956f8a1fdbf842a8a1e54b474b7c5b48c0e6170b206fdb52da7a718a9702d5a14d3aa99f8e560839268374 WHIRLPOOL 9b2b564cefd1a1bd2858b3b34937314437f6b5dc5fd183f4be58d0517b75465064a860054102a286fd29ae5bb1cb2ba7b0c8b7ff7d52c911905c0ccedc053fd8
DIST vault-0.7.2.tar.gz 6547973 SHA256 8f0f4e2c8e8877abe5b21d8886a740484e7a921748d4a6092c5d754fbab31030 SHA512 3a811f1a3f7c318bf645bf93c66c15c6a9d06718806ca5dd7a5ff95eeafef6dc6e58bcb829373716172cf2fe863240d1f4fdd34f8dcc1d31a2e36f6917e533ba WHIRLPOOL 9bcc998eb7ece4064bb598be41630232e06fb3c04a7a339efc79572739591772fb8352520f731448efe1aea0d67332cec06e312a81e9a805e75fd2e8106adc88
DIST vault-0.7.3.tar.gz 6694636 SHA256 98409ae9c0e081e613a0e2288d2b5653582bb8bf57cb775cbff782d061a25708 SHA512 8632b4b721372cb0f5f684564ebe0749b7c1a9b5d0322b083773b3a2fd1734fb2eedee1aeb4b4c9431ce7f44c711ac0a95960c581165e1bac1a3754f8658e783 WHIRLPOOL d8eae9b3ed5d24a8b30dfec90360d2e5e4c94663b1bb168156b03724d6a2ff5dae1345474a02b67b1cde427419c07cc8a12bcbbe9b3db463a6c4f2a503832041

@ -3,22 +3,17 @@
# Distributed under the terms of the GNU General Public License v2
description="vault server"
group=${group:-${SVCNAME}}
pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
user=${user:-${SVCNAME}}
group=${group:-${RC_SVCNAME}}
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
user=${user:-${RC_SVCNAME}}
command="/usr/bin/${SVCNAME}"
command="/usr/bin/${RC_SVCNAME}"
command_args="server ${command_args}"
command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
--stdout /var/log/${SVCNAME}/${SVCNAME}.log \
--stderr /var/log/${SVCNAME}/${SVCNAME}.log"
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
depend() {
need net
after net
}
start_pre() {
checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}

@ -1,98 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit fcaps golang-base systemd user
EGO_PN="github.com/hashicorp/${PN}/..."
DESCRIPTION="A tool for managing secrets"
HOMEPAGE="https://vaultproject.io/"
SRC_URI="https://${EGO_PN%/*}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/mitchellh/gox/archive/c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz -> gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz
https://github.com/mitchellh/iochan/archive/87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz -> iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz
"
SLOT="0"
LICENSE="MPL-2.0"
KEYWORDS="~amd64"
IUSE=""
RESTRICT="test"
DEPEND=">=dev-lang/go-1.7:="
RDEPEND=""
FILECAPS=(
-m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
)
get_archive_go_package() {
local archive=${1} uri x
for x in ${SRC_URI}; do
if [[ ${x} == http* ]]; then
uri=${x}
elif [[ ${x} == ${archive} ]]; then
break
fi
done
uri=${uri#https://}
echo ${uri%/archive/*}
}
unpack_go_packages() {
local go_package x
# Unpack packages to appropriate locations for GOPATH
for x in ${A}; do
unpack ${x}
if [[ ${x} == *.tar.gz ]]; then
go_package=$(get_archive_go_package ${x})
mkdir -p src/${go_package%/*}
mv ${go_package##*/}-* src/${go_package} || die
fi
done
}
src_unpack() {
mkdir "${S}" && cd "${S}" || die
unpack_go_packages
}
src_prepare() {
eapply_user
# Avoid the need to have a git checkout
sed -e 's:^GIT.*::' -i src/${EGO_PN%/*}/scripts/build.sh || die
}
pkg_setup() {
enewgroup ${PN}
enewuser ${PN} -1 -1 -1 ${PN}
}
src_compile() {
export GOPATH=${S}
go install -v -work -x ${EGO_BUILD_FLAGS} "github.com/mitchellh/gox/..." || die
cd "${S}"/src/${EGO_PN%/*} || die
PATH=${PATH}:${S}/bin \
XC_ARCH=$(go env GOARCH) \
XC_OS=$(go env GOOS) \
XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
emake
}
src_install() {
dodoc "${S}"/src/${EGO_PN%/*}/{CHANGELOG.md,CONTRIBUTING.md,README.md}
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/${PN}.service"
keepdir /etc/${PN}.d
insinto /etc/${PN}.d
doins "${FILESDIR}/"*.json.example
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
dobin "${S}/bin/${PN}"
}

@ -1,101 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit fcaps golang-base systemd user
EGO_PN="github.com/hashicorp/${PN}/..."
DESCRIPTION="A tool for managing secrets"
HOMEPAGE="https://vaultproject.io/"
SRC_URI="https://${EGO_PN%/*}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/mitchellh/gox/archive/c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz -> gox-c9740af9c6574448fd48eb30a71f964014c7a837.tar.gz
https://github.com/mitchellh/iochan/archive/87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz -> iochan-87b45ffd0e9581375c491fef3d32130bb15c5bd7.tar.gz
"
SLOT="0"
LICENSE="MPL-2.0"
KEYWORDS="~amd64"
IUSE=""
RESTRICT="test"
DEPEND=">=dev-lang/go-1.7:="
RDEPEND=""
FILECAPS=(
-m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
)
get_archive_go_package() {
local archive=${1} uri x
for x in ${SRC_URI}; do
if [[ ${x} == http* ]]; then
uri=${x}
elif [[ ${x} == ${archive} ]]; then
break
fi
done
uri=${uri#https://}
echo ${uri%/archive/*}
}
unpack_go_packages() {
local go_package x
# Unpack packages to appropriate locations for GOPATH
for x in ${A}; do
unpack ${x}
if [[ ${x} == *.tar.gz ]]; then
go_package=$(get_archive_go_package ${x})
mkdir -p src/${go_package%/*}
mv ${go_package##*/}-* src/${go_package} || die
fi
done
}
src_unpack() {
mkdir "${S}" && cd "${S}" || die
unpack_go_packages
}
src_prepare() {
eapply_user
# Avoid the need to have a git checkout
sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
-e 's:^\(GIT_DIRTY=\).*:\1:' \
-e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
-i src/${EGO_PN%/*}/scripts/build.sh || die
}
pkg_setup() {
enewgroup ${PN}
enewuser ${PN} -1 -1 -1 ${PN}
}
src_compile() {
export GOPATH=${S}
go install -v -work -x ${EGO_BUILD_FLAGS} "github.com/mitchellh/gox/..." || die
cd "${S}"/src/${EGO_PN%/*} || die
PATH=${PATH}:${S}/bin \
XC_ARCH=$(go env GOARCH) \
XC_OS=$(go env GOOS) \
XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
emake
}
src_install() {
dodoc "${S}"/src/${EGO_PN%/*}/{CHANGELOG.md,CONTRIBUTING.md,README.md}
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/${PN}.service"
keepdir /etc/${PN}.d
insinto /etc/${PN}.d
doins "${FILESDIR}/"*.json.example
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
dobin "${S}/bin/${PN}"
}

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# uses webapp.eclass to create directories with right permissions
@ -41,7 +41,7 @@ pkg_setup() {
# USE=nls has no real meaning if LINGUAS isn't set
if use nls && [[ -z "${LINGUAS}" ]]; then
ewarn "you must set LINGUAS in /etc/make.conf"
ewarn "you must set LINGUAS in /etc/portage/make.conf"
ewarn "if you want to USE=nls"
die "please either set LINGUAS or do not use nls"
fi
@ -114,7 +114,7 @@ pkg_postinst() {
ewarn "Due to the limitations of this package, it was built"
ewarn "only with ${LINGUAS:0:2} support. If this is not what"
ewarn "you intended, please place the language you desire"
ewarn "_first_ in the list of LINGUAS in /etc/make.conf"
ewarn "_first_ in the list of LINGUAS in /etc/portage/make.conf"
ewarn
fi

@ -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
# uses webapp.eclass to create directories with right permissions
@ -46,7 +46,7 @@ pkg_setup() {
# USE=nls has no real meaning if LINGUAS isn't set
if use nls && [[ -z "${LINGUAS}" ]]; then
ewarn "you must set LINGUAS in /etc/make.conf"
ewarn "you must set LINGUAS in /etc/portage/make.conf"
ewarn "if you want to USE=nls"
die "please either set LINGUAS or do not use nls"
fi
@ -119,7 +119,7 @@ pkg_postinst() {
ewarn "Due to the limitations of this package, it was built"
ewarn "only with ${LINGUAS:0:2} support. If this is not what"
ewarn "you intended, please place the language you desire"
ewarn "_first_ in the list of LINGUAS in /etc/make.conf"
ewarn "_first_ in the list of LINGUAS in /etc/portage/make.conf"
ewarn
fi

@ -1,34 +0,0 @@
--- pigz-2.3.3/Makefile
+++ pigz-2.3.3/Makefile
@@ -1,11 +1,11 @@
CC=cc
CFLAGS=-O3 -Wall -Wextra
-LDFLAGS=-lz
+LIBS=-lm -lz
ZOPFLI=zopfli/src/zopfli/
# use gcc and gmake on Solaris
pigz: pigz.o yarn.o try.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o
- $(CC) $(LDFLAGS) -o pigz $^ -lpthread -lm
+ $(CC) $(LDFLAGS) -o pigz $^ -lpthread $(LIBS)
ln -f pigz unpigz
pigz.o: pigz.c yarn.h try.h ${ZOPFLI}deflate.h ${ZOPFLI}util.h
@@ -35,7 +35,7 @@
dev: pigz pigzt pigzn
pigzt: pigzt.o yarnt.o try.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o
- $(CC) $(LDFLAGS) -o pigzt $^ -lpthread -lm
+ $(CC) $(LDFLAGS) -o pigzt $^ -lpthread $(LIBS)
pigzt.o: pigz.c yarn.h try.h
$(CC) $(CFLAGS) -DDEBUG -g -c -o pigzt.o pigz.c
@@ -44,7 +44,7 @@
$(CC) $(CFLAGS) -DDEBUG -g -c -o yarnt.o yarn.c
pigzn: pigzn.o tryn.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o
- $(CC) $(LDFLAGS) -o pigzn $^ -lm
+ $(CC) $(LDFLAGS) -o pigzn $^ $(LIBS)
pigzn.o: pigz.c try.h
$(CC) $(CFLAGS) -DDEBUG -DNOTHREAD -g -c -o pigzn.o pigz.c

@ -106,7 +106,7 @@ pkg_postinst() {
# ewarn "Further info available at http://alumnes.eps.udl.es/%7Ed4372211/index.en.html"
# fi
elog
elog "See https://www.gentoo.org/doc/en/gnupg-user.xml for documentation on gnupg"
elog "See https://wiki.gentoo.org/wiki/GnuPG for documentation on gnupg"
elog
elog "If you wish to view images emerge:"
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"

@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sautier.louis@gmail.com</email>
<name>Louis Sautier</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>

@ -27,7 +27,7 @@ src_prepare() {
# Install /etc stuff inside the Prefix
sed -i -e 's:\$(DESTDIR)/etc:\$(DESTDIR)/$(SYSCONFDIR):g' Makefile || die
if [[ ${CHOST} == *-darwin* ]] ; then
if use elibc_Darwin ; then
local ver_script='-Wl,--version-script,exports.sym,-soname,$(SONAME)'
local install_name='-install_name $(LIBDIR)/$(SONAME)'
sed -i -e '/^\(SONAME\|SHAREDLIB\)/s/\.so\.\([0-9]\+\)/.\1.dylib/' \
@ -37,7 +37,7 @@ src_prepare() {
Makefile || die
fi
if [[ ${CHOST} == *-solaris* ]] ; then
if use elibc_SunOS ; then
# https://sourceware.org/bugzilla/show_bug.cgi?id=12548
# skip the export.sym for now
sed -i -e 's/,--version-script,exports.sym//' librhash/Makefile || die
@ -57,8 +57,9 @@ multilib_src_compile() {
$(use openssl && echo -ldl)
)
[[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] \
&& ADDLDFLAGS+=( $(use nls && echo -lintl) )
use elibc_Darwin || use elibc_DragonFly || use elibc_FreeBSD ||
use elibc_NetBSD || use elibc_OpenBSD || use elibc_SunOS &&
ADDLDFLAGS+=( $(use nls && echo -lintl) )
emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
ADDCFLAGS="${ADDCFLAGS[*]}" ADDLDFLAGS="${ADDLDFLAGS[*]}" \

@ -56,7 +56,7 @@ DEPEND="${COMMON_DEPEND}
# yelp-tools, gnome-common needed to eautoreconf
pkg_setup() {
use python && [[ ${MERGE_TYPE} != binary ]] && python-single-r1_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {

@ -56,7 +56,7 @@ DEPEND="${COMMON_DEPEND}
# yelp-tools, gnome-common needed to eautoreconf
pkg_setup() {
use python && [[ ${MERGE_TYPE} != binary ]] && python-single-r1_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {

@ -0,0 +1,38 @@
From 28cfab7580c42a6d6c9c5d787ce736094fd51a0c Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@telfort.nl>
Date: Tue, 29 Aug 2017 19:28:44 +0200
Subject: tweaks: fix compilation when configured with --enable-tiny
When moving the cursor to the top-left corner, it is not necessary
to compute leftedge because firstcolumn IS the relevant leftedge.
Reported-by: Jordi Mallach <jordi@debian.org>
---
src/move.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/move.c b/src/move.c
index d138356..ce276e4 100644
--- a/src/move.c
+++ b/src/move.c
@@ -121,7 +121,7 @@ void do_page_up(void)
openfile->current = openfile->edittop;
openfile->current_y = 0;
- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop);
+ leftedge = openfile->firstcolumn;
target_column = 0;
} else
get_edge_and_target(&leftedge, &target_column);
@@ -152,7 +152,7 @@ void do_page_down(void)
openfile->current = openfile->edittop;
openfile->current_y = 0;
- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop);
+ leftedge = openfile->firstcolumn;
target_column = 0;
} else
get_edge_and_target(&leftedge, &target_column);
--
cgit v1.0-41-gc330

@ -31,11 +31,15 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
static? ( ${LIB_DEPEND} )"
PATCHES=(
"${FILESDIR}/${P}-minimal_compile_fix.patch" #629510
)
src_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautoreconf
fi
default
}
src_configure() {

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_{4,5} )
PYTHON_COMPAT=( python3_{4,5,6} )
PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_{4,5} )
PYTHON_COMPAT=( python3_{4,5,6} )
PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"

@ -3,7 +3,7 @@
EAPI=5
PYTHON_COMPAT=( python3_{4,5} )
PYTHON_COMPAT=( python3_{4,5,6} )
PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"

@ -1,24 +1,19 @@
#!/sbin/openrc-run
# Copyright 2016 Gentoo Foundation
# Copyright 2016-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="Docker Registry 2.0"
pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
user=${user:-${SVCNAME}}
group=${group:-${SVCNAME}}
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
user=${user:-${RC_SVCNAME}}
group=${group:-${RC_SVCNAME}}
command="/usr/libexec/docker-${SVCNAME}/${SVCNAME}"
command="/usr/libexec/docker-${RC_SVCNAME}/${RC_SVCNAME}"
command_args="${command_args:-serve /etc/docker/registry/config.yml}"
command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
--stdout /var/log/${SVCNAME}/${SVCNAME}.log \
--stderr /var/log/${SVCNAME}/${SVCNAME}.log"
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
depend() {
need net
after net
}
start_pre() {
checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}

@ -3,11 +3,11 @@
# Distributed under the terms of the GNU General Public License v2
description="Flannel Network Fabric for Containers"
pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
user=${user:-root}
group=${group:-root}
command="/usr/bin/${SVCNAME}"
command="/usr/bin/${RC_SVCNAME}"
command_args="${command_args}"
command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
@ -16,9 +16,4 @@ start_stop_daemon_args="--user ${user} --group ${group} \
depend() {
need net
after net
}
start_pre() {
checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}

@ -45,12 +45,9 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
# Portage complains about zh_Hans missing, but repoman doesn't like it when it's there.
PLOCALES="de el fr it ja nl ru sr sv tr zh"
IUSE="+daemon nls test"
# IUSE and PLOCALES must be defined before l10n inherited
inherit bash-completion-r1 golang-build l10n linux-info systemd user golang-vcs-snapshot
inherit bash-completion-r1 golang-build linux-info systemd user golang-vcs-snapshot
SRC_URI="${ARCHIVE_URI}
${EGO_VENDOR_URI}"
@ -117,17 +114,9 @@ PATCHES=(
"${FILESDIR}/${P}-dont-go-get.patch"
)
# KNOWN ISSUES:
# - Translations may not work. I've been unsuccessful in forcing
# localized output. Anyway, upstream (Canonical) doesn't install the
# message files.
src_prepare() {
default_src_prepare
# Warn on unhandled locale changes
l10n_find_plocales_changes "${S}/src/${EGO_PN}/po" "" .po
# Examples in go-lxc make our build fail.
rm -rf "${S}/src/${EGO_PN}/vendor/gopkg.in/lxc/go-lxc.v2/examples" || die
}
@ -170,12 +159,7 @@ src_install() {
cd "src/${EGO_PN}" || die "can't cd into ${S}/src/${EGO_PN}"
if use nls; then
local lingua
for lingua in ${PLOCALES}; do
if use linguas_${lingua}; then
domo po/${lingua}.mo
fi
done
domo po/*.mo
fi
if use daemon; then

@ -1,30 +0,0 @@
# -*- Makefile -*-
#
# Overwrite some default kBuild settings
#
#
# Copyright (C) 2006-2008 Sun Microsystems, Inc.
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation,
# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
# distribution. VirtualBox OSE is distributed in the hope that it will
# be useful, but WITHOUT ANY WARRANTY of any kind.
#
# don't build testcases to save time, they are not needed for the package
VBOX_WITH_TESTCASES :=
VBOX_WITH_TESTSUITE :=
KBUILD_MSG_STYLE := brief
## paths, origin, hardening
VBOX_WITH_HARDENING := 2
VBOX_WITH_ORIGIN :=
VBOX_ONLY_ADDITIONS := 1
## don't build with -Werror
VBOX_WITH_WARNINGS_AS_ERRORS :=

@ -1,12 +0,0 @@
Index: trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
===================================================================
--- a/vboxdrv/SUPDrvInternal.h
+++ b/vboxdrv/SUPDrvInternal.h
@@ -65,7 +65,4 @@
# include <linux/modversions.h>
# endif
-# endif
-# if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 0)
-# undef ALIGN
# endif
# ifndef KBUILD_STR

@ -1,45 +0,0 @@
# -*- Makefile -*-
#
# Overwrite some default kBuild settings
#
#
# Copyright (C) 2006-2008 Sun Microsystems, Inc.
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation,
# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
# distribution. VirtualBox OSE is distributed in the hope that it will
# be useful, but WITHOUT ANY WARRANTY of any kind.
#
# shut up wine complaining about unknown locale
EXEC_X86_WIN32 := wine
# don't build testcases to save time, they are not needed for the package
VBOX_WITH_TESTCASES :=
VBOX_WITH_TESTSUITE :=
VBOX_DOCBOOK_WITH_LATEX := 1
KBUILD_MSG_STYLE := brief
## paths, origin, hardening
VBOX_WITH_HARDENING := 1
VBOX_WITH_ORIGIN :=
VBOX_PATH_APP_PRIVATE_ARCH := /usr/MY_LIBDIR/virtualbox
VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)
## don't build unwanted/splitted stuff
VBOX_WITHOUT_ADDITIONS := 1
VBOX_WITH_VBOXDRV :=
VBOX_WITH_VBOXBFE :=
VBOX_WITH_KCHMVIEWER :=
## don't build with -Werror
VBOX_WITH_WARNINGS_AS_ERRORS :=

@ -1,167 +0,0 @@
Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/posix/SUPR3HardenedMain-posix.cpp
===================================================================
--- VirtualBox-5.1.22/src/VBox/HostDrivers/Support/posix/SUPR3HardenedMain-posix.cpp (revision 115126)
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/posix/SUPR3HardenedMain-posix.cpp (revision 115307)
@@ -341,6 +341,7 @@
* Patch 64-bit hosts.
*/
uint32_t cRipRelMovs = 0;
+ uint32_t cRelCalls = 0;
/* Just use the disassembler to skip 12 bytes or more, we might need to
rewrite mov instructions using RIP relative addressing. */
@@ -349,7 +350,8 @@
cbInstr = 1;
int rc = DISInstr(pbTarget + offJmpBack, DISCPUMODE_64BIT, &Dis, &cbInstr);
if ( RT_FAILURE(rc)
- || (Dis.pCurInstr->fOpType & DISOPTYPE_CONTROLFLOW)
+ || ( Dis.pCurInstr->fOpType & DISOPTYPE_CONTROLFLOW
+ && Dis.pCurInstr->uOpcode != OP_CALL)
|| ( Dis.ModRM.Bits.Mod == 0
&& Dis.ModRM.Bits.Rm == 5 /* wrt RIP */
&& Dis.pCurInstr->uOpcode != OP_MOV))
@@ -357,15 +359,23 @@
if (Dis.ModRM.Bits.Mod == 0 && Dis.ModRM.Bits.Rm == 5 /* wrt RIP */)
cRipRelMovs++;
+ if ( Dis.pCurInstr->uOpcode == OP_CALL
+ && (Dis.pCurInstr->fOpType & DISOPTYPE_RELATIVE_CONTROLFLOW))
+ cRelCalls++;
offJmpBack += cbInstr;
cbPatchMem += cbInstr;
}
+ /*
+ * Each relative call requires extra bytes as it is converted to a pushq imm32
+ * + mov [RSP+4], imm32 + a jmp qword [$+8 wrt RIP] to avoid clobbering registers.
+ */
+ cbPatchMem += cRelCalls * RT_ALIGN_32(13 + 6 + 8, 8);
cbPatchMem += 14; /* jmp qword [$+8 wrt RIP] + 8 byte address to jump to. */
cbPatchMem = RT_ALIGN_32(cbPatchMem, 8);
- /* Allocate suitable exectuable memory available. */
+ /* Allocate suitable executable memory available. */
bool fConvRipRelMovs = false;
uint8_t *pbPatchMem = supR3HardenedMainPosixExecMemAlloc(cbPatchMem, pbTarget, cRipRelMovs > 0);
if (!pbPatchMem)
@@ -396,7 +406,8 @@
cbInstr = 1;
int rc = DISInstr(pbTarget + offInsn, DISCPUMODE_64BIT, &Dis, &cbInstr);
if ( RT_FAILURE(rc)
- || (Dis.pCurInstr->fOpType & DISOPTYPE_CONTROLFLOW))
+ || ( Dis.pCurInstr->fOpType & DISOPTYPE_CONTROLFLOW
+ && Dis.pCurInstr->uOpcode != OP_CALL))
return VERR_SUPLIB_UNEXPECTED_INSTRUCTION;
if ( Dis.ModRM.Bits.Mod == 0
@@ -439,6 +450,34 @@
pbPatchMem += sizeof(int32_t);
}
}
+ else if ( Dis.pCurInstr->uOpcode == OP_CALL
+ && (Dis.pCurInstr->fOpType & DISOPTYPE_RELATIVE_CONTROLFLOW))
+ {
+ /* Convert to absolute jump. */
+ uintptr_t uAddr = (uintptr_t)&pbTarget[offInsn + cbInstr] + (intptr_t)Dis.Param1.uValue;
+
+ /* Skip the push instructions till the return address is known. */
+ uint8_t *pbPatchMemPush = pbPatchMem;
+ pbPatchMem += 13;
+
+ *pbPatchMem++ = 0xff; /* jmp qword [$+8 wrt RIP] */
+ *pbPatchMem++ = 0x25;
+ *(uint32_t *)pbPatchMem = (uint32_t)(RT_ALIGN_PT(pbPatchMem + 4, 8, uint8_t *) - (pbPatchMem + 4));
+ pbPatchMem = RT_ALIGN_PT(pbPatchMem + 4, 8, uint8_t *);
+ *(uint64_t *)pbPatchMem = uAddr;
+ pbPatchMem += sizeof(uint64_t);
+
+ /* Push the return address onto stack. Difficult on amd64 without clobbering registers... */
+ uintptr_t uAddrReturn = (uintptr_t)pbPatchMem;
+ *pbPatchMemPush++ = 0x68; /* push imm32 sign-extended as 64-bit*/
+ *(uint32_t *)pbPatchMemPush = RT_LO_U32(uAddrReturn);
+ pbPatchMemPush += sizeof(uint32_t);
+ *pbPatchMemPush++ = 0xc7;
+ *pbPatchMemPush++ = 0x44;
+ *pbPatchMemPush++ = 0x24;
+ *pbPatchMemPush++ = 0x04; /* movl [RSP+4], imm32 */
+ *(uint32_t *)pbPatchMemPush = RT_HI_U32(uAddrReturn);
+ }
else
{
memcpy(pbPatchMem, pbTarget + offInsn, cbInstr);
Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
===================================================================
--- VirtualBox-5.1.22/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp (revision 115126)
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp (revision 115307)
@@ -86,6 +86,9 @@
/** The max path length acceptable for a trusted path. */
#define SUPR3HARDENED_MAX_PATH 260U
+/** Enable to resolve symlinks using realpath() instead of cooking our own stuff. */
+#define SUP_HARDENED_VERIFY_FOLLOW_SYMLINKS_USE_REALPATH 1
+
#ifdef RT_OS_SOLARIS
# define dirfd(d) ((d)->d_fd)
#endif
@@ -1091,7 +1094,8 @@
#endif
-#if defined(RT_OS_DARWIN) || defined(RT_OS_LINUX)
+#ifndef SUP_HARDENED_VERIFY_FOLLOW_SYMLINKS_USE_REALPATH
+# if defined(RT_OS_DARWIN) || defined(RT_OS_LINUX)
/**
* Copies the error message to the error buffer and returns @a rc.
*
@@ -1104,6 +1108,7 @@
{
return supR3HardenedSetErrorN(rc, pErrInfo, 1, pszMsg);
}
+# endif
#endif
@@ -1893,7 +1898,9 @@
/*
* Verify each component from the root up.
*/
+#ifndef SUP_HARDENED_VERIFY_FOLLOW_SYMLINKS_USE_REALPATH
uint32_t iLoops = 0;
+#endif
SUPR3HARDENEDFSOBJSTATE FsObjState;
uint32_t iComponent = 0;
while (iComponent < Info.cComponents)
@@ -1915,6 +1922,24 @@
if ( RT_SUCCESS(rc)
&& S_ISLNK(FsObjState.Stat.st_mode))
{
+#if SUP_HARDENED_VERIFY_FOLLOW_SYMLINKS_USE_REALPATH /* Another approach using realpath() and verifying the result when encountering a symlink. */
+ char *pszFilenameResolved = realpath(pszFilename, NULL);
+ if (pszFilenameResolved)
+ {
+ rc = supR3HardenedVerifyFile(pszFilenameResolved, hNativeFile, fMaybe3rdParty, pErrInfo);
+ free(pszFilenameResolved);
+ return rc;
+ }
+ else
+ {
+ int iErr = errno;
+ supR3HardenedError(VERR_ACCESS_DENIED, false /*fFatal*/,
+ "supR3HardenedVerifyFileFollowSymlinks: Failed to resolve the real path '%s': %s (%d)\n",
+ pszFilename, strerror(iErr), iErr);
+ return supR3HardenedSetError4(VERR_ACCESS_DENIED, pErrInfo,
+ "realpath failed for '", pszFilename, "': ", strerror(iErr));
+ }
+#else
/* Don't loop forever. */
iLoops++;
if (iLoops < 8)
@@ -1989,6 +2014,7 @@
else
return supR3HardenedSetError3(VERR_TOO_MANY_SYMLINKS, pErrInfo,
"Too many symbolic links: '", pszFilename, "'");
+#endif
}
}
if (RT_FAILURE(rc))

@ -1,104 +0,0 @@
#!/bin/sh
#
# Sun VirtualBox
#
# Copyright (C) 2006-2009 Sun Microsystems, Inc.
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 USA or visit http://www.sun.com if you need
# additional information or have any questions.
#
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
CONFIG="/etc/vbox/vbox.cfg"
if [ ! -r "$CONFIG" ]; then
echo "Could not find VirtualBox installation. Please reinstall."
exit 1
fi
. "$CONFIG"
# Note: This script must not fail if the module was not successfully installed
# because the user might not want to run a VM but only change VM params!
if [ "$1" = "shutdown" ]; then
SHUTDOWN="true"
elif ! lsmod|grep -q vboxdrv; then
cat << EOF
WARNING: The VirtualBox kernel modules are not loaded.
Please load all the needed kernel modules by:
for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
You will not be able to start VMs until this problem is fixed.
EOF
elif [ ! -c /dev/vboxdrv ]; then
cat << EOF
WARNING: The character device /dev/vboxdrv does not exist.
Please try to reload all the needed kernel modules by:
for m in vbox{netflt,netadp,drv}; do rmmod \$m; done
for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
and if that is not successful, try to re-install the package by:
emerge -1av app-emulation/virtualbox-modules
You will not be able to start VMs until this problem is fixed.
EOF
fi
SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
if [ -z "$SERVER_PID" ]; then
# Server not running yet/anymore, cleanup socket path.
# See IPC_GetDefaultSocketPath()!
if [ -n "$LOGNAME" ]; then
rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
else
rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
fi
fi
if [ "$SHUTDOWN" = "true" ]; then
if [ -n "$SERVER_PID" ]; then
kill -TERM $SERVER_PID
sleep 2
fi
exit 0
fi
APP=`which $0`
APP=`basename $APP`
APP=${APP##/*/}
case "$APP" in
VirtualBox)
exec "$INSTALL_DIR/VirtualBox" "$@"
;;
VBoxManage)
exec "$INSTALL_DIR/VBoxManage" "$@"
;;
VBoxSDL)
exec "$INSTALL_DIR/VBoxSDL" "$@"
;;
VBoxVRDP)
exec "$INSTALL_DIR/VBoxHeadless" "$@"
;;
VBoxHeadless)
exec "$INSTALL_DIR/VBoxHeadless" "$@"
;;
vboxwebsrv)
exec "$INSTALL_DIR/vboxwebsrv" "$@"
;;
*)
echo "Unknown application - $APP"
;;
esac

@ -1,2 +1,3 @@
DIST fcitx-configtool-0.4.6.tar.xz 41992 SHA256 8d64107f9f12b4f2cbd82e40b87a2dc4dc76d0ff854481c1103d5e9a2c2e129d SHA512 946bceb77fc6d14210154d9264c86d3333f910893cf3054f65eab72641421847e8ac003889b742f4c28f74c8ab1cfbcfb82abe35ea83ca2548cfc1decc92fc4c WHIRLPOOL 58f8a420f6c98cb6d710bd05d8ca2a3ca48a115015e6de98b105bf71b59bf3dab34eb63009d763dc7a3554fa6ec0b442e8bb277f890230dd94ec371397a6766c
DIST fcitx-configtool-0.4.8.tar.xz 47196 SHA256 0ebc06d9d325fed096e9cb61fe53b82000d2de0e9aefe5945ba8f0aa2ca851ed SHA512 7b3c43b9d7d1dab04880effe6fc4e80e64c9bad34699c0c8d2992ec971605ef2eaa0b1fb13f71a582289c75560c3edc95af21f6413ac2bb594d5cdb31a0b4cb7 WHIRLPOOL a1817bcc9d6bdcd96e66dbe71d44cb66d6b66802e366b8f21d5f922495176463fc23adff2bbdbfb4003ddcef43839fab06715231fdaada8714eec1e3a073f18f
DIST fcitx-configtool-0.4.9.tar.xz 48796 SHA256 592075d28224f8ce5304281c507ab2f9a9dd93f118eeec30d442ff3db214f9fa SHA512 800c731b370ace833179560260df7ffc9c0235c4f3257e8a99a0194f2fd06b71f738e6c77985871c3368179f944da2165dac5d4a8f7ba083519cb2509a9eb62b WHIRLPOOL ae5157178cbaedd66512da6548e79b0a09dd11e4ce8797ae3387c698cd33b51facf1153dca0d3e16cbf77a01959d01251a5dcd7fb6b30f119807d56a2a0f8470

@ -0,0 +1,43 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit cmake-utils
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx-configtool"
fi
DESCRIPTION="GTK+ GUI configuration tool for Fcitx"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx-configtool"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
RDEPEND=">=app-i18n/fcitx-4.2.8
app-text/iso-codes
dev-libs/glib:2
x11-libs/gtk+:3"
DEPEND="${RDEPEND}
virtual/pkgconfig"
DOCS=()
src_configure() {
local mycmakeargs=(
-DENABLE_GTK2=OFF
-DENABLE_GTK3=ON
)
cmake-utils_src_configure
}

@ -0,0 +1,43 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit cmake-utils
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx-configtool"
fi
DESCRIPTION="GTK+ GUI configuration tool for Fcitx"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx-configtool"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS=""
IUSE=""
RDEPEND=">=app-i18n/fcitx-4.2.8
app-text/iso-codes
dev-libs/glib:2
x11-libs/gtk+:3"
DEPEND="${RDEPEND}
virtual/pkgconfig"
DOCS=()
src_configure() {
local mycmakeargs=(
-DENABLE_GTK2=OFF
-DENABLE_GTK3=ON
)
cmake-utils_src_configure
}

@ -13,6 +13,6 @@
<flag name="gtk3">Use GTK+3 instead of 2</flag>
</use>
<upstream>
<remote-id type="google-code">fcitx</remote-id>
<remote-id type="github">fcitx/fcitx-configtool</remote-id>
</upstream>
</pkgmetadata>

@ -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"
@ -21,7 +21,7 @@ fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
IUSE=""
RDEPEND=">=app-i18n/fcitx-4.2.8

@ -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"
@ -21,7 +21,7 @@ fi
LICENSE="GPL-2+ GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="+macro-editor"
RDEPEND=">=app-i18n/fcitx-4.2.8

@ -25,7 +25,8 @@ KEYWORDS="amd64 hppa ppc ppc64 x86"
IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml"
REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )"
RDEPEND="sys-apps/dbus
RDEPEND="dev-libs/glib:2
sys-apps/dbus
virtual/libiconv
virtual/libintl
x11-libs/libxkbcommon
@ -37,25 +38,15 @@ RDEPEND="sys-apps/dbus
xml? ( x11-libs/libxkbfile )
)
cairo? (
dev-libs/glib:2
x11-libs/cairo[X]
x11-libs/libXext
pango? ( x11-libs/pango )
!pango? ( media-libs/fontconfig )
)
enchant? ( app-text/enchant )
gtk2? (
dev-libs/glib:2
x11-libs/gtk+:2
)
gtk3? (
dev-libs/glib:2
x11-libs/gtk+:3
)
introspection? (
dev-libs/glib:2
dev-libs/gobject-introspection
)
gtk2? ( x11-libs/gtk+:2 )
gtk3? ( x11-libs/gtk+:3 )
introspection? ( dev-libs/gobject-introspection )
lua? ( dev-lang/lua:= )
nls? ( sys-devel/gettext )
opencc? ( app-i18n/opencc:= )
@ -105,7 +96,6 @@ src_configure() {
-DENABLE_ENCHANT=$(usex enchant)
-DENABLE_GETTEXT=$(usex nls)
-DENABLE_GIR=$(usex introspection)
-DENABLE_GLIB2=$(if use cairo || use gtk2 || use gtk3 || use introspection; then echo yes; else echo no; fi)
-DENABLE_GTK2_IM_MODULE=$(usex gtk2)
-DENABLE_GTK3_IM_MODULE=$(usex gtk3)
-DENABLE_LIBXML2=$(usex xml)

@ -25,7 +25,8 @@ KEYWORDS=""
IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml"
REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )"
RDEPEND="sys-apps/dbus
RDEPEND="dev-libs/glib:2
sys-apps/dbus
virtual/libiconv
virtual/libintl
x11-libs/libxkbcommon
@ -37,25 +38,15 @@ RDEPEND="sys-apps/dbus
xml? ( x11-libs/libxkbfile )
)
cairo? (
dev-libs/glib:2
x11-libs/cairo[X]
x11-libs/libXext
pango? ( x11-libs/pango )
!pango? ( media-libs/fontconfig )
)
enchant? ( app-text/enchant )
gtk2? (
dev-libs/glib:2
x11-libs/gtk+:2
)
gtk3? (
dev-libs/glib:2
x11-libs/gtk+:3
)
introspection? (
dev-libs/glib:2
dev-libs/gobject-introspection
)
gtk2? ( x11-libs/gtk+:2 )
gtk3? ( x11-libs/gtk+:3 )
introspection? ( dev-libs/gobject-introspection )
lua? ( dev-lang/lua:= )
nls? ( sys-devel/gettext )
opencc? ( app-i18n/opencc:= )
@ -100,7 +91,6 @@ src_configure() {
-DENABLE_ENCHANT=$(usex enchant)
-DENABLE_GETTEXT=$(usex nls)
-DENABLE_GIR=$(usex introspection)
-DENABLE_GLIB2=$(if use cairo || use gtk2 || use gtk3 || use introspection; then echo yes; else echo no; fi)
-DENABLE_GTK2_IM_MODULE=$(usex gtk2)
-DENABLE_GTK3_IM_MODULE=$(usex gtk3)
-DENABLE_LIBXML2=$(usex xml)

@ -1,10 +0,0 @@
--- abook-0.6.0pre2/abook.c.orig 2010-10-03 14:54:23.827767178 -0700
+++ abook-0.6.0pre2/abook.c 2010-10-03 14:54:55.738042419 -0700
@@ -708,6 +708,7 @@
check_abook_directory();
init_opts();
load_opts(rcfile);
+ init_standard_fields();
atexit(free_opts);
/*

@ -1,325 +0,0 @@
diff -ru a/filter.c b/filter.c
--- a/filter.c 2006-09-06 07:26:10.000000000 +0200
+++ b/filter.c 2008-05-18 20:55:12.000000000 +0200
@@ -44,6 +44,7 @@
static int csv_parse_file(FILE *in);
static int allcsv_parse_file(FILE *in);
static int palmcsv_parse_file(FILE *in);
+static int vcard_parse_file(FILE *in);
/*
* export filter prototypes
@@ -75,6 +76,7 @@
{ "csv", N_("comma separated values"), csv_parse_file },
{ "allcsv", N_("comma separated values (all fields)"), allcsv_parse_file },
{ "palmcsv", N_("Palm comma separated values"), palmcsv_parse_file },
+ { "vcard", N_("vCard file"), vcard_parse_file },
{ "\0", NULL, NULL }
};
@@ -1331,6 +1333,262 @@
*/
/*
+ * vCard import filter
+ */
+
+static char *vcard_fields[] = {
+ "FN", /* NAME */
+ "EMAIL", /* EMAIL */
+ "ADR", /* ADDRESS */
+ "ADR", /* ADDRESS2 - not used */
+ "ADR", /* CITY */
+ "ADR", /* STATE */
+ "ADR", /* ZIP */
+ "ADR", /* COUNTRY */
+ "TEL", /* PHONE */
+ "TEL", /* WORKPHONE */
+ "TEL", /* FAX */
+ "TEL", /* MOBILEPHONE */
+ "NICKNAME", /* NICK */
+ "URL", /* URL */
+ "NOTE", /* NOTES */
+ NULL /* not implemented: ANNIVERSARY, ITEM_FIELDS */
+};
+
+/*
+ * mappings between vCard ADR field and abook's ADDRESS
+ * see rfc2426 section 3.2.1
+ */
+static int vcard_address_fields[] = {
+ -1, /* vCard(post office box) - not used */
+ -1, /* vCard(the extended address) - not used */
+ 2, /* vCard(the street address) - ADDRESS */
+ 4, /* vCard(the locality) - CITY */
+ 5, /* vCard(the region) - STATE */
+ 6, /* vCard(the postal code) - ZIP */
+ 7 /* vCard(the country name) - COUNTRY */
+};
+
+enum {
+ VCARD_KEY = 0,
+ VCARD_KEY_ATTRIBUTE,
+ VCARD_VALUE,
+};
+
+static char *
+vcard_get_line_element(char *line, int element)
+{
+ int i;
+ char *line_copy = 0;
+ char *result = 0;
+ char *key = 0;
+ char *key_attr = 0;
+ char *value = 0;
+
+ line_copy = xstrdup(line);
+
+ /* make newline characters if exist end of string */
+ for(i=0; line_copy[i]; i++) {
+ if(line_copy[i] == '\r' || line_copy[i] == '\n') {
+ line_copy[i] = '\0';
+ break;
+ }
+ }
+
+ /* separate key from value */
+ for(i=0; line_copy[i]; i++) {
+ if(line_copy[i] == ':') {
+ line_copy[i] = '\0';
+ key = line_copy;
+ value = &line_copy[i+1];
+ break;
+ }
+ }
+
+ /* separate key from key attributes */
+ if (key) {
+ for(i=0; key[i]; i++) {
+ if(key[i] == ';') {
+ key[i] = '\0';
+ key_attr = &key[i+1];
+ break;
+ }
+ }
+ }
+
+ switch(element) {
+ case VCARD_KEY:
+ if(key)
+ result = xstrdup(key);
+ break;
+ case VCARD_KEY_ATTRIBUTE:
+ if(key_attr)
+ result = xstrdup(key_attr);
+ break;
+ case VCARD_VALUE:
+ if(value)
+ result = xstrdup(value);
+ break;
+ }
+
+ xfree(line_copy);
+ return result;
+}
+
+static void
+vcard_parse_email(list_item item, char *line)
+{
+ char *email;
+
+ email = vcard_get_line_element(line, VCARD_VALUE);
+
+ if(item[1]) {
+ item[1] = strconcat(item[1], ",", email, 0);
+ xfree(email);
+ }
+ else {
+ item[1] = email;
+ }
+}
+
+static void
+vcard_parse_address(list_item item, char *line)
+{
+ int i;
+ int k;
+ char *value;
+ char *address_field;
+
+ value = vcard_get_line_element(line, VCARD_VALUE);
+ if(!value)
+ return;
+
+ address_field = value;
+ for(i=k=0; value[i]; i++) {
+ if(value[i] == ';') {
+ value[i] = '\0';
+ if(vcard_address_fields[k] >= 0) {
+ item[vcard_address_fields[k]] = xstrdup(address_field);
+ }
+ address_field = &value[i+1];
+ k++;
+ if((k+1)==(sizeof(vcard_address_fields)/sizeof(*vcard_address_fields)))
+ break;
+ }
+ }
+ item[vcard_address_fields[k]] = xstrdup(address_field);
+ xfree(value);
+}
+
+static void
+vcard_parse_phone(list_item item, char *line)
+{
+ int index = 8;
+ char *type = vcard_get_line_element(line, VCARD_KEY_ATTRIBUTE);
+ char *value = vcard_get_line_element(line, VCARD_VALUE);
+
+ /* set the standard number */
+ if (!type) {
+ item[index] = value;
+ }
+
+ /*
+ * see rfc2426 section 3.3.1
+ */
+ else if (strstr(type, "TYPE=") == type){
+ if (strcasestr(type, "home")) {
+ item[index] = xstrdup(value);
+ }
+ if (strcasestr(type, "work")) {
+ item[index+1] = xstrdup(value);
+ }
+ if (strcasestr(type, "fax")) {
+ item[index+2] = xstrdup(value);
+ }
+ if (strcasestr(type, "cell")) {
+ item[index+3] = xstrdup(value);
+ }
+
+ xfree(type);
+ xfree(value);
+ }
+}
+
+static void
+vcard_parse_line(list_item item, char *line)
+{
+ int i;
+ char *key;
+
+ for(i=0; vcard_fields[i]; i++) {
+ key = vcard_fields[i];
+
+ if(!strncmp(key, line, strlen(key))) {
+ if(i == 1) {
+ vcard_parse_email(item, line);
+ }
+ else if(i == 2) {
+ vcard_parse_address(item, line);
+ }
+ else if(i == 8) {
+ vcard_parse_phone(item, line);
+ }
+ else {
+ item[i] = vcard_get_line_element(line, VCARD_VALUE);
+ }
+ break;
+ }
+ }
+}
+
+static void
+vcard_parse_item(FILE *in)
+{
+ char *line = NULL;
+ list_item item = item_create();
+
+ while(!feof(in)) {
+ line = getaline(in);
+
+ if(line && !strncmp("END:VCARD", line, 9)) {
+ xfree(line);
+ break;
+ }
+ else if(line) {
+ vcard_parse_line(item, line);
+ xfree(line);
+ }
+ }
+
+ add_item2database(item);
+ item_free(&item);
+}
+
+static int
+vcard_parse_file(FILE *in)
+{
+ char *line = NULL;
+
+ while(!feof(in)) {
+ line = getaline(in);
+
+ if(line && !strncmp("BEGIN:VCARD", line, 11)) {
+ xfree(line);
+ vcard_parse_item(in);
+ }
+ else if(line) {
+ xfree(line);
+ }
+ }
+
+ return 0;
+}
+
+/*
+ * end of vCard import filter
+ */
+
+/*
* csv addressbook export filters
*/
diff -ru a/misc.c b/misc.c
--- a/misc.c 2006-09-04 21:24:18.000000000 +0200
+++ b/misc.c 2008-05-18 18:00:33.000000000 +0200
@@ -77,6 +77,27 @@
return 1;
}
+char *
+strcasestr(char *haystack, char *needle)
+{
+ int i;
+ int k;
+
+ assert(haystack != NULL);
+ assert(needle != NULL);
+
+ for(i=0; i<strlen(haystack)-strlen(needle)+1; i++) {
+ for(k=0; k<strlen(needle); k++, i++) {
+ if (tolower(haystack[i]) != tolower(needle[k]))
+ break;
+ else if ((k+1) == strlen(needle))
+ return &haystack[i];
+ }
+ }
+
+ return NULL;
+}
+
#ifdef HAVE_CONFIG_H
# include "config.h"
diff -ru a/misc.h b/misc.h
--- a/misc.h 2006-09-04 21:24:18.000000000 +0200
+++ b/misc.h 2008-05-18 17:55:59.000000000 +0200
@@ -18,6 +18,8 @@
int is_number(char *s);
+char *strcasestr(char *haystack, char *needle);
+
char *strdup_printf(const char *format, ... );
char *strconcat(const char *str, ...);

@ -1,52 +0,0 @@
--- hexcompare-101/gui.c
+++ hexcompare-101/gui.c
@@ -39,7 +39,7 @@
{
// With a given offset, calculate which element it corresponds to
// in the offset_index.
- int i, current_block;
+ int i, current_block = 0;
for (i = 0; i < total_blocks; i++) {
// Go block by block, and see if our offset is greater than
@@ -62,7 +62,7 @@
char offset_query[32];
char offset_line[32];
int offset_size = 0;
- int previous_size, current_size, i;
+ int previous_size, current_size = 0, i;
int redo_loop = false;
// Endless loop until we figure out an offset size that is constant
@@ -533,10 +533,6 @@
// Create variables.
int i, j;
- bool active_declared = false;
- int offset_string_length = 0;
- unsigned long temp_offset;
- char offset_line[32];
// Define colors block diagram.
init_pair(BLOCK_SAME, COLOR_WHITE, COLOR_BLUE);
@@ -621,12 +617,6 @@
//
//
- // Create variables.
- int i, j;
- bool active_declared = false;
- int offset_string_length = 0;
- unsigned long temp_offset;
-
// Define colors block diagram.
init_pair(BLOCK_SAME, COLOR_WHITE, COLOR_BLUE);
init_pair(BLOCK_DIFFERENT, COLOR_WHITE, COLOR_RED);
@@ -753,7 +743,6 @@
while((key_pressed = wgetch(main_window)) != 'q')
{
int rows;
- int bytes_per_row = (width - SIDE_MARGIN*2) * bytes_per_block;
if (mode == OVERVIEW_MODE) rows = 5; else rows = height - 5;
switch(key_pressed)

@ -1,2 +1,3 @@
DIST tracker-1.10.5.tar.xz 5033992 SHA256 3b8488f0e372054790f2fd4207227c5b15425bf1ab829d76928ac0b32de9c5b7 SHA512 e26f394681d0da28fb28536655f3c584de4aa7ce38c5a9762f81c9bfd21185d8df542b8d72ab337fb63ab91a1df9c733053fb6fa02cdffdc4edd873e0f70b800 WHIRLPOOL 0ab0a66cee2eb14b7893dd3719b0095e3cb3f49cb4db8bebcaa4f5174e726fb7db5f5706a635ffc71d89ab05494f991d4e8b2e62077c5cf2db85f5d9d7a3f4f8
DIST tracker-1.12.2.tar.xz 5047740 SHA256 ebeb42ef982d0e45c8b8eea8440dcd1c06cd04c7974440a2012942552882bffd SHA512 32765d5a186b54e691b749af0be9a052d6edf367b759cd9236efb5af84e05e62301ca0d50303ca6d97b92b59e99a3934d3e6444701c07938638d5784f4155dec WHIRLPOOL 5ce2bfb1645e99ba3163811ec44b8b93a18c4387bfd09850462abec4ada3c3ef73edf62e716c48d6c99e68fb7ffffefbf3a36de5b0ee436fd936bbc3ac757a36
DIST tracker-1.12.3.tar.xz 5053768 SHA256 23ce943878c1165c3f52fe97150c71708ebfbb5da3020e9a7247ad4f5120f8d6 SHA512 4c2155a295bc431740e52394885edfa2fd8487ef2f4b6749b9392a82ac355a440fb34381267a8793414fe750501fed7e1b1d0c5b06a766282513de78adde41d3 WHIRLPOOL 100b054f9aa5fc84284084dddc3e0ca0e296c3ce98e595b2c8b338d24c5be4977b55ac9a9c028341c71eb418eb9b3385a7760b892aa7a559587623eb61fdc06e

@ -0,0 +1,249 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
PYTHON_COMPAT=( python2_7 )
inherit autotools bash-completion-r1 eutils gnome2 linux-info multilib python-any-r1 vala versionator virtualx
DESCRIPTION="A tagging metadata database, search tool and indexer"
HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0/100"
IUSE="cue elibc_glibc exif ffmpeg firefox-bookmarks flac gif gsf gstreamer
gtk iptc +iso +jpeg libav +miner-fs mp3 nautilus networkmanager pdf playlist
rss seccomp stemmer test thunderbird +tiff upnp-av upower +vorbis +xml xmp xps"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
REQUIRED_USE="
?? ( gstreamer ffmpeg )
cue? ( gstreamer )
upnp-av? ( gstreamer )
!miner-fs? ( !cue !exif !flac !gif !gsf !iptc !iso !jpeg !mp3 !pdf !playlist !tiff !vorbis !xml !xmp !xps )
"
# According to NEWS, introspection is non-optional
# glibc-2.12 needed for SCHED_IDLE (see bug #385003)
# seccomp is automagic, though we want to use it whenever possible (linux)
# >=media-libs/libmediaart-1.9:2.0 is suggested to be disabled for 1.10 for security;
# It is disable in configure in 1.12; revisit for 1.14/2 (configure flag)
RDEPEND="
>=app-i18n/enca-1.9
>dev-db/sqlite-3.20:=
>=dev-libs/glib-2.44:2
>=dev-libs/gobject-introspection-0.9.5:=
>=dev-libs/icu-4.8.1.1:=
>=dev-libs/json-glib-1.0
>=media-libs/libpng-1.2:0=
>=net-libs/libsoup-2.40:2.4
>=x11-libs/pango-1:=
sys-apps/util-linux
virtual/imagemagick-tools[png,jpeg?]
cue? ( media-libs/libcue )
elibc_glibc? ( >=sys-libs/glibc-2.12 )
exif? ( >=media-libs/libexif-0.6 )
ffmpeg? (
libav? ( media-video/libav:= )
!libav? ( media-video/ffmpeg:0= )
)
firefox-bookmarks? ( || (
>=www-client/firefox-4.0
>=www-client/firefox-bin-4.0 ) )
flac? ( >=media-libs/flac-1.2.1 )
gif? ( media-libs/giflib:= )
gsf? ( >=gnome-extra/libgsf-1.14.24 )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0 )
gtk? (
>=x11-libs/gtk+-3:3 )
iptc? ( media-libs/libiptcdata )
iso? ( >=sys-libs/libosinfo-0.2.9:= )
jpeg? ( virtual/jpeg:0 )
upower? ( || ( >=sys-power/upower-0.9 sys-power/upower-pm-utils ) )
mp3? ( >=media-libs/taglib-1.6 )
networkmanager? ( >=net-misc/networkmanager-0.8:= )
pdf? (
>=x11-libs/cairo-1:=
>=app-text/poppler-0.16[cairo,utils]
>=x11-libs/gtk+-2.12:2 )
playlist? ( >=dev-libs/totem-pl-parser-3 )
rss? ( >=net-libs/libgrss-0.7:0 )
stemmer? ( dev-libs/snowball-stemmer )
thunderbird? ( || (
>=mail-client/thunderbird-5.0
>=mail-client/thunderbird-bin-5.0 ) )
tiff? ( media-libs/tiff:0 )
upnp-av? ( >=media-libs/gupnp-dlna-0.9.4:2.0 )
vorbis? ( >=media-libs/libvorbis-0.22 )
xml? ( >=dev-libs/libxml2-2.6 )
xmp? ( >=media-libs/exempi-2.1 )
xps? ( app-text/libgxps )
!gstreamer? ( !ffmpeg? ( || ( media-video/totem media-video/mplayer ) ) )
seccomp? ( >=sys-libs/libseccomp-2.0 )
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
$(vala_depend)
dev-util/gdbus-codegen
>=dev-util/gtk-doc-am-1.8
>=dev-util/intltool-0.40.0
>=sys-devel/gettext-0.17
virtual/pkgconfig
test? (
>=dev-libs/dbus-glib-0.82-r1
>=sys-apps/dbus-1.3.1[X] )
"
PDEPEND="nautilus? ( ~gnome-extra/nautilus-tracker-tags-${PV} )"
function inotify_enabled() {
if linux_config_exists; then
if ! linux_chkconfig_present INOTIFY_USER; then
ewarn "You should enable the INOTIFY support in your kernel."
ewarn "Check the 'Inotify support for userland' under the 'File systems'"
ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config"
die 'missing CONFIG_INOTIFY'
fi
else
einfo "Could not check for INOTIFY support in your kernel."
fi
}
pkg_setup() {
linux-info_pkg_setup
inotify_enabled
python-any-r1_pkg_setup
}
src_prepare() {
# Don't run 'firefox --version' or 'thunderbird --version'; it results in
# access violations on some setups (bug #385347, #385495).
create_version_script "www-client/firefox" "Mozilla Firefox" firefox-version.sh
create_version_script "mail-client/thunderbird" "Mozilla Thunderbird" thunderbird-version.sh
eautoreconf # See bug #367975
gnome2_src_prepare
vala_src_prepare
}
src_configure() {
local myconf=""
if use gstreamer ; then
myconf="${myconf} --enable-generic-media-extractor=gstreamer"
if use upnp-av; then
myconf="${myconf} --with-gstreamer-backend=gupnp-dlna"
else
myconf="${myconf} --with-gstreamer-backend=discoverer"
fi
elif use ffmpeg ; then
myconf="${myconf} --enable-generic-media-extractor=libav"
else
myconf="${myconf} --enable-generic-media-extractor=external"
fi
# unicode-support: libunistring, libicu or glib ?
# According to NEWS, introspection is required
# is not being generated
# nautilus extension is in a separate package, nautilus-tracker-tags
# miner-evolution disabled as it's incompatible with current eds
gnome2_src_configure \
--disable-hal \
--disable-miner-evolution \
--disable-nautilus-extension \
--disable-static \
--enable-abiword \
--enable-artwork \
--enable-dvi \
--enable-enca \
--enable-guarantee-metadata \
--enable-icon \
--enable-introspection \
--disable-libmediaart \
--enable-libpng \
--enable-miner-apps \
--enable-miner-user-guides \
--enable-ps \
--enable-text \
--enable-tracker-fts \
--enable-tracker-writeback \
--with-unicode-support=libicu \
--with-bash-completion-dir="$(get_bashcompdir)" \
$(use_enable cue libcue) \
$(use_enable exif libexif) \
$(use_enable firefox-bookmarks miner-firefox) \
$(use_with firefox-bookmarks firefox-plugin-dir "${EPREFIX}"/usr/$(get_libdir)/firefox/extensions) \
FIREFOX="${S}"/firefox-version.sh \
$(use_enable flac libflac) \
$(use_enable gif libgif) \
$(use_enable gsf libgsf) \
$(use_enable gtk tracker-needle) \
$(use_enable gtk tracker-preferences) \
$(use_enable iptc libiptcdata) \
$(use_enable iso libosinfo) \
$(use_enable jpeg libjpeg) \
$(use_enable upower upower) \
$(use_enable miner-fs) \
$(use_enable mp3 taglib) \
$(use_enable mp3) \
$(use_enable networkmanager network-manager) \
$(use_enable pdf poppler) \
$(use_enable playlist) \
$(use_enable rss miner-rss) \
$(use_enable stemmer libstemmer) \
$(use_enable test functional-tests) \
$(use_enable test unit-tests) \
$(use_enable thunderbird miner-thunderbird) \
$(use_with thunderbird thunderbird-plugin-dir "${EPREFIX}"/usr/$(get_libdir)/thunderbird/extensions) \
THUNDERBIRD="${S}"/thunderbird-version.sh \
$(use_enable tiff libtiff) \
$(use_enable vorbis libvorbis) \
$(use_enable xml libxml2) \
$(use_enable xmp exempi) \
$(use_enable xps libgxps) \
${myconf}
}
src_test() {
# G_MESSAGES_DEBUG, upstream bug #699401#c1
virtx emake check TESTS_ENVIRONMENT="dbus-run-session" G_MESSAGES_DEBUG="all"
}
src_install() {
gnome2_src_install
# Manually symlink extensions for {firefox,thunderbird}-bin
if use firefox-bookmarks; then
dosym ../../../share/xul-ext/trackerfox \
/usr/$(get_libdir)/firefox-bin/extensions/trackerfox@bustany.org
fi
if use thunderbird; then
dosym ../../../share/xul-ext/trackerbird \
/usr/$(get_libdir)/thunderbird-bin/extensions/trackerbird@bustany.org
fi
}
create_version_script() {
# Create script $3 that prints "$2 MAX(VERSION($1), VERSION($1-bin))"
local v=$(best_version ${1})
v=${v#${1}-}
local vbin=$(best_version ${1}-bin)
vbin=${vbin#${1}-bin-}
if [[ -z ${v} ]]; then
v=${vbin}
else
version_compare ${v} ${vbin}
[[ $? -eq 1 ]] && v=${vbin}
fi
echo -e "#!/bin/sh\necho $2 $v" > "$3" || die
chmod +x "$3" || die
}

@ -1,37 +0,0 @@
Replace functions removed with ruby 1.9
See also http://dev.zuckschwerdt.org/openobex/ticket/49
diff --git a/swig/charmap.i b/swig/charmap.i
index e1f1fc1..b8e17de 100644
--- a/swig/charmap.i
+++ b/swig/charmap.i
@@ -89,8 +89,8 @@
$2 = PyString_Size($input);
#elif defined SWIGRUBY
/* VALUE str = StringValue($input); // perhaps better? */
- $1 = STR2CSTR($input);
- $2 = (int) RSTRING($input)->len;
+ $1 = StringValuePtr($input);
+ $2 = (int) RSTRING_LEN($input);
#elif defined SWIGTCL
$1 = Tcl_GetStringFromObj($input,&$2);
#else
diff --git a/swig/ruby/ruby_wrap.c b/swig/ruby/ruby_wrap.c
index 57e40bf..31b1a9d 100644
--- a/swig/ruby/ruby_wrap.c
+++ b/swig/ruby/ruby_wrap.c
@@ -2579,8 +2579,8 @@ _wrap_Client_put_data(int argc, VALUE *argv, VALUE self) {
/* VALUE str = StringValue(argv[0]); // perhaps better? */
- arg2 = STR2CSTR(argv[0]);
- arg3 = (int) RSTRING(argv[0])->len;
+ arg2 = StringValuePtr(argv[0]);
+ arg3 = (int) RSTRING_LEN(argv[0]);
--
1.8.4.2

@ -1,11 +0,0 @@
--- a/swig/ruby/Makefile.am
+++ b/swig/ruby/Makefile.am
@@ -12,7 +12,7 @@ Makefile.ruby: extconf.rb
PREFIX=$(prefix) $(RUBY) $< --with-obexftp-include=$(top_srcdir)
obexftp.so: ruby_wrap.c Makefile.ruby
- $(MAKE) -fMakefile.ruby
+ $(MAKE) -fMakefile.ruby LIBPATH="-Wl,-rpath-link,../../bfb/.libs -Wl,-rpath-link,../../multicobex/.libs -Wl,-rpath-link,../../obexftp/.libs -L../../bfb/.libs -L../../multicobex/.libs -L../../obexftp/.libs"
install-data-local: Makefile.ruby
$(MAKE) -j1 -fMakefile.ruby install

@ -47,7 +47,7 @@ pkg_postinst() {
elog "and at least one out of "
elog " PORTAGE_ELOG_CLASSES=\"warn error info log qa\""
elog "More information on the elog system can be found"
elog "in /etc/make.conf.example"
elog "in /usr/share/portage/config/make.conf.example"
elog
elog "To operate properly this software needs the directory"
elog "${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage."

@ -39,7 +39,7 @@ pkg_postinst() {
elog "and at least one of "
elog " PORTAGE_ELOG_CLASSES=\"warn error info log qa\""
elog "More information on the elog system can be found"
elog "in /etc/make.conf.example"
elog "in /usr/share/portage/config/make.conf.example"
elog
elog "To operate properly this software needs the directory"
elog "${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage."

@ -39,7 +39,7 @@ pkg_postinst() {
elog "and at least one of "
elog " PORTAGE_ELOG_CLASSES=\"warn error info log qa\""
elog "More information on the elog system can be found"
elog "in /etc/make.conf.example"
elog "in /usr/share/portage/config/make.conf.example"
elog
elog "To operate properly this software needs the directory"
elog "${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage."

@ -34,7 +34,8 @@ Portage's elog features. Required is
PORTAGE_ELOG_SYSTEM=\"save\"
and at least one of
PORTAGE_ELOG_CLASSES=\"warn error info log qa\"
More information on the elog system can be found in /etc/make.conf.example
More information on the elog system can be found in
/usr/share/portage/config/make.conf.example
To operate properly this software needs the directory
${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage.

@ -38,7 +38,8 @@ Portage's elog features. Required is
PORTAGE_ELOG_SYSTEM=\"save\"
and at least one of
PORTAGE_ELOG_CLASSES=\"warn error info log qa\"
More information on the elog system can be found in /etc/make.conf.example
More information on the elog system can be found in
/usr/share/portage/config/make.conf.example
To operate properly this software needs the directory
${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage.

@ -32,7 +32,8 @@ Portage's elog features. Required is
PORTAGE_ELOG_SYSTEM=\"save\"
and at least one of
PORTAGE_ELOG_CLASSES=\"warn error info log qa\"
More information on the elog system can be found in /etc/make.conf.example
More information on the elog system can be found in
/usr/share/portage/config/make.conf.example
To operate properly this software needs the directory
${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage.

@ -38,7 +38,8 @@ Portage's elog features. Required is
PORTAGE_ELOG_SYSTEM=\"save\"
and at least one of
PORTAGE_ELOG_CLASSES=\"warn error info log qa\"
More information on the elog system can be found in /etc/make.conf.example
More information on the elog system can be found in
/usr/share/portage/config/make.conf.example
To operate properly this software needs the directory
${PORT_LOGDIR:-/var/log/portage}/elog created, belonging to group portage.

@ -10,7 +10,7 @@ inherit distutils-r1
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI="http://dev.gentoo.org/~dolsen/releases/gentoolkit/${P}.tar.gz"
SRC_URI="https://dev.gentoo.org/~dolsen/releases/gentoolkit/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"

@ -10,7 +10,7 @@ inherit distutils-r1
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI="http://dev.gentoo.org/~fuzzyray/distfiles/${P}.tar.gz"
SRC_URI="https://dev.gentoo.org/~fuzzyray/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"

@ -3,7 +3,7 @@
EAPI="6"
PYTHON_COMPAT=(python{2_7,3_4,3_5} pypy)
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6} pypy)
PYTHON_REQ_USE="xml(+),threads(+)"
inherit distutils-r1

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="2"
@ -38,7 +38,7 @@ pkg_setup() {
elog "Building ${PF} with the following modules:"
elog " ${PDSH_MODULE_LIST}"
elog "This list can be changed in /etc/make.conf by setting"
elog "This list can be changed in /etc/portage/make.conf by setting"
elog "PDSH_MODULE_LIST=\"module1 module2...\""
}

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="2"
@ -32,7 +32,7 @@ pkg_setup() {
elog "Building ${PF} with the following modules:"
elog " ${PDSH_MODULE_LIST}"
elog "This list can be changed in /etc/make.conf by setting"
elog "This list can be changed in /etc/portage/make.conf by setting"
elog "PDSH_MODULE_LIST=\"module1 module2...\""
}

@ -142,7 +142,7 @@ src_install() {
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
# should link to https://www.gentoo.org/doc/en/zsh.xml
# should link to https://wiki.gentoo.org/wiki/Zsh/Guide
echo
elog "If you want to enable Portage completions and Gentoo prompt,"
elog "emerge app-shells/gentoo-zsh-completions and add"

@ -1,2 +1 @@
DIST htmldoc-1.8.29-source.tar.bz2 4089227 SHA256 e8c96ad740d19169eab8305c8e2ee1c795c4afa59ba99d18786ad191a2853f31 SHA512 06c4367b84005624564dfb33d2cc632cbfc711268ffce9efe00c17760da17637949fc7415fd29fcd63edc26ba96ff18cf57d1e9d36e7205b92ac2095cf4acfc8 WHIRLPOOL 3efe016ce4e071d164e3ca44fe3c8cba9ba830eb0847215116fbccab45b7ae913bfe94c723d4c8ba952c48ce31c68e5c4a71bd7048030a03c8fb3dffe42ea6d3
DIST htmldoc-1.8.30-source.tar.gz 3901592 SHA256 7fb7a532f590f7ce1b7c8486d9fe30adaea3c7c32cb412ba7cf093d67cba5fc6 SHA512 713dc67622533dae896745ac8809e43a7f91696715aeb77df2628bd04c0d3e16c8402891499e8e0c10cab793b44114e600d5935b3c76a3cfa303c10897456804 WHIRLPOOL 873cc5785bc295197e8461214f02279b6225b9ea07345a86e855341abc5a827aeef0c715b4c77ed8a74028e2a5a61ae6b0412055c09cbe39a92be54764561d7f

@ -1,11 +0,0 @@
--- htmldoc/ps-pdf.cxx 2006-08-01 18:58:50.000000000 +0200
+++ htmldoc/ps-pdf.cxx 2008-04-26 21:19:49.000000000 +0200
@@ -3624,7 +3624,7 @@
* Get the width of the page number, leave room for three dots...
*/
- if (heading >= 0)
+ if (heading >= 0 && heading < num_headings)
{
hpage = heading_pages[heading];
numberwidth = get_width((uchar *)pages[hpage].page_text,

@ -1,21 +0,0 @@
diff -ur htmldoc-1.8.27~/htmldoc/ps-pdf.cxx htmldoc-1.8.27/htmldoc/ps-pdf.cxx
--- htmldoc-1.8.27~/htmldoc/ps-pdf.cxx 2009-08-13 19:32:21.846860508 -0400
+++ htmldoc-1.8.27/htmldoc/ps-pdf.cxx 2009-08-13 19:40:29.185857503 -0400
@@ -8619,7 +8619,7 @@
return (NULL);
}
// Safe because buffer is allocated...
- strcpy((char *)r->data.text.buffer, (char *)data);
+ memcpy((char *)r->data.text.buffer, (char *)data, strlen((char *)data));
get_color(_htmlTextColor, r->data.text.rgb);
break;
case RENDER_IMAGE :
@@ -8640,7 +8640,7 @@
return (NULL);
}
// Safe because buffer is allocated...
- strcpy((char *)r->data.link, (char *)data);
+ memcpy((char *)r->data.link, (char *)data, strlen((char *)data));
break;
}

@ -1,116 +0,0 @@
http://bugs.gentoo.org/385521
http://www.htmldoc.org/str.php?L243+P0+S-2+C0+I0+E0+M10+Q
--- htmldoc/image.cxx
+++ htmldoc/image.cxx
@@ -1472,6 +1472,9 @@ image_load_png(image_t *img, /* I - Imag
png_bytep *rows; /* PNG row pointers */
uchar *inptr, /* Input pixels */
*outptr; /* Output pixels */
+ png_bytep trans_alpha;
+ int num_trans;
+ png_color_16p trans_color;
/*
@@ -1499,7 +1502,7 @@ image_load_png(image_t *img, /* I - Imag
rows = NULL;
- if (setjmp(pp->jmpbuf))
+ if (setjmp(png_jmpbuf(pp)))
{
progress_error(HD_ERROR_BAD_FORMAT, "PNG file contains errors!");
@@ -1526,7 +1529,7 @@ image_load_png(image_t *img, /* I - Imag
png_read_info(pp, info);
- if (info->color_type & PNG_COLOR_MASK_PALETTE)
+ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE)
{
png_set_expand(pp);
@@ -1535,15 +1538,15 @@ image_load_png(image_t *img, /* I - Imag
if (Encryption)
img->use ++;
}
- else if (info->bit_depth < 8)
+ else if (png_get_bit_depth(pp, info) < 8)
{
png_set_packing(pp);
png_set_expand(pp);
}
- else if (info->bit_depth == 16)
+ else if (png_get_bit_depth(pp, info) == 16)
png_set_strip_16(pp);
- if (info->color_type & PNG_COLOR_MASK_COLOR)
+ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
{
depth = 3;
img->depth = gray ? 1 : 3;
@@ -1554,10 +1557,11 @@ image_load_png(image_t *img, /* I - Imag
img->depth = 1;
}
- img->width = info->width;
- img->height = info->height;
+ img->width = png_get_image_width(pp, info);
+ img->height = png_get_image_height(pp, info);
- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
+ png_get_tRNS(pp, info, &trans_alpha, &num_trans, &trans_color);
+ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans)
{
if ((PSLevel == 0 && PDFVersion >= 14) || PSLevel == 3)
image_need_mask(img, 8);
@@ -1571,14 +1575,14 @@ image_load_png(image_t *img, /* I - Imag
#ifdef DEBUG
printf("color_type=0x%04x, depth=%d, img->width=%d, img->height=%d, img->depth=%d\n",
- info->color_type, depth, img->width, img->height, img->depth);
- if (info->color_type & PNG_COLOR_MASK_COLOR)
+ png_get_color_type(pp, info), depth, img->width, img->height, img->depth);
+ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
puts(" COLOR");
else
puts(" GRAYSCALE");
- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
+ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans)
puts(" ALPHA");
- if (info->color_type & PNG_COLOR_MASK_PALETTE)
+ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE)
puts(" PALETTE");
#endif // DEBUG
@@ -1594,9 +1598,9 @@ image_load_png(image_t *img, /* I - Imag
* Allocate pointers...
*/
- rows = (png_bytep *)calloc(info->height, sizeof(png_bytep));
+ rows = (png_bytep *)calloc(png_get_image_height(pp, info), sizeof(png_bytep));
- for (i = 0; i < (int)info->height; i ++)
+ for (i = 0; i < (int)png_get_image_height(pp, info); i ++)
rows[i] = img->pixels + i * img->width * depth;
/*
@@ -1610,7 +1614,7 @@ image_load_png(image_t *img, /* I - Imag
* Generate the alpha mask as necessary...
*/
- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
+ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans)
{
#ifdef DEBUG
for (inptr = img->pixels, i = 0; i < img->height; i ++)
@@ -1639,7 +1643,7 @@ image_load_png(image_t *img, /* I - Imag
* Reformat the data as necessary for the reader...
*/
- if (gray && info->color_type & PNG_COLOR_MASK_COLOR)
+ if (gray && png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
{
/*
* Greyscale output needed...

@ -1,38 +0,0 @@
Fix several insecure calls to sscanf(), bug 278186. Patch by a3li@gentoo.org.
diff -ru a/htmldoc/htmllib.cxx b/htmldoc/htmllib.cxx
--- a/htmldoc/htmllib.cxx 2006-06-07 19:43:52.000000000 +0200
+++ b/htmldoc/htmllib.cxx 2009-08-01 19:52:46.301099436 +0200
@@ -2139,7 +2139,7 @@
* assigned charset...
*/
- if (sscanf(line, "%*s%*s%*s%*s%f%*s%*s%s", &width, glyph) != 2)
+ if (sscanf(line, "%*s%*s%*s%*s%f%*s%*s%63s", &width, glyph) != 2)
continue;
for (ch = 0; ch < 256; ch ++)
diff -ru a/htmldoc/ps-pdf.cxx b/htmldoc/ps-pdf.cxx
--- a/htmldoc/ps-pdf.cxx 2006-08-01 18:58:50.000000000 +0200
+++ b/htmldoc/ps-pdf.cxx 2009-08-01 19:53:14.300610480 +0200
@@ -12512,7 +12512,7 @@
* assigned charset...
*/
- if (sscanf(line, "%*s%*s%*s%*s%d%*s%*s%s", &width, glyph) != 2)
+ if (sscanf(line, "%*s%*s%*s%*s%d%*s%*s%63s", &width, glyph) != 2)
continue;
for (ch = 0; ch < 256; ch ++)
diff -ru a/htmldoc/util.cxx b/htmldoc/util.cxx
--- a/htmldoc/util.cxx 2005-04-24 21:20:32.000000000 +0200
+++ b/htmldoc/util.cxx 2009-08-01 19:52:14.469652088 +0200
@@ -484,7 +484,7 @@
PageWidth = 595;
PageLength = 792;
}
- else if (sscanf(size, "%fx%f%s", &width, &length, units) >= 2)
+ else if (sscanf(size, "%fx%f%254s", &width, &length, units) >= 2)
{
/*
* Custom size...

@ -1,57 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils toolchain-funcs
DESCRIPTION="Convert HTML pages into a PDF document"
SRC_URI="http://www.msweet.org/files/project1/${P}-source.tar.bz2"
HOMEPAGE="http://www.msweet.org/projects.php?Z1"
IUSE="fltk"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86"
DEPEND=">=media-libs/libpng-1.4:0=
virtual/jpeg:0
fltk? ( x11-libs/fltk:1 )
"
RDEPEND="${DEPEND}"
src_prepare() {
# make sure not to use the libs htmldoc ships with
mkdir foo ; mv jpeg foo/ ; mv png foo/ ; mv zlib foo/
sed -i "s:^#define DOCUMENTATION \"\$prefix/share/doc/htmldoc\":#define DOCUMENTATION \"\$prefix/share/doc/${PF}/html\":" \
configure || die
eapply "${FILESDIR}/${PN}-destdir.patch" \
"${FILESDIR}/${PN}-break.patch"
default
}
src_configure() {
local myconf="$(use_with fltk gui)"
CC=$(tc-getCC) CXX=$(tc-getCXX) \
econf ${myconf}
# Add missing -lfltk_images to LIBS
if use fltk; then
sed -i 's:-lfltk :-lfltk -lfltk_images :g' Makedefs || die
fi
}
src_compile() {
emake
}
src_install() {
emake DESTDIR="${D}" install
# Minor cleanups
mv "${D}/usr/share/doc/htmldoc" "${D}/usr/share/doc/${PF}"
dodir /usr/share/doc/${PF}/html
mv "${D}"/usr/share/doc/${PF}/*.html "${D}/usr/share/doc/${PF}/html"
}

@ -14,7 +14,7 @@ LICENSE="LGPL-2.1"
SLOT="0"
[[ ${PV} == 9999 ]] || \
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="amd64 ~arm x86"
IUSE="doc static-libs tools"

@ -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=4
@ -67,7 +67,7 @@ pkg_setup() {
elog "all cases, at least a small English dictionary will be installed."
elog
elog "To specify which optional dictionaries are installed, set the"
elog "L10N variable in /etc/make.conf. For example, to install full"
elog "L10N variable in /etc/portage/make.conf. For example, to install full"
elog "English and French dictionaries, use:"
elog " L10N=\"en fr\""
elog

@ -0,0 +1,48 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
VIM_PLUGIN_MESSAGES="filetype"
VIM_PLUGIN_HELPFILES="PythonModeCommands"
VIM_PLUGIN_HELPURI="https://github.com/klen/python-mode"
PYTHON_COMPAT=( python2_7 )
inherit vim-plugin python-single-r1
DESCRIPTION="Provide python code looking for bugs, refactoring and other useful things"
HOMEPAGE="http://www.vim.org/scripts/script.php?script_id=3770 https://github.com/klen/python-mode"
SRC_URI="https://github.com/klen/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3"
KEYWORDS="~amd64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
dev-python/rope[${PYTHON_USEDEP}]
dev-python/astng[${PYTHON_USEDEP}]
dev-python/pylint[${PYTHON_USEDEP}]
dev-python/pyflakes[${PYTHON_USEDEP}]
dev-python/autopep8[${PYTHON_USEDEP}]
dev-python/ropemode[${PYTHON_USEDEP}]"
RESTRICT="test"
src_prepare() {
default
sed -e "s|expand(\"<sfile>:p:h:h\")|\"${EPREFIX}/usr/share/${PN}\"|" \
-i autoload/pymode.vim || die # use custom path
}
src_install() {
vim-plugin_src_install
insinto "usr/share/${PN}"
}
pkg_postinst() {
vim-plugin_pkg_postinst
}

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="LGPL-2 GPL-3"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="altivec debug doc openmp test"
IUSE+=" cpu_flags_x86_sse2"
IUSE+=" cpu_flags_x86_sse3"

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="LGPL-2 GPL-3"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="altivec debug doc openmp test"
IUSE+=" cpu_flags_x86_sse2"
IUSE+=" cpu_flags_x86_sse3"

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="LGPL-2 GPL-3"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="altivec debug doc openmp test"
IUSE+=" cpu_flags_x86_sse2"
IUSE+=" cpu_flags_x86_sse3"

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="LGPL-2 GPL-3"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx
IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="LGPL-2 GPL-3"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx
IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87

@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="MPL-2.0"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx
IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87

@ -1,15 +1,21 @@
DIST postgresql-10beta3.tar.bz2 19914123 SHA256 6722546739f8e2dd379e8031784e86c5c588638df6c477046ebdd479586bcb3e SHA512 cdbda1c17d58f2999ad71a208d6aa3b18b82bfc8f185eb4ce36496b27ae23bca03f76925e4b242a4c3c2eec96ca0b135e696f55b59282b208ecfe7f8b642f24f WHIRLPOOL 5db99df6c8d0b455a3e6c8d4a734be52bb5dc6b3225cb0f3d547ea22e87e4eae45709667bad71bc1fe8e7f024345c1b9e186b07faf9c23a9db046c9bfc01e8af
DIST postgresql-10beta4.tar.bz2 20024694 SHA256 e70ffa84d439033533279ccb3ae7beaa0278585b2b176a767bcd0cbddb1252d2 SHA512 23c09299b6e5f36d112588fdde0f0be14ebd0561a1d4f06535043427b802635d6da832de0e0bcf90338cf2450821d51c26e1aa959d805009e4c8e6ef1d5129fa WHIRLPOOL ff5ed8a473627141993ea747a17d6b6324c1611709944af89a1f1082ab28b93d91f65484b6e823cd471ac08f1afd0e1ebf98a4cd27b3c341d614f20a7656e53d
DIST postgresql-9.2.19.tar.bz2 16466698 SHA256 1d29d73a4f590fcc348280f13ac2ff6a0f72c94908c54e3c20b7ab1560e8dbad SHA512 d3b4c5578bf6d6580028e775bff81a921258cb53b6b06567d96a352d14f3b63063adb480b2f5e2029baf8a034e14b5cd75eebc04f1ed7b16c849e1a5ec1f4867 WHIRLPOOL c13b45fd7aee08ea472557c9f40d79c45abd572fefcc215002b562b8046b1937bf522f6f7f6e280ff1e434c9698734cda9f1c3dacd3c8fee5f33dad0da21f75f
DIST postgresql-9.2.21.tar.bz2 16508040 SHA256 0697e843523ee60c563f987f9c65bc4201294b18525d6e5e4b2c50c6d4058ef9 SHA512 c548cd1ba34ad71dd3f1acde5775ba2e71121f004324fac44dbe123a91d599ced0f1b8be675ed07b77712e8c23f376ff6221349385c19a88c4edbbb186f17861 WHIRLPOOL c46fd4909e2d534b98c8a97f0f5410ab40285c118517a36ee73d0e1234483144d1f58785a59df53fdbfab7c2876a60d000bf574dff0be3030f8c909509b1bfe6
DIST postgresql-9.2.22.tar.bz2 16531224 SHA256 a70e94fa58776b559a8f7b5301371ac4922c9e3ed313ccbef20862514de7c192 SHA512 3e5ab04c2be2719579b2ebbf64b220522acfd9ea74029dd2ed699f60230da224bdc99de4ee5529b513e5586de0377764c4e54deb3dd93d5c53c4d666dce2b6b7 WHIRLPOOL ff1817463b488f4793cd0851df846b961d5510b7c1cf4a560717755ca47c363eb782bc1f2cd7a5d8cbc49727dea64394c6b30038105fc584749157157948964d
DIST postgresql-9.2.23.tar.bz2 16531436 SHA256 0e6ecdfeed69030dac8d219ecd4c350ce45e9f2caa9d73e166e407e87afec450 SHA512 9715cb9aa34921f7d246837c6c516d588f88fda543ad635520e9575a5ea448ad39062f2c89c086c7f129cc5f61f4dca33e4f5fd94e1df39da428507c56a81ba3 WHIRLPOOL adb7b0b54661e5208967d6158591b918e776a998d34973c907afac83fb50870f2357446ff40bc7a0fbc71723c12c299b0a29ab3b8a71c1ab5b302281d3a0cd50
DIST postgresql-9.3.15.tar.bz2 17059932 SHA256 a9fcba1446a93aa95e3e1b6535756f0472d10b0f267a0845f8b2b29f89de5c4f SHA512 35c30cdb5599f99c94ab921f9f5e7671a8c0b7bca8fe3b616630ae13d6eda8d329e77e7e802da6a83cb09c3c9ca10fa8ce0de8a184e6fff471130e1cd68ce762 WHIRLPOOL 7a627b2da1dc3671df7edfe58420f81ce24202c1251225054674d79e431bc36e1a70c84aaacb76c59e9eefb26429cbbb9ea80c45a989e3564b69e334d3dd4d84
DIST postgresql-9.3.17.tar.bz2 17158802 SHA256 9c03e5f280cfe9bd202fa01af773eb146abd8ab3065f7279d574c568f6948dbe SHA512 4b6fc079c2bb728b13b72eb2f7d92183ffb1a9b32110d99dfce674032ac499963b75a021265ba08dc95c34ae35a7edac65ef1e658e66ee2da41c1ce646a702dc WHIRLPOOL f573aaa6acf6d542ed647f392bdb42cd60f650e66174c603f0344d64e2962f2fbb46f0233226188ee9a3a75b2de6532738aac28876bd097556eb4f6c0de21667
DIST postgresql-9.3.18.tar.bz2 17194269 SHA256 ad60d12a5a3dd0f6f5904c41b87e43eff49d3f74e45129fe52c5744366ff2fe0 SHA512 df3f2e0bb396cac74021fcc1a989d04515c12e73846b7392ae859c32668d73ae0027607426072672b6228d7533cc512f72b5729bf5c8f7b0e8d0270727784455 WHIRLPOOL c5b3db88e01c507556b354acb1ecf2bbf43246d023c5d9e1d8479ce4aa9944beca518abbd3e810830af1d75356272b4df3eb58358edfdd265cdc395f62ac8c33
DIST postgresql-9.3.19.tar.bz2 17190203 SHA256 fb9e872cd9e927ba331690d86bc63dcb5a596acb7a536fa0518a3c7d43ac2fb5 SHA512 7293d75b97255720c30d342e1de6032e14e9112e283d2668e80320f76906038d7419ffa7a12eba1fcf9f9274595db10e372db4999b0845cb55998d47f683ebb1 WHIRLPOOL 11ca6ea696de3c25bdaf6073ca4163dbc2f7699772b38ea2c3aababd5b3fb0b0f05e55fb3c255556e35ea3f2feab7129ed5c0ec3944d2f430d0681c33fe4d398
DIST postgresql-9.4.10.tar.bz2 17802812 SHA256 7061678bed1981c681ce54c76b98b6ec17743f090a9775104a45e7e1a8826ecf SHA512 2fcf47769b22c69bc82c9d6edc317e18dfcb4a96534e012bae4355e5088afa83da98b21e08a07766794f0a166888acbd16705a806464ea11711ed97c3b4012fb WHIRLPOOL e6ed3c209043cbbacb0698e1be367f20028d649d4cff62b5d6edd162c6ad629a3ec5f55854bd12334a3d3165462fecb34188bd62cd398cfc242a3579810b5b85
DIST postgresql-9.4.12.tar.bz2 17833119 SHA256 fca055481875d1c49e31c28443f56472a1474b3fbe25b7ae64440c6118f82e64 SHA512 69951f9e66069aad1049a0ea9fdcd7bf2f84b42e7c6e0f761d78ab22131a39cf56448ef0ddc28170b66970bf53edf2d2355530fcfc0a2dca92b66d69686b7ecb WHIRLPOOL ca023aab29d7993e236c52df58d6fae6f9bd1649cf20f1e1b118ff232dc41674001d3dc9bc945e3f9dd61779dde27cb93265b89d3615e47f49ea46751d8e97c3
DIST postgresql-9.4.13.tar.bz2 17867502 SHA256 0080f55d65194de8b96a2dab153443f8248ff2b2b10e6ab4cda2dcadcac7f2ab SHA512 98e5721ab1ebc88070a5c2c9ef10e4fc21825de495db71f011577aa15fdd31c2dc0429d48e1624f7161c9d31dd75de4d8cf4ed2e34006ed6d1852f04a948e932 WHIRLPOOL 4f963b81dca21a2f3f5e047b5cfd1796d103c0648c4af0250ffe2274ed71011634dfc1e8387fe6dfa6589585a8fcb5accc9878c461978b9abd483b85f6ea3e68
DIST postgresql-9.4.14.tar.bz2 17873740 SHA256 8e7df23a104b057b360d03180ebcb67f645e198a4a0bee94bf56b2bc9505ec6b SHA512 5952479b7c911cc381744e72d44c7c2269f98f4dda677e8c20a8ac7f4281e143017d287634b707ed96859e5438e82e96668bc4c68bb0c2ce9f3853c5a38fd0b2 WHIRLPOOL de4deeef5fca6375265665cc847b693a39bf09e13d8dcc717090b808b82a6fb5cab5e0da0bd7f9bcf299de979d21bbbb6845a0419e6967519711c6bb7ff559c1
DIST postgresql-9.5.5.tar.bz2 18525082 SHA256 02c65290be74de6604c3fed87c9fd3e6b32e949f0ab8105a75bd7ed5aa71f394 SHA512 727ab57796cd393ec3755e9aabf515ebbdc3152b4062c20e64511e866a7e7038ba5c5e2843f13f3a79e2263296451f0e93108346b6f638611fba2449394e338e WHIRLPOOL ec5262fd8cecea20fd12bcec8e6e015817ae8181d9e9ff6d8aca6ed43cadedac1bd5006c3d04262b99b9a79aa02c409920ab3392136f3ff3dc480fe1155cade8
DIST postgresql-9.5.7.tar.bz2 18639775 SHA256 8b1e936f82109325decc0f5575e846b93fb4fd384e8c4bde83ff5e7f87fc6cad SHA512 0f879a8d7587739aa9a696d60f909f819d567c67dff7c730d5e856639ed78ebc35beeb3cdaf782573d7e62c7056560a934f64cf11ccac6e309f58bb82d1ca78f WHIRLPOOL d58fb5bc378a58efaf2be8d689bd6d511170c3de18e5300ed46be51e272654d52807fd9a783b6a3ec30a022a44577edb19d6627e5153b5e14259de5571ba15bb
DIST postgresql-9.5.8.tar.bz2 18670910 SHA256 ade57068f134f36710fa953e1ef79185abd96572f8098741413132f79ed37202 SHA512 4a11f0a16df460391c8250122ca8bf1ab76e49672a8c003ed09718bb4ce2aa57757e7aaec6e41b53d0d1ada293172b974761606647fcc8b4fce8807490b6ef10 WHIRLPOOL 7688ddeea69449d2e2a518017d306f6c17a08becb258297cbf4bde9f3734c5ba2129a9660b448df458963a7cdc796bbb72f2798c20abd3d50d1be8d4f3f94ec1
DIST postgresql-9.5.9.tar.bz2 18677113 SHA256 e98cd5c664ab5a05cb83618ba8078647815cb71f7a60437f0322c7518727cdd4 SHA512 2c6a887b80a4b1d1da18282f443419db2279d8fe61821aa6ed1e9af6d28dda41959981ccede2456bd8835dccd16a80fd485ebc0a1bdc9459996a5d27d7781c55 WHIRLPOOL 522c7927c102b9a3bf14d79d00cd9d598f02dcba97f5f6268f4d1fc0ac20773bfcc96bea945ca958b3ed499af3d1555d8b731a1ef0915d919923d54915090147
DIST postgresql-9.6.3.tar.bz2 19534323 SHA256 1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6 SHA512 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1 WHIRLPOOL 774146faf5795796812e541d3c7a2ad9ce8125afdc64c0bfa599a733904f4efd3c73dfb907dbb66b6482b2d6efdbd9f2c0dcedffcc4e23bd6030e968a51db658
DIST postgresql-9.6.4.tar.bz2 19566875 SHA256 2b3ab16d82e21cead54c08b95ce3ac480696944a68603b6c11b3205b7376ce13 SHA512 b0527efacce6efc09340b68c8c56483cd884676e01cb6bfb4f9ce63226a394bdb0bcf3d832f84e4dff5ceecf09ef4cf93e9fbd0ac453ec85efb11ac50a7dff39 WHIRLPOOL 6296114c2a6f690428754278d11fb93f2142c28bc36e0a17b4b075b60ee90bf708d73d68ff6e8118253ef22e54cd5e325094e3675eccb7f060e32af2572a65b0
DIST postgresql-9.6.5.tar.bz2 19576132 SHA256 06da12a7e3dddeb803962af8309fa06da9d6989f49e22865335f0a14bad0744c SHA512 ad35c27ea55b18005ea61b49d6994718df86519b3f99addd0ecb17ece1f1c34764eb5194f8961c45cfa75703d810baf54433f8538cfd43a70bd908e1e5878df9 WHIRLPOOL 19e235cc5583b23fc00c3cf47a77972471f39753dc16305e880b22e32395194bd002dd86da1b59be795a9df7786b02764af513aae992a0bea00cd6fcbf349c41

@ -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 -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= )
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 !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
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" | \
systemd_newunit - ${PN}-${SLOT}.service
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
fi
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 0775 /run/postgresql
fi
fi
}
pkg_postinst() {
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,445 @@
# 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 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}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service" | \
systemd_newunit - ${PN}-${SLOT}.service
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 0775 /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() {
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,450 @@
# 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 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}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service" | \
systemd_newunit - ${PN}-${SLOT}.service
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 0775 /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() {
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,482 @@
# 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 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}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service" | \
systemd_newunit - ${PN}-${SLOT}.service
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 0775 /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() {
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,488 @@
# 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 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}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service" | \
systemd_newunit - ${PN}-${SLOT}.service
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 0775 /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() {
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,495 @@
# 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" | \
systemd_newunit - ${PN}-${SLOT}.service
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 0775 /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() {
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 +1,2 @@
DIST tiled-1.0.2.tar.gz 6601753 SHA256 23dd9ec1c7437f03fbb45d05b0706d8ed9fa4327ac421c6446034ad5c9899d8c SHA512 d85a90cd515a0f7bcd63bd00452ab271e41c4c23ea78a3167024d4052ff83782eca81836874a9acc03ea304782e7ed4e6e377dadea8197874337e58c38dc305b WHIRLPOOL c72fbb2508438672a8b4995e4c2e88404e76b98df6e4522ad7bd4bf99aecde96e6ba267553d152ca89804d0ff4709d82d7205422325b98e09494425f69149d07
DIST tiled-1.0.3.tar.gz 6601791 SHA256 3d0665bd988a877b7156842daeddd91fa17b1b473d2e5ebf8a62ffe2c9a047e2 SHA512 4f3c97a91794f86f04965a2332e04f51bc588f7bcfef402edb1092c4e58bb6ace9c90ea522a5fa15a46ca39c8249f62818b80be6d65c11a8d41092ead31cd4f7 WHIRLPOOL f69978ef073d1516157306839cab40c3414d5743f1f9c1cfa952fac0ec81cfef075cd8bebba3f3f84b7b9dfdef48ca069728d6c7c041587d42333d332f59a8e9

@ -0,0 +1,63 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit gnome2-utils multilib python-single-r1 qmake-utils xdg
DESCRIPTION="A general purpose tile map editor"
HOMEPAGE="http://www.mapeditor.org/"
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
LICENSE="BSD BSD-2 GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="examples python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
>=dev-qt/qtcore-5.7:5
>=dev-qt/qtgui-5.7:5
>=dev-qt/qtnetwork-5.7:5
>=dev-qt/qtwidgets-5.7:5
sys-libs/zlib
python? ( ${PYTHON_DEPS} )
"
DEPEND="${RDEPEND}
dev-qt/linguist-tools:5
"
DOCS=( AUTHORS COPYING NEWS.md README.md )
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_configure() {
eqmake5 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
}
src_install() {
emake INSTALL_ROOT="${D}" install
einstalldocs
if use examples ; then
docompress -x /usr/share/doc/${PF}/examples
dodoc -r examples
fi
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -1,2 +1,2 @@
DIST commons-cli-1.2-src.tar.gz 68594 SHA256 b589cd675866aec12a068e0717f2bd52ead6128c43ba1612a8815db1df7f6e67 SHA512 61759cf0c791c4308b4df6a6c163b4abbb5e07909ba4904ad6565f6453ecad2ecbdc2d2df3e113b469f0d621866dfd7de07b857949ca7607c02c8ec75740eb80 WHIRLPOOL f89a34ca0f66b83643f54a976793f08d8d77b90f886fdc991e091495186050fb6424d04da10affb072367bbffb96faaf763cebf782d7fd11366c84678e826019
DIST commons-cli-1.3.1-src.tar.gz 145886 SHA256 d4f7eedf6def7cd574ff9b0050a5a7203a702ed13c88d9fbb85b84284ab172ba SHA512 b5c569bea3c213a1959ae698894f2234477a7a5ed246f8e81142041173f668802959be018011bce6aa2a5631081378e67d69eeba9136fa19c96193dbdf2a7d15 WHIRLPOOL 2e589f5644c5d7cead5bb88364cd982a717b7eab33c50c9ff0dc14d562d5eb92e6f76f7e80c2b356d08cf1e80b6943d81d7f98f554b4de54fc394916c9e4c56e
DIST commons-cli-1.4-src.tar.gz 148530 SHA256 a1def8d94e4fe6be4ffde100a74a647fe3df5ba02f85e3c9191fbb00be880f16 SHA512 a5db856f6154e4340aab1865e3b34c752c0dceb8063faa64740ed470d8e6b3e7782242ae51d6bb57a535a6d6dad2943cc3130d7202223b8f89b8cbecdc3d9d4f WHIRLPOOL 55ea385ee8f861e248022175a66a93efb65608b26b5beb51fd3c5cc68767c10d87bea4bf63b2f0fc3d79172ddcc8cb3c72033d826834ce24081534520bbafb10

@ -1,52 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Upstream switched to Maven as a build system. Current build.xml file was generated by running mvn ant:ant
# A bit of tweaking was required unfortunately
EAPI="2"
JAVA_PKG_IUSE="doc source test"
inherit java-pkg-2 java-ant-2 eutils
DESCRIPTION="A Java library for working with the command line arguments and options"
HOMEPAGE="http://commons.apache.org/cli/"
MY_P="${P}-src"
SRC_URI="mirror://apache/commons/cli/source/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="amd64 ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE=""
RESTRICT=""
RDEPEND=">=virtual/jre-1.4"
# Blocking junit for https://bugs.gentoo.org/show_bug.cgi?id=215659
DEPEND=">=virtual/jdk-1.4
!<dev-java/junit-3.8.2
test? ( dev-java/ant-junit )"
S="${WORKDIR}/${MY_P}"
JAVA_ANT_REWRITE_CLASSPATH="true"
src_unpack() {
unpack ${A}
cp "${FILESDIR}/build-${PV}.xml" "${S}/build.xml"
}
src_install() {
java-pkg_newjar "target/${P}.jar"
dodoc README.txt RELEASE-NOTES.txt || die
use doc && java-pkg_dojavadoc target/site/apidocs
use source && java-pkg_dosrc src/java/org
}
# org.apache.commons.cli.ParserTestCase should not be ran, so we removed this class in build.xml
src_test() {
ANT_TASKS="ant-junit"
eant -Djunit.present="true" test
}

@ -12,7 +12,7 @@ HOMEPAGE="http://commons.apache.org/cli/"
SRC_URI="mirror://apache/commons/cli/source/${P}-src.tar.gz"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="amd64 ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="test"
RDEPEND=">=virtual/jre-1.7"

@ -0,0 +1,41 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="A Java library for working with the command line arguments and options"
HOMEPAGE="http://commons.apache.org/cli/"
SRC_URI="mirror://apache/commons/cli/source/${P}-src.tar.gz"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="test"
RDEPEND=">=virtual/jre-1.7"
DEPEND=">=virtual/jdk-1.7
test? ( dev-java/junit:4 )"
S="${WORKDIR}/${P}-src"
JAVA_SRC_DIR="src/main/java"
src_install() {
java-pkg-simple_src_install
dodoc CONTRIBUTING.md NOTICE.txt README.md RELEASE-NOTES.txt
}
src_test() {
cd src/test/java || die
local CP=".:${S}/${PN}.jar:$(java-pkg_getjars junit-4)"
local TESTS=$(find * -name "*Test.java")
TESTS="${TESTS//.java}"
TESTS="${TESTS//\//.}"
ejavac -cp "${CP}" -d . $(find * -name "*.java")
ejunit4 -classpath "${CP}" ${TESTS}
}

@ -1,531 +0,0 @@
Description: Fix constants for wxwidgets3.0
The values of wx constants can change between stable release series (and
some have between 2.8 and 3.0), but erlang seems to hardcode these values.
Author: Olly Betts <olly@survex.com>
Bug-Debian: https://bugs.debian.org/766790
Forwarded: no
Last-Update: 2014-11-25
--- a/lib/wx/include/wx.hrl
+++ b/lib/wx/include/wx.hrl
@@ -767,7 +767,7 @@
% From "checkbox.h"
-define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192).
-define(wxCHK_3STATE, 4096).
--define(wxCHK_2STATE, 0).
+-define(wxCHK_2STATE, 16384).
% From "checkbox.h": wxCheckBoxState
-define(wxCHK_UNCHECKED, 0).
-define(wxCHK_CHECKED, 1).
@@ -1014,10 +1014,10 @@
-define(wxSIZE_AUTO_WIDTH, 1).
-define(wxSETUP, 131072).
-define(wxMORE, 65536).
--define(wxHELP, 32768).
--define(wxRESET, 16384).
--define(wxBACKWARD, 8192).
--define(wxFORWARD, 4096).
+-define(wxHELP, 4096).
+-define(wxRESET, 32768).
+-define(wxBACKWARD, 16384).
+-define(wxFORWARD, 8192).
-define(wxICON_MASK, (16#00000100 bor 16#00000200 bor 16#00000400 bor 16#00000800)).
-define(wxICON_ASTERISK, ?wxICON_INFORMATION).
-define(wxICON_STOP, ?wxICON_HAND).
@@ -1049,8 +1049,8 @@
-define(wxTC_TOP, 0).
-define(wxTC_FIXEDWIDTH, 32).
-define(wxTC_RIGHTJUSTIFY, 16).
--define(wxSP_WRAP, 8192).
--define(wxSP_ARROW_KEYS, 4096).
+-define(wxSP_WRAP, 32768).
+-define(wxSP_ARROW_KEYS, 16384).
-define(wxSP_VERTICAL, ?wxVERTICAL).
-define(wxSP_HORIZONTAL, ?wxHORIZONTAL).
-define(wxSB_VERTICAL, ?wxVERTICAL).
@@ -1071,8 +1071,8 @@
-define(wxCB_SIMPLE, 4).
-define(wxLB_INT_HEIGHT, 2048).
-define(wxLB_HSCROLL, ?wxHSCROLL).
--define(wxLB_ALWAYS_SB, 1024).
--define(wxLB_NEEDED_SB, 512).
+-define(wxLB_ALWAYS_SB, 512).
+-define(wxLB_NEEDED_SB, 0).
-define(wxLB_OWNERDRAW, 256).
-define(wxLB_EXTENDED, 128).
-define(wxLB_MULTIPLE, 64).
@@ -1548,7 +1548,7 @@
-define(wxUPDATE_UI_FROMIDLE, 2).
% From "dialog.h"
-define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)).
--define(wxDIALOG_NO_PARENT, 1).
+-define(wxDIALOG_NO_PARENT, 32).
% From "dirctrlg.h"
-define(wxDIRCTRL_DIR_ONLY, 16).
-define(wxDIRCTRL_SELECT_FIRST, 32).
@@ -2036,212 +2036,212 @@
-define(wxLANGUAGE_ARABIC_YEMEN, 24).
-define(wxLANGUAGE_ARMENIAN, 25).
-define(wxLANGUAGE_ASSAMESE, 26).
--define(wxLANGUAGE_AYMARA, 27).
--define(wxLANGUAGE_AZERI, 28).
--define(wxLANGUAGE_AZERI_CYRILLIC, 29).
--define(wxLANGUAGE_AZERI_LATIN, 30).
--define(wxLANGUAGE_BASHKIR, 31).
--define(wxLANGUAGE_BASQUE, 32).
--define(wxLANGUAGE_BELARUSIAN, 33).
--define(wxLANGUAGE_BENGALI, 34).
--define(wxLANGUAGE_BHUTANI, 35).
--define(wxLANGUAGE_BIHARI, 36).
--define(wxLANGUAGE_BISLAMA, 37).
--define(wxLANGUAGE_BRETON, 38).
--define(wxLANGUAGE_BULGARIAN, 39).
--define(wxLANGUAGE_BURMESE, 40).
--define(wxLANGUAGE_CAMBODIAN, 41).
--define(wxLANGUAGE_CATALAN, 42).
--define(wxLANGUAGE_CHINESE, 43).
--define(wxLANGUAGE_CHINESE_SIMPLIFIED, 44).
--define(wxLANGUAGE_CHINESE_TRADITIONAL, 45).
--define(wxLANGUAGE_CHINESE_HONGKONG, 46).
--define(wxLANGUAGE_CHINESE_MACAU, 47).
--define(wxLANGUAGE_CHINESE_SINGAPORE, 48).
--define(wxLANGUAGE_CHINESE_TAIWAN, 49).
--define(wxLANGUAGE_CORSICAN, 50).
--define(wxLANGUAGE_CROATIAN, 51).
--define(wxLANGUAGE_CZECH, 52).
--define(wxLANGUAGE_DANISH, 53).
--define(wxLANGUAGE_DUTCH, 54).
--define(wxLANGUAGE_DUTCH_BELGIAN, 55).
--define(wxLANGUAGE_ENGLISH, 56).
--define(wxLANGUAGE_ENGLISH_UK, 57).
--define(wxLANGUAGE_ENGLISH_US, 58).
--define(wxLANGUAGE_ENGLISH_AUSTRALIA, 59).
--define(wxLANGUAGE_ENGLISH_BELIZE, 60).
--define(wxLANGUAGE_ENGLISH_BOTSWANA, 61).
--define(wxLANGUAGE_ENGLISH_CANADA, 62).
--define(wxLANGUAGE_ENGLISH_CARIBBEAN, 63).
--define(wxLANGUAGE_ENGLISH_DENMARK, 64).
--define(wxLANGUAGE_ENGLISH_EIRE, 65).
--define(wxLANGUAGE_ENGLISH_JAMAICA, 66).
--define(wxLANGUAGE_ENGLISH_NEW_ZEALAND, 67).
--define(wxLANGUAGE_ENGLISH_PHILIPPINES, 68).
--define(wxLANGUAGE_ENGLISH_SOUTH_AFRICA, 69).
--define(wxLANGUAGE_ENGLISH_TRINIDAD, 70).
--define(wxLANGUAGE_ENGLISH_ZIMBABWE, 71).
--define(wxLANGUAGE_ESPERANTO, 72).
--define(wxLANGUAGE_ESTONIAN, 73).
--define(wxLANGUAGE_FAEROESE, 74).
--define(wxLANGUAGE_FARSI, 75).
--define(wxLANGUAGE_FIJI, 76).
--define(wxLANGUAGE_FINNISH, 77).
--define(wxLANGUAGE_FRENCH, 78).
--define(wxLANGUAGE_FRENCH_BELGIAN, 79).
--define(wxLANGUAGE_FRENCH_CANADIAN, 80).
--define(wxLANGUAGE_FRENCH_LUXEMBOURG, 81).
--define(wxLANGUAGE_FRENCH_MONACO, 82).
--define(wxLANGUAGE_FRENCH_SWISS, 83).
--define(wxLANGUAGE_FRISIAN, 84).
--define(wxLANGUAGE_GALICIAN, 85).
--define(wxLANGUAGE_GEORGIAN, 86).
--define(wxLANGUAGE_GERMAN, 87).
--define(wxLANGUAGE_GERMAN_AUSTRIAN, 88).
--define(wxLANGUAGE_GERMAN_BELGIUM, 89).
--define(wxLANGUAGE_GERMAN_LIECHTENSTEIN, 90).
--define(wxLANGUAGE_GERMAN_LUXEMBOURG, 91).
--define(wxLANGUAGE_GERMAN_SWISS, 92).
--define(wxLANGUAGE_GREEK, 93).
--define(wxLANGUAGE_GREENLANDIC, 94).
--define(wxLANGUAGE_GUARANI, 95).
--define(wxLANGUAGE_GUJARATI, 96).
--define(wxLANGUAGE_HAUSA, 97).
--define(wxLANGUAGE_HEBREW, 98).
--define(wxLANGUAGE_HINDI, 99).
--define(wxLANGUAGE_HUNGARIAN, 100).
--define(wxLANGUAGE_ICELANDIC, 101).
--define(wxLANGUAGE_INDONESIAN, 102).
--define(wxLANGUAGE_INTERLINGUA, 103).
--define(wxLANGUAGE_INTERLINGUE, 104).
--define(wxLANGUAGE_INUKTITUT, 105).
--define(wxLANGUAGE_INUPIAK, 106).
--define(wxLANGUAGE_IRISH, 107).
--define(wxLANGUAGE_ITALIAN, 108).
--define(wxLANGUAGE_ITALIAN_SWISS, 109).
--define(wxLANGUAGE_JAPANESE, 110).
--define(wxLANGUAGE_JAVANESE, 111).
--define(wxLANGUAGE_KANNADA, 112).
--define(wxLANGUAGE_KASHMIRI, 113).
--define(wxLANGUAGE_KASHMIRI_INDIA, 114).
--define(wxLANGUAGE_KAZAKH, 115).
--define(wxLANGUAGE_KERNEWEK, 116).
--define(wxLANGUAGE_KINYARWANDA, 117).
--define(wxLANGUAGE_KIRGHIZ, 118).
--define(wxLANGUAGE_KIRUNDI, 119).
--define(wxLANGUAGE_KONKANI, 120).
--define(wxLANGUAGE_KOREAN, 121).
--define(wxLANGUAGE_KURDISH, 122).
--define(wxLANGUAGE_LAOTHIAN, 123).
--define(wxLANGUAGE_LATIN, 124).
--define(wxLANGUAGE_LATVIAN, 125).
--define(wxLANGUAGE_LINGALA, 126).
--define(wxLANGUAGE_LITHUANIAN, 127).
--define(wxLANGUAGE_MACEDONIAN, 128).
--define(wxLANGUAGE_MALAGASY, 129).
--define(wxLANGUAGE_MALAY, 130).
--define(wxLANGUAGE_MALAYALAM, 131).
--define(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, 132).
--define(wxLANGUAGE_MALAY_MALAYSIA, 133).
--define(wxLANGUAGE_MALTESE, 134).
--define(wxLANGUAGE_MANIPURI, 135).
--define(wxLANGUAGE_MAORI, 136).
--define(wxLANGUAGE_MARATHI, 137).
--define(wxLANGUAGE_MOLDAVIAN, 138).
--define(wxLANGUAGE_MONGOLIAN, 139).
--define(wxLANGUAGE_NAURU, 140).
--define(wxLANGUAGE_NEPALI, 141).
--define(wxLANGUAGE_NEPALI_INDIA, 142).
--define(wxLANGUAGE_NORWEGIAN_BOKMAL, 143).
--define(wxLANGUAGE_NORWEGIAN_NYNORSK, 144).
--define(wxLANGUAGE_OCCITAN, 145).
--define(wxLANGUAGE_ORIYA, 146).
--define(wxLANGUAGE_OROMO, 147).
--define(wxLANGUAGE_PASHTO, 148).
--define(wxLANGUAGE_POLISH, 149).
--define(wxLANGUAGE_PORTUGUESE, 150).
--define(wxLANGUAGE_PORTUGUESE_BRAZILIAN, 151).
--define(wxLANGUAGE_PUNJABI, 152).
--define(wxLANGUAGE_QUECHUA, 153).
--define(wxLANGUAGE_RHAETO_ROMANCE, 154).
--define(wxLANGUAGE_ROMANIAN, 155).
--define(wxLANGUAGE_RUSSIAN, 156).
--define(wxLANGUAGE_RUSSIAN_UKRAINE, 157).
--define(wxLANGUAGE_SAMOAN, 158).
--define(wxLANGUAGE_SANGHO, 159).
--define(wxLANGUAGE_SANSKRIT, 160).
--define(wxLANGUAGE_SCOTS_GAELIC, 161).
--define(wxLANGUAGE_SERBIAN, 162).
--define(wxLANGUAGE_SERBIAN_CYRILLIC, 163).
--define(wxLANGUAGE_SERBIAN_LATIN, 164).
--define(wxLANGUAGE_SERBO_CROATIAN, 165).
--define(wxLANGUAGE_SESOTHO, 166).
--define(wxLANGUAGE_SETSWANA, 167).
--define(wxLANGUAGE_SHONA, 168).
--define(wxLANGUAGE_SINDHI, 169).
--define(wxLANGUAGE_SINHALESE, 170).
--define(wxLANGUAGE_SISWATI, 171).
--define(wxLANGUAGE_SLOVAK, 172).
--define(wxLANGUAGE_SLOVENIAN, 173).
--define(wxLANGUAGE_SOMALI, 174).
--define(wxLANGUAGE_SPANISH, 175).
--define(wxLANGUAGE_SPANISH_ARGENTINA, 176).
--define(wxLANGUAGE_SPANISH_BOLIVIA, 177).
--define(wxLANGUAGE_SPANISH_CHILE, 178).
--define(wxLANGUAGE_SPANISH_COLOMBIA, 179).
--define(wxLANGUAGE_SPANISH_COSTA_RICA, 180).
--define(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, 181).
--define(wxLANGUAGE_SPANISH_ECUADOR, 182).
--define(wxLANGUAGE_SPANISH_EL_SALVADOR, 183).
--define(wxLANGUAGE_SPANISH_GUATEMALA, 184).
--define(wxLANGUAGE_SPANISH_HONDURAS, 185).
--define(wxLANGUAGE_SPANISH_MEXICAN, 186).
--define(wxLANGUAGE_SPANISH_MODERN, 187).
--define(wxLANGUAGE_SPANISH_NICARAGUA, 188).
--define(wxLANGUAGE_SPANISH_PANAMA, 189).
--define(wxLANGUAGE_SPANISH_PARAGUAY, 190).
--define(wxLANGUAGE_SPANISH_PERU, 191).
--define(wxLANGUAGE_SPANISH_PUERTO_RICO, 192).
--define(wxLANGUAGE_SPANISH_URUGUAY, 193).
--define(wxLANGUAGE_SPANISH_US, 194).
--define(wxLANGUAGE_SPANISH_VENEZUELA, 195).
--define(wxLANGUAGE_SUNDANESE, 196).
--define(wxLANGUAGE_SWAHILI, 197).
--define(wxLANGUAGE_SWEDISH, 198).
--define(wxLANGUAGE_SWEDISH_FINLAND, 199).
--define(wxLANGUAGE_TAGALOG, 200).
--define(wxLANGUAGE_TAJIK, 201).
--define(wxLANGUAGE_TAMIL, 202).
--define(wxLANGUAGE_TATAR, 203).
--define(wxLANGUAGE_TELUGU, 204).
--define(wxLANGUAGE_THAI, 205).
--define(wxLANGUAGE_TIBETAN, 206).
--define(wxLANGUAGE_TIGRINYA, 207).
--define(wxLANGUAGE_TONGA, 208).
--define(wxLANGUAGE_TSONGA, 209).
--define(wxLANGUAGE_TURKISH, 210).
--define(wxLANGUAGE_TURKMEN, 211).
--define(wxLANGUAGE_TWI, 212).
--define(wxLANGUAGE_UIGHUR, 213).
--define(wxLANGUAGE_UKRAINIAN, 214).
--define(wxLANGUAGE_URDU, 215).
--define(wxLANGUAGE_URDU_INDIA, 216).
--define(wxLANGUAGE_URDU_PAKISTAN, 217).
--define(wxLANGUAGE_UZBEK, 218).
--define(wxLANGUAGE_UZBEK_CYRILLIC, 219).
--define(wxLANGUAGE_UZBEK_LATIN, 220).
--define(wxLANGUAGE_VIETNAMESE, 221).
--define(wxLANGUAGE_VOLAPUK, 222).
--define(wxLANGUAGE_WELSH, 223).
--define(wxLANGUAGE_WOLOF, 224).
--define(wxLANGUAGE_XHOSA, 225).
--define(wxLANGUAGE_YIDDISH, 226).
--define(wxLANGUAGE_YORUBA, 227).
--define(wxLANGUAGE_ZHUANG, 228).
--define(wxLANGUAGE_ZULU, 229).
+-define(wxLANGUAGE_AYMARA, 28).
+-define(wxLANGUAGE_AZERI, 29).
+-define(wxLANGUAGE_AZERI_CYRILLIC, 30).
+-define(wxLANGUAGE_AZERI_LATIN, 31).
+-define(wxLANGUAGE_BASHKIR, 32).
+-define(wxLANGUAGE_BASQUE, 33).
+-define(wxLANGUAGE_BELARUSIAN, 34).
+-define(wxLANGUAGE_BENGALI, 35).
+-define(wxLANGUAGE_BHUTANI, 36).
+-define(wxLANGUAGE_BIHARI, 37).
+-define(wxLANGUAGE_BISLAMA, 38).
+-define(wxLANGUAGE_BRETON, 40).
+-define(wxLANGUAGE_BULGARIAN, 41).
+-define(wxLANGUAGE_BURMESE, 42).
+-define(wxLANGUAGE_CAMBODIAN, 43).
+-define(wxLANGUAGE_CATALAN, 44).
+-define(wxLANGUAGE_CHINESE, 45).
+-define(wxLANGUAGE_CHINESE_SIMPLIFIED, 46).
+-define(wxLANGUAGE_CHINESE_TRADITIONAL, 47).
+-define(wxLANGUAGE_CHINESE_HONGKONG, 48).
+-define(wxLANGUAGE_CHINESE_MACAU, 49).
+-define(wxLANGUAGE_CHINESE_SINGAPORE, 50).
+-define(wxLANGUAGE_CHINESE_TAIWAN, 51).
+-define(wxLANGUAGE_CORSICAN, 52).
+-define(wxLANGUAGE_CROATIAN, 53).
+-define(wxLANGUAGE_CZECH, 54).
+-define(wxLANGUAGE_DANISH, 55).
+-define(wxLANGUAGE_DUTCH, 56).
+-define(wxLANGUAGE_DUTCH_BELGIAN, 57).
+-define(wxLANGUAGE_ENGLISH, 58).
+-define(wxLANGUAGE_ENGLISH_UK, 59).
+-define(wxLANGUAGE_ENGLISH_US, 60).
+-define(wxLANGUAGE_ENGLISH_AUSTRALIA, 61).
+-define(wxLANGUAGE_ENGLISH_BELIZE, 62).
+-define(wxLANGUAGE_ENGLISH_BOTSWANA, 63).
+-define(wxLANGUAGE_ENGLISH_CANADA, 64).
+-define(wxLANGUAGE_ENGLISH_CARIBBEAN, 65).
+-define(wxLANGUAGE_ENGLISH_DENMARK, 66).
+-define(wxLANGUAGE_ENGLISH_EIRE, 67).
+-define(wxLANGUAGE_ENGLISH_JAMAICA, 68).
+-define(wxLANGUAGE_ENGLISH_NEW_ZEALAND, 69).
+-define(wxLANGUAGE_ENGLISH_PHILIPPINES, 70).
+-define(wxLANGUAGE_ENGLISH_SOUTH_AFRICA, 71).
+-define(wxLANGUAGE_ENGLISH_TRINIDAD, 72).
+-define(wxLANGUAGE_ENGLISH_ZIMBABWE, 73).
+-define(wxLANGUAGE_ESPERANTO, 74).
+-define(wxLANGUAGE_ESTONIAN, 75).
+-define(wxLANGUAGE_FAEROESE, 76).
+-define(wxLANGUAGE_FARSI, 77).
+-define(wxLANGUAGE_FIJI, 78).
+-define(wxLANGUAGE_FINNISH, 79).
+-define(wxLANGUAGE_FRENCH, 80).
+-define(wxLANGUAGE_FRENCH_BELGIAN, 81).
+-define(wxLANGUAGE_FRENCH_CANADIAN, 82).
+-define(wxLANGUAGE_FRENCH_LUXEMBOURG, 83).
+-define(wxLANGUAGE_FRENCH_MONACO, 84).
+-define(wxLANGUAGE_FRENCH_SWISS, 85).
+-define(wxLANGUAGE_FRISIAN, 86).
+-define(wxLANGUAGE_GALICIAN, 87).
+-define(wxLANGUAGE_GEORGIAN, 88).
+-define(wxLANGUAGE_GERMAN, 89).
+-define(wxLANGUAGE_GERMAN_AUSTRIAN, 90).
+-define(wxLANGUAGE_GERMAN_BELGIUM, 91).
+-define(wxLANGUAGE_GERMAN_LIECHTENSTEIN, 92).
+-define(wxLANGUAGE_GERMAN_LUXEMBOURG, 93).
+-define(wxLANGUAGE_GERMAN_SWISS, 94).
+-define(wxLANGUAGE_GREEK, 95).
+-define(wxLANGUAGE_GREENLANDIC, 96).
+-define(wxLANGUAGE_GUARANI, 97).
+-define(wxLANGUAGE_GUJARATI, 98).
+-define(wxLANGUAGE_HAUSA, 99).
+-define(wxLANGUAGE_HEBREW, 100).
+-define(wxLANGUAGE_HINDI, 101).
+-define(wxLANGUAGE_HUNGARIAN, 102).
+-define(wxLANGUAGE_ICELANDIC, 103).
+-define(wxLANGUAGE_INDONESIAN, 104).
+-define(wxLANGUAGE_INTERLINGUA, 105).
+-define(wxLANGUAGE_INTERLINGUE, 106).
+-define(wxLANGUAGE_INUKTITUT, 107).
+-define(wxLANGUAGE_INUPIAK, 108).
+-define(wxLANGUAGE_IRISH, 109).
+-define(wxLANGUAGE_ITALIAN, 110).
+-define(wxLANGUAGE_ITALIAN_SWISS, 111).
+-define(wxLANGUAGE_JAPANESE, 112).
+-define(wxLANGUAGE_JAVANESE, 113).
+-define(wxLANGUAGE_KANNADA, 114).
+-define(wxLANGUAGE_KASHMIRI, 115).
+-define(wxLANGUAGE_KASHMIRI_INDIA, 116).
+-define(wxLANGUAGE_KAZAKH, 117).
+-define(wxLANGUAGE_KERNEWEK, 118).
+-define(wxLANGUAGE_KINYARWANDA, 119).
+-define(wxLANGUAGE_KIRGHIZ, 120).
+-define(wxLANGUAGE_KIRUNDI, 121).
+-define(wxLANGUAGE_KONKANI, 122).
+-define(wxLANGUAGE_KOREAN, 123).
+-define(wxLANGUAGE_KURDISH, 124).
+-define(wxLANGUAGE_LAOTHIAN, 125).
+-define(wxLANGUAGE_LATIN, 126).
+-define(wxLANGUAGE_LATVIAN, 127).
+-define(wxLANGUAGE_LINGALA, 128).
+-define(wxLANGUAGE_LITHUANIAN, 129).
+-define(wxLANGUAGE_MACEDONIAN, 130).
+-define(wxLANGUAGE_MALAGASY, 131).
+-define(wxLANGUAGE_MALAY, 132).
+-define(wxLANGUAGE_MALAYALAM, 133).
+-define(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, 134).
+-define(wxLANGUAGE_MALAY_MALAYSIA, 135).
+-define(wxLANGUAGE_MALTESE, 136).
+-define(wxLANGUAGE_MANIPURI, 137).
+-define(wxLANGUAGE_MAORI, 138).
+-define(wxLANGUAGE_MARATHI, 139).
+-define(wxLANGUAGE_MOLDAVIAN, 140).
+-define(wxLANGUAGE_MONGOLIAN, 141).
+-define(wxLANGUAGE_NAURU, 142).
+-define(wxLANGUAGE_NEPALI, 143).
+-define(wxLANGUAGE_NEPALI_INDIA, 144).
+-define(wxLANGUAGE_NORWEGIAN_BOKMAL, 145).
+-define(wxLANGUAGE_NORWEGIAN_NYNORSK, 146).
+-define(wxLANGUAGE_OCCITAN, 147).
+-define(wxLANGUAGE_ORIYA, 148).
+-define(wxLANGUAGE_OROMO, 149).
+-define(wxLANGUAGE_PASHTO, 150).
+-define(wxLANGUAGE_POLISH, 151).
+-define(wxLANGUAGE_PORTUGUESE, 152).
+-define(wxLANGUAGE_PORTUGUESE_BRAZILIAN, 153).
+-define(wxLANGUAGE_PUNJABI, 154).
+-define(wxLANGUAGE_QUECHUA, 155).
+-define(wxLANGUAGE_RHAETO_ROMANCE, 156).
+-define(wxLANGUAGE_ROMANIAN, 157).
+-define(wxLANGUAGE_RUSSIAN, 158).
+-define(wxLANGUAGE_RUSSIAN_UKRAINE, 159).
+-define(wxLANGUAGE_SAMOAN, 161).
+-define(wxLANGUAGE_SANGHO, 162).
+-define(wxLANGUAGE_SANSKRIT, 163).
+-define(wxLANGUAGE_SCOTS_GAELIC, 164).
+-define(wxLANGUAGE_SERBIAN, 165).
+-define(wxLANGUAGE_SERBIAN_CYRILLIC, 166).
+-define(wxLANGUAGE_SERBIAN_LATIN, 167).
+-define(wxLANGUAGE_SERBO_CROATIAN, 168).
+-define(wxLANGUAGE_SESOTHO, 169).
+-define(wxLANGUAGE_SETSWANA, 170).
+-define(wxLANGUAGE_SHONA, 171).
+-define(wxLANGUAGE_SINDHI, 172).
+-define(wxLANGUAGE_SINHALESE, 173).
+-define(wxLANGUAGE_SISWATI, 174).
+-define(wxLANGUAGE_SLOVAK, 175).
+-define(wxLANGUAGE_SLOVENIAN, 176).
+-define(wxLANGUAGE_SOMALI, 177).
+-define(wxLANGUAGE_SPANISH, 178).
+-define(wxLANGUAGE_SPANISH_ARGENTINA, 179).
+-define(wxLANGUAGE_SPANISH_BOLIVIA, 180).
+-define(wxLANGUAGE_SPANISH_CHILE, 181).
+-define(wxLANGUAGE_SPANISH_COLOMBIA, 182).
+-define(wxLANGUAGE_SPANISH_COSTA_RICA, 183).
+-define(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, 184).
+-define(wxLANGUAGE_SPANISH_ECUADOR, 185).
+-define(wxLANGUAGE_SPANISH_EL_SALVADOR, 186).
+-define(wxLANGUAGE_SPANISH_GUATEMALA, 187).
+-define(wxLANGUAGE_SPANISH_HONDURAS, 188).
+-define(wxLANGUAGE_SPANISH_MEXICAN, 189).
+-define(wxLANGUAGE_SPANISH_MODERN, 190).
+-define(wxLANGUAGE_SPANISH_NICARAGUA, 191).
+-define(wxLANGUAGE_SPANISH_PANAMA, 192).
+-define(wxLANGUAGE_SPANISH_PARAGUAY, 193).
+-define(wxLANGUAGE_SPANISH_PERU, 194).
+-define(wxLANGUAGE_SPANISH_PUERTO_RICO, 195).
+-define(wxLANGUAGE_SPANISH_URUGUAY, 196).
+-define(wxLANGUAGE_SPANISH_US, 197).
+-define(wxLANGUAGE_SPANISH_VENEZUELA, 198).
+-define(wxLANGUAGE_SUNDANESE, 199).
+-define(wxLANGUAGE_SWAHILI, 200).
+-define(wxLANGUAGE_SWEDISH, 201).
+-define(wxLANGUAGE_SWEDISH_FINLAND, 202).
+-define(wxLANGUAGE_TAGALOG, 203).
+-define(wxLANGUAGE_TAJIK, 204).
+-define(wxLANGUAGE_TAMIL, 205).
+-define(wxLANGUAGE_TATAR, 206).
+-define(wxLANGUAGE_TELUGU, 207).
+-define(wxLANGUAGE_THAI, 208).
+-define(wxLANGUAGE_TIBETAN, 209).
+-define(wxLANGUAGE_TIGRINYA, 210).
+-define(wxLANGUAGE_TONGA, 211).
+-define(wxLANGUAGE_TSONGA, 212).
+-define(wxLANGUAGE_TURKISH, 213).
+-define(wxLANGUAGE_TURKMEN, 214).
+-define(wxLANGUAGE_TWI, 215).
+-define(wxLANGUAGE_UIGHUR, 216).
+-define(wxLANGUAGE_UKRAINIAN, 217).
+-define(wxLANGUAGE_URDU, 218).
+-define(wxLANGUAGE_URDU_INDIA, 219).
+-define(wxLANGUAGE_URDU_PAKISTAN, 220).
+-define(wxLANGUAGE_UZBEK, 221).
+-define(wxLANGUAGE_UZBEK_CYRILLIC, 222).
+-define(wxLANGUAGE_UZBEK_LATIN, 223).
+-define(wxLANGUAGE_VIETNAMESE, 225).
+-define(wxLANGUAGE_VOLAPUK, 226).
+-define(wxLANGUAGE_WELSH, 227).
+-define(wxLANGUAGE_WOLOF, 228).
+-define(wxLANGUAGE_XHOSA, 229).
+-define(wxLANGUAGE_YIDDISH, 230).
+-define(wxLANGUAGE_YORUBA, 231).
+-define(wxLANGUAGE_ZHUANG, 232).
+-define(wxLANGUAGE_ZULU, 233).
-define(wxLANGUAGE_USER_DEFINED, 230).
--define(wxLANGUAGE_VALENCIAN, 536870911).
--define(wxLANGUAGE_SAMI, 536870912).
+-define(wxLANGUAGE_VALENCIAN, 224).
+-define(wxLANGUAGE_SAMI, 160).
% From "intl.h": wxLayoutDirection
-define(wxLayout_Default, 0).
-define(wxLayout_LeftToRight, 1).
@@ -3728,7 +3728,7 @@
-define(wxSTC_KEY_LEFT, 302).
-define(wxSTC_KEY_UP, 301).
-define(wxSTC_KEY_DOWN, 300).
--define(wxSTC_MODEVENTMASKALL, 8191).
+-define(wxSTC_MODEVENTMASKALL, 1048575).
-define(wxSTC_MULTILINEUNDOREDO, 4096).
-define(wxSTC_MOD_BEFOREDELETE, 2048).
-define(wxSTC_MOD_BEFOREINSERT, 1024).
@@ -3810,7 +3810,7 @@
-define(wxSTC_INDIC_TT, 2).
-define(wxSTC_INDIC_SQUIGGLE, 1).
-define(wxSTC_INDIC_PLAIN, 0).
--define(wxSTC_INDIC_MAX, 7).
+-define(wxSTC_INDIC_MAX, 31).
-define(wxSTC_CASE_LOWER, 2).
-define(wxSTC_CASE_UPPER, 1).
-define(wxSTC_CASE_MIXED, 0).
@@ -3835,7 +3835,7 @@
-define(wxSTC_CHARSET_BALTIC, 186).
-define(wxSTC_CHARSET_DEFAULT, 1).
-define(wxSTC_CHARSET_ANSI, 0).
--define(wxSTC_STYLE_MAX, 127).
+-define(wxSTC_STYLE_MAX, 255).
-define(wxSTC_STYLE_LASTPREDEFINED, 39).
-define(wxSTC_STYLE_CALLTIP, 38).
-define(wxSTC_STYLE_INDENTGUIDE, 37).
@@ -3934,9 +3934,9 @@
-define(wxTE_PROCESS_TAB, 64).
-define(wxTE_MULTILINE, 32).
-define(wxTE_READONLY, 16).
--define(wxTE_AUTO_SCROLL, 8).
+-define(wxTE_AUTO_SCROLL, 0).
-define(wxTE_NO_VSCROLL, 2).
--define(wxHAS_TEXT_WINDOW_STREAM, 0).
+-define(wxHAS_TEXT_WINDOW_STREAM, 1).
% From "textctrl.h": wxTextAttrAlignment
-define(wxTEXT_ALIGNMENT_DEFAULT, 0).
-define(wxTEXT_ALIGNMENT_LEFT, 1).
@@ -3986,7 +3986,7 @@
-define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)).
-define(wxRESIZE_BORDER, 64).
-define(wxTINY_CAPTION_VERT, 128).
--define(wxTINY_CAPTION_HORIZ, 256).
+-define(wxTINY_CAPTION_HORIZ, 128).
-define(wxMAXIMIZE_BOX, 512).
-define(wxMINIMIZE_BOX, 1024).
-define(wxSYSTEM_MENU, 2048).

@ -5,6 +5,7 @@ DIST perl-5.24.2.tar.xz 11570420 SHA256 b25dd465ef32edf853078eb540b26243db0a3b5e
DIST perl-5.25.11-patches-1.tar.xz 16776 SHA256 43dda2f9a20b44442d25caa733ba94acb0c48b26e8201b3f8fa3d2be24a6667e SHA512 ee340824746d3b626b41c76bfa901543869fb9560ef75ff6d338df017e5528e33c344a91ce7cbe9f2fa9e813bf61bbe9eb290433baceb05b832110e746ce9036 WHIRLPOOL 98681898039e1bcc3e9a33498a8b7b8b3f24cc4c49396b33dfd04a853c329323ad47081d64da61ba2880fbd3505e10ffe90367dffa8005bda86c4f114b283934
DIST perl-5.26.0.tar.xz 11961692 SHA256 9bf2e3d0d72aad77865c3bdbc20d3b576d769c5c255c4ceb30fdb9335266bf55 SHA512 cd5af6495fe4c46c0d5d0f51d4015b54daa221f08a5fb48899c247cb57c2ba85cffb97e6d258d0f931504828bb23e175d899f311c73805d924d1042058ac42e4 WHIRLPOOL 9b87a1fd5371871c747351440e40f5d1345b8bf6ac5810b9ef239e58947fe0c243583fdac6888f0450bdca437b6031cc5281a4e045d5014642ef2dc671e24e47
DIST perl-5.27.1-patches-1.tar.xz 16444 SHA256 98e3c57398a3476ff809b98c7a17e52424842ca41499b3ee84b73d90c633ec62 SHA512 c70e033619e1caecb5e5d70e36094bb105f0387a383f7091c763b87ad9f31121c036446e337d44565ce66c9977870c951f2fbd61d34ac1633c18ac9d0b489a13 WHIRLPOOL d211c1b5b3358e8142dd6c6ec9b324db49d1097a0f717168a299e22872d7ff3f9066dace7ac1de935117849445de15f6c3b0afd14afa2750c69d388b83c464d9
DIST perl-5.27.2.tar.xz 12003896 SHA256 137651beeec5ca9d0900d7592c1b5f3a2912ae5219dea365070df1c2d1b5ccbf SHA512 98bb8a16b94adb9482dc68fc4761c6329eaf3667a6e9a36baed79347fd52f478680f101b7cf016309338532d0d3dba23a3f6a5871381754f2d5ffa574d17d32b WHIRLPOOL fa1b1cd24f5477c9b49cb96e7a1c103b36230fff9d86f47d4c45da76b6fd68d0acb61d0f20ae2b5ea2757c6ca3c72f58146c0bad7c7db67f82d9abf4ee4ccfc0
DIST perl-5.27.3.tar.xz 12063840 SHA256 27c8d4b9b2788cb5a44c31dfeff249c1dc106165518096e0dd839d17f2b9bb84 SHA512 f5c5f7ade083e8fd519b2b2f641e1430b9bb4b53bc3367eb842cc0328041c03c49d6aee0e1c9c26289881b2b0521dc18994259b5592233672401688f73cf4c6a WHIRLPOOL b7271acaa07308fec93682a69eda73cba33200e4be69821de6917f122ac918b79450dc1cadf5ec2753abe1694c51931ea8642a17f4af142c9d05ec955c370b9e
DIST perl-cross-1.1.4.tar.gz 94623 SHA256 c840a327d5464ca271cac40d52e2d199330875527bf1003c28a6e550fb7bcc57 SHA512 3bfc108245f0c05b7d45c317eb28c2eb70aba528dfe8a39bc99d6e49b4751f5dca4f4ac661484bfc7528c3e28fcdbd8994c36daa49c25516618fec1f58116d79 WHIRLPOOL c4a150cf15d067cd58db63dae01bbe810808888477f9a2bfcd8557b2eeee097bbf93509bb9128feef84e8a2913724a82de0accc3b9c5d65207ee9dcd2989fe51
DIST perl-cross-1.1.5.tar.gz 95122 SHA256 0e719e75983b16c7726c2c9462f9498bb1fc4ad38c9f2513a65f3dd34e3decb3 SHA512 344ae0ff3ab8a2ce3fdb0de10972164c8cc14abd9c5c9bf55029bc8a6c2e62b3f9dda88892b1d8d0e30b76f94d42feea1dd5e5c55631f9eb53d1443285e2e3d1 WHIRLPOOL b194d4986511e3483921b11bd264586f1e185df8cd33e408b7f5702403b6dc9e20d0245a60e47e8ee03db8002effccdde48ab7ad1087a9f35ec703b558f699cc
DIST perl-cross-1.1.6.tar.gz 96075 SHA256 2b3b88f54d85beb438bd2dddd948e2d89461db5ab6253f01b3c2c9ae3ddc30b4 SHA512 4d46ad55093d90da4b0589552d14390efdc6604532ad2b4a3b20a79c69ef3b3cfe0e171b439dfa464bbee2e1fbd92606af6e6584d9355a8476e5b4ada8733653 WHIRLPOOL 78254d35c462758c6fdcc7a0a30668919d2fc0034947900e8e7575deee4932d9659486fa32b938c5ca14332aef99bdf0ec198b301cc8cfb1225a322c8516192c

@ -6,7 +6,7 @@ EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
CROSS_VER=1.1.4
CROSS_VER=1.1.6
PATCH_BASE="perl-5.24.2-patches-${PATCH_VER}"
PERL_OLDVERSEN="5.24.1 5.24.0"

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

Loading…
Cancel
Save