parent
5872e56d54
commit
ed9e9a993f
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST tripwire-2.4.3.6.tar.gz 1001145 BLAKE2B aa1392d29d782266e26f605c621def8cffb67112db9151b3f098211f4243a671e5f7fc15ab5868c35794a8dbac2284f564815874aafb2b9323fd1191edb249db SHA512 4757827b908fd56a014de81609be9cfdf3631d34cbc02214ac800bf6d9c413d85d812bc3211f9dc32ceee97e1f13decd955037a0cbbaf2f8e3020699492bd9bf
|
||||
DIST tripwire-2.4.3.7.tar.gz 1002257 BLAKE2B fb0c847087e8b27d2a111b4a4122b3c4d5b187efe6f80995c6d06c7592a22fec2c537bbebba9c21a7761a8047535de4a96a6b94246da586faad4e9fc92137196 SHA512 541138f4a4c3a4227f31de6607503d305f0d893bdd5d24928d619d3a25bb8fe7061a45c041992ace957b976b834b5f4212b5c727eee1cbc76ddb2e2c52aeafbd
|
||||
|
@ -1,79 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils flag-o-matic
|
||||
|
||||
DESCRIPTION="Open Source File Integrity Checker and IDS"
|
||||
HOMEPAGE="http://www.tripwire.org/"
|
||||
SRC_URI="https://github.com/Tripwire/tripwire-open-source/archive/${PV}.tar.gz -> ${PF}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86 ~x86-fbsd"
|
||||
IUSE="libressl selinux ssl static +tools"
|
||||
|
||||
DEPEND="sys-devel/automake
|
||||
sys-devel/autoconf
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
RDEPEND="virtual/cron
|
||||
virtual/mta
|
||||
selinux? ( sec-policy/selinux-tripwire )
|
||||
ssl? ( dev-libs/openssl )"
|
||||
PDEPEND="tools? ( app-admin/mktwpol )"
|
||||
|
||||
S="${WORKDIR}/tripwire-open-source-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# tripwire can be sensitive to compiler optimisation.
|
||||
# see #32613, #45823, and others.
|
||||
# -taviso@gentoo.org
|
||||
strip-flags
|
||||
append-cppflags -DCONFIG_DIR='"\"/etc/tripwire\""' -fno-strict-aliasing
|
||||
econf $(use_enable ssl openssl) $(use_enable static)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin "${S}"/bin/{siggen,tripwire,twadmin,twprint}
|
||||
doman "${S}"/man/man{4/*.4,5/*.5,8/*.8}
|
||||
dodir /etc/tripwire /var/lib/tripwire{,/report}
|
||||
keepdir /var/lib/tripwire{,/report}
|
||||
|
||||
exeinto /etc/cron.daily
|
||||
doexe "${FILESDIR}"/tripwire
|
||||
|
||||
dodoc ChangeLog policy/policyguide.txt TRADEMARK \
|
||||
"${FILESDIR}"/tripwire.txt
|
||||
|
||||
insinto /etc/tripwire
|
||||
doins "${FILESDIR}"/twcfg.txt policy/twpol-GENERIC.txt
|
||||
|
||||
fperms 750 /etc/cron.daily/tripwire
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
elog "Tripwire needs to be configured before its first run. You can"
|
||||
elog "do this by manually editing the twpol-GENERIC.txt file shipped with"
|
||||
elog "the package to suit your needs. A quickstart guide is provided"
|
||||
elog "in tripwire.txt file to help you with this."
|
||||
elog "To configure tripwire automatically, you can use the twsetup.sh"
|
||||
elog "script provided by the app-admin/mktwpol package. This package is"
|
||||
elog "installed for you by the \"tools\" USE flag (which is enabled by"
|
||||
elog "default."
|
||||
else
|
||||
elog "Maintenance of tripwire policy files as packages are added"
|
||||
elog "and deleted from your system can be automated by the mktwpol.sh"
|
||||
elog "script provided by the app-admin/mktwpol package. This package"
|
||||
elog "is installed for you if you append \"tools\" to your USE flags"
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,151 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd versionator
|
||||
|
||||
MY_P="${P/mit-}"
|
||||
P_DIR=$(get_version_component_range 1-2)
|
||||
DESCRIPTION="MIT Kerberos V"
|
||||
HOMEPAGE="https://web.mit.edu/kerberos/www/"
|
||||
SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
|
||||
IUSE="doc +keyutils libressl nls openldap +pkinit selinux +threads test xinetd"
|
||||
|
||||
# Test suite require network access
|
||||
RESTRICT="test"
|
||||
|
||||
CDEPEND="
|
||||
!!app-crypt/heimdal
|
||||
>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
|
||||
|| (
|
||||
>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
|
||||
)
|
||||
keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
|
||||
openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
|
||||
pkinit? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
|
||||
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
xinetd? ( sys-apps/xinetd )"
|
||||
DEPEND="${CDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
virtual/yacc
|
||||
doc? ( virtual/latex-base )
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/tcl:0
|
||||
dev-util/dejagnu
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-kerberos )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}/src
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/krb5-config
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
|
||||
eapply -p2 "${FILESDIR}/${PN}-config_LDFLAGS.patch"
|
||||
|
||||
# Make sure we always use the system copies.
|
||||
rm -rf util/{et,ss,verto}
|
||||
sed -i 's:^[[:space:]]*util/verto$::' configure.in || die
|
||||
|
||||
eapply_user
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# QA
|
||||
append-flags -fno-strict-aliasing
|
||||
append-flags -fno-strict-overflow
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
use keyutils || export ac_cv_header_keyutils_h=no
|
||||
ECONF_SOURCE=${S} \
|
||||
WARN_CFLAGS="set" \
|
||||
econf \
|
||||
$(use_with openldap ldap) \
|
||||
"$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
|
||||
$(use_enable nls) \
|
||||
$(use_enable pkinit) \
|
||||
$(use_enable threads thread-support) \
|
||||
--without-hesiod \
|
||||
--enable-shared \
|
||||
--with-system-et \
|
||||
--with-system-ss \
|
||||
--enable-dns-for-realm \
|
||||
--enable-kdc-lookaside-cache \
|
||||
--with-system-verto \
|
||||
--disable-rpath
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake -j1
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
multilib_is_native_abi && emake -j1 check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
|
||||
install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# default database dir
|
||||
keepdir /var/lib/krb5kdc
|
||||
|
||||
cd ..
|
||||
dodoc README
|
||||
|
||||
if use doc; then
|
||||
dodoc -r doc/html
|
||||
docinto pdf
|
||||
dodoc doc/pdf/*.pdf
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
|
||||
newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
|
||||
newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
|
||||
newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
|
||||
newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
|
||||
newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
|
||||
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
|
||||
|
||||
insinto /etc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
|
||||
insinto /var/lib/krb5kdc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
|
||||
|
||||
if use openldap ; then
|
||||
insinto /etc/openldap/schema
|
||||
doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}/kpropd.xinetd" kpropd
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST gentoo-mirror.asc.20180203.gz 3054 BLAKE2B 4904aee11e80aaab7113356eba5aa8fcaced960b253bf5ba40addc6e4026fa7342319517af3549e902c547d42775fffd8713f1873ac9685d5dfe0207655bbfa5 SHA512 429e1226c535b1c3e0a87b471bf03a6c216086a5d801f77b5061b8f00b44a597e5569b5be58ca3a01aaa2d18c1e323532587e7403ab5ef51d718690d0bad2059
|
||||
DIST gentoo-mirror.asc.20180528.gz 5954 BLAKE2B 4942ac019249a6fe0c03a4cd33b472b2df82faabb8df1bba9af61dd12d52a5059a5c3ffc20f8c3cd8c5b20d24fd110f4dc0d9f11aaaa439cf07985842c993f40 SHA512 b0856f7ee62798e7b259bba17d7ee63a3bc5c78bbe901d0a45d951f47c1cc435a6b21812bf4287cb45520061713ec1885bfc07e5c2baf76c17a2d3f2584f1685
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="OpenPGP key used to sign gentoo-mirror commits"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Repository_mirror_and_CI"
|
||||
SRC_URI="https://dev.gentoo.org/~mgorny/dist/openpgp-keys/gentoo-mirror.asc.${PV}.gz"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/openpgp-keys
|
||||
newins "gentoo-mirror.asc.${PV}" gentoo-mirror.asc
|
||||
}
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST emacs-26.0.91.tar.xz 43988932 BLAKE2B 05e5b9d51f92f2719ea22806f73b17903f5941c82a2e4e762b7664ed1b05f7324c0b020ded311dc4f22b7668684f59eaf3f3c2495f85977f3510698d7e0edd09 SHA512 4e20743299ed419c8ad7bea00c5389fb7c81f4e631165fe2b19c4bbd7c2b401416073282814f30bb96e5c3961724bfbb565781c50ee481a4f4c762ca6f480fba
|
Binary file not shown.
@ -1,4 +1,3 @@
|
||||
DIST org-8.2.6.tar.gz 4221803 BLAKE2B 78adcafdc2a9020a71ef9efe4699f6c2ae20b774861cd9dae04360114a942fd32d91d66dba2508a2529f3d678ccff60cd9d328425d4d43d5d391af36f0958bbd SHA512 a64e975738f26b5315584b51332dbcd29eb6e5b03cb505d638d611455beb921c5e0b728b23fb63f380d46d2e33092865b02de01259cff8985693febebcc1a8a3
|
||||
DIST org-8.3.2.tar.gz 4442361 BLAKE2B f21f07578e870cd3edaa3721a53f679627c0115c320c666c2086e201e272c0ef03540bfdd90936a624cd4c4dcbac21b91346ba975b6006ada2d46184f73574f3 SHA512 3e1ff47c875a2db3239add8b060f555da357e465161ca62860c0ac2734c2e31c5387d2df4223ab7ea8ea60050f9a845d160b0bcb3afcf36f1d3cabcaa961e6a2
|
||||
DIST org-9.0.1.tar.gz 4439964 BLAKE2B 20f921fbcc3a45180395ec5158a6ab055e1ae7a318a5c2dcbbd8de9460a2639da222f89169f4289a2e9b4a5cd4c7928a5d4edb8997ef24fc8f41abbc919b1e52 SHA512 c0a88372787c5b71ec1523fcf58b3cbf80678835c7b0bfe3b2406290da6fc88b977121ca3b35b47abf2c32ef40c0bfb6733170f225ea35ba24f2e801bb634afe
|
||||
DIST org-9.0.4.tar.gz 4431853 BLAKE2B 1ecb8fa08597e08a6143cdf5d262274472eb5b245fa1103fe6b5509a5bb0d0aa471e9414b8f6293c3d5720c7b307a77e0f03ad6a9b590bf2469da5d54ddedfaf SHA512 fc3ab3e7c2b5f3243937497ea9515ea81434f2274ac158da7d0418e8ddc33debae2f1887ffbe37e3768d32a028834cc0ef35f3c3cc3938d7b24e0c5bfcf65ae0
|
||||
DIST org-9.1.13.tar.gz 4625532 BLAKE2B c7044913b8fd0bde43fa1ff0f4bc9963ebce1cda17753fe7642aff914603a4278e7396acf2236c27334f2b9a009bd9e3310ec6144d851e121c3f6ec6516ad6c7 SHA512 a1cb1b2a8db082b7f7a03e90109352bad219808cb506af30082b87fc2c6d66733ce304df4379542e7a85e20c213e1cbc8bf4c9d6c9777fea393a88755129c4bf
|
||||
|
@ -1,53 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="An Emacs mode for notes and project planning"
|
||||
HOMEPAGE="https://www.orgmode.org/"
|
||||
SRC_URI="http://orgmode.org/org-${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+ FDL-1.3+ contrib? ( GPL-2+ MIT ) odt-schema? ( OASIS-Open )"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86 ~x86-fbsd ~x86-macos"
|
||||
IUSE="contrib doc odt-schema"
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="doc? ( virtual/texi2dvi )"
|
||||
|
||||
S="${WORKDIR}/org-${PV}"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
emake datadir="${EPREFIX}${SITEETC}/${PN}"
|
||||
use doc && emake pdf card
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
ETCDIRS="styles $(use odt-schema && echo schema)" \
|
||||
lispdir="${EPREFIX}${SITELISP}/${PN}" \
|
||||
datadir="${EPREFIX}${SITEETC}/${PN}" \
|
||||
infodir="${EPREFIX}/usr/share/info" \
|
||||
install
|
||||
|
||||
cp "${FILESDIR}/${SITEFILE}" "${T}/${SITEFILE}" || die
|
||||
|
||||
if use contrib; then
|
||||
elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el
|
||||
insinto /usr/share/doc/${PF}/contrib
|
||||
doins -r contrib/README contrib/scripts
|
||||
find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \
|
||||
-exec rm -f '{}' '+'
|
||||
# add the contrib subdirectory to load-path
|
||||
sed -i -e 's:\(.*@SITELISP@\)\(.*\):&\n\1/contrib\2:' \
|
||||
"${T}/${SITEFILE}" || die
|
||||
fi
|
||||
|
||||
elisp-site-file-install "${T}/${SITEFILE}"
|
||||
dodoc README doc/library-of-babel.org doc/orgcard.txt etc/ORG-NEWS
|
||||
use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
|
||||
}
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST vkd3d-1.0.tar.xz 461884 BLAKE2B 4dbd729f9e795d3d81178abc1a8774c0bbe6a5257c96c97acf1e4b4cdb5b7e30c77235e8b8fa57f7db3196caf30c55c3b0c07e2981629dd6177436a3cd117d33 SHA512 55712528688cdedc63049e168b371b470dbb8e31ddc36d8b23b0655f4a061726eb8556b9abf3cb887f6bd21379959aed9fab93ba0fd53813aec413ebec71d615
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>wine@gentoo.org</email>
|
||||
<name>Wine</name>
|
||||
<description>
|
||||
This package must be kept in sync with repo/proj/wine repository.
|
||||
Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
|
||||
</description>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="spirv-tools">Enable SPIRV shader debugging support using <pkg>dev-util/spirv-tools</pkg></flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit multilib-minimal
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://source.winehq.org/git/vkd3d.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64"
|
||||
SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
IUSE="spirv-tools"
|
||||
RDEPEND="spirv-tools? ( dev-util/spirv-tools:=[${MULTILIB_USEDEP}] )
|
||||
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
|
||||
x11-libs/xcb-util-keysyms:=[${MULTILIB_USEDEP}]"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/spirv-headers
|
||||
|| (
|
||||
dev-util/vulkan-headers
|
||||
<=media-libs/vulkan-loader-1.1.70.0-r999[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
DESCRIPTION="D3D12 to Vulkan translation library"
|
||||
HOMEPAGE="https://source.winehq.org/git/vkd3d.git/"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
$(use_with spirv-tools)
|
||||
)
|
||||
|
||||
ECONF_SOURCE=${S} econf "${myconf[@]}"
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit multilib-minimal
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://source.winehq.org/git/vkd3d.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64"
|
||||
SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
IUSE="spirv-tools"
|
||||
RDEPEND="spirv-tools? ( dev-util/spirv-tools:=[${MULTILIB_USEDEP}] )
|
||||
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
|
||||
x11-libs/xcb-util-keysyms:=[${MULTILIB_USEDEP}]"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/spirv-headers
|
||||
|| (
|
||||
dev-util/vulkan-headers
|
||||
<=media-libs/vulkan-loader-1.1.70.0-r999[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
DESCRIPTION="D3D12 to Vulkan translation library"
|
||||
HOMEPAGE="https://source.winehq.org/git/vkd3d.git/"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
$(use_with spirv-tools)
|
||||
)
|
||||
|
||||
ECONF_SOURCE=${S} econf "${myconf[@]}"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST uim-1.8.6.tar.bz2 6500739 BLAKE2B 78623c015cafafa1fbaf32542535de1f0207f8452a422d929a15f4421e4c9926192d0d3b761a7865a38affdf616dc5477e083c0fd8655261ff80ca817fd37029 SHA512 26a95d3b51ef7a99108234b9af30ee7b74141cb3af13d092d4cdbf0749f630934cfd67f74b09dacc3adcdce4a390104489d68a4e2419ec07418645a9b4e5715b
|
||||
DIST uim-1.8.8.tar.bz2 6228743 BLAKE2B 8fc44b61239f766ba3d9ebf3201c11471b3a844e082237f5ec97dd0fa6fbb04a0a588df5c0479a0aa4bcb4d9c4edcc93c36ec68618701c8aa88fa30732fdce28 SHA512 2257ae48f4f2b79039a5f6be0fc740e218d5609e004dad9a5a1aa5d4066587ee59d0be06bc23c7d567a48901466227fedc4778b480f7184d84b0b3b4dddac9a3
|
||||
|
@ -1,4 +1,2 @@
|
||||
;;; app-i18n/uim site-lisp configuration
|
||||
|
||||
(add-to-list 'load-path "@SITELISP@")
|
||||
(autoload 'uim-mode "uim" nil t)
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -Naur uim-1.6.0.orig/configure.ac uim-1.6.0/configure.ac
|
||||
--- uim-1.6.0.orig/configure.ac 2010-08-02 09:30:14.000000000 +0900
|
||||
+++ uim-1.6.0/configure.ac 2010-08-14 08:30:34.000000000 +0900
|
||||
@@ -1696,6 +1696,7 @@
|
||||
|
||||
QT_CONFIG_OPTS="release"
|
||||
fi
|
||||
+QT_CONFIG_OPTS="$QT_CONFIG_OPTS nostrip"
|
||||
|
||||
AC_ARG_ENABLE(warnings-into-error,
|
||||
AC_HELP_STRING([--enable-warnings-into-error],
|
@ -0,0 +1,28 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -36,6 +36,7 @@
|
||||
AC_PATH_PROGS(SHA1, sha1 sha1sum)
|
||||
AC_PATH_PROGS(SED, sed gsed)
|
||||
AX_PATH_QMAKE4
|
||||
+PKG_PROG_PKG_CONFIG
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
@@ -1792,7 +1793,7 @@
|
||||
fi
|
||||
AX_LANG_WNOERROR # end AC_LANG_WERROR
|
||||
|
||||
- QT_CONFIG_OPTS="debug"
|
||||
+ QT_CONFIG_OPTS="debug nostrip"
|
||||
else
|
||||
CFLAGS="$CFLAGS -DNDEBUG"
|
||||
CXXFLAGS="$CXXFLAGS -DNDEBUG"
|
||||
@@ -1810,7 +1811,7 @@
|
||||
AX_CFLAGS_GCC_OPTION([-Wno-unused-variable], [SCIM_CFLAGS])
|
||||
AX_LANG_WNOERROR # end AC_LANG_WERROR
|
||||
|
||||
- QT_CONFIG_OPTS="release"
|
||||
+ QT_CONFIG_OPTS="release nostrip"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(warnings-into-error,
|
@ -0,0 +1,65 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1058,27 +1058,25 @@
|
||||
;;
|
||||
yes|*)
|
||||
use_uim_fep="yes"
|
||||
- AC_CHECK_LIB(curses, setupterm, FEP_LIBADD="-lcurses $FEP_LIBADD",
|
||||
- [AC_CHECK_LIB(ncurses, setupterm, FEP_LIBADD="-lncurses $FEP_LIBADD",
|
||||
- AC_MSG_WARN([fep needs setupterm in libcurses or libncurses. disabled...]);use_uim_fep="no")])
|
||||
- AC_CHECK_FUNCS(forkpty)
|
||||
- if test $ac_cv_func_forkpty = no; then
|
||||
- AC_CHECK_LIB(util, forkpty, [AC_DEFINE(HAVE_FORKPTY) FEP_LIBADD="-lutil $FEP_LIBADD"])
|
||||
- fi
|
||||
- AC_SUBST(FEP_LIBADD)
|
||||
;;
|
||||
esac
|
||||
],
|
||||
- [ use_uim_fep="yes"
|
||||
- AC_CHECK_LIB(curses, setupterm, FEP_LIBADD="-lcurses $FEP_LIBADD",
|
||||
- [AC_CHECK_LIB(ncurses, setupterm, FEP_LIBADD="-lncurses $FEP_LIBADD",
|
||||
- AC_MSG_WARN([fep needs setupterm in libcurses or libncurses. disabled...]);use_uim_fep="no")])
|
||||
- AC_CHECK_FUNCS(forkpty)
|
||||
- if test $ac_cv_func_forkpty = no; then
|
||||
- AC_CHECK_LIB(util, forkpty, [AC_DEFINE(HAVE_FORKPTY) FEP_LIBADD="-lutil $FEP_LIBADD"])
|
||||
- fi
|
||||
- AC_SUBST(FEP_LIBADD)
|
||||
- ])
|
||||
+ [use_uim_fep="yes"])
|
||||
+
|
||||
+if test "x$use_uim_fep" != "xno"; then
|
||||
+ PKG_CHECK_MODULES(CURSES, ncurses,
|
||||
+ [FEP_LIBADD="$CURSES_LIBS $FEP_LIBADD"],
|
||||
+ [
|
||||
+ AC_CHECK_LIB(curses, setupterm, FEP_LIBADD="-lcurses $FEP_LIBADD",
|
||||
+ [AC_CHECK_LIB(ncurses, setupterm, FEP_LIBADD="-lncurses $FEP_LIBADD",
|
||||
+ AC_MSG_WARN([fep needs setupterm in libcurses or libncurses. disabled...]);use_uim_fep="no")])
|
||||
+ ])
|
||||
+ AC_CHECK_FUNCS(forkpty)
|
||||
+ if test $ac_cv_func_forkpty = no; then
|
||||
+ AC_CHECK_LIB(util, forkpty, [AC_DEFINE(HAVE_FORKPTY) FEP_LIBADD="-lutil $FEP_LIBADD"])
|
||||
+ fi
|
||||
+ AC_SUBST(FEP_LIBADD)
|
||||
+fi
|
||||
|
||||
AC_ARG_ENABLE(emacs,
|
||||
AC_HELP_STRING([--disable-emacs],
|
||||
@@ -1210,10 +1208,14 @@
|
||||
saved_LDFLAGS=$LDFLAGS
|
||||
CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
|
||||
LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
|
||||
- AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
|
||||
- [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
|
||||
- AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
|
||||
- use_libedit="no")])
|
||||
+ PKG_CHECK_MODULES(CURSES, ncurses,
|
||||
+ [LIBEDIT_LIBS="$CURSES_LIBS"],
|
||||
+ [
|
||||
+ AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
|
||||
+ [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
|
||||
+ AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
|
||||
+ use_libedit="no")])
|
||||
+ ])
|
||||
if test "x$use_libedit" != "xno"; then
|
||||
AC_CHECK_LIB(edit, el_init,
|
||||
[LIBEDIT_LIBS="-ledit $LIBEDIT_LIBS -L$libedit_path/lib"
|
@ -0,0 +1,28 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -38,6 +38,7 @@
|
||||
AC_PATH_PROGS(SED, sed gsed)
|
||||
AX_PATH_QMAKE4
|
||||
AX_PATH_QMAKE5
|
||||
+PKG_PROG_PKG_CONFIG
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
@@ -1618,7 +1619,7 @@
|
||||
fi
|
||||
AX_LANG_WNOERROR # end AC_LANG_WERROR
|
||||
|
||||
- QT_CONFIG_OPTS="debug"
|
||||
+ QT_CONFIG_OPTS="debug nostrip"
|
||||
else
|
||||
CFLAGS="$CFLAGS -DNDEBUG"
|
||||
CXXFLAGS="$CXXFLAGS -DNDEBUG"
|
||||
@@ -1629,7 +1630,7 @@
|
||||
AX_CFLAGS_GCC_OPTION([-Wno-unused-function], [UIM_SCM_CFLAGS])
|
||||
AX_LANG_WNOERROR # end AC_LANG_WERROR
|
||||
|
||||
- QT_CONFIG_OPTS="release"
|
||||
+ QT_CONFIG_OPTS="release nostrip"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(warnings-into-error,
|
@ -0,0 +1,38 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1180,9 +1180,13 @@
|
||||
|
||||
if test "x$enable_fep" != xno; then
|
||||
enable_fep=yes
|
||||
- AC_CHECK_LIB(curses, setupterm, FEP_LIBADD="-lcurses $FEP_LIBADD",
|
||||
- [AC_CHECK_LIB(ncurses, setupterm, FEP_LIBADD="-lncurses $FEP_LIBADD",
|
||||
- AC_MSG_WARN([fep needs setupterm in libcurses or libncurses. disabled...]);enable_fep=no)])
|
||||
+ PKG_CHECK_MODULES(CURSES, ncurses,
|
||||
+ [FEP_LIBADD="$CURSES_LIBS $FEP_LIBADD"],
|
||||
+ [
|
||||
+ AC_CHECK_LIB(curses, setupterm, FEP_LIBADD="-lcurses $FEP_LIBADD",
|
||||
+ [AC_CHECK_LIB(ncurses, setupterm, FEP_LIBADD="-lncurses $FEP_LIBADD",
|
||||
+ AC_MSG_WARN([fep needs setupterm in libcurses or libncurses. disabled...]);enable_fep=no)])
|
||||
+ ])
|
||||
AC_CHECK_FUNCS(forkpty)
|
||||
if test "x$ac_cv_func_forkpty" = xno; then
|
||||
AC_CHECK_LIB(util, forkpty,
|
||||
@@ -1319,10 +1323,14 @@
|
||||
saved_LDFLAGS=$LDFLAGS
|
||||
CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
|
||||
LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
|
||||
- AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
|
||||
- [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
|
||||
- AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
|
||||
- with_libedit=no)])
|
||||
+ PKG_CHECK_MODULES(CURSES, ncurses,
|
||||
+ [LIBEDIT_LIBS="$CURSES_LIBS"],
|
||||
+ [
|
||||
+ AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
|
||||
+ [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
|
||||
+ AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
|
||||
+ with_libedit=no)])
|
||||
+ ])
|
||||
|
||||
if test "x$with_libedit" != xno; then
|
||||
AC_CHECK_LIB(edit, el_init,
|
@ -1,6 +1,5 @@
|
||||
diff -Naur uim-1.5.4.orig/xim/convdisp.cpp uim-1.5.4/xim/convdisp.cpp
|
||||
--- uim-1.5.4.orig/xim/convdisp.cpp 2008-02-13 23:43:42.000000000 +0900
|
||||
+++ uim-1.5.4/xim/convdisp.cpp 2008-12-10 02:04:35.000000000 +0900
|
||||
--- a/xim/convdisp.cpp
|
||||
+++ b/xim/convdisp.cpp
|
||||
@@ -69,7 +69,7 @@
|
||||
#endif
|
||||
|
@ -0,0 +1,226 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools elisp-common gnome2-utils
|
||||
|
||||
DESCRIPTION="A multilingual input method framework"
|
||||
HOMEPAGE="https://github.com/uim/uim"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
|
||||
IUSE="X +anthy canna curl eb emacs expat libffi gtk gtk2 l10n_ja l10n_ko l10n_zh-CN l10n_zh-TW libedit libnotify libressl m17n-lib ncurses nls qt5 skk sqlite ssl static-libs xft"
|
||||
RESTRICT="test"
|
||||
REQUIRED_USE="gtk? ( X )
|
||||
gtk2? ( X )
|
||||
qt5? ( X )
|
||||
xft? ( X )"
|
||||
|
||||
CDEPEND="!dev-scheme/sigscheme
|
||||
X? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXft
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
)
|
||||
anthy? ( app-i18n/anthy )
|
||||
canna? ( app-i18n/canna )
|
||||
curl? ( net-misc/curl )
|
||||
eb? ( dev-libs/eb )
|
||||
emacs? ( virtual/emacs )
|
||||
expat? ( dev-libs/expat )
|
||||
libffi? ( virtual/libffi )
|
||||
gtk? ( x11-libs/gtk+:3 )
|
||||
gtk2? ( x11-libs/gtk+:2 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
libnotify? ( x11-libs/libnotify )
|
||||
m17n-lib? ( dev-libs/m17n-lib )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
nls? ( virtual/libintl )
|
||||
qt5? ( dev-qt/qtx11extras:5 )
|
||||
skk? ( app-i18n/skk-jisyo )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
X? ( x11-base/xorg-proto )"
|
||||
RDEPEND="${CDEPEND}
|
||||
X? (
|
||||
media-fonts/font-sony-misc
|
||||
l10n_ja? (
|
||||
|| (
|
||||
media-fonts/font-jis-misc
|
||||
media-fonts/intlfonts
|
||||
)
|
||||
)
|
||||
l10n_ko? (
|
||||
|| (
|
||||
media-fonts/font-daewoo-misc
|
||||
media-fonts/intlfonts
|
||||
)
|
||||
)
|
||||
l10n_zh-CN? (
|
||||
|| (
|
||||
media-fonts/font-isas-misc
|
||||
media-fonts/intlfonts
|
||||
)
|
||||
)
|
||||
l10n_zh-TW? ( media-fonts/intlfonts )
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-gentoo.patch
|
||||
"${FILESDIR}"/${PN}-tinfo.patch
|
||||
"${FILESDIR}"/${PN}-zh-TW.patch
|
||||
)
|
||||
DOCS=( AUTHORS NEWS README RELNOTE doc )
|
||||
|
||||
AT_NO_RECURSIVE="yes"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i "s:\$libedit_path/lib:/$(get_libdir):g" configure.ac
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_with X x)
|
||||
$(use_with anthy anthy-utf8)
|
||||
$(use_with canna)
|
||||
$(use_with curl)
|
||||
$(use_with eb)
|
||||
$(use_enable emacs)
|
||||
$(use_with emacs lispdir "${SITELISP}")
|
||||
$(use_with expat)
|
||||
$(use_with libedit)
|
||||
$(use_with libffi ffi)
|
||||
$(use_with gtk gtk3)
|
||||
$(use_with gtk2)
|
||||
$(use_with m17n-lib m17nlib)
|
||||
$(use_enable ncurses fep)
|
||||
$(use_enable nls)
|
||||
$(use_with qt5)
|
||||
$(use_with qt5 qt5-immodule)
|
||||
$(use_with skk)
|
||||
$(use_with sqlite sqlite3)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_enable static-libs static)
|
||||
$(use_with xft)
|
||||
--without-anthy
|
||||
--enable-default-toolkit=$(usex gtk gtk3 $(usex gtk2 gtk $(usex qt5 qt5)))
|
||||
--disable-gnome-applet
|
||||
--disable-gnome3-applet
|
||||
--disable-kde-applet
|
||||
--disable-kde4-applet
|
||||
--without-mana
|
||||
--without-prime
|
||||
--disable-qt4-qt3support
|
||||
)
|
||||
|
||||
if (use gtk || use gtk2) && (use anthy || use canna); then
|
||||
myconf+=( --enable-dict )
|
||||
else
|
||||
myconf+=( --disable-dict )
|
||||
fi
|
||||
|
||||
if use libnotify; then
|
||||
myconf+=( --enable-notify=libnotify )
|
||||
fi
|
||||
|
||||
if use gtk || use gtk2 || use qt5; then
|
||||
myconf+=( --enable-pref )
|
||||
else
|
||||
myconf+=( --disable-pref )
|
||||
fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use emacs; then
|
||||
cd emacs
|
||||
elisp-compile *.el || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# bug #222677
|
||||
emake -j1 DESTDIR="${D}" install
|
||||
rm -f doc/Makefile*
|
||||
einstalldocs
|
||||
|
||||
find "${ED}"/usr/$(get_libdir)/${PN} -name '*.la' -delete || die
|
||||
use static-libs || find "${ED}" -name '*.la' -delete || die
|
||||
|
||||
insinto /etc/X11/xinit/xinput.d
|
||||
sed \
|
||||
-e "s:@EPREFIX@:${EPREFIX}:g" \
|
||||
"${FILESDIR}"/xinput-${PN} > "${T}"/${PN}.conf
|
||||
doins "${T}"/${PN}.conf
|
||||
|
||||
if use X; then
|
||||
docinto xim
|
||||
dodoc xim/README*
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-install ${PN}-el emacs/*.el{,c}
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} ${PN}-el
|
||||
docinto emacs
|
||||
dodoc emacs/README*
|
||||
fi
|
||||
|
||||
if use ncurses; then
|
||||
docinto fep
|
||||
dodoc fep/README*
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "New input method switcher has been introduced. You need to set"
|
||||
elog
|
||||
elog "% GTK_IM_MODULE=uim ; export GTK_IM_MODULE"
|
||||
elog "% QT_IM_MODULE=uim ; export QT_IM_MODULE"
|
||||
elog "% XMODIFIERS=@im=uim ; export XMODIFIERS"
|
||||
elog
|
||||
elog "If you would like to use uim-anthy as default input method, put"
|
||||
elog "(define default-im-name 'anthy)"
|
||||
elog "to your ~/.uim."
|
||||
elog
|
||||
elog "All input methods can be found by running uim-im-switcher-gtk, "
|
||||
elog "uim-im-switcher-gtk3 or uim-im-switcher-qt5."
|
||||
|
||||
if use emacs; then
|
||||
elisp-site-regen
|
||||
echo
|
||||
elog "uim is autoloaded with Emacs with a minimal set of features:"
|
||||
elog "There is no keybinding defined to call it directly, so please"
|
||||
elog "create one yourself and choose an input method."
|
||||
elog "Integration with LEIM is not done with this ebuild, please have"
|
||||
elog "a look at the documentation how to achieve this."
|
||||
fi
|
||||
use gtk && gnome2_query_immodules_gtk3
|
||||
use gtk2 && gnome2_query_immodules_gtk2
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use gtk && gnome2_query_immodules_gtk3
|
||||
use gtk2 && gnome2_query_immodules_gtk2
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST xournal-0.4.8.2016.tar.gz 646082 BLAKE2B 4f64fb45759616d99f961b8db575bec1620e089d9f87d4e02d3de7b1cb1d9189d439d78e5b89c93d5635138206f603e40bb33a46458d34a9ec050869e54be531 SHA512 1426d5c9ba3486fbe342d49fc19fcc162965cd6a7b7754f79665e43fe0e60e6f42f61969405ace78fdaa7b99cbb3d4b07b7fb5df246d68a329b52084b6eec76e
|
||||
DIST xournal-0.4.8.tar.gz 641240 BLAKE2B cbf82f3ddb27854ce4a17fe80d1ed012f47529ee3f41eac0118f4948f4ca76488fb647c77ab21c99cf19de0016df4db31a448d4c626a42219b2b13b297b5d51e SHA512 cfd5760a0e832ef02786a29cb744d4932aeee97c4d6992b430e647bd59aaef1042735203824d0eaf9da9b884dcdadcfb8f5acea221638db91438ae46a6ee42bf
|
||||
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
[[ ${PV} == *9999 ]] && GNOME2_EAUTORECONF=yes
|
||||
|
||||
inherit gnome2
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.code.sf.net/p/xournal/code"
|
||||
unset SRC_URI
|
||||
else
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An application for notetaking, sketching, and keeping a journal using a stylus"
|
||||
HOMEPAGE="http://xournal.sourceforge.net/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+pdf vanilla"
|
||||
|
||||
COMMONDEPEND="
|
||||
app-text/poppler[cairo]
|
||||
dev-libs/atk
|
||||
dev-libs/glib
|
||||
gnome-base/libgnomecanvas
|
||||
media-libs/freetype
|
||||
media-libs/fontconfig
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/pango
|
||||
"
|
||||
RDEPEND="${COMMONDEPEND}
|
||||
pdf? ( app-text/poppler[utils] app-text/ghostscript-gpl )
|
||||
"
|
||||
DEPEND="${COMMONDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default_src_prepare
|
||||
if ! use vanilla; then
|
||||
eapply "${FILESDIR}"/xournal-0.4.8-aspectratio.patch
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" desktop-install
|
||||
|
||||
dodoc ChangeLog AUTHORS README
|
||||
dodoc -r html-doc/*
|
||||
}
|
Binary file not shown.
@ -0,0 +1,961 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
MY_EXTRAS_VER="20180529-0042Z"
|
||||
SUBSLOT="18"
|
||||
|
||||
JAVA_PKG_OPT_USE="jdbc"
|
||||
|
||||
# Keeping eutils in EAPI=6 for emktemp in pkg_config
|
||||
|
||||
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
|
||||
java-pkg-opt-2 user cmake-utils multilib-build
|
||||
|
||||
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
|
||||
|
||||
# Gentoo patches to MySQL
|
||||
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
|
||||
fi
|
||||
|
||||
HOMEPAGE="http://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
LICENSE="GPL-2 LGPL-2.1+"
|
||||
SLOT="0/${SUBSLOT:-0}"
|
||||
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
|
||||
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
|
||||
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
|
||||
sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc
|
||||
test tokudb xml yassl"
|
||||
|
||||
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
|
||||
RESTRICT="!bindist? ( bindist ) libressl? ( test )"
|
||||
|
||||
REQUIRED_USE="jdbc? ( extraengine server !static )
|
||||
server? ( tokudb? ( jemalloc !tcmalloc ) )
|
||||
!server? ( !extraengine )
|
||||
?? ( tcmalloc jemalloc )
|
||||
static? ( yassl !pam )"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# Shorten the path because the socket path length must be shorter than 107 chars
|
||||
# and we will run a mysql server during test phase
|
||||
S="${WORKDIR}/mysql"
|
||||
|
||||
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
|
||||
EGIT_CLONE_TYPE=shallow
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
|
||||
else
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
|
||||
"${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
|
||||
"${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
|
||||
"${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
|
||||
"${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
|
||||
)
|
||||
|
||||
# Be warned, *DEPEND are version-dependant
|
||||
# These are used for both runtime and compiletime
|
||||
# MULTILIB_USEDEP only set for libraries used by the client library
|
||||
COMMON_DEPEND="
|
||||
kernel_linux? (
|
||||
sys-process/procps:0=
|
||||
dev-libs/libaio:0=
|
||||
)
|
||||
>=sys-apps/sed-4
|
||||
>=sys-apps/texinfo-4.7-r1
|
||||
jemalloc? ( dev-libs/jemalloc:0= )
|
||||
tcmalloc? ( dev-util/google-perftools:0= )
|
||||
systemtap? ( >=dev-util/systemtap-1.3:0= )
|
||||
>=sys-libs/zlib-1.2.3:0=
|
||||
kerberos? ( virtual/krb5 )
|
||||
yassl? ( net-libs/gnutls:0= )
|
||||
!yassl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
sys-libs/ncurses:0=
|
||||
!bindist? (
|
||||
sys-libs/binutils-libs:0=
|
||||
>=sys-libs/readline-4.1:0=
|
||||
)
|
||||
server? (
|
||||
backup? ( app-arch/libarchive:0= )
|
||||
cracklib? ( sys-libs/cracklib:0= )
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
innodb-lz4? ( app-arch/lz4 )
|
||||
innodb-lzo? ( dev-libs/lzo )
|
||||
innodb-snappy? ( app-arch/snappy )
|
||||
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
|
||||
numa? ( sys-process/numactl )
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.41-r1:3=
|
||||
"
|
||||
DEPEND="virtual/yacc
|
||||
static? ( sys-libs/ncurses[static-libs] )
|
||||
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="selinux? ( sec-policy/selinux-mysql )
|
||||
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
|
||||
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
|
||||
!<virtual/mysql-5.6-r11
|
||||
${COMMON_DEPEND}
|
||||
server? ( galera? (
|
||||
sys-apps/iproute2
|
||||
=sys-cluster/galera-25*
|
||||
sst-rsync? ( sys-process/lsof )
|
||||
sst-mariabackup? ( net-misc/socat[ssl] )
|
||||
sst-xtrabackup? ( net-misc/socat[ssl] )
|
||||
) )
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
|
||||
"
|
||||
# For other stuff to bring us in
|
||||
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
|
||||
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
|
||||
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
|
||||
dev-db/mariadb-connector-c[${MULTILIB_USEDEP},static-libs?] dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
|
||||
server? ( ~virtual/mysql-5.6[static=]
|
||||
galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
local GCC_MAJOR_SET=$(gcc-major-version)
|
||||
local GCC_MINOR_SET=$(gcc-minor-version)
|
||||
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
|
||||
# non x86{,_64} arches
|
||||
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
if has test ${FEATURES} && \
|
||||
use server && ! has userpriv ${FEATURES} ; then
|
||||
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
|
||||
# This should come after all of the die statements
|
||||
enewgroup mysql 60 || die "problem adding 'mysql' group"
|
||||
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
|
||||
# Here we need to see if the implementation switched client libraries
|
||||
# We check if this is a new instance of the package and a client library already exists
|
||||
local SHOW_ABI_MESSAGE libpath
|
||||
if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
|
||||
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
|
||||
elog "Due to ABI changes when switching between different client libraries,"
|
||||
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
|
||||
elog "Please run: revdep-rebuild --library ${libpath}"
|
||||
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Create log directory securely if it does not exist
|
||||
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
|
||||
|
||||
if use server ; then
|
||||
if use pam; then
|
||||
einfo
|
||||
elog "This install includes the PAM authentication plugin."
|
||||
elog "To activate and configure the PAM plugin, please read:"
|
||||
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
|
||||
einfo
|
||||
fi
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
|
||||
einfo
|
||||
elog "You might want to run:"
|
||||
elog "\"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "if this is a new install."
|
||||
elog
|
||||
elog "If you are switching server implentations, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
else
|
||||
einfo
|
||||
elog "If you are upgrading major versions, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
fi
|
||||
|
||||
if use galera ; then
|
||||
einfo
|
||||
elog "Be sure to edit the my.cnf file to activate your cluster settings."
|
||||
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "The first time the cluster is activated, you should add"
|
||||
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
|
||||
elog "This option should then be removed for subsequent starts."
|
||||
einfo
|
||||
fi
|
||||
fi
|
||||
|
||||
# Note about configuration change
|
||||
einfo
|
||||
elog "This version of mariadb reorganizes the configuration from a single my.cnf"
|
||||
elog "to several files in /etc/mysql/${PN}.d."
|
||||
elog "Please backup any changes you made to /etc/mysql/my.cnf"
|
||||
elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
|
||||
elog "You may have as many files as needed and they are read alphabetically."
|
||||
elog "Be sure the options have the appropitate section headers, i.e. [mysqld]."
|
||||
einfo
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
|
||||
# Initialize the proper variables first
|
||||
mysql_init_vars
|
||||
|
||||
unpack ${A}
|
||||
# Grab the patches
|
||||
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
|
||||
|
||||
mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
_disable_plugin() {
|
||||
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
_disable_engine() {
|
||||
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
if use tcmalloc; then
|
||||
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
|
||||
fi
|
||||
|
||||
# Don't build bundled xz-utils for tokudb
|
||||
echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
|
||||
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
|
||||
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
|
||||
|
||||
local plugin
|
||||
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
|
||||
locale_info qc_info server_audit semisync sql_errlog )
|
||||
local test_plugins=( audit_null auth_examples daemon_example fulltext
|
||||
debug_key_management example_key_management versioning )
|
||||
if ! use server; then # These plugins are for the server
|
||||
for plugin in "${server_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
if ! use test; then # These plugins are only used during testing
|
||||
for plugin in "${test_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
_disable_engine test_sql_discovery
|
||||
fi
|
||||
|
||||
_disable_engine example
|
||||
|
||||
if ! use oqgraph ; then # avoids extra library checks
|
||||
_disable_engine oqgraph
|
||||
fi
|
||||
|
||||
if use mroonga ; then
|
||||
# Remove the bundled groonga
|
||||
# There is no CMake flag, it simply checks for existance
|
||||
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
|
||||
else
|
||||
_disable_engine mroonga
|
||||
fi
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
# Bug #114895, bug #110149
|
||||
filter-flags "-O" "-O[01]"
|
||||
|
||||
append-cxxflags -felide-constructors
|
||||
|
||||
# bug #283926, with GCC4.4, this is required to get correct behavior.
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
|
||||
# debug hack wrt #497532
|
||||
mycmakeargs=(
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
|
||||
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
|
||||
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
|
||||
-DINSTALL_BINDIR=bin
|
||||
-DINSTALL_DOCDIR=share/doc/${PF}
|
||||
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
|
||||
-DINSTALL_INCLUDEDIR=include/mysql
|
||||
-DINSTALL_INFODIR=share/info
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DINSTALL_MANDIR=share/man
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mariadb
|
||||
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
|
||||
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
|
||||
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
|
||||
-DINSTALL_SBINDIR=sbin
|
||||
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
|
||||
-DWITH_COMMENT="Gentoo Linux ${PF}"
|
||||
-DWITH_UNIT_TESTS=$(usex test ON OFF)
|
||||
-DWITH_LIBEDIT=0
|
||||
-DWITH_ZLIB=system
|
||||
-DWITHOUT_LIBWRAP=1
|
||||
-DENABLED_LOCAL_INFILE=1
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=0
|
||||
-DWITH_DEFAULT_FEATURE_SET=0
|
||||
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
|
||||
# The build forces this to be defined when cross-compiling. We pass it
|
||||
# all the time for simplicity and to make sure it is actually correct.
|
||||
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
|
||||
-DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
|
||||
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
|
||||
-DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
|
||||
-DCONC_WITH_EXTERNAL_ZLIB=YES
|
||||
-DWITH_EXTERNAL_ZLIB=YES
|
||||
-DSUFFIX_INSTALL_DIR=""
|
||||
-DWITH_UNITTEST=OFF
|
||||
-DWITHOUT_CLIENTLIBS=YES
|
||||
-DCLIENT_PLUGIN_DIALOG=OFF
|
||||
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
|
||||
-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
|
||||
)
|
||||
if use test ; then
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
|
||||
else
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
|
||||
fi
|
||||
|
||||
if ! use yassl ; then
|
||||
mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
|
||||
else
|
||||
mycmakeargs+=( -DWITH_SSL=bundled )
|
||||
fi
|
||||
|
||||
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
|
||||
mycmakeargs+=(
|
||||
-DWITH_READLINE=$(usex bindist 1 0)
|
||||
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
|
||||
-DENABLE_DTRACE=$(usex systemtap)
|
||||
)
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
mycmakeargs+=(
|
||||
-DPLUGIN_FEDERATED=NO
|
||||
-DPLUGIN_FEDERATEDX=NO )
|
||||
fi
|
||||
|
||||
mycmakeargs+=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
|
||||
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
|
||||
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
|
||||
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
|
||||
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
|
||||
-DPLUGIN_CASSANDRA=NO
|
||||
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
|
||||
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
|
||||
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DCONNECT_WITH_JDBC=$(usex jdbc)
|
||||
# Build failure and autodep wrt bug 639144
|
||||
-DCONNECT_WITH_MONGO=OFF
|
||||
-DWITH_WSREP=$(usex galera)
|
||||
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
|
||||
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
|
||||
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
|
||||
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
|
||||
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
|
||||
-DWITH_MARIABACKUP=$(usex backup ON OFF)
|
||||
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
|
||||
-DINSTALL_SQLBENCHDIR=""
|
||||
-DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
|
||||
# systemd is only linked to for server notification
|
||||
-DWITH_SYSTEMD=$(usex systemd yes no)
|
||||
-DWITH_NUMA=$(usex numa ON OFF)
|
||||
)
|
||||
|
||||
# Workaround for MDEV-14524
|
||||
use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
|
||||
|
||||
if use test ; then
|
||||
# This is needed for the new client lib which tests a real, open server
|
||||
mycmakeargs+=( -DSKIP_TESTS=ON )
|
||||
fi
|
||||
|
||||
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
|
||||
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
|
||||
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
|
||||
ewarn "You MUST file bugs without these variables set."
|
||||
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
|
||||
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
|
||||
)
|
||||
|
||||
elif ! use latin1 ; then
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=utf8
|
||||
-DDEFAULT_COLLATION=utf8_general_ci
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=latin1
|
||||
-DDEFAULT_COLLATION=latin1_swedish_ci
|
||||
)
|
||||
fi
|
||||
mycmakeargs+=(
|
||||
-DEXTRA_CHARSETS=all
|
||||
-DMYSQL_USER=mysql
|
||||
-DDISABLE_SHARED=$(usex static YES NO)
|
||||
-DWITH_DEBUG=$(usex debug)
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DWITH_PROFILING=$(usex profiling)
|
||||
)
|
||||
|
||||
if use static; then
|
||||
mycmakeargs+=( -DWITH_PIC=1 )
|
||||
fi
|
||||
|
||||
if use jemalloc || use tcmalloc ; then
|
||||
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
|
||||
fi
|
||||
|
||||
# Storage engines
|
||||
mycmakeargs+=(
|
||||
-DWITH_ARCHIVE_STORAGE_ENGINE=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
|
||||
-DWITH_CSV_STORAGE_ENGINE=1
|
||||
-DWITH_HEAP_STORAGE_ENGINE=1
|
||||
-DWITH_INNOBASE_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAM_STORAGE_ENGINE=1
|
||||
-DWITH_PARTITION_STORAGE_ENGINE=1
|
||||
)
|
||||
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DWITHOUT_SERVER=1
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DEXTRA_CHARSETS=none
|
||||
-DINSTALL_SQLBENCHDIR=
|
||||
-DWITH_SYSTEMD=no
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
|
||||
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
|
||||
rm "${ED}/usr/include/mysql/server/private/config.h" || die
|
||||
fi
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Convenience links
|
||||
einfo "Making Convenience links for mysqlcheck multi-call binary"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
|
||||
|
||||
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
|
||||
if [[ -d "${ED}/usr/data" ]] ; then
|
||||
rm -Rf "${ED}/usr/data" || die
|
||||
fi
|
||||
|
||||
# Unless they explicitly specific USE=test, then do not install the
|
||||
# testsuite. It DOES have a use to be installed, esp. when you want to do a
|
||||
# validation of your database configuration after tuning it.
|
||||
if ! use test ; then
|
||||
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
|
||||
fi
|
||||
|
||||
# Configuration stuff
|
||||
einfo "Building default configuration ..."
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
|
||||
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
|
||||
cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
|
||||
eprefixify "${TMPDIR}/my.cnf"
|
||||
doins "${TMPDIR}/my.cnf"
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
|
||||
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
|
||||
eprefixify "${TMPDIR}/50-distro-client.cnf"
|
||||
doins "${TMPDIR}/50-distro-client.cnf"
|
||||
|
||||
if use server ; then
|
||||
mycnf_src="my.cnf.distro-server"
|
||||
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
|
||||
"${FILESDIR}/${mycnf_src}" \
|
||||
> "${TMPDIR}/my.cnf.ok" || die
|
||||
if use prefix ; then
|
||||
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
|
||||
"${TMPDIR}/my.cnf.ok" || die
|
||||
fi
|
||||
if use latin1 ; then
|
||||
sed -i \
|
||||
-e "/character-set/s|utf8|latin1|g" \
|
||||
"${TMPDIR}/my.cnf.ok" || die
|
||||
fi
|
||||
eprefixify "${TMPDIR}/my.cnf.ok"
|
||||
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
|
||||
|
||||
einfo "Including support files and sample configurations"
|
||||
docinto "support-files"
|
||||
local script
|
||||
for script in \
|
||||
"${S}"/support-files/magic
|
||||
do
|
||||
[[ -f "$script" ]] && dodoc "${script}"
|
||||
done
|
||||
|
||||
docinto "scripts"
|
||||
for script in "${S}"/scripts/mysql* ; do
|
||||
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
|
||||
done
|
||||
fi
|
||||
|
||||
#Remove mytop if perl is not selected
|
||||
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='extraengine perl server' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
_disable_test() {
|
||||
local rawtestname reason
|
||||
rawtestname="${1}" ; shift
|
||||
reason="${@}"
|
||||
ewarn "test '${rawtestname}' disabled: '${reason}'"
|
||||
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
|
||||
}
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if ! use server ; then
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log} || die
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" > /dev/null || die
|
||||
|
||||
touch "${T}/disabled.def"
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
|
||||
local t
|
||||
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
|
||||
_disable_test "$t" "False positive due to varying policies"
|
||||
done
|
||||
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
|
||||
_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
_disable_test main.plugin_auth "Needs client libraries built"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
|
||||
retstatus_tests=$?
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
local failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
||||
|
||||
mysql_init_vars() {
|
||||
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
|
||||
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
|
||||
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
|
||||
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
|
||||
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=""
|
||||
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
|
||||
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
|
||||
| sed -e 's/.*=\s*//' \
|
||||
| tail -n1`
|
||||
fi
|
||||
fi
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR="${MY_LOCALSTATEDIR}"
|
||||
einfo "Using default MY_DATADIR"
|
||||
fi
|
||||
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
|
||||
|
||||
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
|
||||
if [[ -e "${MY_DATADIR}" ]] ; then
|
||||
# If you get this and you're wondering about it, see bug #207636
|
||||
elog "MySQL datadir found in ${MY_DATADIR}"
|
||||
elog "A new one will not be created."
|
||||
PREVIOUS_DATADIR="yes"
|
||||
else
|
||||
PREVIOUS_DATADIR="no"
|
||||
fi
|
||||
export PREVIOUS_DATADIR
|
||||
fi
|
||||
else
|
||||
if [[ ${EBUILD_PHASE} == "config" ]]; then
|
||||
local new_MY_DATADIR
|
||||
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
|
||||
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
|
||||
ewarn "MySQL MY_DATADIR has changed"
|
||||
ewarn "from ${MY_DATADIR}"
|
||||
ewarn "to ${new_MY_DATADIR}"
|
||||
MY_DATADIR="${new_MY_DATADIR}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
|
||||
export MY_LOCALSTATEDIR MY_LOGDIR
|
||||
export MY_DATADIR
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
_getoptval() {
|
||||
local mypd="${EROOT}"/usr/bin/my_print_defaults
|
||||
local section="$1"
|
||||
local flag="--${2}="
|
||||
local extra_options="${3}"
|
||||
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
|
||||
}
|
||||
local old_MY_DATADIR="${MY_DATADIR}"
|
||||
local old_HOME="${HOME}"
|
||||
# my_print_defaults needs to read stuff in $HOME/.my.cnf
|
||||
export HOME=${EPREFIX}/root
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
|
||||
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
|
||||
die "Minimal builds do NOT include the MySQL server"
|
||||
fi
|
||||
|
||||
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
|
||||
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
|
||||
MY_DATADIR_s="${MY_DATADIR_s%%/}"
|
||||
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
|
||||
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
|
||||
|
||||
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
|
||||
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
|
||||
else
|
||||
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
|
||||
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|
||||
|| die "Moving MY_DATADIR failed"
|
||||
fi
|
||||
else
|
||||
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Attempting to use ${MY_DATADIR_s}"
|
||||
else
|
||||
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
|
||||
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local pwd1="a"
|
||||
local pwd2="b"
|
||||
local maxtry=15
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
local tmp_mysqld_password_source=
|
||||
|
||||
for tmp_mysqld_password_source in mysql client; do
|
||||
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
|
||||
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
|
||||
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
|
||||
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
continue
|
||||
fi
|
||||
|
||||
einfo "Found password in '${tmp_mysqld_password_source}' section!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
|
||||
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
|
||||
fi
|
||||
|
||||
unset tmp_mysqld_password_source
|
||||
fi
|
||||
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
|
||||
# These are dir+prefix
|
||||
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
|
||||
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
|
||||
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
|
||||
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
|
||||
|
||||
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
|
||||
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
|
||||
fi
|
||||
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
|
||||
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
|
||||
fi
|
||||
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
|
||||
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
|
||||
fi
|
||||
|
||||
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
|
||||
ewarn "You have already a MySQL database in place."
|
||||
ewarn "(${ROOT}/${MY_DATADIR}/*)"
|
||||
ewarn "Please rename or delete it if you wish to replace it."
|
||||
die "MySQL database already exists!"
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
|
||||
einfo "Please provide a password for the mysql 'root' user now"
|
||||
einfo "or through the ${HOME}/.my.cnf file."
|
||||
ewarn "Avoid [\"'\\_%] characters in the password"
|
||||
read -rsp " >" pwd1 ; echo
|
||||
|
||||
einfo "Retype the password"
|
||||
read -rsp " >" pwd2 ; echo
|
||||
|
||||
if [[ "x$pwd1" != "x$pwd2" ]] ; then
|
||||
die "Passwords are not the same"
|
||||
fi
|
||||
MYSQL_ROOT_PASSWORD="${pwd1}"
|
||||
unset pwd1 pwd2
|
||||
fi
|
||||
|
||||
local options
|
||||
local sqltmp="$(emktemp)"
|
||||
|
||||
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
|
||||
# see http://bugs.mysql.com/bug.php?id=31312
|
||||
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
|
||||
|
||||
# Figure out which options we need to disable to do the setup
|
||||
local helpfile="${TMPDIR}/mysqld-help"
|
||||
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
|
||||
for opt in grant-tables host-cache name-resolve networking slave-start \
|
||||
federated ssl log-bin relay-log slow-query-log external-locking \
|
||||
log-slave-updates \
|
||||
; do
|
||||
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
|
||||
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
|
||||
done
|
||||
|
||||
einfo "Creating the mysql database and setting proper permissions on it ..."
|
||||
|
||||
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
|
||||
PID_DIR="${EROOT}/var/run/mysqld"
|
||||
if [[ ! -d "${PID_DIR}" ]]; then
|
||||
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${MY_DATADIR}" ]]; then
|
||||
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
|
||||
fi
|
||||
|
||||
pushd "${TMPDIR}" &>/dev/null || die
|
||||
|
||||
# Filling timezones, see
|
||||
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
|
||||
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
|
||||
|
||||
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
|
||||
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
|
||||
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
|
||||
einfo "Command: ${cmd[*]}"
|
||||
su -s /bin/sh -c "${cmd[*]}" mysql \
|
||||
>"${TMPDIR}"/mysql_install_db.log 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
|
||||
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
|
||||
fi
|
||||
popd &>/dev/null || die
|
||||
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|
||||
|| die "MySQL databases not installed"
|
||||
|
||||
use prefix || options="${options} --user=mysql"
|
||||
|
||||
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
|
||||
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
|
||||
local mysqld="${EROOT}/usr/sbin/mysqld \
|
||||
${options} \
|
||||
--log-warnings=0 \
|
||||
--basedir=${EROOT}/usr \
|
||||
--datadir=${ROOT}/${MY_DATADIR} \
|
||||
--max_allowed_packet=8M \
|
||||
--net_buffer_length=16K \
|
||||
--socket=${socket} \
|
||||
--pid-file=${pidfile}
|
||||
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
|
||||
#einfo "About to start mysqld: ${mysqld}"
|
||||
ebegin "Starting mysqld"
|
||||
einfo "Command ${mysqld}"
|
||||
${mysqld} &
|
||||
rc=$?
|
||||
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
|
||||
maxtry=$((${maxtry}-1))
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
eend $rc
|
||||
|
||||
if ! [[ -S "${socket}" ]]; then
|
||||
die "Completely failed to start up mysqld with: ${mysqld}"
|
||||
fi
|
||||
|
||||
ebegin "Setting root password"
|
||||
# Do this from memory, as we don't want clear text passwords in temp files
|
||||
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-e "${sql}"
|
||||
eend $?
|
||||
|
||||
if [[ -n "${sqltmp}" ]] ; then
|
||||
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-uroot \
|
||||
--password="${MYSQL_ROOT_PASSWORD}" \
|
||||
mysql < "${sqltmp}"
|
||||
rc=$?
|
||||
eend $?
|
||||
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
|
||||
fi
|
||||
|
||||
# Stop the server and cleanup
|
||||
einfo "Stopping the server ..."
|
||||
kill $(< "${pidfile}" )
|
||||
rm -f "${sqltmp}"
|
||||
wait %1
|
||||
einfo "Done"
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils webapp
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_PN="phpMyAdmin"
|
||||
MY_P="${MY_PN}-${MY_PV}-all-languages"
|
||||
|
||||
DESCRIPTION="Web-based administration for MySQL database in PHP"
|
||||
HOMEPAGE="https://www.phpmyadmin.net/"
|
||||
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="setup"
|
||||
|
||||
RDEPEND="
|
||||
dev-lang/php[ctype,filter,json,session,unicode]
|
||||
|| (
|
||||
dev-lang/php[mysqli]
|
||||
dev-lang/php[mysql]
|
||||
)
|
||||
virtual/httpd-php:*
|
||||
"
|
||||
|
||||
need_httpd_cgi
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
pkg_setup() {
|
||||
webapp_pkg_setup
|
||||
}
|
||||
|
||||
src_install() {
|
||||
webapp_src_preinst
|
||||
|
||||
dodoc README RELEASE-DATE-${MY_PV} ChangeLog || die
|
||||
rm -f LICENSE README* RELEASE-DATE-${MY_PV}
|
||||
|
||||
if ! use setup; then
|
||||
rm -rf setup || die "Cannot remove setup utility"
|
||||
elog "The phpMyAdmin setup utility has been removed."
|
||||
elog "It is a regular target of various exploits. If you need it, set USE=setup."
|
||||
else
|
||||
elog "You should consider disabling the setup USE flag"
|
||||
elog "to exclude the setup utility if you don't use it."
|
||||
elog "It regularly is the target of various exploits."
|
||||
fi
|
||||
|
||||
insinto "${MY_HTDOCSDIR#${EPREFIX}}"
|
||||
doins -r .
|
||||
|
||||
webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
|
||||
webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
|
||||
|
||||
webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
|
||||
webapp_src_install
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,2 @@
|
||||
DIST bglibs-1.041.tar.gz 317199 BLAKE2B 808bfbc713aaf06c5eb828b4bf0f5b789969afaa078b68292f209d7612860d4a5de793ec8768c63908a48f98841d30a0b2bd9a40b45ce94cb0a539ebcb2cbdbb SHA512 63f1cbef024f528d13a23f84f11b014be2ee9a9c8c40f49f8a114a6b4407c1279860a049f3dd67cfa7306a5326bbb93bb57b134af05031ec3c00f5f49784f6bc
|
||||
DIST bglibs-1.104.tar.gz 442643 BLAKE2B 15c02a5c42075626266e9b70732647b6968d0338feaa4454f743a7f89bf0a584987088736daed6ddb15005f94ae6235b1236928303f4ba92346d8dd63184addf SHA512 2ee24eb696126de2aa40451f3ce395220ea57cac9376ded6b7d7e195ecd7a1740f07339c4934a5aafdadb639a0d3421bfe6e674857d9663827a2c3714abe6a03
|
||||
DIST bglibs-1.106.tar.gz 481564 BLAKE2B 838bd29753b254efc90c8c2c2e4d4920de2e931f823d32393184156f76967ec1995f1e79d2879169dd509cddd298b2389a4ca0109b81245fc617575f3ccf7405 SHA512 c1ae4bb9978b09ffe01231738d1f249c2040a51c2a0bbc4b04389a7085a3885cca6483f1bfe65deca213d991273bb3b7b925ebde8b6e2cd9182d8a57cb9a49d8
|
||||
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=0
|
||||
|
||||
inherit toolchain-funcs eutils multilib
|
||||
|
||||
DESCRIPTION="Bruce Guenters Libraries Collection"
|
||||
HOMEPAGE="http://untroubled.org/bglibs/"
|
||||
SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE=""
|
||||
DEPEND=""
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
epatch "${FILESDIR}"/bglibs-1.104-parallel-fix.patch
|
||||
# disable tests as we want them manually
|
||||
sed -i \
|
||||
-e '/^all:/s|selftests||' \
|
||||
"${S}"/Makefile
|
||||
sed -i \
|
||||
-e '/selftests/d' \
|
||||
"${S}"/TARGETS
|
||||
#sed -i \
|
||||
# -e 's,^libraries:,LIBS = ,g' \
|
||||
# -e '/^LIBS =/alibs-static: $(filter %.a,$(LIBS))' \
|
||||
# -e '/^LIBS =/alibs-shared: $(filter %.la,$(LIBS))' \
|
||||
# -e '/^LIBS =/alibraries: libs-static libs-shared' \
|
||||
# "${S}"/Makefile
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
echo "${D}/usr/bin" > conf-bin
|
||||
echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
|
||||
echo "${D}/usr/include/bglibs" > conf-include
|
||||
echo "${D}/usr/share/man" > conf-man
|
||||
echo "$(tc-getCC) ${CFLAGS}" > conf-cc
|
||||
echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
|
||||
# Fails if we do parallel build of shared+static at the same time
|
||||
emake libs-shared || die
|
||||
emake libs-static || die
|
||||
emake || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "Running selftests"
|
||||
emake selftests
|
||||
}
|
||||
|
||||
src_install () {
|
||||
einstall || die "install failed"
|
||||
|
||||
#make backwards compatible symlinks
|
||||
dosym /usr/lib/bglibs /usr/lib/bglibs/lib
|
||||
dosym /usr/include/bglibs /usr/lib/bglibs/include
|
||||
|
||||
dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
|
||||
dohtml doc/html/*
|
||||
docinto latex
|
||||
dodoc doc/latex/*
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit toolchain-funcs eutils multilib
|
||||
|
||||
DESCRIPTION="Bruce Guenters Libraries Collection"
|
||||
HOMEPAGE="http://untroubled.org/bglibs/"
|
||||
SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE=""
|
||||
DEPEND=""
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-1.106-parallel-fix.patch
|
||||
# disable tests as we want them manually
|
||||
sed -i \
|
||||
-e '/^all:/s|selftests||' \
|
||||
"${S}"/Makefile
|
||||
sed -i \
|
||||
-e '/selftests/d' \
|
||||
"${S}"/TARGETS
|
||||
#sed -i \
|
||||
# -e 's,^libraries:,LIBS = ,g' \
|
||||
# -e '/^LIBS =/alibs-static: $(filter %.a,$(LIBS))' \
|
||||
# -e '/^LIBS =/alibs-shared: $(filter %.la,$(LIBS))' \
|
||||
# -e '/^LIBS =/alibraries: libs-static libs-shared' \
|
||||
# "${S}"/Makefile
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
echo "${D}/usr/bin" > conf-bin
|
||||
echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
|
||||
echo "${D}/usr/include/bglibs" > conf-include
|
||||
echo "${D}/usr/share/man" > conf-man
|
||||
echo "$(tc-getCC) ${CFLAGS}" > conf-cc
|
||||
echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
|
||||
emake || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "Running selftests"
|
||||
emake selftests
|
||||
}
|
||||
|
||||
src_install () {
|
||||
einstall || die "install failed"
|
||||
|
||||
#make backwards compatible symlinks
|
||||
dosym /usr/lib/bglibs /usr/lib/bglibs/lib
|
||||
dosym /usr/include/bglibs /usr/lib/bglibs/include
|
||||
|
||||
#install .so in LDPATH
|
||||
mv "${D}"/usr/$(get_libdir)/bglibs/libbg.so.1.1.1 "${D}"/usr/$(get_libdir)/
|
||||
mv "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1 "${D}"/usr/$(get_libdir)/
|
||||
dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so.1
|
||||
dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so
|
||||
dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so.1
|
||||
dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so
|
||||
|
||||
dosym ../libbg.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg.so.1.1.1
|
||||
dosym ../libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1
|
||||
|
||||
rm "${D}"/usr/$(get_libdir)/bglibs/libbg.la
|
||||
rm "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.la
|
||||
|
||||
dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
|
||||
dohtml doc/html/*
|
||||
docinto latex
|
||||
dodoc doc/latex/*
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="A libc optimized for small size"
|
||||
HOMEPAGE="http://www.fefe.de/dietlibc/"
|
||||
SRC_URI="https://dev.gentoo.org/~patrick/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm ~ia64 ~mips sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
DIETHOME=/usr/diet
|
||||
|
||||
S=${WORKDIR}/dietlibc
|
||||
|
||||
src_prepare() {
|
||||
# Replace sparc64 related C[XX]FLAGS (see bug #45716)
|
||||
use sparc && replace-sparc64-flags
|
||||
|
||||
# gcc-hppa suffers support for SSP, compilation will fail
|
||||
use hppa && strip-unsupported-flags
|
||||
|
||||
# Makefile does not append CFLAGS
|
||||
append-flags -nostdinc -W -Wall -Wextra -Wchar-subscripts \
|
||||
-Wmissing-prototypes -Wmissing-declarations -Wno-switch \
|
||||
-Wno-unused -Wredundant-decls -fno-strict-aliasing
|
||||
|
||||
# Disable ssp for we default to it on >=gcc-4.8.3
|
||||
append-flags $(test-flags -fno-stack-protector)
|
||||
|
||||
# only use -nopie on archs that support it
|
||||
tc-enables-pie && append-flags -nopie
|
||||
|
||||
sed -i -e 's:strip::' Makefile || die
|
||||
append-flags -Wa,--noexecstack
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 prefix="${EPREFIX}"${DIETHOME} \
|
||||
CC="$(tc-getCC)" \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
STRIP=":"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -j1 prefix="${EPREFIX}"${DIETHOME} \
|
||||
DESTDIR="${D}" \
|
||||
install-bin \
|
||||
install-headers \
|
||||
install-profiling
|
||||
|
||||
dobin "${ED}"${DIETHOME}/bin/*
|
||||
doman "${ED}"${DIETHOME}/man/*/*
|
||||
rm -r "${ED}"${DIETHOME}/{man,bin} || die
|
||||
|
||||
dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
From 843c667c1b516c0764840c6e4d41188f9c96a415 Mon Sep 17 00:00:00 2001
|
||||
From: leitner <leitner>
|
||||
Date: Mon, 4 Sep 2017 21:59:50 +0000
|
||||
Subject: [PATCH] use __DYN_LIB instead of __PIC__ in i386 socketcalls
|
||||
|
||||
---
|
||||
i386/syscalls.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/i386/syscalls.h b/i386/syscalls.h
|
||||
index 11d6f1d5..14ac517b 100644
|
||||
--- a/i386/syscalls.h
|
||||
+++ b/i386/syscalls.h
|
||||
@@ -416,7 +416,7 @@ sym: \
|
||||
.Lend##sym: ; \
|
||||
.size sym,.Lend##sym-sym
|
||||
|
||||
-#ifndef __PIC__
|
||||
+#ifndef __DYN_LIB
|
||||
#define __socketcall(name,NAME) \
|
||||
.text; \
|
||||
.type name,@function; \
|
@ -1,2 +1 @@
|
||||
DIST libffcall-2.0.tar.gz 938605 BLAKE2B 1e6fcae8f1dcaad52ca84d0dcf97f8dde5bb8153244bbb9047dbab5f6a1dade0a00f149507e6bb14225369a7081cadb069d23c8bc7cdcfaec937d7b9d47d08c1 SHA512 d75aa1df97b14692a9137745bae5b24c4d8f739cb1c7f854e7ed47e4a77a49759122abd6b0e445efa56381f47932c13cd21a154b2783649afb9c7a39e73fea04
|
||||
DIST libffcall-2.1.tar.gz 943235 BLAKE2B ae82663174db084e830b6ff77ceedf8641b3edeb7800952ac4e2772d9033da3e45f46159e6fdae86615dc69fceba39f48d6c75e6cbd41be98f1986fa69d50b3b SHA512 da73375fb45b7d764c06437a517c2a90abf7d5de6afe0a8ca19e6dfafd2a8c7107e39d230ecbc8edfdd5926b16a0c13b7bb9319287047c47de1241b2f6ae805e
|
||||
|
@ -1,64 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PV="libffcall-${PV}"
|
||||
|
||||
DESCRIPTION="foreign function call libraries"
|
||||
HOMEPAGE="https://www.gnu.org/software/libffcall/"
|
||||
SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
|
||||
|
||||
# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
|
||||
# or in derivate works of GNUstep, the included parts of ffcall are
|
||||
# under GNU LGPL." -ffcall author
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm64 ~hppa ia64 ppc ~ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${MY_PV}
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
src_prepare() {
|
||||
# The build system is a strange mix of autogenerated
|
||||
# files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
|
||||
# We are adding them consistently here and a bit over the top:
|
||||
# bugs: #334581
|
||||
|
||||
for mfi in {,*/,*/*/,}Makefile.in
|
||||
do
|
||||
elog "Patching '${mfi}'"
|
||||
# usually uses only assembler here, but -march=
|
||||
# and -Wa, are a must to pass here.
|
||||
sed -e 's/$(CC) /&$(CFLAGS) /g' \
|
||||
-i "${mfi}" || die
|
||||
done
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fPIC
|
||||
|
||||
# Doc goes in datadir
|
||||
econf \
|
||||
--datadir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--enable-shared \
|
||||
--disable-static
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO. Remove -j1
|
||||
emake -j1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc NEWS README
|
||||
dodir /usr/share/man
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
DIST nss-3.29.5.tar.gz 7480246 BLAKE2B 9ab16cbbd95aa31358b5b686bee64cd81c8343524dad8aac084f7c86883f1eaead78912dc1021b0461d027b0085356c4b7156f1d80010c3a0ece29d542deef50 SHA512 ce18bc7e793d2b3698db412b2e5fcabbfd9862eca3def120d5e44bc67276526bff6b33ffa84b8128f8af6d35101000e6f7bb24194f63a55461b3c245fac11faa
|
||||
DIST nss-3.36.1.tar.gz 23026430 BLAKE2B 76eaf5b24f8954a4e14cf556912250a3ddb7b333054a2ea4ee3d218493a8f12c77a37455aae354ef6ddd9bd55c33a269dad515806d70ef38727fa8a382d47fd4 SHA512 096fe4360b6d584a746ac6156830f8cff821fd173bd889d7a396238919328a227fa4ebb46f738970a4001773046f3dd4f4675b85ff6de8420a4a7657b3ba0c65
|
||||
DIST nss-3.37.1.tar.gz 23034142 BLAKE2B dd196606bf922a58c2d1f7443c6b8c570d5c5c5437f51b8c6c4ddfe84aad7d576cff46f2eba23e4d32f41984fb6ea8aaa29a63b2f010b6807df74ee71144b11d SHA512 61b8186f45afa5fade6f45737d60a86f519c8b5535963f4cc6f13fa6694be0723cdd8b0ed48bbc2eae621dfbfd80ccc249998eeb89ed565797ac4553895a01a1
|
||||
DIST nss-3.37.tar.gz 23027581 BLAKE2B 0ce7190a029321d5620dc8b9aedf1f4252c53dbef57149afbad432b6bc4b590db026505d23f5c766827d5c0179ab931b8a0435a2e9785eff3db515ed7211e512 SHA512 ad5175f126705f57092ac80421ac005bcc32bb18a4a44a527df25994fa90b3bc18af08506683564f619a22076f71232e2b3c9e6e25d6312d0bfed63684139103
|
||||
DIST nss-cacert-class1-class3.patch 22950 BLAKE2B 9d5e60df5f161a3c27c41e5a9419440a54f888eda454e3cde5ebe626d4075b65cf9938b5144d0fb022377f4bd415bff5e5c67d104409860aa9391b3eb8872c68 SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0
|
||||
DIST nss-pem-20160329.tar.xz 27732 BLAKE2B 7c23133a7bfb969d8eac98fb6311e76ab60c5d6601c7329f3c492da30c017e66d64a1f8bc827dd36e52e65c1a1ec02b58816442aaf410345c5ed759a02264b84 SHA512 5834b06e4c64205447573d4f4c8989e20986ae67ee00eebce3817eb73794a6355a404143ba1c676ec302ceefaf9df103cb879b1d4ff14ba4e3790dbee3e40eb2
|
||||
|
@ -0,0 +1,372 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
|
||||
|
||||
NSPR_VER="4.16"
|
||||
RTM_NAME="NSS_${PV//./_}_RTM"
|
||||
# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
|
||||
PEM_GIT_REV="429b0222759d8ad8e6dcd29e62875ae3efd69116"
|
||||
PEM_P="${PN}-pem-20160329"
|
||||
|
||||
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
|
||||
cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )
|
||||
nss-pem? ( https://dev.gentoo.org/~polynomial-c/${PEM_P}.tar.xz )"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="cacert +nss-pem utils"
|
||||
CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
|
||||
DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
|
||||
${CDEPEND}"
|
||||
RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
|
||||
${CDEPEND}
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
S="${WORKDIR}/${P}/${PN}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nss-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
# Custom changes for gentoo
|
||||
"${FILESDIR}/${PN}-3.32-gentoo-fixups.patch"
|
||||
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
|
||||
"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
|
||||
"${FILESDIR}/${PN}-3.37-fix-fstar-missing-symbols.patch"
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
if use nss-pem ; then
|
||||
mv "${PN}"/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use nss-pem ; then
|
||||
PATCHES+=(
|
||||
"${FILESDIR}/${PN}-3.21-enable-pem.patch"
|
||||
)
|
||||
fi
|
||||
if use cacert ; then #521462
|
||||
PATCHES+=(
|
||||
"${DISTDIR}/${PN}-cacert-class1-class3.patch"
|
||||
)
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
pushd coreconf >/dev/null || die
|
||||
# hack nspr paths
|
||||
echo 'INCLUDES += -I$(DIST)/include/dbm' \
|
||||
>> headers.mk || die "failed to append include"
|
||||
|
||||
# modify install path
|
||||
sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
|
||||
-i source.mk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
|
||||
popd >/dev/null || die
|
||||
|
||||
# Fix pkgconfig file for Prefix
|
||||
sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
|
||||
config/Makefile || die
|
||||
|
||||
# use host shlibsign if need be #436216
|
||||
if tc-is-cross-compiler ; then
|
||||
sed -i \
|
||||
-e 's:"${2}"/shlibsign:shlibsign:' \
|
||||
cmd/shlibsign/sign.sh || die
|
||||
fi
|
||||
|
||||
# dirty hack
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
|
||||
lib/ssl/config.mk || die
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
|
||||
cmd/platlibs.mk || die
|
||||
|
||||
multilib_copy_sources
|
||||
|
||||
strip-flags
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Ensure we stay multilib aware
|
||||
sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
|
||||
}
|
||||
|
||||
nssarch() {
|
||||
# Most of the arches are the same as $ARCH
|
||||
local t=${1:-${CHOST}}
|
||||
case ${t} in
|
||||
aarch64*)echo "aarch64";;
|
||||
hppa*) echo "parisc";;
|
||||
i?86*) echo "i686";;
|
||||
x86_64*) echo "x86_64";;
|
||||
*) tc-arch ${t};;
|
||||
esac
|
||||
}
|
||||
|
||||
nssbits() {
|
||||
local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
|
||||
if [[ ${1} == BUILD_ ]]; then
|
||||
cc=$(tc-getBUILD_CC)
|
||||
else
|
||||
cc=$(tc-getCC)
|
||||
fi
|
||||
echo > "${T}"/test.c || die
|
||||
${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
|
||||
case $(file "${T}/${1}test.o") in
|
||||
*32-bit*x86-64*) echo USE_X32=1;;
|
||||
*64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# use ABI to determine bit'ness, or fallback if unset
|
||||
local buildbits mybits
|
||||
case "${ABI}" in
|
||||
n32) mybits="USE_N32=1";;
|
||||
x32) mybits="USE_X32=1";;
|
||||
s390x|*64) mybits="USE_64=1";;
|
||||
${DEFAULT_ABI})
|
||||
einfo "Running compilation test to determine bit'ness"
|
||||
mybits=$(nssbits)
|
||||
;;
|
||||
esac
|
||||
# bitness of host may differ from target
|
||||
if tc-is-cross-compiler; then
|
||||
buildbits=$(nssbits BUILD_)
|
||||
fi
|
||||
|
||||
local makeargs=(
|
||||
CC="$(tc-getCC)"
|
||||
CCC="$(tc-getCXX)"
|
||||
AR="$(tc-getAR) rc \$@"
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
OPTIMIZER=
|
||||
${mybits}
|
||||
)
|
||||
|
||||
# Take care of nspr settings #436216
|
||||
local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
|
||||
unset NSPR_INCLUDE_DIR
|
||||
|
||||
# Do not let `uname` be used.
|
||||
if use kernel_linux ; then
|
||||
makeargs+=(
|
||||
OS_TARGET=Linux
|
||||
OS_RELEASE=2.6
|
||||
OS_TEST="$(nssarch)"
|
||||
)
|
||||
fi
|
||||
|
||||
export NSS_ENABLE_WERROR=0 #567158
|
||||
export BUILD_OPT=1
|
||||
export NSS_USE_SYSTEM_SQLITE=1
|
||||
export NSDISTMODE=copy
|
||||
export NSS_ENABLE_ECC=1
|
||||
export FREEBL_NO_DEPEND=1
|
||||
export ASFLAGS=""
|
||||
|
||||
local d
|
||||
|
||||
# Build the host tools first.
|
||||
LDFLAGS="${BUILD_LDFLAGS}" \
|
||||
XCFLAGS="${BUILD_CFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 -C coreconf \
|
||||
CC="$(tc-getBUILD_CC)" \
|
||||
${buildbits:-${mybits}}
|
||||
makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
|
||||
|
||||
# Then build the target tools.
|
||||
for d in . lib/dbm ; do
|
||||
CPPFLAGS="${myCPPFLAGS}" \
|
||||
XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 "${makeargs[@]}" -C ${d}
|
||||
done
|
||||
}
|
||||
|
||||
# Altering these 3 libraries breaks the CHK verification.
|
||||
# All of the following cause it to break:
|
||||
# - stripping
|
||||
# - prelink
|
||||
# - ELF signing
|
||||
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
|
||||
# Either we have to NOT strip them, or we have to forcibly resign after
|
||||
# stripping.
|
||||
#local_libdir="$(get_libdir)"
|
||||
#export STRIP_MASK="
|
||||
# */${local_libdir}/libfreebl3.so*
|
||||
# */${local_libdir}/libnssdbm3.so*
|
||||
# */${local_libdir}/libsoftokn3.so*"
|
||||
|
||||
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
|
||||
|
||||
generate_chk() {
|
||||
local shlibsign="$1"
|
||||
local libdir="$2"
|
||||
einfo "Resigning core NSS libraries for FIPS validation"
|
||||
shift 2
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libname=lib${i}.so
|
||||
local chkname=lib${i}.chk
|
||||
"${shlibsign}" \
|
||||
-i "${libdir}"/${libname} \
|
||||
-o "${libdir}"/${chkname}.tmp \
|
||||
&& mv -f \
|
||||
"${libdir}"/${chkname}.tmp \
|
||||
"${libdir}"/${chkname} \
|
||||
|| die "Failed to sign ${libname}"
|
||||
done
|
||||
}
|
||||
|
||||
cleanup_chk() {
|
||||
local libdir="$1"
|
||||
shift 1
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libfname="${libdir}/lib${i}.so"
|
||||
# If the major version has changed, then we have old chk files.
|
||||
[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
|
||||
&& rm -f "${libfname}.chk"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
pushd dist >/dev/null || die
|
||||
|
||||
dodir /usr/$(get_libdir)
|
||||
cp -L */lib/*$(get_libname) "${ED%/}"/usr/$(get_libdir) || die "copying shared libs failed"
|
||||
local i
|
||||
for i in crmf freebl nssb nssckfw ; do
|
||||
cp -L */lib/lib${i}.a "${ED%/}"/usr/$(get_libdir) || die "copying libs failed"
|
||||
done
|
||||
|
||||
# Install nss-config and pkgconfig file
|
||||
dodir /usr/bin
|
||||
cp -L */bin/nss-config "${ED%/}"/usr/bin || die
|
||||
dodir /usr/$(get_libdir)/pkgconfig
|
||||
cp -L */lib/pkgconfig/nss.pc "${ED%/}"/usr/$(get_libdir)/pkgconfig || die
|
||||
|
||||
# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
|
||||
# bug 517266
|
||||
sed -e 's#Libs:#Libs: -lfreebl#' \
|
||||
-e 's#Cflags:#Cflags: -I${includedir}/private#' \
|
||||
*/lib/pkgconfig/nss.pc >"${ED%/}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
|
||||
|| die "could not create nss-softokn.pc"
|
||||
|
||||
# all the include files
|
||||
insinto /usr/include/nss
|
||||
doins public/nss/*.{h,api}
|
||||
insinto /usr/include/nss/private
|
||||
doins private/nss/{blapi,alghmac}.h
|
||||
|
||||
popd >/dev/null || die
|
||||
|
||||
local f nssutils
|
||||
# Always enabled because we need it for chk generation.
|
||||
nssutils=( shlibsign )
|
||||
|
||||
if multilib_is_native_abi ; then
|
||||
if use utils; then
|
||||
# The tests we do not need to install.
|
||||
#nssutils_test="bltest crmftest dbtest dertimetest
|
||||
#fipstest remtest sdrtest"
|
||||
# checkcert utils has been removed in nss-3.22:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
|
||||
# https://hg.mozilla.org/projects/nss/rev/df1729d37870
|
||||
# certcgi has been removed in nss-3.36:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
|
||||
nssutils+=(
|
||||
addbuiltin
|
||||
atob
|
||||
baddbdir
|
||||
btoa
|
||||
certutil
|
||||
cmsutil
|
||||
conflict
|
||||
crlutil
|
||||
derdump
|
||||
digest
|
||||
makepqg
|
||||
mangle
|
||||
modutil
|
||||
multinit
|
||||
nonspr10
|
||||
ocspclnt
|
||||
oidcalc
|
||||
p7content
|
||||
p7env
|
||||
p7sign
|
||||
p7verify
|
||||
pk11mode
|
||||
pk12util
|
||||
pp
|
||||
rsaperf
|
||||
selfserv
|
||||
signtool
|
||||
signver
|
||||
ssltap
|
||||
strsclnt
|
||||
symkeyutil
|
||||
tstclnt
|
||||
vfychain
|
||||
vfyserv
|
||||
)
|
||||
# install man-pages for utils (bug #516810)
|
||||
doman doc/nroff/*.1
|
||||
fi
|
||||
pushd dist/*/bin >/dev/null || die
|
||||
for f in ${nssutils[@]}; do
|
||||
dobin ${f}
|
||||
done
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# Prelink breaks the CHK files. We don't have any reliable way to run
|
||||
# shlibsign after prelink.
|
||||
dodir /etc/prelink.conf.d
|
||||
printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
|
||||
> "${ED%/}"/etc/prelink.conf.d/nss.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
multilib_pkg_postinst() {
|
||||
# We must re-sign the libraries AFTER they are stripped.
|
||||
local shlibsign="${EROOT}/usr/bin/shlibsign"
|
||||
# See if we can execute it (cross-compiling & such). #436216
|
||||
"${shlibsign}" -h >&/dev/null
|
||||
if [[ $? -gt 1 ]] ; then
|
||||
shlibsign="shlibsign"
|
||||
fi
|
||||
generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
multilib_pkg_postrm() {
|
||||
cleanup_chk "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
}
|
Binary file not shown.
@ -1,6 +1,2 @@
|
||||
DIST cmucl-20e-x86-linux.tar.bz2 18861880 BLAKE2B ed7b2dec86305ab2ad78ca5a84f0380044211e7cacf67f297c17c26d0a0a344d53c0404d82c86415dd923b92920cbd873436d925417f3590ac3a4c88d919b231 SHA512 1eee852b2a11733d0fac2c046137ccd099370bf208be71becc03710e832510b288768f557e326b1ce95cba16490413142e607fd71346e20e5f8592b51d86b0fe
|
||||
DIST cmucl-21a-x86-linux.tar.bz2 10870693 BLAKE2B a4fb258cef17eaf281ffd1fdff7f5e953b650c45822ed94722e4df5065b41a53cd0a9f481fba9ac38824dab4952bbb6d45e432b37fe73142c2ead1c8a4b17141 SHA512 7f7d327e47b01dcee1cbb05aae826ef7c64d4d192d7d32d1aba51c8839a06d65942fff5d4c7dbccc955e1e233d2065d83d078266327caee07201e9dce59c39ee
|
||||
DIST cmucl-21c-x86-linux.tar.bz2 11127872 BLAKE2B b9089a40b4a0738f9faccdfddb7b33256a561a07cedc3ef9b3ec7afddbbb9de493c2ffb9af4a8d6b6ce70ef857576870901a6b7a607f52bdaf8a0f53ddd2d07e SHA512 9097220aef612aa3d8367a86a86dc62d86d918190d2688f6e90d415c9f9d881f97f0829e9d310f700b014821d30bf5a15f7a05cdb9201c9deab10a7231e0bcb6
|
||||
DIST cmucl-src-20e.tar.bz2 6147575 BLAKE2B a9f31b9a34c513dc88d935e18b9a07854d024d236f1f0294f888c84fd4b781afcd99a3cceac148edd1d1fe6c2dc00c5c8de4069d84b227872e376422275b6984 SHA512 d04f6ac7335572198d37d5df00934edfc82495294446cc5420dada4f2df44009f0983b438d6f10ce5bb02e46fd89df985da5eee3e91a6a75d98e9f86240c0dcc
|
||||
DIST cmucl-src-21a.tar.bz2 8195492 BLAKE2B 5ca24e1ee258b52b805ab933e80915da6af022d47f8171327e318edb28d9f87c8901fe10ea48d54b6737a808cb03b08f8d3db41688b347971147b991570752cc SHA512 74b077732030dbc3681aadcf9c802fd5b399362c9653b972063e49eb0a2ad528d02d6dde74107210c94c94dc7e9664472c2d072a6ae6f75e7e8c4cf847987e3b
|
||||
DIST cmucl-src-21c.tar.bz2 6947775 BLAKE2B 828075c71ddf459d09076199af4a02f2294063bd9ef0beb6d4bcbb473dd0ff8cfdff7faa9416f640e125603301fa37c73a280db597bf4301c22fbe88c4cc2dbb SHA512 98ea0516b71af7c6f92b5f67f6c1545949fcd1dc95e1238a989c1c2858a75e2751e5eb765b29812ad5cc5de015333787dac2a63a9ddea9bb83cfd72fef6794f4
|
||||
|
@ -1,97 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit eutils toolchain-funcs multilib
|
||||
|
||||
MY_PV=${PV:0:3}
|
||||
|
||||
DESCRIPTION="CMU Common Lisp is an implementation of ANSI Common Lisp"
|
||||
HOMEPAGE="http://www.cons.org/cmucl/"
|
||||
SRC_URI="http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-src-${MY_PV}.tar.bz2
|
||||
http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-${MY_PV}-x86-linux.tar.bz2"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="x86"
|
||||
IUSE="X source cpu_flags_x86_sse2"
|
||||
|
||||
CDEPEND=">=dev-lisp/asdf-2.33-r3:=
|
||||
x11-libs/motif:0"
|
||||
DEPEND="${CDEPEND}
|
||||
sys-devel/bc"
|
||||
RDEPEND="${CDEPEND}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
TARGET=linux-4
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${MY_PV}-execstack-fixes.patch
|
||||
epatch "${FILESDIR}"/${MY_PV}-customize-lisp-implementation-version.patch
|
||||
|
||||
cp /usr/share/common-lisp/source/asdf/build/asdf.lisp src/contrib/asdf/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local cmufpu cmuopts
|
||||
|
||||
if use cpu_flags_x86_sse2; then
|
||||
cmufpu=sse2
|
||||
else
|
||||
cmufpu=x87
|
||||
fi
|
||||
|
||||
if use X; then
|
||||
cmuopts="-f ${cmufpu}"
|
||||
else
|
||||
cmuopts="-u -f ${cmufpu}"
|
||||
fi
|
||||
|
||||
local buildimage="bin/lisp -core lib/cmucl/lib/lisp-${cmufpu}.core -noinit -nositeinit -batch"
|
||||
|
||||
env CC="$(tc-getCC)" bin/build.sh -v "-gentoo-${PR}" -C "" -o "${buildimage}" ${cmuopts} || die "Cannot build the compiler"
|
||||
|
||||
# Compile up the asdf and defsystem modules
|
||||
${TARGET}/lisp/lisp -noinit -nositeinit -batch << EOF || die
|
||||
(in-package :cl-user)
|
||||
(setf (ext:search-list "target:")
|
||||
'("$TARGET/" "src/"))
|
||||
(setf (ext:search-list "modules:")
|
||||
'("target:contrib/"))
|
||||
|
||||
(compile-file "modules:asdf/asdf")
|
||||
(compile-file "modules:defsystem/defsystem")
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
env MANDIR=share/man/man1 DOCDIR=share/doc/${PF} \
|
||||
bin/make-dist.sh -S -g -G root -O root ${TARGET} ${MY_PV} x86 linux \
|
||||
|| die "Cannot build installation archive"
|
||||
# Necessary otherwise tar will fail
|
||||
dodir /usr
|
||||
pushd "${D}"/usr > /dev/null
|
||||
tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.tar.gz \
|
||||
|| die "Cannot install main system"
|
||||
if use X ; then
|
||||
tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.extra.tar.gz \
|
||||
|| die "Cannot install extra files"
|
||||
fi
|
||||
if use source; then
|
||||
# Necessary otherwise tar will fail
|
||||
dodir /usr/share/common-lisp/source/${PN}
|
||||
cd "${D}"/usr/share/common-lisp/source/${PN}
|
||||
tar --strip-components 1 -xzpf "${WORKDIR}"/cmucl-src-${MY_PV}.tar.gz \
|
||||
|| die "Cannot install sources"
|
||||
fi
|
||||
popd > /dev/null
|
||||
|
||||
# Install site config file
|
||||
sed "s,@PF@,${PF},g ; s,@VERSION@,$(date +%F),g" \
|
||||
< "${FILESDIR}"/site-init.lisp.in \
|
||||
> "${D}"/usr/$(get_libdir)/cmucl/site-init.lisp \
|
||||
|| die "Cannot fix site-init.lisp"
|
||||
insinto /etc/common-lisp
|
||||
doins "${FILESDIR}"/cmuclrc || die "Failed to install cmuclrc"
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit eutils toolchain-funcs multilib
|
||||
|
||||
MY_PV=${PV:0:3}
|
||||
|
||||
DESCRIPTION="CMU Common Lisp is an implementation of ANSI Common Lisp"
|
||||
HOMEPAGE="http://www.cons.org/cmucl/"
|
||||
SRC_URI="http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-src-${MY_PV}.tar.bz2
|
||||
http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-${MY_PV}-x86-linux.tar.bz2"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86"
|
||||
IUSE="X source"
|
||||
|
||||
CDEPEND=">=dev-lisp/asdf-2.33-r3:=
|
||||
x11-libs/motif:0"
|
||||
DEPEND="${CDEPEND}
|
||||
sys-devel/bc"
|
||||
RDEPEND="${CDEPEND}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
TARGET=linux-4
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${MY_PV}-execstack-fixes.patch
|
||||
epatch "${FILESDIR}"/${MY_PV}-customize-lisp-implementation-version.patch
|
||||
epatch "${FILESDIR}"/${MY_PV}-build.patch
|
||||
|
||||
cp /usr/share/common-lisp/source/asdf/build/asdf.lisp src/contrib/asdf/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local cmuopts buildimage
|
||||
|
||||
if use X; then
|
||||
cmuopts=""
|
||||
else
|
||||
cmuopts="-u"
|
||||
fi
|
||||
|
||||
buildimage="bin/lisp -batch"
|
||||
|
||||
env CC="$(tc-getCC)" bin/build.sh -v "-gentoo-${PR}" -C "" -o "${buildimage}" ${cmuopts} || die "Cannot build the compiler"
|
||||
|
||||
# Compile up the asdf and defsystem modules
|
||||
${TARGET}/lisp/lisp -noinit -nositeinit -batch << EOF || die
|
||||
(in-package :cl-user)
|
||||
(setf (ext:search-list "target:")
|
||||
'("$TARGET/" "src/"))
|
||||
(setf (ext:search-list "modules:")
|
||||
'("target:contrib/"))
|
||||
|
||||
(compile-file "modules:asdf/asdf")
|
||||
(compile-file "modules:defsystem/defsystem")
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
env MANDIR=share/man/man1 DOCDIR=share/doc/${PF} \
|
||||
bin/make-dist.sh -S -g -G root -O root ${TARGET} ${MY_PV} x86 linux \
|
||||
|| die "Cannot build installation archive"
|
||||
# Necessary otherwise tar will fail
|
||||
dodir /usr
|
||||
pushd "${D}"/usr > /dev/null
|
||||
tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.tar.gz \
|
||||
|| die "Cannot install main system"
|
||||
if use X ; then
|
||||
tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.extra.tar.gz \
|
||||
|| die "Cannot install extra files"
|
||||
fi
|
||||
if use source; then
|
||||
# Necessary otherwise tar will fail
|
||||
dodir /usr/share/common-lisp/source/${PN}
|
||||
cd "${D}"/usr/share/common-lisp/source/${PN}
|
||||
tar --strip-components 1 -xzpf "${WORKDIR}"/cmucl-src-${MY_PV}.tar.gz \
|
||||
|| die "Cannot install sources"
|
||||
fi
|
||||
popd > /dev/null
|
||||
|
||||
# Install site config file
|
||||
sed "s,@PF@,${PF},g ; s,@VERSION@,$(date +%F),g" \
|
||||
< "${FILESDIR}"/site-init.lisp.in \
|
||||
> "${D}"/usr/$(get_libdir)/cmucl/site-init.lisp \
|
||||
|| die "Cannot fix site-init.lisp"
|
||||
insinto /etc/common-lisp
|
||||
doins "${FILESDIR}"/cmuclrc || die "Failed to install cmuclrc"
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
diff -ur cmucl.orig/src/code/misc.lisp cmucl/src/code/misc.lisp
|
||||
--- cmucl.orig/src/code/misc.lisp 2011-10-25 05:31:39.000000000 +0200
|
||||
+++ cmucl/src/code/misc.lisp 2012-01-31 21:46:49.441273068 +0100
|
||||
@@ -187,8 +187,10 @@
|
||||
|
||||
(defun lisp-implementation-version ()
|
||||
"Returns a string describing the implementation version."
|
||||
- (format nil "~A (~X~A)" *lisp-implementation-version* c:byte-fasl-file-version
|
||||
- #+unicode _" Unicode" #-unicode ""))
|
||||
+ (format nil "~X~A~A"
|
||||
+ c:byte-fasl-file-version
|
||||
+ #+unicode "-unicode" #-unicode ""
|
||||
+ *lisp-implementation-version*))
|
||||
|
||||
(defun machine-instance ()
|
||||
"Returns a string giving the name of the local machine."
|
@ -1,118 +0,0 @@
|
||||
diff -Naur work.old/src/lisp/alpha-assem.S work/src/lisp/alpha-assem.S
|
||||
--- work.old/src/lisp/alpha-assem.S 2003-03-06 11:13:09.000000000 -0300
|
||||
+++ work/src/lisp/alpha-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -297,3 +297,7 @@
|
||||
function_end_breakpoint_end:
|
||||
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/amd64-assem.S work/src/lisp/amd64-assem.S
|
||||
--- work.old/src/lisp/amd64-assem.S 2004-07-27 19:03:53.000000000 -0300
|
||||
+++ work/src/lisp/amd64-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -1051,3 +1051,7 @@
|
||||
.end
|
||||
|
||||
#endif /* LINKAGE_TABLE */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/backtrace.c work/src/lisp/backtrace.c
|
||||
--- work.old/src/lisp/backtrace.c 2009-06-11 13:04:01.000000000 -0300
|
||||
+++ work/src/lisp/backtrace.c 2010-05-10 00:06:22.000000000 -0300
|
||||
@@ -3,6 +3,8 @@
|
||||
* Simple backtrace facility. More or less from Rob's lisp version.
|
||||
*/
|
||||
|
||||
+#include "os-common.h"
|
||||
+
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include "lisp.h"
|
||||
diff -Naur work.old/src/lisp/hppa-assem.S work/src/lisp/hppa-assem.S
|
||||
--- work.old/src/lisp/hppa-assem.S 2002-08-23 14:05:35.000000000 -0300
|
||||
+++ work/src/lisp/hppa-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -460,3 +460,7 @@
|
||||
|
||||
.export function_end_breakpoint_end
|
||||
function_end_breakpoint_end
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/linux-stubs.S work/src/lisp/linux-stubs.S
|
||||
--- work.old/src/lisp/linux-stubs.S 2005-08-17 00:40:16.000000000 -0300
|
||||
+++ work/src/lisp/linux-stubs.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -995,3 +995,7 @@
|
||||
/* doe(yperr_string) */
|
||||
/* doe(ypprot_err) */
|
||||
#endif /* defined(LINKAGE_TABLE) && !defined(__FreeBSD__) */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/lisp.c work/src/lisp/lisp.c
|
||||
--- work.old/src/lisp/lisp.c 2009-07-13 16:41:54.000000000 -0300
|
||||
+++ work/src/lisp/lisp.c 2010-05-10 00:05:55.000000000 -0300
|
||||
@@ -5,6 +5,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include "os-common.h"
|
||||
+#include <time.h>
|
||||
+
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
diff -Naur work.old/src/lisp/mips-assem.S work/src/lisp/mips-assem.S
|
||||
--- work.old/src/lisp/mips-assem.S 2002-08-23 14:01:02.000000000 -0300
|
||||
+++ work/src/lisp/mips-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -402,3 +402,7 @@
|
||||
move v0, a1
|
||||
j _restore_state
|
||||
.end save_state
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/os-common.h work/src/lisp/os-common.h
|
||||
--- work.old/src/lisp/os-common.h 1969-12-31 21:00:00.000000000 -0300
|
||||
+++ work/src/lisp/os-common.h 2010-05-10 00:06:22.000000000 -0300
|
||||
@@ -0,0 +1 @@
|
||||
+char* convert_lisp_string(char *c_string, void *lisp_string, int len);
|
||||
diff -Naur work.old/src/lisp/ppc-assem.S work/src/lisp/ppc-assem.S
|
||||
--- work.old/src/lisp/ppc-assem.S 2006-02-25 01:35:58.000000000 -0300
|
||||
+++ work/src/lisp/ppc-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -721,3 +721,7 @@
|
||||
SET_SIZE(fpu_restore)
|
||||
|
||||
#endif
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/sparc-assem.S work/src/lisp/sparc-assem.S
|
||||
--- work.old/src/lisp/sparc-assem.S 2003-10-23 23:57:00.000000000 -0300
|
||||
+++ work/src/lisp/sparc-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -837,3 +837,7 @@
|
||||
* End:
|
||||
*/
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/x86-assem.S work/src/lisp/x86-assem.S
|
||||
--- work.old/src/lisp/x86-assem.S 2008-12-24 02:36:40.000000000 -0200
|
||||
+++ work/src/lisp/x86-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -798,3 +798,7 @@
|
||||
ENDFUNC(undefined_foreign_symbol_trap)
|
||||
|
||||
#endif /* LINKAGE_TABLE */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
@ -1,22 +0,0 @@
|
||||
diff -r -U2 21a.orig/bin/build.sh 21a/bin/build.sh
|
||||
--- 21a.orig/bin/build.sh 2015-05-19 07:42:40.000000000 +0600
|
||||
+++ 21a/bin/build.sh 2016-04-03 20:54:08.597016537 +0600
|
||||
@@ -40,5 +40,5 @@
|
||||
ENABLE4="yes"
|
||||
|
||||
-version=20f
|
||||
+version=21a
|
||||
SRCDIR=src
|
||||
BINDIR=bin
|
||||
@@ -145,10 +145,9 @@
|
||||
$TOOLDIR/load-world.sh $TARGET "$VERSION" || { echo "Failed: $TOOLDIR/load-world.sh"; exit 1; }
|
||||
|
||||
- $TARGET/lisp/lisp -batch -noinit -nositeinit $FPU_MODE < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; }
|
||||
+ $TARGET/lisp/lisp -batch -noinit -nositeinit < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit"; exit 1; }
|
||||
return 0;
|
||||
fi
|
||||
}
|
||||
|
||||
-FPU_MODE=
|
||||
BUILDWORLD="$TOOLDIR/build-world.sh"
|
||||
BUILD_POT="yes"
|
@ -1,16 +0,0 @@
|
||||
diff -ur cmucl.orig/src/code/misc.lisp cmucl/src/code/misc.lisp
|
||||
--- cmucl.orig/src/code/misc.lisp 2011-10-25 05:31:39.000000000 +0200
|
||||
+++ cmucl/src/code/misc.lisp 2012-01-31 21:46:49.441273068 +0100
|
||||
@@ -187,8 +187,10 @@
|
||||
|
||||
(defun lisp-implementation-version ()
|
||||
"Returns a string describing the implementation version."
|
||||
- (format nil "~A (~X~A)" *lisp-implementation-version* c:byte-fasl-file-version
|
||||
- #+unicode _" Unicode" #-unicode ""))
|
||||
+ (format nil "~X~A~A"
|
||||
+ c:byte-fasl-file-version
|
||||
+ #+unicode "-unicode" #-unicode ""
|
||||
+ *lisp-implementation-version*))
|
||||
|
||||
(defun machine-instance ()
|
||||
"Returns a string giving the name of the local machine."
|
@ -1,118 +0,0 @@
|
||||
diff -Naur work.old/src/lisp/alpha-assem.S work/src/lisp/alpha-assem.S
|
||||
--- work.old/src/lisp/alpha-assem.S 2003-03-06 11:13:09.000000000 -0300
|
||||
+++ work/src/lisp/alpha-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -297,3 +297,7 @@
|
||||
function_end_breakpoint_end:
|
||||
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/amd64-assem.S work/src/lisp/amd64-assem.S
|
||||
--- work.old/src/lisp/amd64-assem.S 2004-07-27 19:03:53.000000000 -0300
|
||||
+++ work/src/lisp/amd64-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -1051,3 +1051,7 @@
|
||||
.end
|
||||
|
||||
#endif /* LINKAGE_TABLE */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/backtrace.c work/src/lisp/backtrace.c
|
||||
--- work.old/src/lisp/backtrace.c 2009-06-11 13:04:01.000000000 -0300
|
||||
+++ work/src/lisp/backtrace.c 2010-05-10 00:06:22.000000000 -0300
|
||||
@@ -3,6 +3,8 @@
|
||||
* Simple backtrace facility. More or less from Rob's lisp version.
|
||||
*/
|
||||
|
||||
+#include "os-common.h"
|
||||
+
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include "lisp.h"
|
||||
diff -Naur work.old/src/lisp/hppa-assem.S work/src/lisp/hppa-assem.S
|
||||
--- work.old/src/lisp/hppa-assem.S 2002-08-23 14:05:35.000000000 -0300
|
||||
+++ work/src/lisp/hppa-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -460,3 +460,7 @@
|
||||
|
||||
.export function_end_breakpoint_end
|
||||
function_end_breakpoint_end
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/linux-stubs.S work/src/lisp/linux-stubs.S
|
||||
--- work.old/src/lisp/linux-stubs.S 2005-08-17 00:40:16.000000000 -0300
|
||||
+++ work/src/lisp/linux-stubs.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -995,3 +995,7 @@
|
||||
/* doe(yperr_string) */
|
||||
/* doe(ypprot_err) */
|
||||
#endif /* defined(LINKAGE_TABLE) && !defined(__FreeBSD__) */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/lisp.c work/src/lisp/lisp.c
|
||||
--- work.old/src/lisp/lisp.c 2009-07-13 16:41:54.000000000 -0300
|
||||
+++ work/src/lisp/lisp.c 2010-05-10 00:05:55.000000000 -0300
|
||||
@@ -5,6 +5,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include "os-common.h"
|
||||
+#include <time.h>
|
||||
+
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
diff -Naur work.old/src/lisp/mips-assem.S work/src/lisp/mips-assem.S
|
||||
--- work.old/src/lisp/mips-assem.S 2002-08-23 14:01:02.000000000 -0300
|
||||
+++ work/src/lisp/mips-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -402,3 +402,7 @@
|
||||
move v0, a1
|
||||
j _restore_state
|
||||
.end save_state
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/os-common.h work/src/lisp/os-common.h
|
||||
--- work.old/src/lisp/os-common.h 1969-12-31 21:00:00.000000000 -0300
|
||||
+++ work/src/lisp/os-common.h 2010-05-10 00:06:22.000000000 -0300
|
||||
@@ -0,0 +1 @@
|
||||
+char* convert_lisp_string(char *c_string, void *lisp_string, int len);
|
||||
diff -Naur work.old/src/lisp/ppc-assem.S work/src/lisp/ppc-assem.S
|
||||
--- work.old/src/lisp/ppc-assem.S 2006-02-25 01:35:58.000000000 -0300
|
||||
+++ work/src/lisp/ppc-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -721,3 +721,7 @@
|
||||
SET_SIZE(fpu_restore)
|
||||
|
||||
#endif
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/sparc-assem.S work/src/lisp/sparc-assem.S
|
||||
--- work.old/src/lisp/sparc-assem.S 2003-10-23 23:57:00.000000000 -0300
|
||||
+++ work/src/lisp/sparc-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -837,3 +837,7 @@
|
||||
* End:
|
||||
*/
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
diff -Naur work.old/src/lisp/x86-assem.S work/src/lisp/x86-assem.S
|
||||
--- work.old/src/lisp/x86-assem.S 2008-12-24 02:36:40.000000000 -0200
|
||||
+++ work/src/lisp/x86-assem.S 2010-05-10 00:06:34.000000000 -0300
|
||||
@@ -798,3 +798,7 @@
|
||||
ENDFUNC(undefined_foreign_symbol_trap)
|
||||
|
||||
#endif /* LINKAGE_TABLE */
|
||||
+
|
||||
+#if defined(__linux__) && defined(__ELF__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
@ -1,2 +1 @@
|
||||
DIST ecl-13.5.1.tgz 9401163 BLAKE2B 441f2ed429f9f508d12fec333aeed7178aedab0e2011c57fbf0c6695747de95e5db6818c5cfc6acd1097804a4cd7bf1dd0ec3e79c04a5b4399d61cefb5179ba7 SHA512 a09f8b824aa78e461d700eefb1a8b68b876e15d49124a397e0b5b58ad73b80f818133a7b8e48ddb83505eea2f9c5fb024de8701b527524004e336e456eb07c84
|
||||
DIST ecl-16.1.3.tgz 7459212 BLAKE2B 4f9d6ad2bd92ede4b5b20857b95a48bad5002049e83611865d9cf13e7131adfaad147a31f22f9a3f6a2c06e46db1996aa98135c28b97bf5ef16e17b5eba0dc4b SHA512 5d743f422f6bc24671abf4c739cde8273d08f056906a1ef8aed5145c703b6d52c7fa4b5e0be8c125f32240c20ce053007786bb3ae81cc34d47791f6fae0819c1
|
||||
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit eutils multilib
|
||||
|
||||
# test phase only works if ecls already installed #516876
|
||||
RESTRICT="test"
|
||||
|
||||
MY_P=ecl-${PV}
|
||||
|
||||
DESCRIPTION="ECL is an embeddable Common Lisp implementation"
|
||||
HOMEPAGE="http://ecls.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
|
||||
|
||||
LICENSE="BSD LGPL-2"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="amd64 ~ppc ~sparc x86"
|
||||
IUSE="debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X"
|
||||
|
||||
CDEPEND="dev-libs/gmp
|
||||
virtual/libffi
|
||||
>=dev-libs/boehm-gc-7.1[threads?]
|
||||
>=dev-lisp/asdf-2.33-r3:="
|
||||
DEPEND="${CDEPEND}
|
||||
app-text/texi2html
|
||||
emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
|
||||
RDEPEND="${CDEPEND}"
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
pkg_setup () {
|
||||
if use gengc || use precisegc ; then
|
||||
ewarn "You have enabled the generational garbage collector or"
|
||||
ewarn "the precise collection routines. These features are not very stable"
|
||||
ewarn "at the moment and may cause crashes."
|
||||
ewarn "Don't enable them unless you know what you're doing."
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
|
||||
# bug #496780
|
||||
epatch "${FILESDIR}"/${PV}-gc74.patch
|
||||
cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--with-system-gmp \
|
||||
--enable-boehm=system \
|
||||
--enable-longdouble \
|
||||
--with-dffi \
|
||||
$(use_enable gengc) \
|
||||
$(use_enable precisegc) \
|
||||
$(use_with debug debug-cflags) \
|
||||
$(use_with cpu_flags_x86_sse sse) \
|
||||
$(use_enable threads) \
|
||||
$(use_with threads __thread) \
|
||||
$(use_enable unicode) \
|
||||
$(use_with X x) \
|
||||
$(use_with X clx)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use emacs; then
|
||||
local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}')
|
||||
[[ -n ${ETAGS} ]] || die "No etags implementation found"
|
||||
pushd build > /dev/null || die
|
||||
emake ETAGS=${ETAGS} TAGS
|
||||
popd > /dev/null
|
||||
else
|
||||
touch build/TAGS
|
||||
fi
|
||||
|
||||
#parallel make fails
|
||||
emake -j1 || die "Compilation failed"
|
||||
}
|
||||
|
||||
src_install () {
|
||||
emake DESTDIR="${D}" install || die "Installation failed"
|
||||
|
||||
dodoc ANNOUNCEMENT Copyright
|
||||
dodoc "${FILESDIR}"/README.Gentoo
|
||||
pushd build/doc
|
||||
newman ecl.man ecl.1
|
||||
newman ecl-config.man ecl-config.1
|
||||
popd
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
diff -r -U1 ecl-13.5.1.orig/src/aclocal.m4 ecl-13.5.1/src/aclocal.m4
|
||||
--- ecl-13.5.1.orig/src/aclocal.m4 2013-05-28 03:37:36.000000000 +0700
|
||||
+++ ecl-13.5.1/src/aclocal.m4 2014-01-12 00:34:36.663129950 +0700
|
||||
@@ -942,2 +942,6 @@
|
||||
fi
|
||||
+ if test "${system_boehm}" = "yes"; then
|
||||
+ AC_CHECK_LIB( [gc], [GC_set_start_callback],
|
||||
+ [AC_DEFINE(HAVE_GC_SET_START_CALLBACK)], [] )
|
||||
+ fi
|
||||
AC_MSG_CHECKING( [whether we can use the existing Boehm-Weiser library] )
|
||||
diff -r -U1 ecl-13.5.1.orig/src/c/alloc_2.d ecl-13.5.1/src/c/alloc_2.d
|
||||
--- ecl-13.5.1.orig/src/c/alloc_2.d 2013-05-28 03:37:36.000000000 +0700
|
||||
+++ ecl-13.5.1/src/c/alloc_2.d 2014-01-12 00:43:44.177106924 +0700
|
||||
@@ -33,2 +33,9 @@
|
||||
|
||||
+static void (*GC_old_start_callback)(void) = NULL;
|
||||
+#ifdef HAVE_GC_START_CALLBACK
|
||||
+extern void GC_set_start_callback(void *);
|
||||
+extern void *GC_get_start_callback(void *);
|
||||
+#else
|
||||
+extern void *GC_start_call_back(void);
|
||||
+#endif
|
||||
static void gather_statistics();
|
||||
@@ -752,3 +759,2 @@
|
||||
extern void (*GC_push_other_roots)();
|
||||
-extern void (*GC_start_call_back)();
|
||||
static void (*old_GC_push_other_roots)();
|
||||
@@ -1092,3 +1098,9 @@
|
||||
GC_push_other_roots = stacks_scanner;
|
||||
+#ifdef HAVE_GC_SET_START_CALLBACK
|
||||
+ GC_old_start_callback = GC_get_start_callback();
|
||||
+ GC_set_start_callback(gather_statistics);
|
||||
+#else
|
||||
+ GC_old_start_callback = GC_start_call_back;
|
||||
GC_start_call_back = (void (*)())gather_statistics;
|
||||
+#endif
|
||||
GC_java_finalization = 1;
|
||||
@@ -1200,3 +1212,3 @@
|
||||
*/
|
||||
-#if 1 /*GBC_BOEHM == 0*/
|
||||
+#if GBC_BOEHM == 0
|
||||
extern int GC_print_stats;
|
||||
@@ -1279,2 +1291,4 @@
|
||||
}
|
||||
+ if (GC_old_start_callback)
|
||||
+ GC_old_start_callback();
|
||||
}
|
||||
Только в ecl-13.5.1/src/c: alloc_2.d.orig
|
||||
diff -r -U1 ecl-13.5.1.orig/src/h/config.h.in ecl-13.5.1/src/h/config.h.in
|
||||
--- ecl-13.5.1.orig/src/h/config.h.in 2013-05-28 03:37:36.000000000 +0700
|
||||
+++ ecl-13.5.1/src/h/config.h.in 2014-01-12 00:34:36.663129950 +0700
|
||||
@@ -310,2 +310,5 @@
|
||||
|
||||
+/* GC_set_start_callback */
|
||||
+#define HAVE_GC_SET_START_CALLBACK
|
||||
+
|
||||
/*
|
@ -1,13 +0,0 @@
|
||||
diff -r -U1 ecl-13.5.1.orig/src/h/object.h ecl-13.5.1/src/h/object.h
|
||||
--- ecl-13.5.1.orig/src/h/object.h 2013-05-28 03:37:36.000000000 +0700
|
||||
+++ ecl-13.5.1/src/h/object.h 2013-05-29 19:23:34.000000000 +0700
|
||||
@@ -25,4 +25,9 @@
|
||||
|
||||
+#ifndef TRUE
|
||||
#define TRUE 1 /* boolean true value */
|
||||
+#endif
|
||||
+
|
||||
+#ifndef FALSE
|
||||
#define FALSE 0 /* boolean false value */
|
||||
+#endif
|
||||
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue