Sync with portage [Fri Jan 31 18:26:07 MSK 2020].

master
root 4 years ago
parent 9dd83514f6
commit 1b8ed7ba01

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29456 BLAKE2B 45021b96a256f7b46863bf5e615fbb22d557db287d604bb5c868695ff2e890b9cd6b839964aa3c4bea59c4a507f66222bef22946db6887d961233d606376f436 SHA512 5fa9bf7911375dfc681aaec6e214b3d9e44b815b128bca61b311ed62f14d9742612636b066c45ed50eff34fda83fae4a268409de8d4297e72727bef8a6c2a999
TIMESTAMP 2020-01-29T21:38:54Z
MANIFEST Manifest.files.gz 29475 BLAKE2B a586098686734f88bd47fe9d7538cab19b8c3b6e88b1b6b827a6ca324ae9d861f974864d33eb0c44c3f06fcdb31bbccfdd5a43c70917159ea27d3f5b0b868a34 SHA512 a67c8668feeaa12117720a14290e2598072946e45a4b03420c177ffdefa90ac629a595c924dea7efa0c16d7821e97482f39b4ea38dc452c56774a1279cdcaf8d
TIMESTAMP 2020-01-31T14:38:53Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl4x+25fFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl40O/1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klDO1w/+JjlSfJDEXLVg4FPggx2Wo5B95RIdbfFj7jaZ9IO8RLBFt5mbOg32IxtF
ya+g2vAuloN068ctDamGKQppoUxTOE7cW4WTm3K18v8AMBp6Qum/tfpjJsVvdym1
SIqb4zX6rXSucdmV8GMYm5o9r3qHgs/aaDVuFMPMrAlhC+XQsE2qaw9+8X8IwQZA
JNILgS8xpkcHbPFwrTH+OrIH4Gq+pr8aEv986N/EfetYGobPB1IbekucYT80PDxz
CRUjEJsXNT8gcp/Br8gAq70iqNZXOubuAJj/LtCs17vmdgIrOZ7mfHDUGZ/1Cj14
fMKcGwnQhTNM0JE3nLXUo99gLT8GKLbng9AKwagGuqmpyDeEgtLzE16mMT58O8DZ
n79U2EMBLwpxLDR0pKsna4mUGRnOw4sptPEdHhWAry93ihxSM/ieZddKkyrlxzOH
eldp8p++rVxxX/byFXA1ZEFoEOVDtBt9UTidf6uMiCohDdNotx8kxP4jdfzdCiFG
9v9pp0hIoS3sN7yQJCLla+bm7CwKx/S6qcQHm84oas3sINqc1wQqqhzBM5//OYGN
HccTM+5cOxTmRMjQGTk3OBI29mFtxSl09hhAjiGErhsAt93+jJrln6rxWwQVZrIv
KoHnihSw63TmJ4sjcq2I8b26EbL3Rq6bniWc6xyI1Ac+aeLXkoE=
=SAer
klAsGxAAotsYfM93Cu8yN8Nwty66qTdnpDp7YvrbLfdZLMfvQ6N1JeiXrPF3kadb
yDRL77st21spi0PQ7r764vcw9SSEfiBKuBCQ540OjNV1MbcBvHvITqtgHzZcJ70C
zGBMBeF1H6Bo5AsiMHtTj8tRZM9peFW0RhgRyOciiXV9xGL5Cib6ZO9KrwchNoA5
ujsFzOFIh4y8DSTOfRyRV4NnwamFytMdJNLblbqtppPCE+sb8EubVa6+90c8JDrH
Nymn/L4OKN1HwF37z3nrOu9iLCW5lF/jr8iPeZyVsHYtn+LP3jMW8UdPrmchY/0h
iu7iWX84vxt7cLumZMyJPdSW2gXKb/SM+p7u2FKAivPAgaA+DkUtE5C1sBiNlLk+
ayHCEuT7owCSLmZw4FSRwnOkfiEXvDGXiiWJvGFpg9X0wcpVJBN50IdkXF+b97q2
SV81hAD/jzqTN08fUQyEC+17G9DV7KomWQpho1zgqSLzeX7OHbU8iQlNd6bPYwaD
iPW2/qGIIFuLKrVCdYYHQZUFLiCsM2fip87qcm2I/iwouyYi8NTOcKoST73k3ncE
tGbHyWPswLYiAa02UPqRqdjZf4udjJkCO0BgUGN/9DSSktfMuMNK4RHfmoOfSPko
XL6hVA8qsNl+7pJVQe94lXkvmj0siapK+RuEvYXXGiSOuFtw7CE=
=wXq7
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -2,8 +2,10 @@ AUX sudo-1.8.28-no_pam_error_message_fix.patch 1405 BLAKE2B 924c8be80bbbe75e1f3f
DIST sudo-1.8.28p1.tar.gz 3310254 BLAKE2B a1810af7a42d05cce49bb9d0acf6f3731a5193e9e9c3b458691379131eb86d36995854d11c09525e8d999ed1da7e99cf170634667c5a444aa522b8f23db7d1aa SHA512 bda3de34c15fbb68fc29759542295560ccc1562b419d03709cea51613937e9b92ba689c79c3ef4858aeea90d3d1a4dc0148225b11b22cf82395ae1bad8cb1734
DIST sudo-1.8.29.tar.gz 3338260 BLAKE2B 7ba29d155bfb1d7ba20e32ade2e8ee3919e70400b6c235e313052b247b48406b9a051e71daa7e47fdb0a9fd0889f4c05b8a1a170c027503b90081e8cec81660e SHA512 ea780922b2afb47df4df4b533fb355fd916cb18a6bfd13c7ca36a25b03ef585d805648c6fa85692bea363b1f83664ac3bc622f99bcd149b3a86f70522eb4d340
DIST sudo-1.8.30.tar.gz 3349455 BLAKE2B 5e0aaa41f42c18cd0de473add3665adf797cd37eacfb4abfc9472814ea679c1e88e28e95e13a73eb7d9648174609d80a2d4eccf3bdf87a44186df07aeba60eee SHA512 d44831feabd92d736614239e0e0f086829d84b213c98524fffb4b926a96715b1156538a7ab5e0b6e0db8be67a6e24a1642b3648105b076d23b58c39d0dd947af
DIST sudo-1.8.31.tar.gz 3350674 BLAKE2B de5a968732fdd58933b4c513d13c43a08cb50075a00c3e0d338c9892570a416a2b3a8f19940c0893715f4eeab991e804831a87ef656ffd91e7f1ba047c119261 SHA512 b9e408a322938c7a712458e9012d8a5f648fba5b23a5057cf5d8372c7f931262595f1575c32c32b9cb1a04af670ff4611e7df48d197e5c4cc038d6b65439a28a
EBUILD sudo-1.8.28_p1-r2.ebuild 6944 BLAKE2B 2195847735c77e9b6e9f15fb396ee2f34f6e14dc711a2d5bfe6a613f67e8bc18f1833caab559231eed32bc8a0de63a1c9a578902a96a5ffa28b88d790779614e SHA512 d0165002c886bb40d120eb54d95d2ed5870c61a9e650fb8a7ba362e7b5943494cccb6c4e4534b9c2829b96ae4f8ffcb5f2003dc1a6e76270bf66793010b8e728
EBUILD sudo-1.8.29-r2.ebuild 6956 BLAKE2B 4065346eafcaf93f22182bb168b5ed753e65a59f2d5469c48883d19c962bd4754cff648d10bdd404d0ba846f74944670c194ad5740edcaafb605a596d214f664 SHA512 c034ce70c59e5d1bd51b1f9514aa410e372ad987776ec4447b368448770a677b548fd8aec27477f2e0c64ba050617714489f7406977e4cb762b9a14c815affb6
EBUILD sudo-1.8.30.ebuild 6876 BLAKE2B 8115b04d517ffce1527c8d5672702623ce7d22345617a0bdacd8b67219040f651563e3cd973497a0383a65045757e7a4c3d3d483bf024e52edc0dbcb75030286 SHA512 2b894667bf8fb198561c3c7a02ce9b9501aabd142f1da2563b84ea512a63d39a6a014d7a2d46dca2d87a55721f687d24aa28dcf67ca2db9f643f65fd0dc57da8
EBUILD sudo-1.8.31.ebuild 6876 BLAKE2B 8115b04d517ffce1527c8d5672702623ce7d22345617a0bdacd8b67219040f651563e3cd973497a0383a65045757e7a4c3d3d483bf024e52edc0dbcb75030286 SHA512 2b894667bf8fb198561c3c7a02ce9b9501aabd142f1da2563b84ea512a63d39a6a014d7a2d46dca2d87a55721f687d24aa28dcf67ca2db9f643f65fd0dc57da8
EBUILD sudo-9999.ebuild 6876 BLAKE2B 3fa9af915033ac10e6cf54880b64df0dadf7fa30ccf85d34fafa1c9fbc57cc187f7820086f242d90733583c79e82a50f336b9bdb9b21b98e72b2c377f6e550af SHA512 5efb6786e9d56e0b6b6f48fd4d25b24327772ce2b2ee0af366d73d67387f959159a83b66c2421e6a919b088d8143e3396f64423200bdfbb28a38e69043de0c7c
MISC metadata.xml 1379 BLAKE2B 3fb47838664544236c2c5ce55ba77cda8fdef3ff1bd050a775878444040c76ec1d18fecd7ecbcc11121c90e76e9634f4c01da676dc178dbc7787b9250774e28a SHA512 81def82cf20eb6a57d38a1cced2fef18f5f5b56b6bb92a036cf925dec1c1b77f18e3c7b5997f4055ce840873032df65edae08810e6838bb0ab6309020a4a30d6

@ -0,0 +1,263 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit pam multilib libtool tmpfiles
MY_P="${P/_/}"
MY_P="${MY_P/beta/b}"
DESCRIPTION="Allows users or groups to run commands as other users"
HOMEPAGE="https://www.sudo.ws/"
if [[ ${PV} == "9999" ]] ; then
inherit mercurial
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
else
uri_prefix=
case ${P} in
*_beta*|*_rc*) uri_prefix=beta/ ;;
esac
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-solaris"
fi
fi
# Basic license is ISC-style as-is, some files are released under
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey sssd system-digest"
DEPEND="
sys-libs/zlib:=
ldap? (
>=net-nds/openldap-2.1.30-r1
sasl? (
dev-libs/cyrus-sasl
net-nds/openldap[sasl]
)
)
pam? ( sys-libs/pam )
sasl? ( dev-libs/cyrus-sasl )
skey? ( >=sys-auth/skey-1.1.5-r1 )
sssd? ( sys-auth/sssd[sudo] )
system-digest? (
gcrypt? ( dev-libs/libgcrypt:= )
!gcrypt? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
)
"
RDEPEND="
${DEPEND}
>=app-misc/editor-wrapper-3
virtual/editor
ldap? ( dev-lang/perl )
pam? ( sys-auth/pambase )
selinux? ( sec-policy/selinux-sudo )
sendmail? ( virtual/mta )
"
BDEPEND="
sys-devel/bison
"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
pam? ( !skey )
skey? ( !pam )
"
MAKEOPTS+=" SAMPLES="
src_prepare() {
default
elibtoolize
}
set_secure_path() {
# FIXME: secure_path is a compile time setting. using PATH or
# ROOTPATH is not perfect, env-update may invalidate this, but until it
# is available as a sudoers setting this will have to do.
einfo "Setting secure_path ..."
# first extract the default ROOTPATH from build env
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
echo "${ROOTPATH}")
case "${SECURE_PATH}" in
*/usr/sbin*) ;;
*) SECURE_PATH=$(unset PATH;
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
;;
esac
if [[ -z ${SECURE_PATH} ]] ; then
ewarn " Failed to detect SECURE_PATH, please report this"
fi
# then remove duplicate path entries
cleanpath() {
local newpath thisp IFS=:
for thisp in $1 ; do
if [[ :${newpath}: != *:${thisp}:* ]] ; then
newpath+=:${thisp}
else
einfo " Duplicate entry ${thisp} removed..."
fi
done
SECURE_PATH=${newpath#:}
}
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
# finally, strip gcc paths #136027
rmpath() {
local e newpath thisp IFS=:
for thisp in ${SECURE_PATH} ; do
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
newpath+=:${thisp}
done
SECURE_PATH=${newpath#:}
}
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
einfo "... done"
}
src_configure() {
local SECURE_PATH
set_secure_path
# audit: somebody got to explain me how I can test this before I
# enable it.. - Diego
# plugindir: autoconf code is crappy and does not delay evaluation
# until `make` time, so we have to use a full path here rather than
# basing off other values.
myeconfargs=(
--enable-zlib=system
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/run/sudo
$(use_with secure-path secure-path "${SECURE_PATH}")
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable sasl)
$(use_with offensive insults)
$(use_with offensive all-insults)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with ldap)
$(use_with pam)
$(use_with skey)
$(use_with sssd)
$(use_with selinux)
$(use_with sendmail)
)
if use system-digest && ! use gcrypt; then
myeconfargs+=("--enable-openssl")
else
myeconfargs+=("--disable-openssl")
fi
econf "${myeconfargs[@]}"
}
src_install() {
default
if use ldap ; then
dodoc README.LDAP
cat <<-EOF > "${T}"/ldap.conf.sudo
# See ldap.conf(5) and README.LDAP for details
# This file should only be readable by root
# supported directives: host, port, ssl, ldap_version
# uri, binddn, bindpw, sudoers_base, sudoers_debug
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
EOF
if use sasl ; then
cat <<-EOF >> "${T}"/ldap.conf.sudo
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
EOF
fi
insinto /etc
doins "${T}"/ldap.conf.sudo
fperms 0440 /etc/ldap.conf.sudo
insinto /etc/openldap/schema
newins doc/schema.OpenLDAP sudo.schema
fi
pamd_mimic system-auth sudo auth account session
keepdir /var/db/sudo/lectured
fperms 0700 /var/db/sudo/lectured
fperms 0711 /var/db/sudo #652958
# Don't install into /run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${ED}"/run
find "${ED}" -type f -name "*.la" -delete || die #697812
}
pkg_postinst() {
tmpfiles_process sudo.conf
#652958
local sudo_db="${EROOT}/var/db/sudo"
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
chmod 711 "${sudo_db}" || die
fi
if use ldap ; then
ewarn
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
ewarn
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
ewarn "configured in /etc/nsswitch.conf."
ewarn
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
ewarn " sudoers: ldap files"
ewarn
fi
fi
if use prefix ; then
ewarn
ewarn "To use sudo, you need to change file ownership and permissions"
ewarn "with root privileges, as follows:"
ewarn
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
ewarn
fi
elog "To use the -A (askpass) option, you need to install a compatible"
elog "password program from the following list. Starred packages will"
elog "automatically register for the use with sudo (but will not force"
elog "the -A option):"
elog ""
elog " [*] net-misc/ssh-askpass-fullscreen"
elog " net-misc/x11-ssh-askpass"
elog ""
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
elog "variable to the program you want to use."
}

Binary file not shown.

@ -1,11 +1,9 @@
AUX unrar-5.5.5-build.patch 1021 BLAKE2B f11426cac10efe195a0507ea99c77813284ff8d03aa47f4c10f8d4c93689eac919aa68651bf20393fbadd94bb88439fddaa1448cf00153a2dbfb0468c938f1b1 SHA512 c6875ef2ed3f1cd5e8baae74fdc92c7c44c694169bfaa2b63af10eaacb52dd27ff12360ac6757a82499a0f14fb78cfa1bfbd8391435f95b125a81b2e776f28a0
AUX unrar-5.5.5-honor-flags.patch 1211 BLAKE2B 8104ac7bf12579218e71147865823da40c3c534a1a13a26f1e59712bfea10c6664a0efce1aff95bd28f35dfb8a50561ff32785416c40c155f047a2368dd76f2d SHA512 a91bc7f4af17fa3a72e6dbd6276afae181554184e8b9ba34c52235d69890ac1e68350d9c14ba7cd207c71220963a26cf1169b965258992cf3b79ec71537c2569
DIST unrar-5.7.5.tar.gz 228818 BLAKE2B 2bd9cfaed07802147af9a3457cea3f78f464cc26e2e20ef2c15817fffb7dc275fd326fd96b089257a8044982c0ae130ca3dc42126356d973ee6a8afd43e28df0 SHA512 101a21a20d8e30ca2cccc1605e332579064d362feacb36e9d4a7cd5218585298dcb48ec2805ff9523ae9b25e8e3d3e7557b73ea457702c6cb6d8c50d324ea1f4
DIST unrar-5.8.3.tar.gz 229162 BLAKE2B 1515af301fdcbbe02d1ebf487b1a0ab7849919e0065f223ec78e69cf5fb9436778f184c9cdead927c37d41ddf779bc7c539259cc60b1e9db19225762af17ed27 SHA512 32ab5cd9135d968f2e908975e72e716f5aa8911ee53fbcade6cf9783eb22330dc0114baf5db148c223015498d28fa4c60446e0ccd8108856c6d089117a147669
DIST unrar-5.8.4.tar.gz 229618 BLAKE2B 3b163a7d3a13dd5864ae729eef6c6bc171e45b0db4e716660b24a14ecf035572fdd1dc44a9c59d07d9fde87255b941f45d5b2e0aeffac3a53b021dc1cbd4b0f1 SHA512 dd3502662b443f05c7bd01a50806b9e3443f9bbba7d88ee8fe9ca0d671d93b0db8956b822ec25b9d827941313ef2ec5608f15934bab91cecbab1ccea9ae8129e
DIST unrar-5.8.5.tar.gz 229641 BLAKE2B 132453d2e2ddb1b1b2151be15bd092dc06fe7ab96d8fa640db95dc1acdee90f6b259a5d04c1da959a398e3a9beb22862a14db9b41b19055771373e00d89e958b SHA512 bacd36c78c6bab2720b13796b73b376bd0ae693916b8130637cc4e6bbd76f6bd103347d9033d2d6cf6301587ba62449ec88b3aa4c18c8557ad5ace3475b41a7c
DIST unrar-5.9.1.tar.gz 229913 BLAKE2B 0969678b0676fbf8058e214e2ac8725ebbfbd391d23690eb0f55bdbbaa86b0a0752d4028bd52a95b455aacb324be5180dee485864b9f6cf63e2c1efc90b52af7 SHA512 dcc1ae8cd886f711f7ce400c2dc496e170e62f17f41f96bb26e3900bea82c3923114678efee07b88a9bf55ce22d7d07d36400744e42f2b59231a51724b04c138
EBUILD unrar-5.7.5.ebuild 1861 BLAKE2B d6eea740529262d022b81d39e36897f53a9cf43b04301eb235b9f4d039fb5f98db06de0d2cbcbece731bd69b0839cde8b5c51c05b5c0ba407affc9ebab40a55e SHA512 eed6b71e09c40bb7979562fd0a917bacf33542a62ded41d33765f9dbe2effdb4bad0e46c6aca885e63fb999b2730cbd75d1ccf01c97d3dba4d32fdf70b0274d6
EBUILD unrar-5.8.3.ebuild 1880 BLAKE2B 7c0ae095f7358750a151c01a373a3011db7e4f50f4a0a1098a774df29f64b55e11efebead01e96cd9bdb681ce66c20f7660b75fe2689693f93190e98271b82d3 SHA512 ad38c54b141848fd6b9c554ded67e281a55f5016f8e40e1fa8401805ed510bccda935983e9ba6fd715fd3a55f895691a4da476e73aab82f4fd10b84896c7ff17
EBUILD unrar-5.8.4.ebuild 1880 BLAKE2B 7c0ae095f7358750a151c01a373a3011db7e4f50f4a0a1098a774df29f64b55e11efebead01e96cd9bdb681ce66c20f7660b75fe2689693f93190e98271b82d3 SHA512 ad38c54b141848fd6b9c554ded67e281a55f5016f8e40e1fa8401805ed510bccda935983e9ba6fd715fd3a55f895691a4da476e73aab82f4fd10b84896c7ff17
EBUILD unrar-5.8.5.ebuild 1874 BLAKE2B b4dff343451dff39f39527d40028111e55ba10f09a80be5e9570b426cf9b81a5938b8c1b5aeefee7842885ee13d649a89665e8ba53bc3e6b66160e1d66a4e4ad SHA512 8525bd45c3b74f2bf3af1140040b5a1dbfa1984a3d7a79492c55b85cedc0123e5f359b331ad78d09e20d4b145192ed9f30bc6a9b4a58f95bb202e23c22a13c75
EBUILD unrar-5.9.1.ebuild 1880 BLAKE2B 9130011293bb6bb4668aac8d8e5b99d0f89b63fec3f126bb81d2b5c09623e81bffddbd0c8a2054bd7eedadb1161b2bb4b78ec0a77219f90e6d06fd7157cf30fc SHA512 efce6e14033e39c4b95ca1eb1b753f81e63acd80cdebabf223adcdf664d7d37a56ee9d04211f083f3ad0f456d6ece1e956a71d5b57cf7bde0c82eeb34ba707ea
MISC metadata.xml 512 BLAKE2B 260947f2fad1c57508f689b2db22fff72276f40fb91789cfd0b0a2ae63d6710ed186d6350e4a23d19566e3469a097294f95074810652d61cb752a54dfe92ac80 SHA512 4a8c151dbda173dada5635cbd844459a1d999c6c41a2e140a09ba31536e1856d896141471c65b5cb52c9c92229f55c211e01ba23b975f4d25442ffc55ae6a13d

@ -1,70 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic multilib toolchain-funcs
MY_PN="${PN}src"
DESCRIPTION="Uncompress rar files"
HOMEPAGE="https://www.rarlab.com/rar_add.htm"
SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="unRAR"
# subslot = soname version
SLOT="0/5"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"
S="${WORKDIR}/unrar"
PATCHES=(
"${FILESDIR}"/${PN}-5.5.5-build.patch
"${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
)
src_prepare() {
default
local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
if [[ ${CHOST} == *-darwin* ]] ; then
sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
else
sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
fi
sed -i "${sed_args[@]}" makefile || die
}
src_configure() {
mkdir -p build-{lib,bin}
printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
cp build-{lib,bin}/Makefile || die
}
src_compile() {
unrar_make() {
emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
}
unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
unrar_make -C build-bin
}
src_install() {
dobin build-bin/unrar
dodoc readme.txt
dolib.so build-lib/libunrar*
insinto /usr/include/libunrar${PV%.*.*}
doins *.hpp
dosym libunrar${PV%.*.*} /usr/include/libunrar
find "${ED}" -type f -name "*.a" -delete || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7

Binary file not shown.

@ -1,5 +1,10 @@
AUX simh-3.11.0-fcommon.patch 1218 BLAKE2B e791f49dfa42f0bd0a36d8c04405ed74bf4bf56fddf285cbac306f7c5188da52ab37f7a16bb55a4e9e5d6aa7f4d2ceb716cea823f2430cc19b53580f4eb5d044 SHA512 12eefe8c535b813ba55c7fb16929915d7c2715980d4e778ad357b4f8e5cfe73c3b00530252551bd22765f2b893a4f9d5d8404bed714c2dd4b5173029e7f70e58
AUX simh-3.11.0-fix-mkdir-race.patch 333 BLAKE2B 2b50d8997d5a782391c6a0174c4c4471a98e6388d9a135068caf864531d075529e7dd8b264c096102ac18266c3c05691e5c723d1ef02c0cd93fdf49b45e5c3f1 SHA512 5ca8022e0c6521627c5d6075e04a10c42bfe61d6ac860b0f2dfde2cb70fb3df5e2f77d1a12e35ea75c3357effc3f5bc26e76e3ecb0a1461f7366297bd0e784e5
AUX simh-3.11.0-respect-FLAGS.patch 265 BLAKE2B ba4134c8e3b0aafc71bbccb2e036d6532532816f30d1ac2a1759eb998479233c5e52a65fea77adf67c28a2e374b9edb998f91b30df9ea6e00f6f77723fdab61f SHA512 0e3c69ce2a7960c872933e60b0a8f043e0b0ae5563c4c5110045d53c34276a04cc110a0831057029ac84b21d818e1698514438d4f890bf4cd8d8e613af2cd9ef
AUX simh-3.9.0-fix-mkdir-race.patch 324 BLAKE2B 03cbbbfaf958cb43769a0e2935dfb5f3e9148e5092b7726f2ea570afc34018459692e2c28721e698fc9f158b23176bd1623d99a6b1a15e0fe81bb6c7da370ade SHA512 3ca847ea6c34370c88788c4c3d8997dfe3e7740a201c531731425bc17375b405cef9f1db28d1eb66548add7953aef1d4cdc1b8c7212ab56d0c5f43fa4caea18a
AUX simh-3.9.0-respect-FLAGS.patch 336 BLAKE2B 990f49c6da04f6f0e8a8f7c8170a6013376f12271063dab4c01345d98fe406981e3de49cf421017a902732755900d905d13c3a23d03091fa854dedff9bdabfaf SHA512 438386edcca386da7ed3f3a2247584e9aed708d5c54164d736e1dd26b565c065a0f6b62d0dab6e0ed4fc2dd211fa656b5e15388c2a2f18bf0393bf7c902616b2
DIST simhv311-0.zip 2790607 BLAKE2B f9399977093f07d7f58067ed40e22f60e43228bbb1e0fdaa6b04408956962d9ea14b6dc57d758b819cee59f3bade9505a6802d42804df49622990402c0f22600 SHA512 e5fb6915c050e7402363cd9c1f99feb00874c3693905067ce901ffa86fc29a0cd2648684f111216b09a3c847f75812e2db2e2f2fa9f9d0db5dc932d53ec832fa
DIST simhv39-0.zip 3103657 BLAKE2B 3b5fcaa7f1aa24bd5afa78452fb2d5e2822654bcaa3caa478dbdf939770c13f7f1d3f95859674fc02e2cc35a4cfff239bb9ee6a726fb9e31586f639cdf40ca10 SHA512 5e8cbf92e980b7cb40d68ff60a266f70c0bef0eecdc169a8077ae72a6a71fe12a7be5c62bd033ca36727e2cb8f266a5a6f8a5ed6dd509afbf0a9d7b618f1a4f6
EBUILD simh-3.9.0-r1.ebuild 1366 BLAKE2B cdde54f6521df02777ba365e3a319b4879c980452c945055884f8f4908e98797905b761ce151ae6a636ee4eda4fcb45c0f3e69a01fb431341942efc285e94d69 SHA512 fe3c7786fa10bca0a7078167300e6e9fad6762628e8cea07deab21c8a4a286d4609949cce5af59062982e2d78cc59a810c3096ed8ea748ceb62400a8ac387205
MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
EBUILD simh-3.11.0.ebuild 1254 BLAKE2B 917af8c28b3cdac086ef979e8bb455f8f8c4ad546198df947321d9ec8c9fa09c82c2626898454a08b9dbd91597887c7c1036db2e9e009ceaae618fe2ee8d8755 SHA512 75b260ded39c4d9892419d1b2b9d73db06108f439580f0664da6f7430fc3870f30497f4d02573bbd94fa72a774452803a236818f5900b18c49c84cc5871c7370
EBUILD simh-3.9.0-r1.ebuild 1350 BLAKE2B 75d5a6222ba6eb8204553582d4230fe953a37ab651c4169d743ca3523c51b9cc76aa109ff986757e4ceeb179e5a0f97b000d7474313df225b44372c47f9975ad SHA512 59645f44f783bf032ba622aaea4c31e8d0ca384959ea7b37e4d7b73cb15a057320dfceea493ef3a69916f9e18e317cc5afdbaa7a7ad0977d32c5138cff5bfd16
MISC metadata.xml 251 BLAKE2B 9785c4729d0751280d104965bab25a268219a7fee217dcd8c01a5642a13f8abc471a3dff54ae0d34d3cf3dc8267fb483d93bd3b16aa3617e8fa8e9abd1703dfe SHA512 cc2bd3977894946ee4ea5b739cc3998bcd6017b9e7a52aa501409d0988954339a9a22fe751d0a5e967ddac9225d9b23f20b4fb1e2c62ee91d1d23c383d9776dd

@ -0,0 +1,37 @@
From ca4b7338836edb7325c82f86dccdeb4808cb4a89 Mon Sep 17 00:00:00 2001
From: Mark Pizzolato <mark@infocomm.com>
Date: Wed, 29 Jan 2020 11:39:36 -0800
Subject: [PATCH] makefile: Force gcc/clang -fcommon to address future gcc
-fno-common default
as reported and discussed in #794
---
makefile | 7 +++++++
1 file changed, 7 insertions(+)
--- a/makefile
+++ b/makefile
@@ -506,9 +506,13 @@ else
ifneq (3,$(GCC_MAJOR_VERSION))
ifeq (,$(GCC_OPTIMIZERS_CMD))
GCC_OPTIMIZERS_CMD = $(GCC) --help=optimizers
+ GCC_COMMON_CMD = $(GCC) --help=common
endif
GCC_OPTIMIZERS = $(shell $(GCC_OPTIMIZERS_CMD))
endif
+ ifneq (,$(GCC_COMMON_CMD))
+ GCC_OPTIMIZERS += $(shell $(GCC_COMMON_CMD))
+ endif
ifneq (,$(findstring $(GCC_VERSION),$(LTO_EXCLUDE_VERSIONS)))
NO_LTO = 1
endif
@@ -530,6 +534,9 @@ else
ifneq (,$(findstring -fstrict-overflow,$(GCC_OPTIMIZERS)))
CFLAGS_O += -fno-strict-overflow
endif
+ ifneq (,$(findstring -fcommon,$(GCC_OPTIMIZERS))$(findstring -fno-common,$(GCC_OPTIMIZERS)))
+ CFLAGS_O += -fcommon
+ endif
ifeq (,$(NO_LTO))
ifneq (,$(findstring -flto,$(GCC_OPTIMIZERS)))
CFLAGS_O += -flto -fwhole-program

@ -0,0 +1,11 @@
--- simh-3.9.0/makefile
+++ simh-3.9.0/makefile
@@ -249,7 +249,7 @@
NETWORK_OPT = $(NETWORK_CCDEFS)
endif
ifneq (binexists,$(shell if $(TEST) -e BIN; then echo binexists; fi))
- MKDIRBIN = if $(TEST) ! -e BIN; then mkdir BIN; fi
+ MKDIRBIN = mkdir -p BIN
endif
else
#Win32 Environments (via MinGW32)

@ -0,0 +1,13 @@
--- a/makefile
+++ b/makefile
@@ -497,8 +497,8 @@ ifneq ($(DEBUG),)
CFLAGS_O = -O0
BUILD_FEATURES = - debugging support
else
- CFLAGS_O = -O2
- LDFLAGS_O =
+ CFLAGS_O ?= -O2
+ LDFLAGS_O ?=
ifeq (Darwin,$(OSTYPE))
NO_LTO = 1
endif

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>slyfox@gentoo.org</email>
<name>Sergei Trofimovich</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,62 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
MY_P="${PN}v$(ver_rs 1 '' 2 '-')" # 'a.b.c' -> 'ab-c'
DESCRIPTION="a simulator for historical computers such as Vax, PDP-11 etc.)"
HOMEPAGE="http://simh.trailing-edge.com/"
SRC_URI="http://simh.trailing-edge.com/sources/${MY_P}.zip"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="net-libs/libpcap"
DEPEND="${RDEPEND}
app-arch/unzip"
S=${WORKDIR}/sim
PATCHES=(
"${FILESDIR}"/${PN}-3.11.0-respect-FLAGS.patch
"${FILESDIR}"/${PN}-3.11.0-fix-mkdir-race.patch
"${FILESDIR}"/${PN}-3.11.0-fcommon.patch
)
src_prepare() {
default
# fix linking on Darwin
if [[ ${CHOST} == *-darwin* ]] ; then
sed -e 's/-lrt//g' \
-i makefile || die
fi
}
src_compile() {
export GCC="$(tc-getCC)"
export LDFLAGS_O="${LDFLAGS}"
export CFLAGS_O="${CFLAGS}"
local my_makeopts=""
if tc-is-gcc && ver_test $(gcc-version) -lt 4.6 ; then
my_makeopts+=" NO_LTO=1"
fi
emake ${my_makeopts}
}
src_install() {
for BINFILE in BIN/* ; do
newbin ${BINFILE} "simh-$(basename ${BINFILE})"
done
insinto /usr/share/simh
doins VAX/*.bin
dodoc *.txt */*.txt
}

@ -1,4 +1,4 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=4
@ -40,7 +40,7 @@ src_compile() {
export LDFLAGS_O="${LDFLAGS}"
export CFLAGS_O="${CFLAGS}"
local my_makeopts="USE_NETWORK=1"
local my_makeopts=""
if [ "$(gcc-major-version)" -le "4" -a "$(gcc-minor-version)" -lt "6" ] ; then
my_makeopts+=" NO_LTO=1"
fi

Binary file not shown.

@ -2,5 +2,5 @@ AUX xinput-iiimf 259 BLAKE2B 02091d870ca82447aadfc6c33bffc38d2bfca596f4f5958917a
DIST a20y1406lx.tgz 8491493 BLAKE2B d5823dbc49661434c48d056d0d1d082be3d1d136e8eb8aab6b48f27b8198102201d5daeaca11717fba512b6260b928e165e6f500e8f1d70665c8907b9b1e5ce2 SHA512 bf350be4f15db63b384ff10ec7e362c469a836d052e8885aac1bab049f7d4f0b04dacaecbe5c1303211405938bc3f674136ba5ae3b55ff31aa5e4f14dbec0273
DIST atokx3gtk216.tar.gz 69246 BLAKE2B 73d246e5c79da0888ffc32deed9d8770500c64377845c553f1ef4ca18b6c9ce93e20dd9188983d9a7664ead60dfb66f53f605a2ab7bf065db336266b5fb38178 SHA512 39c0ff01807626f417f34ef02e4be2fe07c52edc931775299e90fd8725d9c870c3473005fc87be5023d089e94fb4700f9ad36a10ad3373be22ec35e2a418eddd
DIST atokx3up2.tar.gz 8427265 BLAKE2B 6af19673dd443f69870316413bd53712a5b1f148f07d7b7f9dddff3290a4b6d65866e7d38a3c6a3d1ff15990560b706d46a558a77ff4c8200b36b4f1345c62bb SHA512 b4ce05882418a18e6a0ab58d805a1edeca69187bfa16a98b8f79d749ec0cfdc1b838de30f3049d3b8b0929214164c4c2054dbe283dce0f18a1ab2daa181e306d
EBUILD atokx3-3.0.0-r12.ebuild 6720 BLAKE2B fec62f2205cf732d73ee3a0149a69d90c50fffca424e81459ab934d061a58408fd7085ae7b4a8ac4e6a06b70306b291c610abe916d9d9c5a099147f940f751c9 SHA512 d18c80ce92b18fe567d266a1a3af08be5fcc9ab32d7dfbdd55dceadc2755e079624971468903d8d92e46c57c6ada91abedd39cdce1250a83de4d15c6dd38413c
EBUILD atokx3-3.0.0-r12.ebuild 6702 BLAKE2B 69365c565e2db13dd5b9df051f1051b9d946914687c1fb26614dbccee6714fdbba5d8b300f6a098468760040df8a0e90c616a23dcd9e0e8e032c49087f7cbe2b SHA512 a0ab9bfdc60ee3cff010fe62ba9bef477f40f6c064f361605c25885dc90c0f2e693778de7a70e1863601aae4dd1bf4a7273a66cee44eecf261fd4118b2ebd217
MISC metadata.xml 240 BLAKE2B 3e01f599fdbafa5c02b594007c673bcfcccb41559bd2f42d7ea60a1f13932335cecf353c1216e8feba4bb091385b57f05c4c8b3c62eed6c7bea41e308fc6115c SHA512 12aaa73d9b690de68a5c7b20e214ceb099efa87884b784eafd994f26032b44dcb66e7feac8a5b1df7f349ac05c5a198a7593dff2cc686de158cb21e4c54f38dd

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@ -173,13 +173,13 @@ src_install() {
if [[ "${lib32}" != "${lib64}" ]] ; then
local f
for f in xiiimp.so xiiimp.a iiim-xbe xiiimp.so.2 xiiimp.so.2.0.0 iiimd-watchdog xiiimp.la ; do
dosym "${EPREFIX}/usr/${lib32}/iiim/${f}" "/usr/${lib64}/iiim/${f}"
dosym "../../${lib32}/iiim/${f}" "/usr/${lib64}/iiim/${f}"
done
for f in ${PN}aux.so ${PN}.so ; do
dosym "${EPREFIX}/usr/${lib32}/iiim/le/${PN}/${f}" "/usr/${lib64}/iiim/le/${PN}/${f}"
dosym "../../../../${lib32}/iiim/le/${PN}/${f}" "/usr/${lib64}/iiim/le/${PN}/${f}"
done
dosym "${EPREFIX}/usr/${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/64"
dosym "${EPREFIX}/usr/${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/amd64"
dosym "../../../../${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/64"
dosym "../../../../${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/amd64"
fi
fi

Binary file not shown.

@ -2,9 +2,9 @@ DIST yq-2.7.1.tar.gz 13794 BLAKE2B 87fe4961974ab41fc14efb7b85c3db5c13577593253eb
DIST yq-2.7.2.tar.gz 14010 BLAKE2B ec01d25c5ad1ca5fb38b2a4b412306d0ddf157a6a6fdbf2b55452a487bade60ebdd1bddba231e8f0d8db60994c44322c85918221cc64ea346e36d38ca73c185f SHA512 0671d0f5d5dbd7eee42efef7b8469d2177c2459144afc679bcf1f04165ba1e4ae0e396d9a3fa9ecb3db373671152fa51c835ca6fd2622fa8a243b21bfa547e43
DIST yq-2.8.0.tar.gz 14434 BLAKE2B 1389a4e5df3a5e23fb9d9fad17f7f62b7ce85af917b5a29169ccad71c47d856658ac2fe649df4e98a9980e2548b1170ef468d150d6d84b121f093bd374746e69 SHA512 aca4aea16d80947d030c4c98cfdb431bc8bb25cbbcd388decac84842f7107617b31ef5dd25f409b90094a28452e6623734f7293c16ed75f0e8758b2d53820a09
DIST yq-2.9.2.tar.gz 19177 BLAKE2B 038d813679d3583eb863577f317d834f78f614d6be595c96601a06b40c3af5d9b04234381529012328a45984b183376e0647a6b09b8a87642f8e688e39ec7a7f SHA512 a526407f4f34e9c2a0acccaf38207bbe328468419450efaf30171493123b7715c2e6dd6799679220b07bfa7bc9081ac5f758f833ddf05dfb5e1fe14286baf45c
EBUILD yq-2.7.1-r1.ebuild 1036 BLAKE2B 4c9b7d473284c809b1baffbb1dd4d5d3c8aa86e618ed40c4c44b65619cf4f5b2d3c60ef0d92c4c2befb6e6e9d4f05372f03140e47a3ca83e25916bbc98ca3e8a SHA512 9c199e5f6535247c378647fa580ddf1cd1034017b976df2f556be020388fd4116f9278398e212fdfc355c19dac36738bfa7ad84e8420fd2f56485b52f69bfe97
EBUILD yq-2.7.2.ebuild 1040 BLAKE2B 4d6f4f3cce1af0f3e4a3bae615641234d9cb0e2de52a026b2668678659c02998a3f77072bd37b0130efdb6a985c6b2c718228c71eadc410a667b33c1b047f578 SHA512 e9aa2ddf947fa96d16e692b87379574bdeda3065b404541fdf0fabcbd58a2af155165b8e1cf882e3fe92c0ad42eb937d7ad9fdb74f3450513d31bad04c1b5ef9
EBUILD yq-2.8.0.ebuild 1040 BLAKE2B 4d6f4f3cce1af0f3e4a3bae615641234d9cb0e2de52a026b2668678659c02998a3f77072bd37b0130efdb6a985c6b2c718228c71eadc410a667b33c1b047f578 SHA512 e9aa2ddf947fa96d16e692b87379574bdeda3065b404541fdf0fabcbd58a2af155165b8e1cf882e3fe92c0ad42eb937d7ad9fdb74f3450513d31bad04c1b5ef9
EBUILD yq-2.9.2-r1.ebuild 1072 BLAKE2B 6595add89fb2404c9d4ebb627f7f80c2238da75f849e24c1470f40babc7f11444df847dfd734cb4abaf305ea66ca9fff30e36b7933ea2defab98488fc72471be SHA512 16fc20e194ba2c310b12cabad00ed88975f5fe90e93e68bb157d07de953caf157d47e4d75a69bb4a793a618cf6c3a6a20aab2f26aab0c1ce475b5bb45a31a7f3
EBUILD yq-2.9.2.ebuild 1040 BLAKE2B 4d6f4f3cce1af0f3e4a3bae615641234d9cb0e2de52a026b2668678659c02998a3f77072bd37b0130efdb6a985c6b2c718228c71eadc410a667b33c1b047f578 SHA512 e9aa2ddf947fa96d16e692b87379574bdeda3065b404541fdf0fabcbd58a2af155165b8e1cf882e3fe92c0ad42eb937d7ad9fdb74f3450513d31bad04c1b5ef9
EBUILD yq-2.7.1-r1.ebuild 1026 BLAKE2B f16a3350bb373c6d96728368e2014d235bf1ff49a6e69af4865efc19c283fcb003e8648bc13961797521726ee35e1824c151f084cdfce04f9e2a6a37be0d52b7 SHA512 5c647494bdd179aea7f1479d3ad53ced5050e7c17c1007094d0fb4b0dc46c99a2547f080b18f9eab0c0b4612b0bbac2230b4c3ded0589fa30614b297e68da01b
EBUILD yq-2.7.2.ebuild 1030 BLAKE2B 896b5db720a2736274ddffcba9f25116b48209fcb31293b6bbbd6d154086997687bee16175d123c99a80697e9a4282aad0d2aa346b11eaf1512f073d636bec65 SHA512 40e43aa98b92860891c14cf05a0c4ac8ba7be6c02f83af4d844318cca93532eced9a90139e494db5c4ed535d656376335c6621afeec14222981ee7545a79e761
EBUILD yq-2.8.0.ebuild 1030 BLAKE2B 896b5db720a2736274ddffcba9f25116b48209fcb31293b6bbbd6d154086997687bee16175d123c99a80697e9a4282aad0d2aa346b11eaf1512f073d636bec65 SHA512 40e43aa98b92860891c14cf05a0c4ac8ba7be6c02f83af4d844318cca93532eced9a90139e494db5c4ed535d656376335c6621afeec14222981ee7545a79e761
EBUILD yq-2.9.2-r1.ebuild 1062 BLAKE2B 77585c8f4ebdaf14d54798abb7d85b7d9b6cf3570066fb86293d7a335607efbed9fec0fe22668fad9ccc401fc4214cd04f19a84341af9a2c2f9eef2caafcf104 SHA512 f3de65dbc4f86bb4b48ee106b92c5d5f6930ac20bf13319cb617aed51de36067ceec0421fc97080db301b5d82edf8fd77c46cad354894ebba328bd3826aa586d
EBUILD yq-2.9.2.ebuild 1030 BLAKE2B 896b5db720a2736274ddffcba9f25116b48209fcb31293b6bbbd6d154086997687bee16175d123c99a80697e9a4282aad0d2aa346b11eaf1512f073d636bec65 SHA512 40e43aa98b92860891c14cf05a0c4ac8ba7be6c02f83af4d844318cca93532eced9a90139e494db5c4ed535d656376335c6621afeec14222981ee7545a79e761
MISC metadata.xml 333 BLAKE2B 25cb1f46ef4320b5b01b23bec540f623f53be1ee4b0a1d3d9c20cdd90185b88d8f9d5fecefbd15abeca1a861e2863123d15e89e40aa3cdbbd1c56fefa71105f4 SHA512 2cb6c56e50e0d436f37c090549cdeb0c4b1fba34b8049c90ccf24f44aaefddd87bd8e6260a8e645df2c8e2bb1f28c305ae353f1a86e2992a2c987936c4caa416

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_6 )
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 )
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
inherit distutils-r1

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1

Binary file not shown.

@ -1,8 +1,8 @@
DIST portage-utils-0.74.tar.xz 1587792 BLAKE2B 7c4588e3d44266a5260df42cc685aa03c584248e9970956033e4191a7a842a4b2162110ac99c2bb18645aaafc6ae6ee960e9b26ba0a8863497911eef1e943f64 SHA512 cd3f44c135b3d44e15a95eed41281fce62f225a9d05d5d5bb1be230b2d59cdb87755f011b313a9ec32e4cafdf3b3979c4ef423365edd7dcc472ca2e38c09c83e
DIST portage-utils-0.80.tar.xz 1762692 BLAKE2B 32e4502d517ec088eadf17a4a348b9b9bc33348380b65f93ac7c043150732ba3ff0d18ee96f8877c697a91000fdc036de392d6e6711d62248bb7c57e25d4433f SHA512 cca86877e87e5bd2e9423822db4b7afa15e8f291717c808ef0455b121db0778b2364552e9f1d5e1a8bad3f1f8880ae2b5dbd586bf1dd74d7c4f4e72fa990c78c
DIST portage-utils-0.84.tar.xz 1774396 BLAKE2B 964711e1d2277dbde814e86f9717381ea0b87fb2d8ae639c6134974cc141bdc88b4ee6a37c932495fb9b6153003d78832c34237a5c7076d4a0f7b7d9cfd3151a SHA512 90abe61dc30af4de34f57ff603afe4982d5951e7e0d702444ee7ab5e265976d03cda53518004b9ae1aa19c85eb235a732ea3fcf19705ac86977a42d49fe3b22e
DIST portage-utils-0.85.tar.xz 1773300 BLAKE2B ba1482fc04e590612331e7dfdc0a330f81aba919fad21918912f490529cbab5f4f173cdefe70e0e40267f8cc7f64afd3c0e2a39e1b234034187f5bc75d10d9d1 SHA512 56b2cfa0fe6f7c5da0e7e7095568902173a7a976a5fb71b286e3269ac3c8f2fc878089d4c676d8ff2efd86ff150392c3407c838019e3846abef158f236d23830
EBUILD portage-utils-0.74.ebuild 1052 BLAKE2B 580e1a910a3e31dc408b5a3ae47e6369c6df12eb3a15ea43d2e77c1dba67b6bf42699f2b0cd393ffc4bb577eeebca0def4a8d1ff5349401f7ead9fa9c928a650 SHA512 6509ba8e2dd8c9978e15da4a48cd122017a2ba763bc2953e323fa73f2ad38b7f1baf596ccc27f204f76314f94995ede4912d67ca6e2e377baefb376f28da6b59
EBUILD portage-utils-0.80.ebuild 2252 BLAKE2B 9fa660784c3b2b15f7454d6dd6c6ff2d09b81f9fb0fbb73c22bb85e4293dfb3e4a2abb6e5daf063a5abe827dd7b518292ad683dc038fe3ef6863037d10ae04c8 SHA512 0b733e318124020b56598240c841d51274a50165fb1a0a00a23950ef298c9c9e95421289fa4a77c676922d207ab757552087ccd5e35553a2ee48c91ef5d17164
EBUILD portage-utils-0.84-r1.ebuild 2300 BLAKE2B 63d6b566a9962ae53879883545f03615d13cf94a0d13f6a1e7cc6b844a883df8da7e4ffe6102a9d296c70a7703dc43204dcff1b38e4bb77c8a3e54da346aa1a8 SHA512 5c18f7bdfc30bef1eeb52b52c600df9721c5f857b10d0ca52b772cfd340e3d8628b1630f9c1af5371f7f4edd0e008a4937ee5aedf34c52fb7e360674a70c7e7c
EBUILD portage-utils-9999.ebuild 1803 BLAKE2B 1f972e1295a2093606cc66f0c43a33f0134348dcd289e8c4b65d67d4607ea9c02908a1a112e14a1ecd82f7d43ed3510bd5931ff25ee428818a8dbb2a9de5d80b SHA512 43bd8cbaefea948ba613e8a85e3d3b812f15ee1a9b40ec7addfe617845f8bb72aaebb838e20dd094999e0a3fd2be9ddc1f899b83f529955ef39397de47330b49
EBUILD portage-utils-0.85.ebuild 2183 BLAKE2B 37dfa27802791a8f0488b31b0b378698f4d43dc5682e859696430aaa5ff3cf83d527d421e3fb2851159b4af50ff67aed9acae91e11f2da922f0483912cbaed5a SHA512 cd25ee41e03afb0c70b726afe0cebce0d71befab9b3944b0fa45b3eef400390ba15c583204bf9c24ad960e7ffc6bdc1b9086ad18d9bc7ca8ffa7813c38d814e6
EBUILD portage-utils-9999.ebuild 1810 BLAKE2B c79ed6af9cf0c65fb1752011bb1909959960a3f02c0a4e6877f6dff9876a1661d32ba7f70964a9b883acd157717b307ba4c1ecbbcd79ef265a0cbe5955831131 SHA512 c1b7f25e06d30c34aa34deb82ae7dd60c379218669cde552be43c7b8dcf50623b38cfd4d54d055013e93b7e538221ce4e00cf6d19737bd69f600de59811d13ca
MISC metadata.xml 490 BLAKE2B 36af527c82aa05f09ef3187a5c93ec34412a625a00016ad87fa1f6e7a00108f87bd3c8af42aad0aec87fa11e1ec25da71f1f4776c0da053e7426b8006d876103 SHA512 eacb9a20b0228c67896f7633619e67ef0e2de38444436ed720f849b8d9fcbed3c2569d2534e38fb7060cd755195bfd74cbcc9d77dbd5da4fb7b1654f87f70a1f

@ -60,13 +60,6 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
src_prepare() {
default
# fix #705636, basically apply 2f917fee
sed -i -e '/free(name);/d' libq/tree.c || die
}
src_configure() {
econf \
--disable-maintainer-mode \

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
else
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
RDEPEND="

Binary file not shown.

@ -3,7 +3,7 @@ AUX autojump-22.2.4-fix-autojump.fish-bugs.patch 2100 BLAKE2B 5aef4c4363b0a34238
DIST autojump-22.2.4.tar.gz 52724 BLAKE2B 42d5db90d4a29c63f5cd79437ca005f9f6382a607ab9284244fd6bbcf539509c5043df71ab305a5e8420ec225f8d651411d327833762737e0a5ad828ac021d2b SHA512 bdfca07bb57b3a2733a2085af14f23c3e980b1b00db1c90247c2341ac73f60f171bdde29dd9917aac0808d0b8f2902d48096c990e09281745a71755f5abc921c
DIST autojump-22.5.1.tar.gz 54721 BLAKE2B ea3a852dddc13ece5ff177be0b3f384e5dcb19795d31d22edae90dba19fe3e78a4b78f48f08c338521d89d57af6251d5690c62eab445229812adb154286b0d5c SHA512 ed1bb28b62d14a481d5c8ee8ebbfc286d21ca54c961904f81ac123c784e17810217dfe1689bdd4b50fd7a9d72509c0cb13583a9817074f6afe26dc3144f64243
DIST autojump-22.5.3.tar.gz 55429 BLAKE2B 3a2773669f81d1a54c01cce9fe75bc01609265998b035b4ba1aa064f1132acf852b59eb04ebfa744e628152f0ab478cbef24e5aff326bf84cec6e2c9348e8360 SHA512 d1dd3cbb67fda4e0a17ec5028b947faf46be8a95a6cd8418127b927f42bc95b71538a06658b38b479c77d147a6cd5e8cef77639ef538c7d449414c469c13f140
EBUILD autojump-22.2.4-r4.ebuild 2105 BLAKE2B ed5777b3ac224467f44dcdbccf86e7b4e40375341054ed4347cac5f75dfda05156bfed090bb5741e26e5f15cc3fdd7c00703d486c02522a0bbf20ad7edd1a030 SHA512 a92e42e387042a6de06a54d3dd51043c6bda4e0317e274aab4127ce1ea750b4907f90d99a46d73f573fefb33e1c80c3294eedcaee47c91ac129784d7456b4e9d
EBUILD autojump-22.5.1.ebuild 1912 BLAKE2B abaae4ba838a95deaef514933cd8b8d03d2b3cbdc58fad9c8f8ffe08ddec4dee76035ed4c3952a821cda1e344d538e6059bb4263b3aacd540d9f37acabf09841 SHA512 1acfe4d6e05c5a7a1022a3b13223252cfbcc6ba8119e25d4e54c5ff47f299030cde581b61e3e66bfaa55e88d5a0c981ca05a71945f5dc905322fea9963fe91b8
EBUILD autojump-22.5.3.ebuild 1927 BLAKE2B 64be8ad70b84237f5236eeb2cf0b41ddbce5fb6eb44b3443f5ba768f9b41780ffc677d26d4576552d4a9534f58cef4b8ae1e3904b06877ec811359144ac14b56 SHA512 1d8cb5e922f8965f6bbd45a915b976fb17e06e70881f746afbc1982ce853997e46c079fdc289c4e95fd40a83d199a30fc4445401a0486c1673d45bc2b5e045f9
EBUILD autojump-22.2.4-r4.ebuild 2099 BLAKE2B e397cba8017516becef5073c70f8f4c147b5422cf115047928a4de8131ebd83579ea882d9470001095cfc76cfc5730cea100fc12f098eea2e6786e4dddca497b SHA512 00acd5242387bea3b63a500d5a21a5783c74bd60284d90ace76c2962af07696fccb3885a1ba372868352402a3eaf936aa31bb6286c9b09aceb82a9b22b7b92da
EBUILD autojump-22.5.1.ebuild 1906 BLAKE2B ccdb4a0c1d1cbcede3cc3d1ff75c65eaf8cbf5da144c0f5f9f34c7d5904cde654c8dd9819ee90ee6bce9486016df6ccbbe1f0f1d88c6004c4f8d422ac8762240 SHA512 bbf08769ee09b308ab9e28adb6ecf1cacfa125801e982999b1f7adb511b1f666c4767fa4add5a68c56d4d0c2d0465c5ef48e13a031306df95566385ae7a46526
EBUILD autojump-22.5.3.ebuild 1923 BLAKE2B fdddee74f44f4c2955bf6c825d370c29eba8935ad11974fc8c19ef9df23a6b40032d4b84bd4e4d8d74aff6a3004448ac53bb4444faba8a92ed39a628139afe4f SHA512 48565d26dd0c5618c18f1eb539813109ebe694f0dda0abb49536173726217788f87ee9020398396929710f2b1e31441412d975d5d322fc75b0c8a7a5ab125930
MISC metadata.xml 490 BLAKE2B 33ef64a70f2b0d3211861a9ae667a4ed930f850a0198661cd3371024ac6193c80d3121ca188f48cac4732741fdea08e918c8ef78161a921127ec82b1064dd1c1 SHA512 c7742421c4211de2b774bb6136261863bd69a93debe3f1ab4b921e9f19a7581ef2711fbe2090ada92b60f799cd6683368e48d974ab9698ae3c2b5f768cd34db9

@ -3,7 +3,7 @@
EAPI=5
PYTHON_COMPAT=( python{2_7,3_6} )
PYTHON_COMPAT=( python3_6 )
inherit bash-completion-r1 python-r1 vcs-snapshot

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python{2_7,3_6} )
PYTHON_COMPAT=( python3_6 )
inherit bash-completion-r1 python-r1 vcs-snapshot

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python{2_7,3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7} )
inherit bash-completion-r1 python-r1 vcs-snapshot prefix

Binary file not shown.

@ -1,3 +1,5 @@
DIST coolreader-3.2.2.1.tar.gz 12463566 BLAKE2B 208026a87b36a06cd0a2e83b60bb506174b2edec4e3f4d1663c9d630cf316afd54aa0dbd0fdf0d3e44e03277d39692bbada8b03376a22970321928e594632997 SHA512 c2e3ea139ff3969c16985a56a9605a59ae31c59f9dc962abcc4aae5d87b8c48c8d7ed716a7077dd9da93cefc0d9ba0fe8a43c50e33e3d58acbcdfc35b73b3538
DIST coolreader-3.2.39.tar.gz 17679570 BLAKE2B e84fb7d8032ae62fec24a74a9cebab086664a2ed3827f0664e667a4ab3b8d76b722790958f71f5fcd79729238e897c6592059f9b45eb4069c9ad483883bc0600 SHA512 1b92b35750174a8ef4df4b7c4f33bb9fcc94b36008c08a7f9d1f8e85c6b642c5b037e0673a783cde1aa98296887bb286c4a2da186911b26f298f689605e1eb4b
EBUILD coolreader-3.2.2.1-r2.ebuild 2479 BLAKE2B 63c86c1dee137edc9f8937c72cb80c77c0f890347aa1d385b2be771a3fdfc11a1d895ee87b4bd295a52392dc72f9abcd34f019c5f350943d4a9ce45e3971f5b0 SHA512 8df9d4a6337416a8d394cbab4be7f9d166d7ca9febe6e4dc5054d842de4f006adb535342c24a1b80370988edad4c71f9a0e7f50a0aeb832ebcd251fa38f0d8b0
EBUILD coolreader-3.2.39.ebuild 2476 BLAKE2B ec41e6b8d80f8985c69e30f555354394ce85b10e708ee66d82168659ce76a24a629fcc6309d1c7934dc4fb66d8505b7a85fc5e52baf1e38eaa08b7d9d9453d10 SHA512 debf995860319e7e0a91961823760e7dc3f4c09386d3982eedc45ca1eff9f296534adca3d318583af24c73817c4f45fff5c09e1719180faf206d398699231a31
MISC metadata.xml 624 BLAKE2B fa86114594d823c9b73b590ebfa0ffe74955550f1d66b5f1197672484d4095be484f5f8f754acef06e34f9d69d658609653109bf8499235439bb1f3ad95b7be5 SHA512 33e57dbe75c3e2efaf1d793dad06b534fac861b3ffd25e4d441af91b8d6a8cae96b8d5c19bbf0845aa78ff404eee167998e09f948009b4ce1902a2f38625f9a8

@ -0,0 +1,97 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
WX_GTK_VER="3.0"
PLOCALES="bg cs de es hu pl ru uk"
inherit cmake-utils wxwidgets l10n xdg-utils gnome2-utils eapi7-ver
CR_PV=$(ver_rs 3 '-')
if [ "${PV}" != 9999 ]
then
# git tag cr3.2.2-1
SRC_URI="https://github.com/buggins/${PN}/archive/cr${CR_PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-cr${CR_PV}"
else
inherit git-r3
# github mirror has some new commits to fix page margins settings
# sourceforge mirror saved as backup
#EGIT_REPO_URI="git://git.code.sf.net/p/crengine/crengine"
EGIT_REPO_URI="https://github.com/buggins/${PN}.git"
SRC_URI=""
fi
DESCRIPTION="CoolReader - reader of eBook files (fb2,epub,htm,rtf,txt)"
HOMEPAGE="https://sourceforge.net/projects/crengine/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="wxwidgets"
CDEPEND="sys-libs/zlib
media-libs/libpng:0
virtual/jpeg:0
media-libs/freetype
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )
!wxwidgets? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 )"
DEPEND="${CDEPEND}
!wxwidgets? ( dev-qt/linguist-tools:5 )"
RDEPEND="${CDEPEND}
wxwidgets? ( || ( media-fonts/liberation-fonts media-fonts/corefonts ) )"
for lang in ${PLOCALES}; do
IUSE="${IUSE} l10n_${lang}"
done
src_prepare() {
cmake-utils_src_prepare
# locales
l10n_find_plocales_changes "${S}"/cr3qt/src/i18n 'cr3_' '.ts'
local lang langs
langs=""
for lang in ${PLOCALES}; do
if use l10n_${lang}; then
langs="${langs} ${lang}"
fi
done
sed -e "s|SET(LANGUAGES .*)|SET(LANGUAGES ${langs})|" \
-i "${S}"/cr3qt/CMakeLists.txt \
|| die "sed CMakeLists.txt failed"
}
src_configure() {
CMAKE_USE_DIR="${S}"
CMAKE_BUILD_TYPE="Release"
if use wxwidgets; then
setup-wxwidgets
local mycmakeargs=(-D GUI=WX)
else
local mycmakeargs=(-D GUI=QT5)
fi
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
if ! use wxwidgets; then
mv "${D}"usr/share/doc/cr3/changelog.gz "${D}"usr/share/doc/${PF}/ || die "mv changelog.gz failed"
rmdir "${D}"usr/share/doc/cr3 || die "rmdir doc/cr3 failed"
gunzip "${D}"usr/share/doc/${PF}/changelog.gz || die "gunzip changelog.gz failed"
gunzip "${D}"usr/share/man/man1/cr3.1.gz || die "gunzip cr3.1.gz failed"
fi
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}

@ -6,8 +6,10 @@ AUX poppler-0.82.0-respect-cflags.patch 2324 BLAKE2B 435986b347ffa1ac657a4fa2eba
DIST poppler-0.82.0.tar.xz 1553336 BLAKE2B a83d476ce1174cb7789f857a52a8a9ed29dfe8863d082ef662508ad9957667349aa62b038fa1a52e9e7ae3ddf4701eb5fbd58545b041b6aebd69cb8b91376d8d SHA512 1631be30e398dd18a4e8c2cc893cf0d9469a98d93f02f2ffe3bc14857518b76674a10cafe89ee92b9886c3c6b03d50e214a6838c102f673a62789c9832cfa4a2
DIST poppler-0.83.0.tar.xz 1555456 BLAKE2B 4ab24a85e879d0ddbf24cf7bab5b1da7c15fc026e88b4076dc2b8cd34d69a5bcc0113df20fabda6915afea880480613ba34be6e23b5b0d79a3c6197c92af7853 SHA512 bfde1e3cc4d9c626949aab770d84fccbe47bdde2331d3b9f5b98c24319eb573a5db62acbfa5a524b21ed0f195f8b163fee64677c2bd616d31d0bb219d1e66713
DIST poppler-0.84.0.tar.xz 1561236 BLAKE2B eb85b2d0aac2d736ffa74a11df4fbdf28841ded8fec3d32aa92d22f0d1c51aae9d3deacc8cbdd7dbf95906cf46b01f1bca7aa8af99c7fe209e4169478a778e72 SHA512 e00aca76b4909621b79ec68374529396ddba756af5d60d86750095dfebbabe5b576aa7c873c3fcfabaff28c89e3e37e826d4a0fac356d76ef966500514a772e7
DIST poppler-0.85.0.tar.xz 1588616 BLAKE2B d30c16ff214d2b64fade28bb4099567150e99df6ab967702f48e18ed2191e444728f51d4c1ce1772567c31f9b87a8cf64993ebc383184e06f8b3707436c89143 SHA512 2311bde5ae52e065c12a6129f500469860f5ebefafc3f7be581393f08c2121f3eae57394ff54c1f83ee1b926f28c61530bcd8149d42de10a16b9ba7345f2604e
EBUILD poppler-0.82.0.ebuild 3327 BLAKE2B 42fa8ced0fb8a9754f85c4e3bec617b8df279265b18ecbed22d785f566c045671c8bd33d7d0f426d51f1746959fdabe4f0384b8de941015ade4df88e16a2494e SHA512 19e0889e8e3f7e972181986c73ed317ee2070e803afe807efd044c7ce11223c42c93fe267616b5e010cc78288c5095c9b5faceee351952f217f0d4e8a978001e
EBUILD poppler-0.83.0.ebuild 3337 BLAKE2B c71dbea37c103190528ba3e6f2cf0fdfb4ce53c566335b86b3585f28e31b17ffe801155f55a8be29e044e1bb86ddcd3efd669c6caaef6631ee411128a94f26e5 SHA512 4fbfb1bff3c4711c2c748eaa5f82982bf9a7686ac4ebb1ad41abd41867072816c3c858ae55b1ac8e1a555b53867b6cd3784762074bd33a5ddded56afc1ab1251
EBUILD poppler-0.84.0.ebuild 3337 BLAKE2B 1bbd89a894f18c11bbf6a8f6c3cd7e66b8ba844af8109861f88618a0787b71919710bb5e5cea754d0424788c89e2411a19838201bc521a6f0bf956c00af358b4 SHA512 567e761c4a7b73edf02cc574fa2866f0ae0f461ac232d00fbebebe7f9a04650f1f7aeaa84584e1617fcb416bfde623f99314ebb207eeeaec1087d053e9b94849
EBUILD poppler-9999.ebuild 3337 BLAKE2B 1bbd89a894f18c11bbf6a8f6c3cd7e66b8ba844af8109861f88618a0787b71919710bb5e5cea754d0424788c89e2411a19838201bc521a6f0bf956c00af358b4 SHA512 567e761c4a7b73edf02cc574fa2866f0ae0f461ac232d00fbebebe7f9a04650f1f7aeaa84584e1617fcb416bfde623f99314ebb207eeeaec1087d053e9b94849
EBUILD poppler-0.85.0.ebuild 3366 BLAKE2B 9584abfe5136196387ca4b565aa0da160ee089b93750ee43f032efc0d588cd97fc1e64e1fabe736c4076a6ed0563abdaa0ef0f5fb0c44281195b5480df21385f SHA512 e08ea49d45b58d256f3a0ecfff5891b70bc46b27e8d0230f437eaafe55a168095304a35101d8ddc47a3b9a43c83ed2ef0f6f54b343ee3513bca2155965823b04
EBUILD poppler-9999.ebuild 3366 BLAKE2B 9584abfe5136196387ca4b565aa0da160ee089b93750ee43f032efc0d588cd97fc1e64e1fabe736c4076a6ed0563abdaa0ef0f5fb0c44281195b5480df21385f SHA512 e08ea49d45b58d256f3a0ecfff5891b70bc46b27e8d0230f437eaafe55a168095304a35101d8ddc47a3b9a43c83ed2ef0f6f54b343ee3513bca2155965823b04
MISC metadata.xml 995 BLAKE2B 0d99fda69e6b020fd1b6fa879a0c3af278b92111be31d97cabe88703f06b4af56ce64ce9e0fc556d2b056c6770e547ae3b88dcc82da9cc26e15e2d1d0b5f685b SHA512 ae813761c5ab4dab475b737085f14f5874655b31f247f26495c43d8fcc47805dfceb2a8cd23ead39a3f8ee75ac820edc7c2554e573c338c09e5ec8b9d383417c

@ -0,0 +1,123 @@
# Copyright 2005-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
SLOT="0/9999"
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/95" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided
RESTRICT="test"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
"
DEPEND="
media-libs/fontconfig
media-libs/freetype
sys-libs/zlib
cairo? (
dev-libs/glib:2
x11-libs/cairo
introspection? ( dev-libs/gobject-introspection:= )
)
curl? ( net-misc/curl )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
lcms? ( media-libs/lcms:2 )
nss? ( >=dev-libs/nss-3.19:0 )
png? ( media-libs/libpng:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtxml:5
)
tiff? ( media-libs/tiff:0 )
"
RDEPEND="${DEPEND}
cjk? ( app-text/poppler-data )
"
DOCS=( AUTHORS NEWS README.md README-XPDF )
PATCHES=(
"${FILESDIR}/${PN}-0.60.1-qt5-dependencies.patch"
"${FILESDIR}/${PN}-0.28.1-fix-multilib-configuration.patch"
"${FILESDIR}/${PN}-0.82.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.61.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
)
src_prepare() {
cmake_src_prepare
# Clang doesn't grok this flag, the configure nicely tests that, but
# cmake just uses it, so remove it if we use clang
if [[ ${CC} == clang ]] ; then
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
fi
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
-i CMakeLists.txt || die
else
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
fi
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_SPLASH=ON
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
-DUSE_FLOAT=OFF
-DWITH_Cairo=$(usex cairo)
-DENABLE_LIBCURL=$(usex curl)
-DENABLE_CPP=$(usex cxx)
-DWITH_JPEG=$(usex jpeg)
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
-DENABLE_CMS=$(usex lcms lcms2 none)
-DWITH_NSS3=$(usex nss)
-DWITH_PNG=$(usex png)
$(cmake_use_find_package qt5 Qt5Core)
-DWITH_TIFF=$(usex tiff)
-DENABLE_UTILS=$(usex utils)
)
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
cmake_src_configure
}
src_install() {
cmake_src_install
# live version doesn't provide html documentation
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
# For now install gtk-doc there
insinto /usr/share/gtk-doc/html/poppler
doins -r "${S}"/glib/reference/html/*
fi
}

@ -1,4 +1,4 @@
# Copyright 2005-2019 Gentoo Authors
# Copyright 2005-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/94" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
SLOT="0/95" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
@ -87,6 +87,7 @@ src_configure() {
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_SPLASH=ON
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF

Binary file not shown.

@ -1,8 +1,10 @@
DIST fugitive-2.4.tar.gz 33340 BLAKE2B d5e5df47e0492510abae735dd47b51d797fe38862401f7d8e64404f6fa4e040641141c6febb13b05910cc44dc0372b084fe0ee8c3980a73d11d65e1a502ed627 SHA512 fb9d4129090bbafcace9400e9f21feae06bc9f903a54cfef7c4cbfa62856019a511b924c294e86fd26cd713d588ca0054a17d9676b59e2f406779ab5d51c3363
DIST fugitive-2.5.tar.gz 39318 BLAKE2B 437f4c36b357937fc83e0107882d535c5cc9e609801147d1a48c28e16c4f964c221ff404301e57c9d740a04caf4cf5383a1f307ad89a76294e13b784561223bd SHA512 9a58ff3fa9eae72fca3d1232d01856ef56fe38b7bbf61be44ec4cdf4f0f69fca69fafe19266d657530a6d08f856236b1d1370bb770b14402bb7e476d5ca4bb78
DIST fugitive-3.1.tar.gz 61142 BLAKE2B 15436725924d7ab09903973d77e9d7ce904f6bfaee451da2d3240236b2ef0589efd4b34e3673550749a6f021802018b2fb86f09ecdd727231f58bce3fd7c82b0 SHA512 4301e53a688ef1c822c146e04c41b6724cc38503733c622c0be8ea67ff2dd442f487fab8569bd3c8f7d97f6a4d5b42b58c0f23a216d74b862c09ed5c57f6ea87
DIST fugitive-3.2.tar.gz 64708 BLAKE2B cab484ec66b7c54857856ed1f6cbebbf6d3fb1afdb35b004f72f8c06785a18d8810244255305cd949e25d1f78d734c46e400488526631b4070d3e0b104830552 SHA512 c7ac97d52f683a73545efddf33986dedecbae25208ebf0703dccf99cb46fd5020362f724c5b530aeca40467d9e864ce6597d6eb5eaa93a33643191e1aa5b44db
EBUILD fugitive-2.4.ebuild 623 BLAKE2B d33285b4bd46225b4c6871a4a730d9db9c738a7100f423624914d2f99d0214a53db16d375701fcd4fe5c59994436fbfcb719772b9b2552fda9bd5331d56578ac SHA512 a1343ef40078b1345a163b3ae50620c2770b87cab3a360afd8b2af32a471569eac17e68a339ebb8591f012388775d09c557f3f0a2b9afc1b7510d31de22813c3
EBUILD fugitive-2.5.ebuild 625 BLAKE2B 668ba1e4efa3a4dd956278462b24b2ca98b4e02378e2878c6ab85bfe5c13edf1336ead71aba7756e6e43af1e5dfdc9a4d678c2d2ffffbc9d9cbe0e8026fddcf1 SHA512 93a7857bee6df123e936ce6f1644b8ddd8fe5810dc3b799f71d93b4124e8277e4721b2793c2906009cf016be4119964643e168a79c0c8273e42b9991be9417d6
EBUILD fugitive-3.1.ebuild 625 BLAKE2B d429d4e0ea98e6d35c91c17cef0c59f1bf27a0fa6adcb120d808cae0e7cec60dd2e438e83a07ed40c401423fbde4ed4f2fe016f54d21ec52ceddd32223d82a84 SHA512 ddc4ccdb0f6e345ef5d20fb53e5e34e02d451934b51c0db99048e4718ca71532a9d842337513f6d897f2b7d84465fd717f90779c7a7f5b2e0803ab9b8addd284
EBUILD fugitive-3.2.ebuild 625 BLAKE2B d429d4e0ea98e6d35c91c17cef0c59f1bf27a0fa6adcb120d808cae0e7cec60dd2e438e83a07ed40c401423fbde4ed4f2fe016f54d21ec52ceddd32223d82a84 SHA512 ddc4ccdb0f6e345ef5d20fb53e5e34e02d451934b51c0db99048e4718ca71532a9d842337513f6d897f2b7d84465fd717f90779c7a7f5b2e0803ab9b8addd284
EBUILD fugitive-9999.ebuild 625 BLAKE2B d429d4e0ea98e6d35c91c17cef0c59f1bf27a0fa6adcb120d808cae0e7cec60dd2e438e83a07ed40c401423fbde4ed4f2fe016f54d21ec52ceddd32223d82a84 SHA512 ddc4ccdb0f6e345ef5d20fb53e5e34e02d451934b51c0db99048e4718ca71532a9d842337513f6d897f2b7d84465fd717f90779c7a7f5b2e0803ab9b8addd284
MISC metadata.xml 342 BLAKE2B cef6ff7e21df2703dc1c1138f95ad5f8e478a7c6bbd013791fd7c1b1754a2f7eaac9c84ebb42af9cef1943e7a94a880d0cedc030ff95966ac607a1b0b37dc37f SHA512 4ad3c706ea17ef2ab4e6852c6251cec3b8b5b37b687cd3ed87061adbfb791b8786bb5faa4550a73c707a0013ad8981aeda930eba8d74221cc7ca33d110ceb842

@ -0,0 +1,22 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tpope/vim-fugitive.git"
else
SRC_URI="https://github.com/tpope/vim-fugitive/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86 ~ppc-macos ~x64-macos"
S="${WORKDIR}/vim-${P}"
fi
DESCRIPTION="vim plugin: a git wrapper for vim"
HOMEPAGE="https://www.vim.org/scripts/script.php?script_id=2975 https://github.com/tpope/vim-fugitive/"
LICENSE="vim"
VIM_PLUGIN_HELPFILES="${PN}.txt"
RDEPEND="dev-vcs/git"

@ -1,4 +1,6 @@
DIST merginal-2.1.0.tar.gz 13510 BLAKE2B c44f3873f36ee540e69f1cd87558e2601f944f430d15ae0e863adbba5383637ddbae2bee01cf1f7788f677a159da7870a83b909562813f8817d610e85f9d4a96 SHA512 3514c210a016d3446e73b7acc8a8a4cc2427e0133df81d7c644aaa1465e9c5945d3f46b7cac697f70cac990563e595305360991cdaa8244032167aea5f88eaed
DIST merginal-2.1.2.tar.gz 15156 BLAKE2B a8181ebd7aa67663b4541b5cb5028b6cadcca68c48f325dca07308ad13554d1d4b96b53f0a30e516cea732c880e68cb7e4cb7836b72cbd6b59a009e8d3c744b2 SHA512 70da5529ee22b3f06d83ecac62634d46d30472f064613a1844a7cdae31ed97366b5fcf6b31f4becd4cde246ccac32be6528c8c93ee2f02bdd32932388282f9bf
EBUILD merginal-2.1.0.ebuild 721 BLAKE2B 7eb8255843d8b9cd741c645096e374ba3328585fdb0818676c21b111442fef0fc76395c54d3f7e84f072b1c8c481d7933157da41351215e3c85a4eeca8ec3d49 SHA512 c1f63cf5095f0729ba39ec1eccf9eeb382bf2a1e9dfd5d9a85486f9c315d5521f2d46704cfa6adf6ca91a2e2cf319e8e48a77c7eea3b69910a58d3ae978f88b9
EBUILD merginal-9999.ebuild 726 BLAKE2B 563099f5ecf0290cf8542523794ed261252dd979f006a5e65fb48e1abade837b66485d056681c2b2a849d1fdcb9c9f2c6f1cd8fa5cc7a1e564232fb73ffa7ab9 SHA512 0792f9864e98b518a3a5422e3d1803cb51921b12c60856553d97880aba8b75c95a9ee3f0906475c39461a6f3266e6df31e09c778f96d3ca7fce36670804d5895
EBUILD merginal-2.1.2.ebuild 723 BLAKE2B 1461df549aae456ce6a16eb691fa1ef26a91aefb50dd87ac46dc61d97a796f5cf601d31313e50af73de2193fd17d742db7049add5d74c20bf54f32e6a3f439bc SHA512 f36ef17603e3a1a1608fcaf283a1ab5c1d1937438b80f30c17633ede84712c54f57988d3d34d2565465e9a7b71c2c71de3c9bf72b7068afb62529f5294797e47
EBUILD merginal-9999.ebuild 723 BLAKE2B 1461df549aae456ce6a16eb691fa1ef26a91aefb50dd87ac46dc61d97a796f5cf601d31313e50af73de2193fd17d742db7049add5d74c20bf54f32e6a3f439bc SHA512 f36ef17603e3a1a1608fcaf283a1ab5c1d1937438b80f30c17633ede84712c54f57988d3d34d2565465e9a7b71c2c71de3c9bf72b7068afb62529f5294797e47
MISC metadata.xml 345 BLAKE2B d484adbd45fa9339d6199f9978129adce0a8dc2ac1a8f0edf4dee62cd115a8043b0aadd6bc7708305516fd16caa6da8feeab3270f2e7f82bb751e916c0a2573e SHA512 c86f966d8b95d7ae380395af45af1046b3102e4c921f5a4102b4d421c707659b4e5aee25765b8af1e815cb5274963bdcae482cc4700d3196259e62ecaf6919ce

@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
MY_PN=vim-${PN}
MY_P=${MY_PN}-${PV}
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/idanarye/${MY_PN}.git"
inherit git-r3
else
SRC_URI="https://github.com/idanarye/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/${MY_P}"
fi
DESCRIPTION="vim script: fugitive extension to manage and merge git branches"
HOMEPAGE="https://www.vim.org/scripts/script.php?script_id=4955 https://github.com/idanarye/vim-merginal/"
LICENSE="vim"
RDEPEND="app-vim/fugitive"
VIM_PLUGIN_HELPFILES="${PN}"
src_prepare() {
rm README.md || die
default
}

@ -1,7 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit vim-plugin

Binary file not shown.

@ -5,21 +5,29 @@ AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2
AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882
DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b
DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8
DIST mariadb-10.1.44.tar.gz 63660764 BLAKE2B fb88660687c57217c82a05442b1f6e1d85a10fbcdb54b5c455409fd6e280aede27aafe61020eae278a0424b7b21f4afc4e581dd68ce9690948970ef22127ecd0 SHA512 4216524dae5eaf882d3667345fdccc58fa29cb02fb04367900d25c1d120b609d9c7af460dea37ba15ba3fb89f4390f9b15072f5c1ecc434c64b840fa14bab8a9
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8
DIST mariadb-10.2.31.tar.gz 73134720 BLAKE2B a410f71cffd7ff904cb16d9d00bbb4b1d6d17a4931de1635a14dce7c7c66d8dfd097b0c261959809cf2f327d196b11f3196129c2894efb5bab0141aca10ea3c7 SHA512 2cf28e4e049618f633470e7a4cd4f3bc8c2a74bf9796bfd026da7c75812e6d4962323785fdbca7a5b505c2e4fe95e3b47cd2e24e4dec2dcd230ac8a25f49b9b9
DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3
DIST mariadb-10.3.22.tar.gz 72050820 BLAKE2B 9e08f1360f8db2c5f466d4f6f967145286412a5598c7de8828eb8f8f3dd113b38f039c38335f9251f3bba19c67c5f62d57808eabc57480338b64dae0c5588774 SHA512 57a6551b8939f54742963202d50a537e69e8ab9b2dca42ce3d2a09c0f7af368fded71f36af26f6cbd956d54fe43853981ba8fe28b7a3ba97c7d52ea4a0d233f6
DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71
DIST mariadb-10.4.12.tar.gz 79120835 BLAKE2B 1c511e788f8ddc9b9d2e580b29c380ada85d7cc46febe6a6bec626fd6239e4f50480b7a31dcd7e1a9474c6ed9626a910e996257ac8366646a22decc0226c45f0 SHA512 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6
DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c
DIST mariadb-5.5.67.tar.gz 45971908 BLAKE2B 494fdc5d13c3560b074514f30a828e6689b820a1eefc0d0ec67f00a9dced6f4d3c305ed81ad39dddbb07659ccfbab418900f822baf502067d706ba84d2e7fd78 SHA512 494b2b0d863e2fed6f02f8d61134a645aa113bb0e17ba08b304350dfa974f6fce2a2fcc231fb413872156f70f08fbd2604f58d642fffe085f3b093176a3e68c9
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa
EBUILD mariadb-10.1.38-r1.ebuild 29479 BLAKE2B 7f89c988240a3450ab95234155b18430b271e6af0656711bb0514cf21635d3fc541a05189455345a55bcc071f30ea1a401826d945d177eab043db0ad7db5d5b4 SHA512 4bee8f11cde366979a57898986540ff8736f2e81770e2c1b33af91414c51a13b19af297c2831c6680c3f36f33eb0b2276d637ef5858d8803fee09d520b46094d
EBUILD mariadb-10.1.43.ebuild 29882 BLAKE2B e67075c31a1585036ff4d82ddc7ce00119ee9a46170144acd59e1106c0c1cd05cb1e38b9e7eee77dcfaf320ccf3615845e1751cca242d7376d1c535a587d7c72 SHA512 8072069e496ea9300352264d71c998bcd926bfabca50607afd1b3bc47be265e31fd137737b6e85b7d2d4c2dc8d41d1f054ca846d94fe548eb1dda5a06f3b5b82
EBUILD mariadb-10.1.44.ebuild 29886 BLAKE2B 953df22c8e6fa730111023046e77d1a648d43283ce2f758c8cf2d58f41e1625cc354438b5ace48f41a39915a8350070d7985dbecb69a9536d4946fdb01e31459 SHA512 cce255b9a4938db29480ad7e13a26d120ceb9a2e19b5d9d6b3e62e2615c2d62598b0b83ba7fed870b6b4885d9821b046c45ec50afb912b9347bd90cfa6b8e1d3
EBUILD mariadb-10.2.22-r1.ebuild 32530 BLAKE2B 2a6a9aa24f06052d8dda82a1c1dfdc836122e5e9e248c621bc69b80732beaaee86aff666e2bcdf1eb7cf7f15628f11c785d84d99980c4d0459c792d0e8d9e2c4 SHA512 62cac25905993280f8b8d24e80751261513bb129401d01ebd51cda9fe196109473bbbe760a126d0949d7466279b1eff3892ab394c031cd7ab4a8ccc3ae3a3667
EBUILD mariadb-10.2.29.ebuild 33103 BLAKE2B fdf29163bd6297d9627a3d767e33ab8c43e9df5a88a3bc6d9ecf1e45523ed55014f6febb304cee3dfb17d0ed195f6f9f457dc1eaf5da91779220569c6a95b246 SHA512 ab764d0c158718ceb3081b8c21bc9b370171bf6382fae8f5286ee9ed1df738163a96f8ae746a3eeab52ab52bf6e3e4477f27ae3c9f32b5c618377292dc9ac913
EBUILD mariadb-10.2.31.ebuild 33107 BLAKE2B 2a05661c3bd68d12884fef2bca0f812190a7de270500072c9003a23aa027a8883a0d9fe15985fd245cc979a8540e08eadb8ed77d653a1327abdb26645998531c SHA512 3a02c4d342d98f3fc49824b51500902ffce788fe65711e6d453e47bd3d9856234ac7e1fb144adfcdd4ffc3eb76c76f0deb9cabb71b13d30ad3b69b902d83725d
EBUILD mariadb-10.3.20.ebuild 32731 BLAKE2B 2e8437c3af728e5a3dc02a825f025231bc4a6f3ae5b72066afdcf033fdaa807847b86167ecdf9719213061e2937c97300f72989e45f9adbcb74ef597939c25c0 SHA512 0e84837c35c84eaef8d0afb6630c8caff7d036671ab9871ccc2b30aa3ffe2a24f8a363f5f9364755bb69c1290f2995366164a249fb4c61f902d2e41aa2571612
EBUILD mariadb-10.3.22.ebuild 32731 BLAKE2B da727fd2c8aaf0be2b95bf1f4790544f22a6aeb0c6abe83c9cfe7176ae0546b9674a3bed5458eba81804b25c5b007b6d5a3e82257eaf7a57da2d70b260ef7aa4 SHA512 ffc53eea8341b96b70e196770e9a48bfc0461004c0ce04b68cbaeb8323f4dcc671ab8bd8ca65037f7262d8a1da86a9e930e4328cf50446f47d24b71e851bb412
EBUILD mariadb-10.4.10.ebuild 33383 BLAKE2B 43b890bcb0b23b7d40faecd424a968248524453ccc486dcba474a1b5959503a51252ff3dab70c5dfb6238f20b9cdcb281dbea9d728d1cd31d7a3cb3c5c419ea3 SHA512 acfdec61923f7cd5e837e52c6854ee7104278ea2157df5993de38811dda81f3db0644dd7002995367981ca4142e35fe9fed0e58d83ffb71f4528477976d93a63
EBUILD mariadb-10.4.12.ebuild 33347 BLAKE2B 369e1a2583d6c676458b178dd17e08d55fd8eeee007d95421a48174471a05783cc00a9a41167a91831fccc0944397b8a5de852a6efcbe2bae04e8d12961a6076 SHA512 2b221b9be5ab44d0b70891d4785503370cf761db8a61a9e402efd58ac200101d0e9a1f05b05841ab96f71d7dddf96082100c2bb3b9095835507bc2b86d9579e7
EBUILD mariadb-5.5.66.ebuild 27262 BLAKE2B 323891d4180b27a079bf96952c36880d8531eb273ce4a8ba2d16d2b3f85a85514a29381d849b89dfe97a534b3eb600ec5a85e006dfaccb3cd76a51c9a35c2f92 SHA512 e52d96c624a69a98b362f9c5d498eb62cd6b635660871deb62b2426638513319714a2e7992f60b3535872cc342f7307b053d79901df16e5573d33786100e9d3d
EBUILD mariadb-5.5.67.ebuild 27262 BLAKE2B a05caf00a7b912490bc1d0e0b913df638c6281aff5c02bad42c19fc578858c51b66cb1a4aa213ce4119734c2c28709e02137726e4e4e45c251c70c4c0239378a SHA512 5612cde1ae585e4a817e7784996c546bb80f857cb9d773061337d59c8687e5b5daa80fc2734bb94ac1ad20f35cf23702d6d9c047f3342e8abbd731c773d28e9f
MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97

@ -0,0 +1,897 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190305-2052Z"
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="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
SLOT="0/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
systemd systemtap static static-libs 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 ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
"${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
"${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
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= )
!yassl? (
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3: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= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
kerberos? ( virtual/krb5 )
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? ( sys-libs/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
!yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
>=dev-libs/libpcre-8.41-r1:3=
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
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 )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${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 )
server? ( 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
}
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
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
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
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 )
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
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Avoid useless library checks
use mroonga || _disable_engine mroonga
use oqgraph || _disable_engine oqgraph
_disable_engine example
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
cmake-utils_src_prepare
java-pkg-opt-2_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"
-DDEFAULT_SYSCONFDIR="${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_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '')
-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"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-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)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DPLUGIN_CLIENT_ED25519=NO
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
)
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)
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DWITH_SYSTEMD=$(usex systemd yes no)
-DWITH_NUMA=$(usex numa ON OFF)
-DINSTALL_SQLBENCHDIR=''
)
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
-DENABLED_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
local mycnf_src="my.cnf-5.6-r1"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
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" my.cnf
if use server ; then
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
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
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 \
rpl.rpl_semi_sync_uninstall_plugin main.mysql \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
fi
_disable_test main.gis_notembedded "Fails when latin1 USE is not set"
_disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
# 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/libexec/mariadb/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 | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
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 https://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
# https://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,986 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190305-2052Z"
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
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="https://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 static 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 ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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.3.12-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
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? ( sys-libs/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] )
) )
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
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
server? ( ~virtual/mysql-5.6[static=] )"
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 appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
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
}
if use jemalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
elif 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 sql_errlog auth_ed25519 )
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
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
# Fix galera_recovery.sh script
sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
scripts/galera_recovery.sh || die
cmake-utils_src_prepare
java-pkg-opt-2_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_CLIENT_ED25519=OFF
-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
-DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
)
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_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
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
# Remove mytop if perl is not selected
if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
rm -f "${ED}/usr/bin/mytop" || die
fi
# Fix a dangling symlink when galera is not built
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
rm "${ED}/usr/bin/${scriptremove}" || die
fi
done
}
# 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 main.gis_notembedded \
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"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
_disable_test main.func_time "Dependent on time test was written"
_disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1"
# 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/libexec/mariadb/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 | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
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 https://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
# https://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"
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,836 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180809-1700Z"
SUBSLOT="18"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs 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="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
SLOT="0/${SUBSLOT:-0}"
IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
oqgraph pam +perl profiling selinux +server sphinx
static static-libs systemtap tcmalloc
test tokudb yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
"${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch"
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch"
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
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= )
!yassl? (
!libressl? ( <dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
>=sys-libs/readline-4.1:0=
)
server? (
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
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
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_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
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
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
# Don't build bundled xz-utils for tokudb
echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext )
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
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Don't build example
_disable_engine example
if ! use oqgraph ; then # avoids extra library checks
_disable_engine oqgraph
fi
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
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"
-DDEFAULT_SYSCONFDIR="${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"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
# 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)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
-D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
-D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
-DINSTALL_SQLBENCHDIR=share/mariadb
)
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
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_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
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
)
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
local mycnf_src="my.cnf-5.5"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
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" my.cnf
if use server ; then
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
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
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 5.5 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test, main.mysql_client_test_nonblock:
# segfaults at random under Portage only, suspect resource limits.
#
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
local t
for t in main.mysql_client_test main.mysql_client_test_nonblock \
binlog.binlog_statement_insert_delayed main.information_schema \
main.mysqld--help \
archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
fi
# 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/libexec/mariadb/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 | tail -n 1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)"
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 https://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
# https://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"
}

@ -1,5 +1,6 @@
AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b
AUX mysql-workbench-6.3.10-i386-json.patch 7167 BLAKE2B 44a6e2446b24cd2f7f096d51b6cfdacfb485634a94733c4ef67a128ec903fec3736cb62ed45d6abbe7c7793b7d3ab668198f663a44b1bcc313f4d02ced4cd578 SHA512 992595df7719c4c958c98b5561f3fea04607213287c72daea6bb331392c417123d6fe5d1126c6dec128a857aa299908221f3a2c0ac08744241bf395e80a9574d
AUX mysql-workbench-8.0.19-mysql-connector-8.patch 624 BLAKE2B 0cb899a8b0127664471877bb9cdcda946c35ed7a159646b94891a791a618c77201cc7696d6f2893e95fd78dbc13325cef752740f76e69974e10c0f88084594fb SHA512 09c2349cb42393f6d32f24804e2c3438a5d846fc9611e0684ccf2139fd30b0abcb0f2aa7b205c60a081259e073fb345cd72837dab1a216e6a8aaaba5ec3decf7
DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1
DIST mysql-workbench-community-8.0.16-src.tar.gz 15653536 BLAKE2B c76cd35e88167641037a779b85245c620b31e2a2943260309d8ba461391892d9ec5856023c8eb25e1ea40c12ece796a1d2e36f1638187db4bd2739eb273232c9 SHA512 e9495e78aec58f70cc586ad73908408d3b8d5071c815279c1019d5268c97f53f10f4e59a47fe0ffea03b795de8e283c1175e03e2585a81fc58b62461d665cfe9
DIST mysql-workbench-community-8.0.17-src.tar.gz 15777302 BLAKE2B ba1aebfc5f9b55e88529bdbc5ebe42da594fce1da0ea64bd0153294293fe4c2533bbc00aac9c1ba0942577eff90c1b522ef1af803e56edf0c361876ac5dea764 SHA512 c7b5f68e4a2fe30d33fde5f18a03342e034a8c10edc2506278dc09751f264884f1dba3d68c430594ac09d26b692465409d2189c2b2a440d80aca7ad00188a39f
@ -8,5 +9,5 @@ DIST mysql-workbench-community-8.0.19-src.tar.gz 19391463 BLAKE2B f9374c234a7585
EBUILD mysql-workbench-8.0.16.ebuild 2645 BLAKE2B 0f8e55773d4ea4667107c822d2fe38f7de1890130d309a036521eacb4801038a583a74c2d652e7ed545228fae8a487270de4aa49503620d049e2392507b8267f SHA512 e066480349ca7afbf5892222463a44e205e20979cfd1ed44a523e7b9626412f08edec7b33767994d6348c68ba771b5ae1e176d082cf9a2ec7d9c7457f665ce33
EBUILD mysql-workbench-8.0.17.ebuild 2571 BLAKE2B 352a6ab8130104670b094d4405f2eb8948caf429799417511da46337b8aeeb8771f45601cbdf0bf478de7e47e53ab1393c8f33181f3b3ec66ca52c254dd3ea50 SHA512 6660188082e47f79140e4ac582518e9d97a6e05ab8b7f0e9a316e10abb91b108b833c9ac64024525f740cf511da9c3e9b28ef367487d15e8e192d94d7d28f873
EBUILD mysql-workbench-8.0.18.ebuild 2556 BLAKE2B 09627a2314955946b3b57c92c0fc5351571f8095d536940bf107d56f0950d606a52cceb9b5000e5f36e2af97cdd252521cec9e86b5d211ba8e8982263fb375bc SHA512 2f9aaedf5f81d76daddb7c1507bbe686648c570d0d375fc78342fa00d78b8555ff921b55af2ca8d1ae012c892d06f4e7ad119e30cae84e0dd79bce240d08c802
EBUILD mysql-workbench-8.0.19.ebuild 2556 BLAKE2B 09627a2314955946b3b57c92c0fc5351571f8095d536940bf107d56f0950d606a52cceb9b5000e5f36e2af97cdd252521cec9e86b5d211ba8e8982263fb375bc SHA512 2f9aaedf5f81d76daddb7c1507bbe686648c570d0d375fc78342fa00d78b8555ff921b55af2ca8d1ae012c892d06f4e7ad119e30cae84e0dd79bce240d08c802
EBUILD mysql-workbench-8.0.19.ebuild 2600 BLAKE2B 58f0ee172565f13dd7a4ecb858ac60107f337f0bfecf55e214e47bf70af58045722be795ec328cfb776be9a6d7cc0a85b75691935d81742a70d59719c375de2e SHA512 164a4b3bbf8fede33675bf7454d35a969b43b89eced6625c1179ae7c53febf2af3f77a411011780e22b38e2252538a71c775e53836365dec66fea6a806a6ba7c
MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193

@ -0,0 +1,12 @@
diff -Naru a/build/cmake/Modules/FindMySQLCppConn.cmake b/build/cmake/Modules/FindMySQLCppConn.cmake
--- a/build/cmake/Modules/FindMySQLCppConn.cmake 2019-12-18 13:31:34.520496484 +0100
+++ b/build/cmake/Modules/FindMySQLCppConn.cmake 2019-12-18 13:32:32.590496631 +0100
@@ -27,7 +27,7 @@
set(MySQLCppConn_FIND_QUIETLY TRUE)
endif ()
-find_path(MySQLCppConn_INCLUDE_DIR NAMES mysql_connection.h PATHS /usr/include /usr/local/include)
+find_path(MySQLCppConn_INCLUDE_DIR NAMES mysql_connection.h PATHS /usr/include /usr/include/jdbc /usr/local/include /usr/local/include/jdbc)
SET(MySQLCppConn_NAMES mysqlcppconn)

@ -70,6 +70,7 @@ S="${WORKDIR}"/"${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
"${FILESDIR}/${P}-mysql-connector-8.patch"
)
src_unpack() {

@ -1,18 +1,13 @@
AUX postgis-2.2.0-arflags.patch 535 BLAKE2B 6420573e9623d4e2115ed3616bc3b8648ae7782bf4624ee60d3827a4d61cbdac1dc62b4937f36113ed6d0856af4728f5cc1b544d502512e88dd87a7b590135ab SHA512 7f8b92a582dd11b3040832278b75e65036315ca0e438cb9b19cc5b63a7b5c5bcae8ec274a487a29abadfbbc31cdfacf6c668e46f249d4bf88c09607501cacf66
DIST postgis-2.4.6.tar.gz 12616474 BLAKE2B 8e33ae7e8ca5ef2a4dd90f64a8e9910118e4ef711444b196f46e4a63f98ff6044709d65a853c5c10de91308658a206965503b6a85a16438ea422becdbbd9bb40 SHA512 eec4276a58549f3cc57d6574186aebc72df0dd7dc2ab9acbaf410604b4d271dee6d5154caacd7297d20493d879434ca78050672e8197ff0fc63a36100c20c66c
DIST postgis-2.4.7.tar.gz 12831401 BLAKE2B 0069a339cc778a02a008835189b5560ffb1724aceaaeeec5264750cdfaa4346310ca1d112f698556e750b6559f0dabb727584c9d41ff8747ed7673e147c9723e SHA512 832f039e582227cd1c6edef98af8dfcceb90db75b18d4ba605b7baf2842227b23fe2d15c3b1cde941182c93230ba41ab94da59e97506c77e79f2016bbd98c885
DIST postgis-2.4.8.tar.gz 12846228 BLAKE2B dc7cd26f08774011bddba362040f35fd46dab5f58870643d4e6d939fb107a8e93ccb8c2d57ac67bf5ba44a7dd05c25eee77358548d9d7d9a8b3e2f7538e49538 SHA512 afeddbdcbad68358c3bc36beec5f1baf74c328daba90f0ac7d6322e4330d18da2e5534fa200f8ae3f19e7e897221989a564f6e2855e9181eadfd9cc32315b666
DIST postgis-2.5.1.tar.gz 16041872 BLAKE2B 589cf7168d3698737a19d817b8efb91695c2c3f63d6c3aa24189d9a37459a28ca8a7db0450aa2d557699f76cd8e3ab1eec198bd332b294d976330fdc9d8a7f60 SHA512 c6c9c8c5befd945614e92d1062df1d753ca8b7fd69b70226065c2dac77a59783b14ece4da994187079b683ee090ba5a79389ba679f22fce8c20a5afc2c8dfca0
DIST postgis-2.5.2.tar.gz 16252761 BLAKE2B 181ecc41e659c1df32392d0dfea9cc081c2a647fd23401b8b0470f99e1136b6b8ed900eaea38afdf87cc801bf13ede4247f9c188fcf0da6782624239c77b434f SHA512 b10781f0b74bad8162c33eb111a6090fba184b45fe5874d22cd3a5b0acfb057f3407c073bc44c9d4cd20ed8c2cb1fbb34480b0cf331340bc8b52580d4eccb819
DIST postgis-2.5.3.tar.gz 16424752 BLAKE2B 94c2ccd41eb88a39c6db48ad7f4d142742a1b0791e3abe57adb2c778406dcc8286afc6d55c80067e0b94a1300eff1c76a227d3cfd813e12541c715edeea11a9b SHA512 1c9f873ba8f8ff4aeae248c68c001eb4174416de1e00ce6a0d0c9ea129b475e887a83235027068d52f587ab95c549adbfaa7e5dccdda77855e39c55dac0fdc2d
DIST postgis-3.0.0.tar.gz 17359802 BLAKE2B aa83bdc2d1950c517f99cbdd877eb7261f6c29ce2cbd9f67f1e606c290080fc3d02ab0b7ceb68ce852e0c0d3d4b7753f03cb5b0921da164ab65d68e23d1df538 SHA512 82c233681fa6444686f9979768e5d6d3a9b6ca9cbd4fc2b14bd0a5d1269a8d0f45ee067e64984077063407c7abc13fa0e37a29928d7ccbfe3a61b694f592bed2
EBUILD postgis-2.4.6.ebuild 3062 BLAKE2B 54c4f4682a7803a425a590ade547d178aab1a07722d825a10d25a22b77c7e58f21d6aa7b2756ea5faa96bf8ff309dd40cb80b0145333be1407ac7e8fb826e4a8 SHA512 cd36e3462489fcdf97fc5935d6705906342c6ee178502c06918e230308e245fb22141d49889f692c4e6eee251e21ab8d34b1cb88abc4617fc2cf3476a056aacf
EBUILD postgis-2.4.7.ebuild 3062 BLAKE2B 54c4f4682a7803a425a590ade547d178aab1a07722d825a10d25a22b77c7e58f21d6aa7b2756ea5faa96bf8ff309dd40cb80b0145333be1407ac7e8fb826e4a8 SHA512 cd36e3462489fcdf97fc5935d6705906342c6ee178502c06918e230308e245fb22141d49889f692c4e6eee251e21ab8d34b1cb88abc4617fc2cf3476a056aacf
EBUILD postgis-2.4.8.ebuild 3064 BLAKE2B 49d50ffe6855984a43429167b72495d7b4ce7a25e572a17e31d798412879d3cce9606b4c724edefb19bfde200b2ae0e009eed06c744cd45ff6a2509d3a0780b5 SHA512 386d7ca69f4a45277c6b5a9089a922121c55f21ac0fb44eb4ba299001c922920eaa52967af668bb8bd3f39aa67d245eefb4e6759f4e35f46ef9b9b9790a9aa71
EBUILD postgis-2.5.1-r1.ebuild 3044 BLAKE2B ea7dd912c43f34cc13c596cea4f2169475c49d3318d4b5b2456889c52ef503c5300dcfc245220e9eacf8275c4443b6273c25da71f7d77831f888cc8d4f943f41 SHA512 3265db95c4debdf04068eafce9fef15466851b226752d90e6a4ebc8da0edb4f38f101cec4a59e1303700cfcabb0fe9382df25fbb68fe919bd639d61b9d9ba322
EBUILD postgis-2.5.2.ebuild 3044 BLAKE2B ea7dd912c43f34cc13c596cea4f2169475c49d3318d4b5b2456889c52ef503c5300dcfc245220e9eacf8275c4443b6273c25da71f7d77831f888cc8d4f943f41 SHA512 3265db95c4debdf04068eafce9fef15466851b226752d90e6a4ebc8da0edb4f38f101cec4a59e1303700cfcabb0fe9382df25fbb68fe919bd639d61b9d9ba322
EBUILD postgis-2.5.3.ebuild 3046 BLAKE2B f2664d46785b9bb43bb35a23435649a785893dcbab78161e7afd9f56a8f1daecfe5c4e923f17266e06e560c2bd9113b4cb7858d8322bbc29eb31c33cdb5d809c SHA512 1182ea0a9fdd8430d4d43fc0bcc13825dec8531b6b0be111cdf480c634263b1599cc544630a20cd56073ded452d507fe895b95a5f5987a5df6e8b5bed152015b
EBUILD postgis-2.5.3-r1.ebuild 3175 BLAKE2B 3fb34dee5ae8297fb96f0d07b9ce7f76fbabea98f3b6ce30f64e127141cda4b85d1f8013272378c6031cfe15e2a42c8e16b1df5b713d8d6e843f8f0b5a9998c2 SHA512 49838aa92ccf52c0d18e3b4122105bc87e0cf44048fecba6d4d27bd0df08b5b98ff30efd198dba82f94773ef9ec672296061dcd299f1e1dcd81190b956143563
EBUILD postgis-3.0.0-r1.ebuild 3199 BLAKE2B 6a25b2f93ff19b7fffdf431f38614ae6ab07f7209421414493696fb748abadfbb1c0a0e5befd8e30dc22734d976225e696f9a8c5bef185c4cdfaf2a8d62f1d70 SHA512 46b69a6620e69c0b65d7640e43065f10c2a920e011fed8e32bf43272b1fb5e1b66d09886f5de624f2bbd1b74bbaca5e3cfec2dc83d0a68e4f8733f04c740a9b8
EBUILD postgis-3.0.0.ebuild 3060 BLAKE2B 5b7798e3ab7293d163e504c3f9a370b905bb4c9c6062159976e4ef3129b3f569b16f4e31d4745c4636f89533344cc206d81093326adf0ec54072aba9f510f539 SHA512 920593b7e8015d9e8555adad9d9212c3abfd0a3bbb56e98d30f42a6fc13033b6fb093f8ca91479aa8077988f99ae0f6d98a6fc6835247d53fdba5ea149f1fbc1
EBUILD postgis-9999.ebuild 3199 BLAKE2B 6a25b2f93ff19b7fffdf431f38614ae6ab07f7209421414493696fb748abadfbb1c0a0e5befd8e30dc22734d976225e696f9a8c5bef185c4cdfaf2a8d62f1d70 SHA512 46b69a6620e69c0b65d7640e43065f10c2a920e011fed8e32bf43272b1fb5e1b66d09886f5de624f2bbd1b74bbaca5e3cfec2dc83d0a68e4f8733f04c740a9b8
MISC metadata.xml 779 BLAKE2B 9dfbc86514c5f6e0c859dc41a46890e4f518f23c572786bf340112eadf21b35f5f583a3835f6ba58bef8c99a7ef8483f3a98898d372d1c0e5cc537bb9ecc2b12 SHA512 33ad2ddabf49e97af2cf188f2c0f72e1a936c228b43d8d3637230c43be0df82ec2aa20b63cb5f2385e936c215263fcd009332afe504bc5f30746a387b9b37ada

@ -1,125 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
POSTGRES_COMPAT=( 9.{4..6} {10..11} )
POSTGRES_USEDEP="server"
inherit autotools eutils postgres-multi versionator
MY_PV=$(replace_version_separator 3 '')
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Geographic Objects for PostgreSQL"
HOMEPAGE="http://postgis.net"
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="address-standardizer doc gtk static-libs mapbox test topology"
RDEPEND="
${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
>=sci-libs/geos-3.5.0
>=sci-libs/proj-4.6.0
>=sci-libs/gdal-1.10.0
address-standardizer? ( dev-libs/libpcre )
gtk? ( x11-libs/gtk+:2 )
mapbox? ( dev-libs/protobuf )
"
DEPEND="${RDEPEND}
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
|| (
media-gfx/imagemagick[png]
media-gfx/graphicsmagick[imagemagick,png]
)
)
virtual/pkgconfig
test? ( dev-util/cunit )
"
PGIS="$(get_version_component_range 1-2)"
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
MAKEOPTS+=' -j1'
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
src_prepare() {
eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
local AT_M4DIR="macros"
eautoreconf
postgres-multi_src_prepare
}
src_configure() {
local myargs=""
use gtk && myargs+=" --with-gui"
use address-standardizer || myargs+=" --without-address-standardizer"
use mapbox || myargs+=" --without-protobuf"
use topology || myargs+=" --without-topology"
postgres-multi_foreach econf ${myargs}
}
src_compile() {
postgres-multi_foreach emake
postgres-multi_foreach emake -C topology
if use doc ; then
postgres-multi_foreach emake comments
postgres-multi_foreach emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
src_install() {
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt
docinto topology
dodoc topology/{TODO,README}
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
docinto html
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
docinto html/images
postgres-multi_forbest dodoc doc/html/images/*
fi
use static-libs || find "${ED}" -name '*.a' -delete
}
pkg_postinst() {
ebegin "Refreshing PostgreSQL symlinks"
postgresql-config update
eend $?
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
}

@ -1,65 +1,72 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
EAPI=6
POSTGRES_COMPAT=( 9.{4..6} {10..12} )
POSTGRES_USEDEP="server"
inherit autotools eapi7-ver postgres-multi
inherit autotools eutils postgres-multi versionator
MY_P="${PN}-$(ver_rs 3 '')"
MY_PV=$(replace_version_separator 3 '')
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${MY_P}"
if [[ ${PV} = *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
HOMEPAGE="http://postgis.net"
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
HOMEPAGE="https://postgis.net"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="address-standardizer doc gtk static-libs mapbox test topology"
IUSE="address-standardizer doc gtk mapbox static-libs test topology"
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
RDEPEND="
${POSTGRES_DEP}
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
RDEPEND="${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
>=sci-libs/geos-3.5.0
>=sci-libs/proj-4.6.0
>=sci-libs/proj-4.6.0:=
>=sci-libs/gdal-1.10.0
address-standardizer? ( dev-libs/libpcre )
gtk? ( x11-libs/gtk+:2 )
mapbox? ( dev-libs/protobuf )
mapbox? ( dev-libs/protobuf-c:= )
"
DEPEND="${RDEPEND}
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
|| (
media-gfx/imagemagick[png]
media-gfx/graphicsmagick[imagemagick,png]
)
)
virtual/pkgconfig
test? ( dev-util/cunit )
virtual/pkgconfig
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
virtual/imagemagick-tools[png]
)
test? ( dev-util/cunit )
"
PGIS="$(get_version_component_range 1-2)"
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
src_prepare() {
default
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
if [[ ${PV} = *9999* ]] ; then
source "${S}"/Version.config
PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
fi
src_prepare() {
eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
local AT_M4DIR="macros"
eautoreconf
@ -68,15 +75,13 @@ src_prepare() {
}
src_configure() {
local myargs=""
use gtk && myargs+=" --with-gui"
use address-standardizer || myargs+=" --without-address-standardizer"
use mapbox || myargs+=" --without-protobuf"
use topology || myargs+=" --without-topology"
postgres-multi_foreach econf ${myargs}
local myeconfargs=(
$(use_with address-standardizer)
$(use_with gtk gui)
$(use_with mapbox protobuf)
$(use_with topology)
)
postgres-multi_foreach econf "${myeconfargs[@]}"
}
src_compile() {
@ -118,6 +123,13 @@ pkg_postinst() {
postgresql-config update
eend $?
local base_uri="https://postgis.net/docs/manual-"
if [[ ${PV} = *9999* ]] ; then
base_uri+="dev"
else
base_uri+="${PGIS}"
fi
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
}

@ -1,123 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
POSTGRES_COMPAT=( 9.{4..6} {10..12} )
POSTGRES_USEDEP="server"
inherit autotools eutils postgres-multi versionator
MY_PV=$(replace_version_separator 3 '')
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Geographic Objects for PostgreSQL"
HOMEPAGE="http://postgis.net"
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="address-standardizer doc gtk static-libs mapbox test topology"
RDEPEND="
${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
>=sci-libs/geos-3.5.0
>=sci-libs/proj-4.6.0
>=sci-libs/gdal-1.10.0
address-standardizer? ( dev-libs/libpcre )
gtk? ( x11-libs/gtk+:2 )
mapbox? ( dev-libs/protobuf )
"
DEPEND="${RDEPEND}
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
|| (
media-gfx/imagemagick[png]
media-gfx/graphicsmagick[imagemagick,png]
)
)
virtual/pkgconfig
test? ( dev-util/cunit )
"
PGIS="$(get_version_component_range 1-2)"
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
src_prepare() {
eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
local AT_M4DIR="macros"
eautoreconf
postgres-multi_src_prepare
}
src_configure() {
local myargs=""
use gtk && myargs+=" --with-gui"
use address-standardizer || myargs+=" --without-address-standardizer"
use mapbox || myargs+=" --without-protobuf"
use topology || myargs+=" --without-topology"
postgres-multi_foreach econf ${myargs}
}
src_compile() {
postgres-multi_foreach emake
postgres-multi_foreach emake -C topology
if use doc ; then
postgres-multi_foreach emake comments
postgres-multi_foreach emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
src_install() {
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt
docinto topology
dodoc topology/{TODO,README}
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
docinto html
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
docinto html/images
postgres-multi_forbest dodoc doc/html/images/*
fi
use static-libs || find "${ED}" -name '*.a' -delete
}
pkg_postinst() {
ebegin "Refreshing PostgreSQL symlinks"
postgresql-config update
eend $?
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
}

@ -1,125 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
POSTGRES_COMPAT=( 9.{5..6} {10..12} )
POSTGRES_USEDEP="server"
inherit autotools eutils postgres-multi versionator
MY_PV=$(replace_version_separator 3 '')
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Geographic Objects for PostgreSQL"
HOMEPAGE="http://postgis.net"
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="address-standardizer doc gtk static-libs mapbox test topology"
RDEPEND="
${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
>=sci-libs/geos-3.6.0
>=sci-libs/proj-4.6.0
>=sci-libs/gdal-1.10.0
address-standardizer? ( dev-libs/libpcre )
gtk? ( x11-libs/gtk+:2 )
dev-libs/protobuf
"
DEPEND="${RDEPEND}
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
|| (
media-gfx/imagemagick[png]
media-gfx/graphicsmagick[imagemagick,png]
)
)
virtual/pkgconfig
test? ( dev-util/cunit )
"
PGIS="$(get_version_component_range 1-2)"
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
src_prepare() {
eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
# funky misdetection if enabled but --without-protobuf
local AT_M4DIR="macros"
eautoreconf
postgres-multi_src_prepare
}
src_configure() {
local myargs=""
use gtk && myargs+=" --with-gui"
use address-standardizer || myargs+=" --without-address-standardizer"
myargs+=" --with-protobuf"
use topology || myargs+=" --without-topology"
postgres-multi_foreach econf ${myargs}
}
src_compile() {
postgres-multi_foreach emake
postgres-multi_foreach emake -C topology
if use doc ; then
postgres-multi_foreach emake comments
postgres-multi_foreach emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
src_install() {
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt
docinto topology
dodoc topology/{TODO,README}
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
docinto html
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
docinto html/images
postgres-multi_forbest dodoc doc/html/images/*
fi
use static-libs || find "${ED}" -name '*.a' -delete
}
pkg_postinst() {
ebegin "Refreshing PostgreSQL symlinks"
postgresql-config update
eend $?
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
}

Binary file not shown.

@ -27,6 +27,6 @@ DIST arduino-Galileo_help_files-1.6.2.zip 4352077 BLAKE2B 16b99a57535ed77cdd69bb
DIST arduino-WiFi101-Updater-ArduinoIDE-Plugin-0.9.2.zip 945515 BLAKE2B a2ab32b400f774f006e1afb69797951382f8768ee55216591baecc8fc0665c31b31df403ffd17825ae524dcd0bcba87bfecbdc82722f9105d68cf9d5c8298415 SHA512 2fd003b638133d9ff77d76952ce4a38c3c2ea78c0c0c849580883e5104c3a5c141313f74934eeda29a446388e3d502e69e65ded088e693b0ff5810a133001ba8
DIST arduino-avr-1.6.23.tar.bz2 5001988 BLAKE2B 8b6ddc2d66e651a3a2b6bd6992cd1311aad223a6cefa1a1a4bc1fa05de449116511137f8cf13c50ca42b83477c66cf4aa3a7984f49905eb7a295eff7f2c3623e SHA512 70ff70446bfc0f036f7a2927e8e53861e60225a0a6c1eb993557278ec79b8337f3a5ee6fd6f6d200744d80104efb1783332eb8d6d53c9f1b6ea6dc3054d78fd4
DIST arduino-reference-1.6.6-3.zip 7004842 BLAKE2B 49d0d41fb499c15f06c8cb8d8211e5039ee9843a6629f305762b262a5bf199e4bbe7fea4716b7734403dc7e83ce35a963035b3a2c0d6a198a4218e7472b18d74 SHA512 65962322b6dcb15da6c119d47c382052d1183772c855b8e8fcdd108b54e730e2374d93741737f3b51e57288a0e8842a6a7f79dce4377ea3630293e6c3e7e8b73
EBUILD arduino-1.8.5-r2.ebuild 5052 BLAKE2B 1a5030bbbf97a84b23895770cb26dfd1aeaca126ff87d295cd96664955f15704a52585de0cfb09e35741e8a21ddef1cf9fa33ed2fe112f435fcecc001562dfb6 SHA512 43d670b61383637d7da05b3619a941823c3b786c348c8290e55649e390bdb12a664770588267e8cb55a8d96b8de272c6694295ba1fab0e8eda7db4aa1ac1e5bc
EBUILD arduino-1.8.7.ebuild 4683 BLAKE2B 6aa4b4fc81b29d5dcfaa4b97682bb1704bbde4b95a3138bd2223d1dddd6c87dba180af00ae79afd7d0e15e1c16aaf2ae35c8395f54ceee2e9e3567488a1b2672 SHA512 aecb1545db27ea0362f02c5fe9308d3f9d619b6ba6f1243cf0a52965ebcd44ef69c79d39ef9ef8c859bd57456f70726346c43b6341dda8605c8d9be22e3ba8f6
EBUILD arduino-1.8.5-r2.ebuild 4998 BLAKE2B 686e41cb217687288e4731eb2bdf306a2aec418d6e6fa7379c742c68c1971fd4323f9247ab58a0867807a5240c55cf6843efcd240aca5b42b29cc5d4c69bba93 SHA512 b18619dc08ab37ec4833fa32a6290e7a5d101f71a30418f4b7942d0ebffb2f56607ffe5d52f106c05d8708c4fb2d45f51cd945e22af48e151a36f03eec4f88a4
EBUILD arduino-1.8.7.ebuild 4629 BLAKE2B 572d1608f8d7521573d5c0fd6f880ec86e26e2b4b616c2818cf89fb06546326207c42fb55f417eda9d15b0c988544418b31633044107873426870c7d3c87af3b SHA512 5145ecd9354dec069c589178bc3d99ae1699f4ed16d01ca6854056042be48ce99a79bb6ca595ce05cfb06e37c1907c618e06b27a04d26396935e8dadbb954059
MISC metadata.xml 331 BLAKE2B 5449a181e8d470cb80c1a32d50e79c9f912117df14673adc2d1d989f037b1fd89c8bb4a263b4a883e30ab034e0e1ef1e82f54fa9134511755f9ccd62acff9af9 SHA512 6966c4f97ca07b9ef925691abe06e3110d9901cf15fbc7ed07c5ac65dbe583d346186961f64fba71ff796b5d6ff187870b8db41b3f1836b3fefbcc3e54c7ba4e

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -134,9 +134,9 @@ src_install() {
# In upstream's build process, we copy these fiels below from the bundled arduino-builder.
# Here we do the same thing, but from the system arduino-builder.
dosym "${EPREFIX}/usr/share/arduino-builder/platform.txt" "${SHARE}/hardware/platform.txt"
dosym "${EPREFIX}/usr/share/arduino-builder/platform.keys.rewrite.txt" "${SHARE}/hardware/platform.keys.rewrite.txt"
dosym "${EPREFIX}/usr/bin/arduino-builder" "${SHARE}/arduino-builder"
dosym "../../arduino-builder/platform.txt" "${SHARE}/hardware/platform.txt"
dosym "../../arduino-builder/platform.keys.rewrite.txt" "${SHARE}/hardware/platform.keys.rewrite.txt"
dosym "../../../bin/arduino-builder" "${SHARE}/arduino-builder"
# hardware/tools/avr needs to exist or arduino-builder will
# complain about missing required -tools arg
@ -147,7 +147,7 @@ src_install() {
einstalldocs
# arduino expects its doc in its "main" directory. symlink it.
dosym "${EPREFIX}/usr/share/doc/${PF}/html/reference" "${SHARE}/reference"
dosym "../doc/${PF}/html/reference" "${SHARE}/reference"
fi
# Install menu and icons

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -111,9 +111,9 @@ src_install() {
# In upstream's build process, we copy these fiels below from the bundled arduino-builder.
# Here we do the same thing, but from the system arduino-builder.
dosym "${EPREFIX}/usr/share/arduino-builder/platform.txt" "/usr/share/${PN}/hardware/platform.txt"
dosym "${EPREFIX}/usr/share/arduino-builder/platform.keys.rewrite.txt" "/usr/share/${PN}/hardware/platform.keys.rewrite.txt"
dosym "${EPREFIX}/usr/bin/arduino-builder" "/usr/share/${PN}/arduino-builder"
dosym "../../arduino-builder/platform.txt" "/usr/share/${PN}/hardware/platform.txt"
dosym "../../arduino-builder/platform.keys.rewrite.txt" "/usr/share/${PN}/hardware/platform.keys.rewrite.txt"
dosym "../../../bin/arduino-builder" "/usr/share/${PN}/arduino-builder"
# hardware/tools/avr needs to exist or arduino-builder will
# complain about missing required -tools arg
@ -124,7 +124,7 @@ src_install() {
einstalldocs
# arduino expects its doc in its "main" directory. symlink it.
dosym "${EPREFIX}/usr/share/doc/${PF}/html/reference" "/usr/share/${PN}/reference"
dosym "../doc/${PF}/html/reference" "/usr/share/${PN}/reference"
fi
# Install menu and icons

Binary file not shown.

@ -18,6 +18,7 @@ DIST erlang-22.1.8.tar.gz 54967877 BLAKE2B cb022e3c5f577605872e7689639fced6c1f6c
DIST erlang-22.2.1.tar.gz 55742915 BLAKE2B cfb49a07289f66ee8bcdc37452c88ec60c90b92febb7d41538166916989e80b612f13bae4ae2ba305aa12c790a74bcd9dc8412207413ba512537193811d177ad SHA512 4c0e5b963def01e02f8550414bee9e15a79681ac19547c4707d4cf3a67924e252dde7f8f94dfeca5eb3d34730acaffd193603711531bdf7c22d47d8880c5e5f4
DIST erlang-22.2.2.tar.gz 55743605 BLAKE2B f316b78f33d81f05d22eb4eab52756a46c39df31ce93bf57ddbc6d663d0165f6cdcb4de2e4a70308024e7648a54267364ec19c94c425d643d03dc741112acaff SHA512 c38ecfcbc7ca66d45b5a2dad9a03d9c2a3a504d9ac85635de93975b03056a3d59edf462c296349f657534d935bcc1ea4321b771fb216f54f723d9db438437e42
DIST erlang-22.2.3.tar.gz 55742102 BLAKE2B 85c1f9a2f6ae05e8e3c0f4c71c0dc4f1dd14f5a91e35070f20631b9349fd5d884a9c5390a0159bafcfda8464253bb3636a735f05f4d286ce2bf0518bdb3f3b50 SHA512 4ec29abfba875ddff700ed19095bf5709e75083530216ac8f3b24147e06d098675d1b4e5c0674aef44bc7391fe8e3fbcfc2e17d8083cd006e5ddb5c910010e44
DIST erlang-22.2.4.tar.gz 55746886 BLAKE2B 2132ab12789c98259f284cd0188109eb1bdbac63c3f6c5bb7a79572dd99586bdf9b741b3b2c87965f5794c3d41df1f0b713e9b89ebff0707ab9fa079dd20a9d2 SHA512 b73bb94c0172635cc4843958a62959c42085e63916423cebbb094cef9684ffd0491874a12338c7066cc94b660ac8b6f6aae73cc0eedcf5517ba1c85cf1b80258
DIST erlang-22.2.tar.gz 55736930 BLAKE2B bcd67ea4ef5c358d4f0bcbec977e2c60a3b0f1ccccb2d38c35ba1908ed9d96727c83ab6cb6dc69ce90ffc6772e34de68014cc66ec8c3bfcda852844a4f6b1548 SHA512 a192da8ee02588c44e5c04bf2933c95672f596ca10f485c2c41d0c97563c90b5ea24fa02da61e007595f25a80557e6513372db3059bb7e394647a4c11f4cd41e
DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
DIST erlang_doc_html_22.1.tar.gz 33824830 BLAKE2B 2d50802fff81eba8bcf5f630da49d68d7cb2098175012e12f13941e69949a109c9f601c3cfaa2700b669415cd0c6c15961d8e4dd94b9b228cee17b661fe5400a SHA512 cc24927a4ff98b04d8f93fbc46bb36ffb34570521e4f31154b778dc17cf1cff60869239c26c327d7a9360c06528f9b380a302b39fa47285e50dfd4656b508202
@ -31,5 +32,6 @@ EBUILD erlang-22.1.8-r1.ebuild 4409 BLAKE2B ad23a960bf847324e20a0aed506839848335
EBUILD erlang-22.2.1-r1.ebuild 4409 BLAKE2B ad23a960bf847324e20a0aed506839848335257a9317af46decfb4c4ab7a811f954a0eb2ad16897df323d80d33febc4b371208d466322ac880763300332f4060 SHA512 8ecec73e1cf697ed7e5a7970526466e21e746d64e0c97844c167680a33b44896448125758e2311bcbd53de4c80ae3a697b1a691de59c4df75cc7db4123a02f7d
EBUILD erlang-22.2.2.ebuild 4450 BLAKE2B d077fa20d38850d1fd9c8f29a0f4b22e82129af1f21a635f45437e6b841e250e15493f943203756e9746739041dff2476fc36ee92f559c6b1a2eb661bc10f119 SHA512 c7d811297276e91fa327d34023474a28e5fcf056af9da63486f0f589c7582d2f47ae62d255dfac79cfbd8ab8c5a8661beb2a595597f88558fc405e77d8563a2e
EBUILD erlang-22.2.3.ebuild 4450 BLAKE2B d077fa20d38850d1fd9c8f29a0f4b22e82129af1f21a635f45437e6b841e250e15493f943203756e9746739041dff2476fc36ee92f559c6b1a2eb661bc10f119 SHA512 c7d811297276e91fa327d34023474a28e5fcf056af9da63486f0f589c7582d2f47ae62d255dfac79cfbd8ab8c5a8661beb2a595597f88558fc405e77d8563a2e
EBUILD erlang-22.2.4.ebuild 4450 BLAKE2B d077fa20d38850d1fd9c8f29a0f4b22e82129af1f21a635f45437e6b841e250e15493f943203756e9746739041dff2476fc36ee92f559c6b1a2eb661bc10f119 SHA512 c7d811297276e91fa327d34023474a28e5fcf056af9da63486f0f589c7582d2f47ae62d255dfac79cfbd8ab8c5a8661beb2a595597f88558fc405e77d8563a2e
EBUILD erlang-22.2.ebuild 4409 BLAKE2B ad23a960bf847324e20a0aed506839848335257a9317af46decfb4c4ab7a811f954a0eb2ad16897df323d80d33febc4b371208d466322ac880763300332f4060 SHA512 8ecec73e1cf697ed7e5a7970526466e21e746d64e0c97844c167680a33b44896448125758e2311bcbd53de4c80ae3a697b1a691de59c4df75cc7db4123a02f7d
MISC metadata.xml 905 BLAKE2B c1277904d14789138212ad1c83291d30301558aba707d1eb43765573c32617bfcb0eea43acc80225870cf2fbab011920b64bbecbdd28d414d73eb3c86a00937c SHA512 f79228f075fc6ac58785bc8a6c574546674b7ddd6c4f7420cb616414cf5178c2fa08284668b0d863ae3638891567184d1e8a490e31c4e093724ebff5c177a461

@ -0,0 +1,155 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.0"
inherit elisp-common java-pkg-opt-2 systemd wxwidgets
# NOTE: If you need symlinks for binaries please tell maintainers or
# open up a bug to let it be created.
UPSTREAM_V="$(ver_cut 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
LICENSE="Apache-2.0"
# We use this subslot because Compiled HiPE Code can be loaded on the exact
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
acct-group/epmd
acct-user/epmd
sys-libs/ncurses:0
sys-libs/zlib
emacs? ( >=app-editors/emacs-23.1:* )
java? ( >=virtual/jdk-1.8:* )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
libressl? ( dev-libs/libressl:0= )
)
systemd? ( sys-apps/systemd )
tk? ( dev-lang/tk:0 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
"
DEPEND="${RDEPEND}
dev-lang/perl
"
S="${WORKDIR}/otp-OTP-${PV}"
PATCHES=(
"${FILESDIR}/18.2.1-wx3.0.patch"
"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
"${FILESDIR}/${PN}-22.2.2-gcc-10.patch"
"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
)
SITEFILE=50"${PN}"-gentoo.el
src_prepare() {
default
./otp_build autoconf || die
}
src_configure() {
use wxwidgets && setup-wxwidgets
local myconf=(
--disable-builtin-zlib
$(use_enable hipe)
$(use_enable kpoll kernel-poll)
$(use_with java javac)
$(use_enable sctp)
$(use_with ssl ssl "${EPREFIX}"/usr)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
)
econf "${myconf[@]}"
}
src_compile() {
emake
if use emacs ; then
pushd lib/tools/emacs &>/dev/null || die
elisp-compile *.el
popd &>/dev/null || die
fi
}
extract_version() {
local path="$1"
local var_name="$2"
sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
}
src_install() {
local erl_libdir_rel="$(get_libdir)/erlang"
local erl_libdir="/usr/${erl_libdir_rel}"
local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
local erl_erts_ver="$(extract_version erts VSN)"
local my_manpath="/usr/share/${PN}/man"
[[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
[[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
emake INSTALL_PREFIX="${D}" install
if use doc ; then
local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
docompress -x /usr/share/doc/${PF}
else
local DOCS=("README.md")
fi
einstalldocs
dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
## Clean up the no longer needed files
rm "${ED}/${erl_libdir}/Install" || die
insinto "${my_manpath}"
doins -r "${WORKDIR}"/man/*
# extend MANPATH, so the normal man command can find it
# see bug 189639
newenvd - "90erlang" <<-_EOF_
MANPATH="${my_manpath}"
_EOF_
if use emacs ; then
elisp-install erlang lib/tools/emacs/*.{el,elc}
sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
"${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
elisp-site-file-install "${T}/${SITEFILE}"
fi
newinitd "${FILESDIR}"/epmd.init-r2 epmd
newconfd "${FILESDIR}"/epmd.confd-r2 epmd
use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -12,8 +12,10 @@ DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe59
DIST go1.12.13.src.tar.gz 21980338 BLAKE2B 205bee35a947ccd08f36547530e3de7928f5f3970be89580ddff80f7710dd1dcf4f292c10ec93c27717ce25ce2575f7151129430b80d1fb927872f891166d8db SHA512 a8210ba909c1bb26799625bbf648204dbef5a9f91af323277f76caee489f5912a08e9de686b71fe97d30c7dc171d5f4bcf8a2c2227d02353cfbb7d292c9efc22
DIST go1.12.15.src.tar.gz 20726294 BLAKE2B d123fc2328bf9db8f7337108e3d6857c31e10829096d47fb58519861b68bc0e2bdc9f032fc076666124ab418d3f37026107d6a853021fecbf26138bf00963572 SHA512 887e331c73b9d174e4a707a85be389fa0de43c77bc191ef5e0fe326ac7285374404450ca081cb8e92514a973d25d0314ca74eb17c8e53f8386e1798edd9d41aa
DIST go1.13.6.src.tar.gz 21631050 BLAKE2B 8923021d5ff785f5422ee204ee81c986fc066a878a347bc73625974f05045689f694f76147c9bf7956dc59d6e3d3a543f0970e0716df8cd4f6556c28fe23808b SHA512 dffb6e06eea0b1541901dfbed8d28e8cc1eac3184dc40a19ed3637737df796a67a2e7170b228e1003d36b14e6f0f13bb8be9d2a702834a9c06228d1821659528
DIST go1.13.7.src.tar.gz 21631267 BLAKE2B 9c3096e7c7658e03be52b76298dd409de292929d95448cb8945fe6f263fda774d9d13e124bb978c91b51a3770c0ca81302098b0e915015cfcac5f26256987796 SHA512 f87dd04befbe32c7ff1eb617a756fcc7d85e4236d4b063bbf6091d8911ef147c070808f7f7db536e7a3b3990f61f6fb4666e665217b0807e7e0703e00c5491fa
EBUILD go-1.12.13.ebuild 6436 BLAKE2B 6f52ccf741bd999cca536d599abe82ba955d0563fde091fd4f2244355ac6c12669750c595b0fbb6b8e50afd35f8101fcabc99b28826be77f626a4df0a76b9528 SHA512 5ee9fd4957f0302ecd931ee87b3b6dc30ba4e010bf5c1e33e94a70197af90f3d6d6c198336205d7a13eb6dee39b103d823483ee28281619adefea0ed38c91025
EBUILD go-1.12.15.ebuild 6436 BLAKE2B 3f4c71b8afebc5943835a0b024e6da5b5f92d3ef70f83484dafbcd562430852fdd5a452b91977f38bb732ac52b469c7c9acf8c51e0170f4834473bc6543bad7e SHA512 4a861011e665d4d62aa8df84c33f24874b6e27b28adc214e55ddce6998183fe813db13576db4143cd6da57e05f91a9f7eff2d9041dd9ff64081a4c6d70650f0a
EBUILD go-1.13.6.ebuild 4408 BLAKE2B 6d6528b9f8e3683aeb74f7231f59738f7b27cc651b0a8a2d10dab0010c34481716284f4623480fd619b242cf623e0527ad4bc273d131f4d7edecb8a5c910c6ef SHA512 72807628d3cbb06cf02fd098e911b768c248793363138445beda94192b04df383eb14a699c4657a2e40d35181fd9dd480ef3965de5adf68ff69b8436972c4f87
EBUILD go-1.13.7.ebuild 4408 BLAKE2B 6d6528b9f8e3683aeb74f7231f59738f7b27cc651b0a8a2d10dab0010c34481716284f4623480fd619b242cf623e0527ad4bc273d131f4d7edecb8a5c910c6ef SHA512 72807628d3cbb06cf02fd098e911b768c248793363138445beda94192b04df383eb14a699c4657a2e40d35181fd9dd480ef3965de5adf68ff69b8436972c4f87
EBUILD go-9999.ebuild 4408 BLAKE2B 6d6528b9f8e3683aeb74f7231f59738f7b27cc651b0a8a2d10dab0010c34481716284f4623480fd619b242cf623e0527ad4bc273d131f4d7edecb8a5c910c6ef SHA512 72807628d3cbb06cf02fd098e911b768c248793363138445beda94192b04df383eb14a699c4657a2e40d35181fd9dd480ef3965de5adf68ff69b8436972c4f87
MISC metadata.xml 663 BLAKE2B fc92966e1b4a155b4d442842988d0404c0148b029d187ab7294d49dabad771296d63ca3184128ac27cea4e74e7d6cfc8852084ca8f1d15a1d0755586a0bf68de SHA512 f67b7e312cfb2a896552ae73e835d53ffbb0a7c71c30f0a7cb44c65e2753055e185e7a5c48e2cfff33a42609629cc3c32ee56a9d8f61d8429798c1e8424e36bf

@ -0,0 +1,197 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
MY_PV=${PV/_/}
inherit toolchain-funcs
case ${PV} in
*9999*)
EGIT_REPO_URI="https://github.com/golang/go.git"
inherit git-r3
;;
*)
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
S="${WORKDIR}"/go
case ${PV} in
*_beta*|*_rc*) ;;
*)
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# The upstream tests fail under portage but pass if the build is
# run according to their documentation [1].
# I am restricting the tests on released versions until this is
# solved.
# [1] https://golang.org/issues/18442
RESTRICT="test"
;;
esac
esac
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
HOMEPAGE="https://golang.org"
LICENSE="BSD"
SLOT="0/${PV}"
BDEPEND="|| (
dev-lang/go
dev-lang/go-bootstrap )"
RDEPEND="!<dev-go/go-tools-0_pre20150902"
# These test data objects have writable/executable stacks.
QA_EXECSTACK="
usr/lib/go/src/debug/elf/testdata/*.obj
usr/lib/go/src/*.gox
"
# Do not complain about CFLAGS, etc, since Go doesn't use them.
QA_FLAGS_IGNORED='.*'
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
# Do not strip this package. Stripping is unsupported upstream and may
# fail.
RESTRICT+=" strip"
DOCS=(
AUTHORS
CONTRIBUTING.md
CONTRIBUTORS
PATENTS
README.md
)
go_arch()
{
# By chance most portage arch names match Go
local portage_arch=$(tc-arch $@)
case "${portage_arch}" in
x86) echo 386;;
x64-*) echo amd64;;
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
s390) echo s390x ;;
*) echo "${portage_arch}";;
esac
}
go_arm()
{
case "${1:-${CHOST}}" in
armv5*) echo 5;;
armv6*) echo 6;;
armv7*) echo 7;;
*)
die "unknown GOARM for ${1:-${CHOST}}"
;;
esac
}
go_os()
{
case "${1:-${CHOST}}" in
*-linux*) echo linux;;
*-darwin*) echo darwin;;
*-freebsd*) echo freebsd;;
*-netbsd*) echo netbsd;;
*-openbsd*) echo openbsd;;
*-solaris*) echo solaris;;
*-cygwin*|*-interix*|*-winnt*)
echo windows
;;
*)
die "unknown GOOS for ${1:-${CHOST}}"
;;
esac
}
go_tuple()
{
echo "$(go_os $@)_$(go_arch $@)"
}
go_cross_compile()
{
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
}
src_compile()
{
if has_version -b dev-lang/go; then
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
elif has_version -b dev-lang/go-bootstrap; then
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
else
eerror "Go cannot be built without go or go-bootstrap installed"
die "Should not be here, please report a bug"
fi
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
export GOROOT="$(pwd)"
export GOBIN="${GOROOT}/bin"
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
export GOHOSTARCH=$(go_arch ${CBUILD})
export GOHOSTOS=$(go_os ${CBUILD})
export CC=$(tc-getBUILD_CC)
export GOARCH=$(go_arch)
export GOOS=$(go_os)
export CC_FOR_TARGET=$(tc-getCC)
export CXX_FOR_TARGET=$(tc-getCXX)
if [[ ${ARCH} == arm ]]; then
export GOARM=$(go_arm)
fi
cd src
./make.bash || die "build failed"
}
src_test()
{
go_cross_compile && return 0
cd src
PATH="${GOBIN}:${PATH}" \
./run.bash -no-rebuild || die "tests failed"
}
src_install()
{
local bin_path f x
dodir /usr/lib/go
# There is a known issue which requires the source tree to be installed [1].
# Once this is fixed, we can consider using the doc use flag to control
# installing the doc and src directories.
# [1] https://golang.org/issue/2775
#
# deliberately use cp to retain permissions
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
if go_cross_compile; then
bin_path="bin/$(go_tuple)"
else
bin_path=bin
fi
for x in ${bin_path}/*; do
f=${x##*/}
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
done
einstalldocs
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_name for test object (binutils_test) on Darwin, it
# is never used in real circumstances
local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
install_name_tool -id "${libmac64}" "${D}${libmac64}"
fi
}

@ -54,8 +54,23 @@ DIST rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz 87972788 BLAKE2B ad1e460db
DIST rust-1.40.0-s390x-unknown-linux-gnu.tar.xz 95398844 BLAKE2B e897ac3e1f46a63c7ad14e0e5229b7028ac325256e084439bcad0ced631eb26d50ca72710c46e59accb0e3d0574d08a9c15455be59a8d78173387d35ddd3bed7 SHA512 e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14
DIST rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz 110186516 BLAKE2B ad89d8cecbd565b23c98ec095bad218de971cb4bb89924bbcb012df6c9ecf0db2b50d624abdf6b050fe1f5067aea9311dc01852950a5ca5e993e99f913fc5dbc SHA512 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1
DIST rust-1.40.0-x86_64-unknown-linux-musl.tar.xz 96869284 BLAKE2B 61cdf2eab51455e377e079e7013959ee51358c9846f8442f81a3240062af573f452a0f5f007e63cbbcdd0db98ac22ab0d4f3006f6ef30327b609d303410cba8c SHA512 3e6d7cf7b24c09d13266e06f20ab317c5ffb68de3242719c71e95c3d778269c4076e06badfb488e8fc223b822246ebbeb888d4168ddf6e2401793e23e77810bb
EBUILD rust-bin-1.37.0.ebuild 5476 BLAKE2B 51b99efc5bda076b3b5fc5f770a75aa3486c7c169307437a330d0ef571d90c0b54069b6e386b7fadc1e6e477e0d174083a2cb76d7083952be450ed3b81ac575a SHA512 f3475547e8c6f6676fabe699d894b26e2ac5de0da5b8fed8e2c2b2dad57266199a93519da04b4e0b416fdf21a4d4e22e8f35ddcbe8ecce15598f6eba9f44de96
EBUILD rust-bin-1.38.0.ebuild 5485 BLAKE2B 67be2e8b20a168c6ef0c0b9aa3604c2da5dcd526c2d8162f692762c23c4eeb31852f54cd067a5aadec36b2627db6ec7c6bfe4bc5b73e952429a64d94f5273644 SHA512 83e670b12d655cb8eb7cf9a7818fa3d8f6e8adb6b74d4572f611e298417084e4be8c63bb6625c24a6bc9bc5f86f843be7f582b13e07b9efc44e297ed3e58bb65
EBUILD rust-bin-1.39.0.ebuild 5480 BLAKE2B 901175be1b56e2f9f5ace0e29c5dc2eccb9725302db11cda3b60b2a1ea3e89c4ad5009858f61ccaff6b8e4ddb02aed83161a29e33552b51ecbbe146c83d88f66 SHA512 caa22a221039d2579b744d3bc4891be1d90d907a2610c76f294ae28f33964f08dd280bdf5fcaa0234bfa3c7865929025a63b1d955bdfb3876b69f8fb9ab75fc2
EBUILD rust-bin-1.40.0.ebuild 5485 BLAKE2B 67be2e8b20a168c6ef0c0b9aa3604c2da5dcd526c2d8162f692762c23c4eeb31852f54cd067a5aadec36b2627db6ec7c6bfe4bc5b73e952429a64d94f5273644 SHA512 83e670b12d655cb8eb7cf9a7818fa3d8f6e8adb6b74d4572f611e298417084e4be8c63bb6625c24a6bc9bc5f86f843be7f582b13e07b9efc44e297ed3e58bb65
DIST rust-1.41.0-aarch64-unknown-linux-gnu.tar.xz 96574096 BLAKE2B 1cd5e5c2cc9a53344e46f2bc88894346669f7395959e5beea921be1765d0c71fe2bd8f6cbf31bca91fef391e2e35dd8d477432d0a9e4c23b147ab9982b74870e SHA512 e96e17045fee7056c5cad764d77c79a995c0f969a12d7c0b8eb8e55235bd72d97fd6836c8ee283f09ab1447bf0ae931766db5db0703fb8d5ac647556c417c254
DIST rust-1.41.0-arm-unknown-linux-gnueabi.tar.xz 99328148 BLAKE2B cf8426b77db7bcb310a0cf95322371b79df22f5f1c048675f460bd8eaac4d2a2e84ce0fc478287fc140fdfee54bcd7eb903be9aa37d59e9a6b562b3997533fcf SHA512 6a0a96967094ac9502c880158b163f2e33134bc849ffb01ef88dfed22d96483d82166e695ca21d9e9e96e56e5c83ede5dba9573f3225a3418c71e625f8e98470
DIST rust-1.41.0-arm-unknown-linux-gnueabihf.tar.xz 99310972 BLAKE2B dfdb003e95034fe72287a0c2527e9a7b5c02cf3682263c225037e86a0d5a71250f067f757e0b099c4b8a639993ba9e9353562d64b750ceb31d67f98c9a8835d9 SHA512 3da429f804dd5c61375bedd06f1e6262b44dbed487644aeebadc0ea3438584855d48c67c75021e551e5527465213a9699ce4a8595f93c8ef3df2ed4bbd9b8c76
DIST rust-1.41.0-armv7-unknown-linux-gnueabihf.tar.xz 103804972 BLAKE2B 7ecb1800f144f8ee0fa020b28cd5087cf20cb6583fcd334f0d07ab722a5cd078a4a94649e464c6778222ba197aec95154ed6ebdbff76aa83067695439bd4a255 SHA512 b699eb497145e36fbda283abd2881b0e879bc6713b170be04be3919fb2064153779e4535c6a513c667a79b6aa21c775dbd479af131db1a55c7caa4504e808fbd
DIST rust-1.41.0-i686-unknown-linux-gnu.tar.xz 120547488 BLAKE2B cf5b240c6f116f4d54092c9d466e2eb8408584f3fb4b0759601ad0bcba59ff3d639debca1cc45ce490964a09b02a071fea0d2cbcac0f3a5ac0bbb5aedef6d6af SHA512 b9541e07bd92b9135c538e0d8d3b47577fd4a7019a7ba4ce99a85c568a724b9a31f76d8b547e944818f215af8f8347a7674f14b4e61b2f5fc09b83595415583b
DIST rust-1.41.0-mips-unknown-linux-gnu.tar.xz 90976844 BLAKE2B eef629a270e53299df4a3e2beef6962c028e1c1380c86264ac72d80b3837e7ef44100ab6484b9f9bdc5e4415ce9897bdb14d9643d164ec3c2eb12825a8833bc3 SHA512 823d2f8ccd70b9f1506134d027972ae021aa2867ac53d2e8d77deaac2ab55310c5c6978ad17f259d82adfe79ed4973029052407e3412f30988d890e20745b812
DIST rust-1.41.0-mips64-unknown-linux-gnuabi64.tar.xz 98858296 BLAKE2B 57c73264a8a82d32854fba3d3283b53068c4200b54b0cf90d7e185cec6392fef26a1128079f5c056ae5cf77d86a3cd25c2d96d089de60e5a43fc3f312f099f32 SHA512 4c67f719b4d6573d5a48b31922c76bf475ee025fcc66b23fcda1a5713da1fd02aac9d407af703af017b2ff9d76822d3ab3f452fb2081a52a6610cdc61bfd6b39
DIST rust-1.41.0-mipsel-unknown-linux-gnu.tar.xz 92840348 BLAKE2B 6a94aa8999eaffcff1788d60b196a432840850383bb2b3530cc2097b1533ff139ae4ce47aff15e85352682e869c24f8680dd5126f37ba31f6b49562ccf74ce94 SHA512 e3ff18a44a79f7d1625ecd20963e9831d30d5eccb0b41f09cdceb1306671e53b9519c399a25b9d71890c1d2cd490b4bcdc59fc92b38db8f4f25e28cada5ce45c
DIST rust-1.41.0-powerpc-unknown-linux-gnu.tar.xz 98469628 BLAKE2B f7b7cad2b7f702b5a67309bdae3ac94b3118c05e9a429ebeec22312ac8bd37d268f6e9f23acc59f35e89664d01fecc9216739346fa395d688e3266d994aaa961 SHA512 4af61af924dc103ee582b273cb7e4d66f45b8ea3955b90f3c59a11b2d057eba5ac915a33579761053b4f22216dc56de1ae4984ce3ddb789189a787888ec45306
DIST rust-1.41.0-powerpc64-unknown-linux-gnu.tar.xz 104761152 BLAKE2B ff05e6ba0fd4a2bf74d01c459ad73c17503cf6fa877989130b0949e67300dfaa8f5a16be7e56c594d38aa1df680775fadc556686f7dd89630528a0db38e36339 SHA512 0c40a966ab9d8b485cc8e542b74fc7fec74e00f409744be79d38bddeff74b12e6a130fead8f13531210d123fd95be1fc476434cf26cedf25f74774de8fff42ee
DIST rust-1.41.0-powerpc64le-unknown-linux-gnu.tar.xz 110799904 BLAKE2B c89548ec66be561fccca42922e418ba8bb952bd5848f69ad4606bf388076b1b0bb9d04bc7181792f1df3e9cf8d9014abe08fdc0a65eb8a73c0ccb79f6e3324b0 SHA512 5b9faee91ae2f4c472ba3155149ac9e3a300a149209e62393502a2d69730cba0361e4ddcbb0d5f1d3c26a93b7ebe1fc497d8573bad049e492156ca743603ef06
DIST rust-1.41.0-s390x-unknown-linux-gnu.tar.xz 115153476 BLAKE2B 1646b42f5a2001f63b653c59d5e30d1b6c9f3a8c2d2d07a779cc530242fee1f5e92ae8dc1af2a81c57f93d615ad519d40ec6f5ceea79e56048ccae7a37d4a5ba SHA512 458b9877bf2569e6e3a0a6692228d4dda68506336587880f6a51254bab5cbb60c5f82673b0d44842137a426411f25146c08447f22e1a5b883dee99f52e30aeb0
DIST rust-1.41.0-x86_64-unknown-linux-gnu.tar.xz 111122952 BLAKE2B e1380cf72c8db8279c7b0d4349f09efb040117b1ca70ed599cd5197c6c8a257a846213db372e5b2df93ee266124a8a410e348dc8d5502a537a9b86159afe7bbb SHA512 1f08ba8b82ee17e4ae8130a092913767bd448a580efa4eb06ca2c926234efc72d9b73e2b846102296b80e324697c0ac6f5d3768fbd159d49d248f307efc244ff
DIST rust-1.41.0-x86_64-unknown-linux-musl.tar.xz 96497736 BLAKE2B 3a193cc6d607891c2c7800498dc499d13bc50ce1249cb553271ab3eef69ea8e309f5048bfca9470c61056469a933824527002d5cc3f10f2ef1aea5519226710a SHA512 bcffacbb48b1d76cbf2951e7233951d6d58c4696f13b3ae616ca661bd8c20ebefd9420c494327d91999b76a34a6afe957281187e8fb5ce9cb968a3cfa8c23ea8
EBUILD rust-bin-1.37.0.ebuild 5454 BLAKE2B 1926d0a074562293290828d49ed14590bc02ae7b481effe961837fd943e7485ecec2c0cab25d93ae66c3e3743127d9da6ad2b0019af48c5c2ddc59ef344692b0 SHA512 bad580b63b3d385d96d4718f71b64e6421dc60c5fa077046e0a7933ed795270f66d9dad87226cbcf8fc1e2d116bc5d5ddaa0311f88c45c75e84bb341a191b387
EBUILD rust-bin-1.38.0.ebuild 5463 BLAKE2B a5f69dc7e6e25f6d67620a2dceaa31d81a6f9ab4e4d7f4bb7c99b42eaef8bc62e83dc1137ac6afb3dbd03230dd952a40cb27daac7b8c68fd34e2f4179072719b SHA512 5841672a1dc47e5309aee052c70b0fecd35865f4db4b5cb9e46e7e99004d24f077d273d097f9da46e904ec7590c182c7e0c59e96fce856644b2bded13165e32f
EBUILD rust-bin-1.39.0.ebuild 5458 BLAKE2B bf27aa76509ed5b56a6f911b39ca2e2a97650f7a01392f792bf1953db9d6fd4238c1f054e45755a5b8c220598566a0269a0d97e46288a1b7703a9e9e17cf9616 SHA512 ead09fcc84e799fe235a829d28c8998bde0e0eddafa6e980b6c920668c9c1b3575fb798daa324e8f91c2a908520e4785e35dae218f2afaaa06f16f12e4c3134a
EBUILD rust-bin-1.40.0.ebuild 5463 BLAKE2B a5f69dc7e6e25f6d67620a2dceaa31d81a6f9ab4e4d7f4bb7c99b42eaef8bc62e83dc1137ac6afb3dbd03230dd952a40cb27daac7b8c68fd34e2f4179072719b SHA512 5841672a1dc47e5309aee052c70b0fecd35865f4db4b5cb9e46e7e99004d24f077d273d097f9da46e904ec7590c182c7e0c59e96fce856644b2bded13165e32f
EBUILD rust-bin-1.41.0.ebuild 5463 BLAKE2B a5f69dc7e6e25f6d67620a2dceaa31d81a6f9ab4e4d7f4bb7c99b42eaef8bc62e83dc1137ac6afb3dbd03230dd952a40cb27daac7b8c68fd34e2f4179072719b SHA512 5841672a1dc47e5309aee052c70b0fecd35865f4db4b5cb9e46e7e99004d24f077d273d097f9da46e904ec7590c182c7e0c59e96fce856644b2bded13165e32f
MISC metadata.xml 381 BLAKE2B 2a378d099ea6bb4ebe56493d1e7196c3207c54212e3c9ef8c0d020a360240cd3a5867b30e1fd3ac0a4da10de11ea6010677cbe63632e97a03ba480496a968cfe SHA512 573b793a11a2f3b7fee167fadc0c4135d16b9452642655fe3e217d6196b4f046afac281542ae361749d1d84c67a4cdd6b4944e364045d9e46e39d69b81fbc92c

@ -133,7 +133,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -133,7 +133,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -133,7 +133,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -133,7 +133,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -0,0 +1,167 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 rust-toolchain toolchain-funcs
MY_P="rust-${PV}"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="$(rust_all_arch_uris ${MY_P})"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
DEPEND=""
RDEPEND=">=app-eselect/eselect-rust-20190311
sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
net-libs/libssh2
net-misc/curl[ssl]
!dev-lang/rust:0
!dev-util/cargo
rustfmt? ( !dev-util/rustfmt )"
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
QA_PREBUILT="
opt/${P}/bin/*-${PV}
opt/${P}/lib/*.so
opt/${P}/lib/rustlib/*/bin/*
opt/${P}/lib/rustlib/*/lib/*.so
opt/${P}/lib/rustlib/*/lib/*.rlib*
"
pkg_pretend () {
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
fi
}
src_unpack() {
default
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
}
src_install() {
local std=$(grep 'std' ./components)
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
use rustfmt && components="${components},rustfmt-preview"
./install.sh \
--components="${components}" \
--disable-verify \
--prefix="${ED}/opt/${P}" \
--mandir="${ED}/usr/share/${P}/man" \
--disable-ldconfig \
|| die
local rustc=rustc-bin-${PV}
local rustdoc=rustdoc-bin-${PV}
local rustgdb=rust-gdb-bin-${PV}
local rustgdbgui=rust-gdbgui-bin-${PV}
local rustlldb=rust-lldb-bin-${PV}
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
dosym "${rustc}" "/opt/${P}/bin/rustc"
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
local cargo=cargo-bin-${PV}
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
dosym "${cargo}" "/opt/${P}/bin/cargo"
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
if use clippy; then
local clippy_driver=clippy-driver-bin-${PV}
local cargo_clippy=cargo-clippy-bin-${PV}
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
fi
if use rustfmt; then
local rustfmt=rustfmt-bin-${PV}
local cargo_fmt=cargo-fmt-bin-${PV}
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
fi
cat <<-EOF > "${T}"/50${P}
LDPATH="/opt/${P}/lib"
MANPATH="/usr/share/${P}/man"
EOF
doenvd "${T}"/50${P}
# note: eselect-rust adds EROOT to all paths below
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
EOF
echo /usr/bin/cargo >> "${T}/provider-${P}"
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}
pkg_postinst() {
eselect rust update --if-unset
elog "Rust installs a helper script for calling GDB now,"
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
if use elibc_musl; then
ewarn "${PN} on *-musl targets is configured with crt-static"
ewarn ""
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
ewarn "to use it with portage, otherwise you may see failures like"
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
ewarn "x86_64-unknown-linux-musl does not support these crate types"
fi
}
pkg_postrm() {
eselect rust cleanup
}

@ -61,13 +61,29 @@ DIST rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz 247026740 BLAKE2B 90269aa7
DIST rust-1.39.0-s390x-unknown-linux-gnu.tar.xz 298119784 BLAKE2B 82f64163929c129e2aaee8909401c4f302496f63f8d9d366d6f7460b4546d7657ea38bcd864ecd0f58a5995e47f7f5890e4523dcbcbc51e3bf4085536b07de5f SHA512 d2b588f802d4fbe153dbd88cb745d34d1f5434cb3134cc9e091ebfb336a48b4c886cd80311cf92b5e1c6a16374302853a67e8a0576b02a89dbcf61d27919a045
DIST rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz 284967620 BLAKE2B c5d2c2a11c4f66105ece51e7ca45ca6a9e0d70215f94ce52f6e61b20995ceb611e45bad1e5e9f33fd444bb0a58a2edb691f1a65a1caf36ad892c034e00104383 SHA512 02ca6c821877379d8bd0bcc38281a87e6f86bdbae1270da19e41336cc3a812d9c11c1e976655c192c39153f92cda90ddbd7b4b0bcb4f6787d6d354d2be827a8a
DIST rust-1.39.0-x86_64-unknown-linux-musl.tar.xz 262751216 BLAKE2B f719f4168f3d463f5184b9f72990f2e43b99f75902f762f5736e819f47ad451a325cbc7b7140cb322b46b5dc51253ebb8aa2a16b0f792343dbfcab5a91ac95a4 SHA512 155458717aaaaa82b202fae180c094e5a40f45071c3a0f6d27423a612ffe926058642fc82aaa7ea091963108b7a819d6156294149648e5b0a5d5b6196028f4fb
DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f
DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94
DIST rust-1.40.0-arm-unknown-linux-gnueabihf.tar.xz 82518972 BLAKE2B 2861693efa9bbd54e09bd693886941ec13b09f1901d384f24534b2852f9cb3b59fa0eaac1ec16bc6df49437cf08a09eff6c649729b0b8c2b4d8def6d7111d229 SHA512 994a91704e65e126bf3d53aa5ccbf9f92f05495a68db1917754f8bf078f16b0255797c884b4f2c70033ae0c94d5f41ad73e1af2e963580ebf56c90a6bf76630a
DIST rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz 84254100 BLAKE2B 5ec75764435f5b906ed5ac84c6454a8fade0d71a9f9d2b3c799525ebf1e1a6e208e85dffe125e3de163d94a62693241a6ed59651955942edc8cdfad5c354a23d SHA512 d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492
DIST rust-1.40.0-i686-unknown-linux-gnu.tar.xz 122168896 BLAKE2B c89278bd7af7d167251c122297b4a8045da94951aaba5288a3a47b7d4f7af2af2e5ae672388f5c6192382e800151ad54cb2fc9a4fd66fde3acb8acb877aaa27b SHA512 d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6
DIST rust-1.40.0-mips-unknown-linux-gnu.tar.xz 74305992 BLAKE2B cf51e3d843a32a3025232d1bc4374c55d3931d8b8634aed83f3f5e890081d7ed2a09d0aa3f026936d5e2f91fd26b56be704cf2975678db5fa23cf57c34277a89 SHA512 995b875dcbbd8472e3109504e695bf15eca812ea252e5ff1a615fb1c5dd3b66fe637fa4c30618b1584af4b641d4b4d5a4d7e1b6a09cb0ca4ff8fdd8a3488a255
DIST rust-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz 80925812 BLAKE2B a77123767639e93531fdf30af711a8dafd91c4143e7774edf88a9f513fd6fc928f3c96656ce4d0ede54677077c8eb383d5c37bee6881fd0796fe47257a16d753 SHA512 ebbb01c033c16dd9fe93ce0a532afa39b1459b056896c906f9e561285977e7c569e770c7e624e485cd8014008c9d496dae893921bbc1342c3e2b6520c9b84440
DIST rust-1.40.0-mipsel-unknown-linux-gnu.tar.xz 76145484 BLAKE2B e06cfc8ac8d6124c4eb7c004c9e792c6ba21de5621d21456a7e47f1cd67f584d480708ddb098d882005953db818da27e396c9409c1e089d7db42844608ba1fe8 SHA512 4d4b52397574cfcbf8e79d71cbf783119b0096ed6d8b1f1a4c191336ac0e616b682342077f3451db477e0271a5ac453ee418314c071e8f922e790eb0e32ae768
DIST rust-1.40.0-powerpc-unknown-linux-gnu.tar.xz 82846452 BLAKE2B e82e117b0592278b491399f27de4c26b518bf8f7cbb60125fc3ae36ddb033113324222ac7433ac9b02026efe4be477ec9967c55648121869a36ce833c3600afd SHA512 4d71bbf1b29f9ea649f444bafbaa8d6447026d992c264736b50365736c9e2129d28f23e09260aa21be10562727a5f6b298ddaf8f7598b4bad53d65cdd2f9e9f0
DIST rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz 85231436 BLAKE2B b307d794e9e849d40a98116851950f76576b5ea6bb159c71830bb4210c40d5b6cc37d67d316d1b289735f83a29393699a49dd0c11cafe8191a64de6384ed69af SHA512 eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce
DIST rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz 87972788 BLAKE2B ad1e460dbd7ee5dbe90bf84a68fbcdd89f3d7a1a898ccd94827327bbb2bfeafeb66d5c50651183e0d429f8d14a41e4e26b8f7cae2ff61b055eddcb2c0fa6aecd SHA512 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f
DIST rust-1.40.0-s390x-unknown-linux-gnu.tar.xz 95398844 BLAKE2B e897ac3e1f46a63c7ad14e0e5229b7028ac325256e084439bcad0ced631eb26d50ca72710c46e59accb0e3d0574d08a9c15455be59a8d78173387d35ddd3bed7 SHA512 e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14
DIST rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz 110186516 BLAKE2B ad89d8cecbd565b23c98ec095bad218de971cb4bb89924bbcb012df6c9ecf0db2b50d624abdf6b050fe1f5067aea9311dc01852950a5ca5e993e99f913fc5dbc SHA512 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1
DIST rust-1.40.0-x86_64-unknown-linux-musl.tar.xz 96869284 BLAKE2B 61cdf2eab51455e377e079e7013959ee51358c9846f8442f81a3240062af573f452a0f5f007e63cbbcdd0db98ac22ab0d4f3006f6ef30327b609d303410cba8c SHA512 3e6d7cf7b24c09d13266e06f20ab317c5ffb68de3242719c71e95c3d778269c4076e06badfb488e8fc223b822246ebbeb888d4168ddf6e2401793e23e77810bb
DIST rustc-1.37.0-src.tar.xz 98654252 BLAKE2B ddee92c7959a0e1ee11ffe5ded6017703cfac7bbf2a00dc46c37ed28f1cd1d31e1d5b62cc1a5ae2d55d64f8705d0cb282f4968deddf36c3152e5e0cfdfbea67d SHA512 bfee43f578e6d44ead950b870b9fd31087e1bd3f917611f5dce7ad56504b83185edf43e297e8d1304e9e97b9a580d1e6adf6608ab8ed6dee0dc8c5153cdbc5d4
DIST rustc-1.38.0-src.tar.xz 96163304 BLAKE2B 1e900b44db64727477ccf8e58e0ebb9ec209bbeb349816b5f7937e58c165db8befae33c5667732e5aaaa677c5a6c1e0229d9969ab8967fda9b8d7a593e6c5eb6 SHA512 b756d29a7a222bc7b5c7f42ff397346ab840f78e559f93e6e36b65e76eea525cf429899fe4de9fb8966623a2225b552feef9fa831bee50f9e25c976fa2af8c0a
DIST rustc-1.39.0-src.tar.xz 96495140 BLAKE2B 6df6bf0c3b38c28753713acdc477ea6929740c32893171dd9b8620992439e45730ef6f9489a6fc411ff5884c661ac4c07b7b93f5a4174207ed53351d2dea09bf SHA512 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0
DIST rustc-1.40.0-src.tar.xz 92306352 BLAKE2B 762b9592414e5c816540f6fd37d07b3b0ffe97a151968cc8ae77be2fda03a6d66905192985edc65055cc7811dbd90faa2b2c056481f72161c6f7ccbcce13671a SHA512 b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f
EBUILD rust-1.37.0.ebuild 9513 BLAKE2B 91dbc3f23e9b2d731a5b958a45a34a174a1c1bf6993d3d2d8262bc4fa11d6bc292659121fa8ee3d3f5938de74b2d52460b316931687af96b04a9455024d2d35e SHA512 d79b15cadbed29d2704adb396fd33c8c65a8b2a97a8ece9782386b2db6b5a38fb484a9bdcacfcfb7c44053f3f5ad4c4df2f7cf1a01795494ed1a477fa57d390c
EBUILD rust-1.38.0.ebuild 9471 BLAKE2B 9f9bcd07301f278e3639e67fd74561a3c833546f46f50b24fcae5decd06d00fae90d300ccd38f85659b275d2945805e3243c6ad506aa7d4bdbe6ee1129825d62 SHA512 251f0adbbf1a2c819696f6a6716515e44b9d0ae2305a031b8873c9d437c4b02b37987ba5b5eab01a666fe9312daf67c4854d8603dd745bc964844f7610be509d
EBUILD rust-1.39.0.ebuild 9619 BLAKE2B d846fd8a4a219ec316390c5d0056bdf63a5e401963d0929e25a07bce6a137cf2073447fcec948f4fbd42e69d212f3477864adde2cad31100e6cfb9ffa0d95524 SHA512 59f88ee5d9db4f3a8f8329e8183d80b8962ed543d775f8e5ba1662251db5edea9b60f387b3499c7acb561194e19b2ca1f2daf3b56f636af93851a96351f61720
EBUILD rust-1.40.0-r1.ebuild 9894 BLAKE2B c29d0e37d1ae79ecf96ad7d8dfbf7a666be89d666adff03c028b0578d3f71c2d423f6569d69cb51ec2cf53f0d743388fe5f0c5bb824799f031238e2a9030bfe2 SHA512 9c8501cb636010550d42a216e9884ab8c6fabb230d72da888f015fb3228db4c8202674d2d1b5ba30e1ba099e982fc03b90b23071560b42d7eaeaa3d0a244bca6
EBUILD rust-1.40.0.ebuild 9605 BLAKE2B 1afc09430c4673aa6167bc549bc14cfc18823d7b83da2fd9b2c62cac1408d587330432d35fb830bf5ef4224cdb6316d817b3354dfb8201169170cb76271e9b67 SHA512 1736b28e1c6bf6434fbc5b5ec4fa695d63ebeeac6ddbd28d3dcd02e9094d2993a156f27dd2161586dfc2e92a0a5587e4cc19725f5390fb077964cc2bf878b284
DIST rustc-1.41.0-src.tar.xz 93763052 BLAKE2B a68524fb6e3abb43d52ae6676a1e9de1c5d33606eaea6e93bb518f10b196d620f2f370c631c32e39a624af71a3bf6911662a9df7eecb8dde78a20c8054a349fc SHA512 0e30fe53b77860085bea0f1f60315eb835b00dd796c5d1b98ed44fe6fc27336dfb064908c86e1669a9cbe81c9ca1495e1c259a8a268bef23b23805a719cef0dd
EBUILD rust-1.37.0.ebuild 9491 BLAKE2B cb0b7ce4ca176553f2c95e8a6882c094859cbafdd0ceae500881439b009509c8ab53937a9d0046a9e917b84b723d1c88ff1a5fefe67415bbf4e8e539a7458e24 SHA512 aed6a69c6aa64477454ebb4117ceb71d6459464bbbdacd3848a894b1d3e529a8b2f0ac905aa1273eade42363cb2f4896cf49ad6951716b4be1926229c3bb8ce3
EBUILD rust-1.38.0.ebuild 9449 BLAKE2B ad10ea725f4f9c1f778abe1109a15cf2e7b78a3086be542aa62a392243def613524de76689a2a3e12e5ff1b7a72443d4233821c749dc6572d08f95b4be3646b8 SHA512 6fc125a09a5ff3c550f6ca8346324fa6ff9b4a5b5e9afa50ce2922cb2fb8372e7465c668f51d9ed52bfcfd122212da67e3af2e133fa66cbebb9d617eeb6f1926
EBUILD rust-1.39.0.ebuild 9597 BLAKE2B 4c7569cebc1f93cd694e98a2e9e94fec83198053097f5c08d0cf70009afcd1a1eb2c22ae8b81b731ea0ab726f02350d6959f817bd82027c72595fa1f0e176d42 SHA512 2dffa0a453283248a6c898312fd3be84d541db7ff4783f4328fcb8ac6eef9b6417df194a64fad15327c7bd373e8639230fc6b2335d52611fde69fb6e12e032a3
EBUILD rust-1.40.0-r1.ebuild 9872 BLAKE2B 8769ee796ec010b377e08c8e31035ab8da964821424b9bb9b6c4b897a045cf7c8fa5162e3d27368bafc2f27403ce31d47c5d0beb363d04df4cfe7c3d19f29d10 SHA512 b1f8282f9d72471e6619065e3da400e4959853a491688b6aba653d388cdaa2211f62876cd201b48eceff07f7d6d62422c9ca131d7a85c711c3beb73e581e7772
EBUILD rust-1.40.0.ebuild 9583 BLAKE2B a1bd9b055aba6a304c31bca24218e1618ff21649fd15f098de0891b18efe580b34edaac4f03ec7f0cb32c3928bfa15ae5d99b25b1f603178dbe1e5fae789c6a3 SHA512 bc9d7cd58a2ef161517061a1790c0cc4dd40ff54a206e62d9481cc449997ef8d96ea36dc496a0ea0efed0cc51463ca086ee1bbfdc94066f2b13ed5a757bb5249
EBUILD rust-1.41.0.ebuild 10006 BLAKE2B 55a57595df5c4f93f2ec0ca7d4393b97fbdc3de8e1863c121f239b21064b7a05019ee7beb189235c62d2eefd0990d41a4fcd0a11b3b7eec441701f145fdfbcb7 SHA512 8bcc3b1864353ea56c0b45bdf2a4a2b1307233cea89bb6e457cd73f8310d0c94e3cf40793c3bcdb0190d9a1702b7a469826eee67df9bd9dcc256c3089cc3d38f
MISC metadata.xml 885 BLAKE2B 0c22dd218172717e47fba5c3294746470a9adcba729a3585937748ef8e4b8ea118e036753c332eace3dbc6ce82406c15f35948d1857485abe7761c7e4f299c1b SHA512 56f1535f91d2d0126ee70d42ef0ac3ac0e491ce1c539a159db6c429104881227676f6e29412f090631e728093b0902d330c00a8d4d8027c1a07e3632c8e36435

@ -304,7 +304,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -304,7 +304,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -309,7 +309,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -320,7 +320,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -307,7 +307,7 @@ src_install() {
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
dodir /etc/env.d/rust
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}

@ -0,0 +1,366 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
MY_P="rustc-beta"
SLOT="beta/${PV}"
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
else
ABI_VER="$(ver_cut 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="
https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
# we need to *really* make sure we're not pulling more than one slot
# simultaneously.
# How to use it:
# 1. List all the working slots (with min versions) in ||, newest first.
# 2. Update the := to specify *max* version, e.g. < 10.
# 3. Specify LLVM_MAX_SLOT, e.g. 9.
LLVM_DEPEND="
|| (
sys-devel/llvm:9[llvm_targets_WebAssembly?]
wasm? ( =sys-devel/lld-9* )
)
<sys-devel/llvm-10:=
"
LLVM_MAX_SLOT=9
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)).0-r1 >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
COMMON_DEPEND="
sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
net-libs/libssh2
net-libs/http-parser:=
net-misc/curl[ssl]
elibc_musl? ( sys-libs/libunwind )
system-llvm? (
${LLVM_DEPEND}
)
"
DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
system-llvm? (
dev-util/cmake
dev-util/ninja
)
"
RDEPEND="${COMMON_DEPEND}
>=app-eselect/eselect-rust-20190311
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
parallel-compiler? ( nightly )
wasm? ( llvm_targets_WebAssembly )
x86? ( cpu_flags_x86_sse2 )
"
QA_FLAGS_IGNORED="
usr/bin/*-${PV}
usr/lib*/lib*.so
usr/lib/rustlib/*/codegen-backends/librustc_codegen_llvm-llvm.so
usr/lib/rustlib/*/lib/lib*.so
"
QA_SONAME="usr/lib.*/librustc_macros.*.so"
PATCHES=(
"${FILESDIR}"/1.40.0-add-soname.patch
)
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
pre_build_checks() {
CHECKREQS_DISK_BUILD="10G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="15G"
fi
eshopts_pop
check-reqs_pkg_setup
}
pkg_pretend() {
pre_build_checks
}
pkg_setup() {
pre_build_checks
python-any-r1_pkg_setup
export LIBGIT2_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export PKG_CONFIG_ALLOW_CROSS=1
if use system-llvm; then
llvm_pkg_setup
local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
export LLVM_LINK_SHARED=1
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
fi
}
src_prepare() {
if ! use system-bootstrap; then
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
--destdir="${rust_stage0_root}" --prefix=/ || die
fi
default
}
src_configure() {
local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi
rust_targets="${rust_targets#,}"
local extended="true" tools="\"cargo\","
if use clippy; then
tools="\"clippy\",$tools"
fi
if use rls; then
tools="\"rls\",\"analysis\",\"src\",$tools"
fi
if use rustfmt; then
tools="\"rustfmt\",$tools"
fi
local rust_stage0_root
if use system-bootstrap; then
rust_stage0_root="$(rustc --print sysroot)"
else
rust_stage0_root="${WORKDIR}"/rust-stage0
fi
rust_target="$(rust_abi)"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
[build]
build = "${rust_target}"
host = ["${rust_target}"]
target = [${rust_targets}]
cargo = "${rust_stage0_root}/bin/cargo"
rustc = "${rust_stage0_root}/bin/rustc"
docs = $(toml_usex doc)
compiler-docs = $(toml_usex doc)
submodules = false
python = "${EPYTHON}"
locked-deps = true
vendor = true
extended = ${extended}
tools = [${tools}]
verbose = 2
[install]
prefix = "${EPREFIX}/usr"
libdir = "lib"
docdir = "share/doc/${PF}"
mandir = "share/man"
[rust]
optimize = $(toml_usex !debug)
debug = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
default-linker = "$(tc-getCC)"
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
rpath = false
lld = $(usex system-llvm false $(toml_usex wasm))
[dist]
src-tarball = false
EOF
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
cat <<- EOF >> "${S}"/config.env
CFLAGS_${rust_target}=${arch_cflags}
EOF
cat <<- EOF >> "${S}"/config.toml
[target.${rust_target}]
cc = "$(tc-getBUILD_CC)"
cxx = "$(tc-getBUILD_CXX)"
linker = "$(tc-getCC)"
ar = "$(tc-getAR)"
EOF
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
if use elibc_musl; then
cat <<- EOF >> "${S}"/config.toml
crt-static = false
EOF
fi
if use system-llvm; then
cat <<- EOF >> "${S}"/config.toml
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
EOF
fi
done
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "$(usex system-llvm lld rust-lld)"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
}
src_install() {
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
--exclude src/tools/miri || die
# bug #689562, #689160
rm "${D}/etc/bash_completion.d/cargo" || die
rmdir "${D}"/etc{/bash_completion.d,} || die
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
if use clippy; then
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
fi
if use rls; then
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
fi
if use rustfmt; then
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
fi
# Move public shared libs to abi specific libdir
# Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
if [[ $(get_libdir) != lib ]]; then
dodir /usr/$(get_libdir)
mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
fi
dodoc COPYRIGHT
# note: eselect-rust adds EROOT to all paths below
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
EOF
echo /usr/bin/cargo >> "${T}/provider-${P}"
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use rls; then
echo /usr/bin/rls >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}
pkg_postinst() {
eselect rust update --if-unset
elog "Rust installs a helper script for calling GDB and LLDB,"
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
if use elibc_musl; then
ewarn "${PN} on *-musl targets is configured with crt-static"
ewarn ""
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
ewarn "to use it with portage, otherwise you may see failures like"
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
ewarn "x86_64-unknown-linux-musl does not support these crate types"
fi
}
pkg_postrm() {
eselect rust cleanup
}

Binary file not shown.

@ -2,5 +2,5 @@ AUX 0001-CMake-install-to-correct-lib-dir.patch 1957 BLAKE2B a8139d2c7474b96526b
DIST double-conversion-3.1.4.tar.gz 7022872 BLAKE2B 270f318e6b37205ab3da3ccf5c598ca7a02dc2e728a5d8e3467523bc8f21039651bea3f70aeb9f8579505812d63181de9d1e8106997795a79efeb663e1bc22d7 SHA512 715a34ace2ff74b79d80a8c003c16cfbf958ebc92264e28cc572e1a12a786e1df9678abb46f032c2be387495e1a3d02957b12fa4a245ec6cfe19ca637519ac3c
DIST double-conversion-3.1.5.tar.gz 7023792 BLAKE2B ed70a554bd52e23aadecbeaa6607dfcdb670450b95e2ff699c784512e6cb0c022f51f6ab775ebc5b3c293f991e5200ff5528d689c74dae92e8e68bedf672c5ac SHA512 0aeabdbfa06c3c4802905ac4bf8c2180840577677b47d45e1c91034fe07746428c9db79260ce6bdbdf8b584746066cea9247ba43a9c38155caf1ef44e214180a
EBUILD double-conversion-3.1.4-r1.ebuild 1413 BLAKE2B 84e0a0d86df46566dfdfd37c1d43fa4667c47ad62f8cb1e274c0ed5f0aa9ffeb9ab019c12be0abc959d152ef37c1d1d8a3f6fcc7bc4d9059f12ae9d0e4ad0006 SHA512 dd10edb94846e496187fbcd4d877e87075426d78616162c0823c934e984da4d82232d996918a78b62dfd43003f2e715b2994c15b22d8be53be9ac073cf00261f
EBUILD double-conversion-3.1.5.ebuild 462 BLAKE2B b6d1a6d4594e88451539f73bcc6a4149bdf716236d75ab222df1a5ba2123356667dd53fba42a764016742fec03ee4d5bc3d12a8db1a3b721ce3c3bd05374c59e SHA512 18caa81762bfc51dfcaac3e6e5773319af899302e189dcadde4ea1bb157056dbbdc59f74c40a6f308e9ddb87fbb8d14b5829884548173554796918b0da97bdb4
EBUILD double-conversion-3.1.5.ebuild 457 BLAKE2B d07c81ac6dbbdb3389d674ebd864bfe2d5949b455b62dc4a5c90566dbd52811ca86c8a54584cf121e55b4a63231827d6dded5b5461b1eb625a67e0fd9917e2c9 SHA512 c4998bae35b178ffe22b889df1061e68f66d84f8ee8b3228d08ef7c44dbf59270af381f366161a1cbb43a9a37aa4f12d80f02cb689ad839fcc5d560f7b0b4aa5
MISC metadata.xml 681 BLAKE2B add558ddf626cde6768c25b9a6c3f004ca0e588e99f247d7c1000ca9e7f572429a2d321af2c39b82b61ad1cf66b87f108a241100f6ef28cf85f8daf172e05489 SHA512 e7eee783d9ed17369d7dabdb78eb1bed547c6d75a527b418fc42815ab161688740633d062d59f6b7b30ca26872b40163a8188eefbb4f2eb19299a8809bd49524

@ -11,4 +11,4 @@ SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/3"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 arm ~arm64 ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"

@ -8,7 +8,8 @@ DIST gmp-6.2.0.tar.xz 2012444 BLAKE2B 928141cf7b0b70f78b66e7bc52aecd39a5fc30e886
DIST gmp-man-6.1.2.pdf 825720 BLAKE2B b96340da5f534353b140b361fc1ff74757168024e8039d97a0ed1f14d874ff5fbc50abae2ff3505adc51d72e4acf2882ae6ca6405ae37b594f7b248e1ca05247 SHA512 85de10b2c03f7381881c3e95aa7fc53d8e018115028496ffbb5a79ab4967106c69ed7e97a5e434e6bb39752498aade8c2caa7cf77a8942b7ffd9150368a0d9c3
DIST gmp-man-6.2.0.pdf 828998 BLAKE2B 0bf56bf0a6f1aac0e1fb9a5a37552f846a2d4a01bfd3f5b5c531d42a9afc48c19552e08971785805f59e3f2a5fd89e3f986f841dca2e340813596cfd76574e61 SHA512 25d129efedd329cd2d4535557c6912191f587bfd8ef028618b4ca6199ec7bf7a9ae862e7f5e5b5448c86888452a39fc7bf95cf9c18311858dd1aa9ae1c716239
EBUILD gmp-4.3.2-r1.ebuild 1690 BLAKE2B 6ca27b4d975126c129c07867f93444f4086e47e5b1f243eaab7c2c15ac68d210fba895891372c37a68c8c356ae21777140b1373b86a0dcfc9b169e82d860dcf4 SHA512 c6014e7f9f86f7969eddb58a58cad0c8649b01e49ef7861c487e4d6af2eeedb626a631113231c8b802ce49a69e6c1212b83c48f36f06f3665ceccc2ff9b303db
EBUILD gmp-6.1.2-r1.ebuild 2930 BLAKE2B 7ca96d3816baa05f753208dedbb4f9856d57b04d37d866c292974f8569d2dac855adb413f420a1e81299be917f06cca34b3613d29bd9b957902913f619a3c799 SHA512 2ca5f1fbe003556dffdf6eda980dd0c58c745fe263674ab8e69e2113939be5bff6ae627b05c025307f03159b73d0c37ba340cf9891b93fe388bcb20108df60f1
EBUILD gmp-6.1.2.ebuild 3013 BLAKE2B a4b38bf06cf7a1075b8f895030b5ae3a801957ae15d4e93767a545f8d60f5a26065e666cb2f03da472170f97203a7872e785fb924eda833a86e08f097cd039da SHA512 a61f0c4f36a5ed3eb4430eed9f06151339c1d0e4d22dfef4d86e0747275c39fa1826056bcd628e6056fad50e9b34f1af12463b66c929498b0eeeaf8b5c3721df
EBUILD gmp-6.2.0.ebuild 2867 BLAKE2B 0c2abf1eb803c2c95edd0e28e9ceb4715e83840d6a24eeec8a3ce8279d1e191d6a892145d774341874ce1b19100b3ae0bcc73713a8ef347fe70292a8b154a9e7 SHA512 86cf8bc2ef586611a5469960c83d514cd813607accfaceb26afe5821efb2348ab4296fdbea27daae3cfcf39501bff20e368148a59fa1a1b512d8e4f4a19282aa
MISC metadata.xml 437 BLAKE2B 74945994e080552031f2fbcf051b5fb638712205d40433225fa010f70376a96903da3945dfafd4594da53624628d1abb9929a854cde7a60fa2e88fd01f0ba025 SHA512 c1d6b6a603472a84703310b3dcc72eefc66858ca397519cc42d06750b57d6f9683c9ac908cd3fc3aa16406957ed23a6ddf12a3cba6b20e97c21758b4ed3425ea
EBUILD gmp-6.1.2-r1.ebuild 3094 BLAKE2B 9ce2f6d43548489399e76e8b9f55a1c0213be7bab563cd84ad9839c5c2ba0f77608e3dc09a7346fba16c6544ed21414b605d599b00dec15b84dd6efc3f7fc77b SHA512 bfc950e37b65bf8547f507559887a2ec65b966185e3ce82cd3315f4fcbaecda58b1715dbf7cfa6d317fa310166fefa2b1011298da637774270c69b0e0b390b47
EBUILD gmp-6.1.2.ebuild 3177 BLAKE2B a0408771484218898589ca7c3c86520e49437ab5e0833c180e91bac4babefdce53674ae0d10459402e4f259de13e78bd26952517a52abb56616b71f5498069cb SHA512 2d1191e382d37c5944ad8da8324751ec79a1d05a8fef5e9fedf20f1c71275f5ee7928e2769c7b7c58fe7e60ac13444a65c6e3e7540afc71b3ad060c8920326d6
EBUILD gmp-6.2.0-r1.ebuild 2977 BLAKE2B 15bcb068e3a3dc82496578b96dd5a134d96b8cb5c066dc1189104ae6f431af6910c5ad9d8a4b2e969ef711877555c9233f78db493c1209e1083666e1c01b7935 SHA512 d4255917fc12e4bce042b0699b04d5b576e78eb4a392ab952c526de282854e4e8a497280f74944a9bb34fbeb7cf09860ebcfe56f20784d10fae48f52194fa10c
EBUILD gmp-6.2.0.ebuild 3031 BLAKE2B 90a687d271a8414c5deb7571b2b230fad0aefeab972ff90fd8d3b99a974b001eee919b553dded8b13004434956c2d73821fbb0a245f8f5a2f079f6ff39cae52c SHA512 cc4d7c81749488ae15078203bbe53e5cf3a46bec5a7ede4852be9bc936e35825fc3248559f846b5cd2b6bc51684249c4909878cd9b971efd52e792aecbecbd6e
MISC metadata.xml 523 BLAKE2B fc919502e81ea5a1a169284b1782a8044887082e485cfb8497eef7c4cd5cf6c2170818ca6a60b43d90d92eea03f82535a58e72346ba3e8eff240a3a3be4a7f99 SHA512 ea63c1b90851f602787ff84b8e6dbc51f56bf9e5c724ff4a9e7367af83ce8d2d8d0a17770c29e23d00167cbe033292b614195912bd40cb404824c4d22bdda82b

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -19,7 +19,7 @@ LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+asm doc cxx static-libs"
IUSE="+asm doc cxx pic static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
@ -77,12 +77,15 @@ multilib_src_configure() {
filter-flags -O?
fi
# --with-pic forces static libraries to be built as PIC
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \
$(use_enable cxx) \
$(use pic && echo --with-pic) \
$(use_enable static-libs static)
}

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@ -19,7 +19,7 @@ LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+asm doc cxx static-libs"
IUSE="+asm doc cxx pic static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
@ -76,12 +76,15 @@ multilib_src_configure() {
filter-flags -O?
fi
# --with-pic forces static libraries to be built as PIC
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \
$(use_enable cxx) \
$(use pic && echo --with-pic) \
$(use_enable static-libs static)
}

@ -0,0 +1,105 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic eutils libtool multilib-minimal
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
HOMEPAGE="https://gmplib.org/"
SRC_URI="ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
mirror://gnu/${PN}/${MY_P}.tar.xz
doc? ( https://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+asm doc cxx pic static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P%a}
DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
HTML_DOCS=( doc )
MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
PATCHES=(
"${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
)
src_prepare() {
default
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# https://bugs.gentoo.org/536894
if [[ ${CHOST} == *-darwin* ]] ; then
eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
fi
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/usr/bin/env sh
exec env ABI="${GMPABI}" "$0.wrapped" "$@"
EOF
# Patches to original configure might have lost the +x bit.
chmod a+rx configure{,.wrapped} || die
}
multilib_src_configure() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
#367719
if [[ ${CHOST} == *-mint* ]]; then
filter-flags -O?
fi
# --with-pic forces static libraries to be built as PIC
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \
$(use_enable cxx) \
$(use pic && echo --with-pic) \
$(use_enable static-libs static)
}
multilib_src_install() {
emake DESTDIR="${D}" install
# should be a standalone lib
rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
use static-libs || rm -f "${la}"
}
multilib_src_install_all() {
einstalldocs
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${ED}"/usr/share/doc/${PF}/
}

@ -19,7 +19,7 @@ LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+asm doc cxx static-libs"
IUSE="+asm doc cxx pic static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
@ -77,12 +77,15 @@ multilib_src_configure() {
filter-flags -O?
fi
# --with-pic forces static libraries to be built as PIC
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \
$(use_enable cxx) \
$(use pic && echo --with-pic) \
$(use_enable static-libs static)
}

@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="asm">Enable use of hand optimized assembly routines (faster execution)</flag>
<flag name="pic">Force static libraries to be built as PIC to avoid TEXTRELs.</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gmplib:gmp</remote-id>

@ -1,5 +1,5 @@
DIST hsa-ext-rocr-dev_1.1.9-122-ge5c4efb_amd64.deb 1120322 BLAKE2B 40c60058c2b6d6debf80503c36f6b0ddc72747c7327e411121f99fa2e507e5e9414cb91c80be0acf283bff23a6a029b3ef199577846b694b2e2e11696cc7d225 SHA512 60dad492cc66f249d48fb057b2ecec1719525a871d38f39a403a55de98e8cdea5f00f672fa3ea697490c287ba7e5c3be035f1f2861a7fc97d9b949f575e51ad7
DIST hsa-ext-rocr-dev_1.1.9-139-g0d1ca36_amd64.deb 1166210 BLAKE2B 3edcc938ec92277a163886df4e83f93f6a38b1ec4e95e719265f7a595d291fe4beef68aeca3fb09f8f56a0abf041a987d57e2469310da8cd16f2352b2af5077c SHA512 dbf7991b404cc371575e5d8c40f438bbead8bfef5c73dfd3b7295d64f800892c1f220a6eff8cc67d99ca4bec819bf1b69e37f85873ec372dca9bdd42542fa320
EBUILD hsa-ext-rocr-1.1.9.122.ebuild 1164 BLAKE2B 67d0c94771839eaa85402e250703840df8a68c903f4af21131adf52dc53693f529d173a6c19b24602f1a4057fad2f8585181abfe6ee777e39d52fe618152b239 SHA512 117cfb178987ee5e0b06120790d6a44353902296aab1902172f2a3647fad08b8c776ad61ac5fe897efed634bf35b6bf8783afa3b3eb43e0676d057d5121679c7
EBUILD hsa-ext-rocr-1.1.9.139.ebuild 1164 BLAKE2B 4d8a5b0f3c2b7b1775299e99193caf6a72c3320f124cc46bd6689d98ca1391e876712f50fdeb47f286dac604c2a7a783013518f79ad342f9945b1ebaa323ca29 SHA512 74d468c806a0908c3cd078222b9010c04400f62a25eb3091bcbc4d798ab796e17010968836074e5fe894ccf3826c5b103c4a84356454c6a3b4a69929ba61eff0
EBUILD hsa-ext-rocr-1.1.9.122.ebuild 1139 BLAKE2B 335b3fb167590be839f0de7751d56b887a00d41ded76456de2194f87996aa27e36a9bebe5f1e190ec8f679f85cb54264dcbfc41d05d59d156e27f0476826788a SHA512 1fc174632d070ff33879a6f593dd878aba4782360b613583a1145aeedd44a921c84dd2e04e47d3c969fc1127310631259b82a9e8dd5b215dc6fc3eace98311a9
EBUILD hsa-ext-rocr-1.1.9.139.ebuild 1138 BLAKE2B a7d645cd5d5075abdf816700ffbd799d2db700defb24a31253eec6abc0169efe227a699f55014b0171bed0e9f82fe1a375383450196e23357e6080f0698376ae SHA512 de50397b1865d7d34ab171f78b7abe2d63f198201d3be6d6387abe361a3bcace3e8f73abb7705774fbd489a1f7be185ad3d9502e5f3c5ef5c454e1ab69bfa4d6
MISC metadata.xml 804 BLAKE2B 53bf694f8db04562ed3dcde4ed009a447f913d545012b511d0321d230ed9110ab73da69c2b5ac295eea48a705a8defb4409326d4f4001727139ce3ce2b7b699f SHA512 9f1c2af7864205799b5b2f36be15148de6b0d3ebe8fa6f1ca578abcf5fa6c4b08b24082a2a32e93fce71de25756c7644989b51e63b765516ad63f63a5eb880b3

@ -39,7 +39,7 @@ src_install() {
into "${destdir}"
for solib in ${solibs_to_install[@]}; do
dolib.so "opt/rocm/hsa/lib/${solib}.${soversion}"
dosym "${EPREFIX}/${destdir}/$(get_libdir)/${solib}.${soversion}" "${EPREFIX}/usr/$(get_libdir)/${solib}.${soversion}"
dosym "${solib}.${soversion}" "${EPREFIX}/usr/$(get_libdir)/${solib}.${somajor}"
dosym "../../${destdir}/$(get_libdir)/${solib}.${soversion}" "/usr/$(get_libdir)/${solib}.${soversion}"
dosym "${solib}.${soversion}" "/usr/$(get_libdir)/${solib}.${somajor}"
done
}

@ -39,7 +39,7 @@ src_install() {
into "${destdir}"
for solib in ${solibs_to_install[@]}; do
dolib.so "opt/rocm/hsa/lib/${solib}.${soversion}"
dosym "${EPREFIX}/${destdir}/$(get_libdir)/${solib}.${soversion}" "${EPREFIX}/usr/$(get_libdir)/${solib}.${soversion}"
dosym "${solib}.${soversion}" "${EPREFIX}/usr/$(get_libdir)/${solib}.${somajor}"
dosym "../..${destdir}/$(get_libdir)/${solib}.${soversion}" "/usr/$(get_libdir)/${solib}.${soversion}"
dosym "${solib}.${soversion}" "/usr/$(get_libdir)/${solib}.${somajor}"
done
}

@ -1,5 +1,7 @@
DIST libunibreak-4.0.tar.gz 629403 BLAKE2B 067d09bd48c5381ebef1f3a0ca488732e216234e45977d5c2eee181c9c98b435a7e4030fb5bdbd83035a7937c2107ec05f78dc33158ec64297511d24e329f03d SHA512 43da73f66fabd8fdef444c5a06ad1800464a0aeab590938522d6c19973950a242f2ccc0575a93d10d87bdcf82610452117ac081ddb73f47271a8c2a65897e11c
DIST libunibreak-4.1.tar.gz 642497 BLAKE2B 79a09cc19e72bcf98605f3c49649c2d0753774825e737e0682ff4b67d4908be748b81b6ba79827ccc2032b7c5284fc2dd932d61d6775cae841888d6ee4a77b70 SHA512 f02a94b1c1757c0321f112ef9b44a17fc9f73c9ec6041f263bb55fe8ec44e5599c6061c4e1f6f92ca9069b282e5a8e40d90dcceaf04b6e2ed6ae948f104e1ce2
DIST libunibreak-4.2-1.tar.gz 643399 BLAKE2B 620e904113730078a8e74a09594b9e18c63768a926df433b4a251767fd492ae11c0954e97a4d94db577956a621f075bc6743535bdc67f9c5151243f304b33bf4 SHA512 26bbff1203dde9ffdc2b9046727ab7698f5693c1eb898c819ee83d0c97fbfd32b9dc7c4406dea29fff6642b2678fee74a1307aa5c9c3279f65484eb080ae1e2d
EBUILD libunibreak-4.0.ebuild 1271 BLAKE2B c5f7d7a51ea9c2b7ff881ba8fcd0381f6f35671d6758ab17486d0311cd29d686fbb78ccc23190aa3952fb84fc45c6a4646cc8dce57670df40eeb7967a1c23000 SHA512 d47e18f51abc0f7497dfc97ed4cc81a3ef9b33c106687cc94d4954fb3987089cb37a0958d79ccc239b8fcaead0cfb32ccdf42b299ec292b532f09c1dd6438c66
EBUILD libunibreak-4.1.ebuild 1232 BLAKE2B 47504972e021c99175e799f3a306ba130c031da7b92be3f31aa0138d98efffe6cfdd7609027f989bc7cf278e64bc457efca0bff9b3580a802f921c69ed04852f SHA512 68b7674d00f517183383124702a51de40ce2f0d06992f29e1965e0cb55c74444ed8ef6b4c268839cd7a0ab123d47ce878adcb4fdb7a4816ef1d646abeb82af27
EBUILD libunibreak-4.2.ebuild 1233 BLAKE2B b85936fcba3579d376ea3ff9657a1d64460cce6e9d26a8d8f6c7ea3e5edc52575f56ae25cbcbe1816df4baa40d56d605cef07c57e278c8b980b0fa899f3f7f0a SHA512 d2b80e682602a2fb8daccaf15a873db4352307825ab9ded6d88e8013ae62c9bbf8d9bb7fa2931fc294b7efcfd03701acde2f2efbd390f2b6ff4b21b72e031ada
MISC metadata.xml 614 BLAKE2B 9a68d6b1935c236312fb74a18fe8d417c8e11970be97aad071d04b5a2c57cd18df55e2b48a855ff81a3287636af6afb4abf1ab0fa84c6391c013500f65585061 SHA512 bb9c9c2b2264cbb2c7596146c1be2b51a1e0d710432b86b3f68dd7fe9832abe7aa68ffe7806e58b6e4d044d269f86a533b1b9bc437eb5cb80bac39027989e62d

@ -0,0 +1,55 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Line and word breaking library"
HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')-1/${P}-1.tar.gz"
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="doc +man static-libs"
# Tests require internet access to www.unicode.org
RESTRICT="test"
DEPEND="man? ( app-doc/doxygen )"
RDEPEND="!dev-libs/liblinebreak"
src_prepare() {
if use man; then
echo 'GENERATE_MAN=YES' >> Doxyfile || die
echo 'GENERATE_HTML=NO' >> Doxyfile || die
fi
default
}
src_configure() {
econf $(use_enable static-libs static)
}
src_compile() {
default
if use man; then
doxygen || die 'doxygen failed'
pushd "${S}"/doc/man > /dev/null
mv man3 x || die
mkdir man3 || die
for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
mv x/${h}.h.3 man3/ || die "man ${h} not found"
done
rm -rf x || die
popd > /dev/null
fi
}
src_install() {
use doc && HTML_DOCS=( doc/html/. )
default
find "${D}" -name '*.la' -delete || die
if use man; then
doman doc/man/man3/*.3
fi
}

@ -1,5 +1,7 @@
DIST libzia-4.18.tar.gz 623928 BLAKE2B ff7f4873f77c1782bc704ff11f0fcdc2a479404cf0719d9156fad2ad01634241f7f556699d778fbd6e3f4bfe108b1735c65def859d56cefcedd6a3c760200a14 SHA512 7d4287cf6804ae757d6c96c03fd948db1bf0b5463d345929b2c8dd4540e66b45849a8096500576199fa650b63b892ea17c976338b88e9310d64f804fa3920489
DIST libzia-4.19.tar.gz 623995 BLAKE2B 55bc17854614af92873059e741179d9bc4f35000c4fc29cdd56854b85cf059d422ec49cee9d07056cf8fd18f7a6bf15aeb98a3f3dcbee44420ca1862175d3938 SHA512 65b7cb87740a3288c186f30a10d29824f2b725e54290d4c56ebfd9aa6902ff2e1e48725ed35e3ff5c2d144ccd6a20384df470c1b615c99da8a14c7e0647b0f6a
DIST libzia-4.20.tar.gz 624009 BLAKE2B f0342c144c3e0b9dd7720466b24d79632de6dc8597786ba22acccd4eee20cdfb4f941da5717fde27a7ee0097f4f57b20a93455c123fd518916c1552cab801bc2 SHA512 0780eb791fdd85778a074eddab933650d4fbb09a9b441432cf6e63fe97978d47c75155caa251820f283badb16ffa5ac2d323b1f98ab5864caaa020511ff856d5
EBUILD libzia-4.18.ebuild 719 BLAKE2B e89d28fdf28d1405fc39d7eabf559a3dd3493cc1436752fecfb4e73386ba4c73b88907736ea9b1f107325c2bce071b696f84e2f880ea2c4df4535ca57b6a9ca1 SHA512 0c6653c16bbb1136bccc3e6d672de98c64a7695dcb8a38ddb7acf93c0d1b61449519cc0386ffc270f99155ea451c95ad6befde6f3772e639c1b8f0a2dd2deaf8
EBUILD libzia-4.19.ebuild 721 BLAKE2B 6f33ec501f2f24c9d27a0f2ee655c526bc4e758f4febec914f8f12809b687748bbb1238490e3fc3e0ab596d8a8ddd06010fb5e98c18e3ea7abc6a38e9442689a SHA512 6c4dfdfae0bf2dc34d8d237bf25767a22739ccc6350e25bf88a4ce82c48b96fcbd0b8b5d0f668d41319ba6d029fbf5c192db8a3c82a37a35249d120ada340ea3
EBUILD libzia-4.20.ebuild 721 BLAKE2B 6f33ec501f2f24c9d27a0f2ee655c526bc4e758f4febec914f8f12809b687748bbb1238490e3fc3e0ab596d8a8ddd06010fb5e98c18e3ea7abc6a38e9442689a SHA512 6c4dfdfae0bf2dc34d8d237bf25767a22739ccc6350e25bf88a4ce82c48b96fcbd0b8b5d0f668d41319ba6d029fbf5c192db8a3c82a37a35249d120ada340ea3
MISC metadata.xml 451 BLAKE2B 539464597b5fcacdf3701b1400a6ea8725e46164b768c129d98a0ca37e1edba4c90c619ff7138988cbcf0136201f723327d1fe561179181a30709e2977730255 SHA512 4551ac2be822a0d0bcc9952d3c62f995b705f68b15c8fa86dc263b68d93619705aa70a9518bf78c8a509a246ffdd7301f7b64f924781ae285a081c86fe0b4773

@ -0,0 +1,38 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="platform abstraction code for tucnak package"
HOMEPAGE="http://tucnak.nagano.cz"
SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ftdi"
RDEPEND="dev-libs/glib:2
x11-libs/gtk+:2
media-libs/libsdl
media-libs/libpng:0
ftdi? ( dev-embedded/libftdi:0 )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
MAKEOPTS+=" -j1"
src_prepare() {
eapply_user
sed -i -e "s/docsdir/#docsdir/g" \
-e "s/docs_/#docs_/g" Makefile.am || die
eautoreconf
}
src_configure() {
econf \
$(use_with ftdi) --with-sdl \
--with-png --without-bfd
}

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

Loading…
Cancel
Save