parent
5c68395ff7
commit
f5de7a9b93
@ -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
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,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
|
@ -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
|
||||
|
@ -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%/*}"
|
||||
}
|
||||
|
@ -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
|
||||
}
|
@ -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
|
@ -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"
|
||||
}
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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).
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue