parent
21667412fa
commit
f62586041b
Binary file not shown.
Binary file not shown.
@ -1,12 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
<!-- maintainer-needed -->
|
||||||
<email>rgkmg25@gmail.com</email>
|
</pkgmetadata>
|
||||||
<name>Robert Kowalski</name>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>proxy-maint@gentoo.org</email>
|
|
||||||
<name>Proxy Maintainers</name>
|
|
||||||
</maintainer>
|
|
||||||
</pkgmetadata>
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
DIST sudo-1.8.31.tar.gz 3350674 BLAKE2B de5a968732fdd58933b4c513d13c43a08cb50075a00c3e0d338c9892570a416a2b3a8f19940c0893715f4eeab991e804831a87ef656ffd91e7f1ba047c119261 SHA512 b9e408a322938c7a712458e9012d8a5f648fba5b23a5057cf5d8372c7f931262595f1575c32c32b9cb1a04af670ff4611e7df48d197e5c4cc038d6b65439a28a
|
DIST sudo-1.8.31.tar.gz 3350674 BLAKE2B de5a968732fdd58933b4c513d13c43a08cb50075a00c3e0d338c9892570a416a2b3a8f19940c0893715f4eeab991e804831a87ef656ffd91e7f1ba047c119261 SHA512 b9e408a322938c7a712458e9012d8a5f648fba5b23a5057cf5d8372c7f931262595f1575c32c32b9cb1a04af670ff4611e7df48d197e5c4cc038d6b65439a28a
|
||||||
DIST sudo-1.8.31p1.tar.gz 3351312 BLAKE2B 85775ef574a3a1a9cc749809fe81f8350f7a4e3f46a905bc3392790b20bb7bc8e3c99fb504e01776f3a92aa6afa7972d3ff1c071aadd3a08ee1d2281f8b9ba50 SHA512 9344fd1d8a8445e8afb9c5628cdc832fe32ea29199f071f35fb6ec694371801556df560f4382afec199f468b1f3264ad5e3a89e964612e571b8d911f823724cc
|
DIST sudo-1.8.31p1.tar.gz 3351312 BLAKE2B 85775ef574a3a1a9cc749809fe81f8350f7a4e3f46a905bc3392790b20bb7bc8e3c99fb504e01776f3a92aa6afa7972d3ff1c071aadd3a08ee1d2281f8b9ba50 SHA512 9344fd1d8a8445e8afb9c5628cdc832fe32ea29199f071f35fb6ec694371801556df560f4382afec199f468b1f3264ad5e3a89e964612e571b8d911f823724cc
|
||||||
DIST sudo-1.9.0.tar.gz 3743850 BLAKE2B 47d557afb13eee300d379ae31aae34cf7cf1e5ad140c6d7e599f687cca2cc259ec17f9ec0b3ca6f0badef81bb6e9d659e3e2bb77d9994218a9a3d88ec7ff2c19 SHA512 f2a191ea5fc65865718b110d4aca187cb5e2cd55c9c891fab32f21401e56f825f34c373e346c55c64fa49cec4d802efb63ccebf3d4a4e31d9a433077daf013b1
|
DIST sudo-1.8.31p2.tar.gz 3353538 BLAKE2B 274c72232e18c8ff5006b61ad4d384582ec0296af6326377f08ff4e59c6a4a4fc5e2245874bf9a7c6b010addae600dd41f042660d5bf9c4bc8eb98983704a5da SHA512 ad1bbbde74d3ab6e947071c6f21e436ebabcf5af11ecc75cde8f0c01ca0b8c6ae1cce2ff42f21612816c636e96722a2a14daa57757644ceab6577091f82242be
|
||||||
DIST sudo-1.9.1.tar.gz 3834744 BLAKE2B 835eaae5b61627da65f40f04646b261093c56f77bdfb1b64f746e569a4bfafcfbb31d88ab301bf8544a8714f43d3416a792ee8b0fdcb75d81dbc6fcf29551f0b SHA512 7994c7d8f020188eda51787bb5f6fe7668518cc89b711e7840470db7e5bac1219490ffccc73854fecb14ceb3ffaf0fc605f3438c87b83f27921ea3626365105c
|
|
||||||
DIST sudo-1.9.2.tar.gz 3890859 BLAKE2B 879917b8045c999a17ef36006732509aa546ee6bb04de77191fb637aa0420d54f9e51ec69b697c22119d638393e9c84efcc1ca5e6e8ee5f0c08bb1ca07f3acea SHA512 20afdf2604b1c93395157382b24f225cd1ff88d3a892362e2d69fecd240c4e7171f05032c08be1778cd1dea6e460025e4241f57272fac0ea3550e220b6d73d21
|
DIST sudo-1.9.2.tar.gz 3890859 BLAKE2B 879917b8045c999a17ef36006732509aa546ee6bb04de77191fb637aa0420d54f9e51ec69b697c22119d638393e9c84efcc1ca5e6e8ee5f0c08bb1ca07f3acea SHA512 20afdf2604b1c93395157382b24f225cd1ff88d3a892362e2d69fecd240c4e7171f05032c08be1778cd1dea6e460025e4241f57272fac0ea3550e220b6d73d21
|
||||||
|
@ -1,260 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit pam multilib libtool systemd 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 ~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 ssl sssd"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
sys-libs/zlib:=
|
|
||||||
gcrypt? ( dev-libs/libgcrypt:= )
|
|
||||||
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 )
|
|
||||||
ssl? (
|
|
||||||
!libressl? ( dev-libs/openssl:0= )
|
|
||||||
libressl? ( dev-libs/libressl:0= )
|
|
||||||
)
|
|
||||||
sssd? ( sys-auth/sssd[sudo] )
|
|
||||||
"
|
|
||||||
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=(
|
|
||||||
# requires some python eclass
|
|
||||||
--disable-python
|
|
||||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
|
||||||
--enable-zlib=system
|
|
||||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
|
||||||
--with-env-editor
|
|
||||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
|
||||||
--with-rundir="${EPREFIX}"/run/sudo
|
|
||||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
|
||||||
--without-linux-audit
|
|
||||||
--without-opie
|
|
||||||
$(use_enable gcrypt)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable sasl)
|
|
||||||
$(use_enable ssl openssl)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
|
||||||
$(use_with offensive insults)
|
|
||||||
$(use_with offensive all-insults)
|
|
||||||
$(use_with pam)
|
|
||||||
$(use_with pam pam-login)
|
|
||||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
|
||||||
$(use_with selinux)
|
|
||||||
$(use_with sendmail)
|
|
||||||
$(use_with skey)
|
|
||||||
$(use_with sssd)
|
|
||||||
)
|
|
||||||
|
|
||||||
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
|
|
||||||
pamd_mimic system-auth sudo-i 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 || die
|
|
||||||
|
|
||||||
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.
@ -0,0 +1,142 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||||
|
|
||||||
|
inherit desktop perl-functions python-single-r1 xdg-utils
|
||||||
|
|
||||||
|
MY_PV_KDE="0.18"
|
||||||
|
MY_PV_NAUTILUS="0.05"
|
||||||
|
MY_PV_NEMO="0.04"
|
||||||
|
MY_PV_THUNAR="0.06"
|
||||||
|
|
||||||
|
DESCRIPTION="A graphical front-end for ClamAV"
|
||||||
|
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
|
||||||
|
SRC_URI="
|
||||||
|
https://bitbucket.org/davem_/${PN}-gtk3/downloads/${P}.tar.xz
|
||||||
|
kde? ( https://bitbucket.org/davem_/${PN}-kde/downloads/${PN}-kde-${MY_PV_KDE}.tar.xz )
|
||||||
|
nautilus? ( https://bitbucket.org/davem_/${PN}-gnome/downloads/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
|
||||||
|
nemo? ( https://bitbucket.org/davem_/nemo-sendto-${PN}/downloads/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )
|
||||||
|
thunar? ( https://bitbucket.org/davem_/thunar-sendto-${PN}/downloads/thunar-sendto-${PN}-${MY_PV_THUNAR}.tar.xz )
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="|| ( Artistic GPL-1+ )"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="kde nautilus nemo +nls thunar"
|
||||||
|
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-antivirus/clamav
|
||||||
|
dev-perl/File-chdir
|
||||||
|
dev-perl/Gtk3
|
||||||
|
dev-perl/JSON
|
||||||
|
dev-perl/LWP-Protocol-https
|
||||||
|
dev-perl/LWP-UserAgent-Cached
|
||||||
|
dev-perl/Locale-gettext
|
||||||
|
dev-perl/Text-CSV
|
||||||
|
dev-perl/glib-perl
|
||||||
|
dev-perl/libwww-perl
|
||||||
|
virtual/perl-Digest-MD5
|
||||||
|
virtual/perl-Digest-SHA
|
||||||
|
virtual/perl-Encode
|
||||||
|
virtual/perl-MIME-Base64
|
||||||
|
virtual/perl-Time-Piece
|
||||||
|
nautilus? (
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
dev-python/nautilus-python[${PYTHON_SINGLE_USEDEP}]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
BDEPEND="nls? ( sys-devel/gettext )"
|
||||||
|
|
||||||
|
DOCS=( "CHANGES" "credits.md" "DISCLAIMER" "README.md" )
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
use nautilus && python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
default
|
||||||
|
|
||||||
|
unpack "${S}"/clamtk.1.gz
|
||||||
|
|
||||||
|
use kde && unpack "${S}"/../clamtk-kde-${MY_PV_KDE}/clamtk-kde.1.gz
|
||||||
|
use nautilus && unpack "${S}"/../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.1.gz
|
||||||
|
use nemo && unpack "${S}"/../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.1.gz
|
||||||
|
use thunar && unpack "${S}"/../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.1.gz
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dobin clamtk
|
||||||
|
|
||||||
|
perl_set_version
|
||||||
|
insinto "${VENDOR_LIB}"/ClamTk
|
||||||
|
doins lib/*.pm
|
||||||
|
|
||||||
|
use nls && domo po/*.mo
|
||||||
|
|
||||||
|
doicon images/clamtk.png images/clamtk.xpm
|
||||||
|
|
||||||
|
domenu clamtk.desktop
|
||||||
|
|
||||||
|
doman ../clamtk.1
|
||||||
|
|
||||||
|
if use kde; then
|
||||||
|
insinto /usr/share/kservices5/ServiceMenus
|
||||||
|
doins ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.desktop
|
||||||
|
|
||||||
|
doicon ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.png ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.xpm
|
||||||
|
|
||||||
|
doman ../clamtk-kde.1
|
||||||
|
|
||||||
|
docinto dolphin
|
||||||
|
dodoc ../clamtk-kde-${MY_PV_KDE}/CHANGES ../clamtk-kde-${MY_PV_KDE}/README.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use nautilus; then
|
||||||
|
insinto /usr/share/nautilus-python/extensions
|
||||||
|
doins ../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.py
|
||||||
|
|
||||||
|
doicon ../clamtk-gnome-${MY_PV_NAUTILUS}/images/clamtk-gnome.png
|
||||||
|
|
||||||
|
doman ../clamtk-gnome.1
|
||||||
|
|
||||||
|
docinto nautilus
|
||||||
|
dodoc ../clamtk-gnome-${MY_PV_NAUTILUS}/CHANGES ../clamtk-gnome-${MY_PV_NAUTILUS}/DISCLAIMER ../clamtk-gnome-${MY_PV_NAUTILUS}/README.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use nemo; then
|
||||||
|
insinto /usr/share/nemo/actions/
|
||||||
|
doins ../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.nemo_action
|
||||||
|
|
||||||
|
doman ../nemo-sendto-clamtk.1
|
||||||
|
|
||||||
|
docinto nemo
|
||||||
|
dodoc ../nemo-sendto-clamtk-${MY_PV_NEMO}/CHANGES ../nemo-sendto-clamtk-${MY_PV_NEMO}/DISCLAIMER ../nemo-sendto-clamtk-${MY_PV_NEMO}/README.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use thunar; then
|
||||||
|
insinto /usr/share/Thunar/sendto
|
||||||
|
doins ../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.desktop
|
||||||
|
|
||||||
|
doman ../thunar-sendto-clamtk.1
|
||||||
|
|
||||||
|
docinto thunar
|
||||||
|
dodoc ../thunar-sendto-clamtk-${MY_PV_THUNAR}/CHANGES ../thunar-sendto-clamtk-${MY_PV_THUNAR}/DISCLAIMER ../thunar-sendto-clamtk-${MY_PV_THUNAR}/README
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST file-roller-3.32.4.tar.xz 854444 BLAKE2B 04264e64af8ab4376fa6985683b16be7fef730a4e24044f726933b885aaaa6b630f347a256b09c2ce6183d0a0a392b33b4328715bf6d19cf7128c1980f9f4792 SHA512 16b5ddbdeacf4e9e61265ecff05e8f2e0034147c67ae7355d2442f9b26098ff253d24cb34c8e686c2ac031da6acac8e1e3c8a9f978e1eb2b446b1e045babafc7
|
DIST file-roller-3.32.4.tar.xz 854444 BLAKE2B 04264e64af8ab4376fa6985683b16be7fef730a4e24044f726933b885aaaa6b630f347a256b09c2ce6183d0a0a392b33b4328715bf6d19cf7128c1980f9f4792 SHA512 16b5ddbdeacf4e9e61265ecff05e8f2e0034147c67ae7355d2442f9b26098ff253d24cb34c8e686c2ac031da6acac8e1e3c8a9f978e1eb2b446b1e045babafc7
|
||||||
|
DIST file-roller-3.36.3.tar.xz 870608 BLAKE2B 4c57b99f2ca0eb4db3fac0216b63207d1664829ee54e21eb976a327bd65aec5abfd2a02b84bc80246fde131ede6ff63deaf8b63451db6a0fecc0121c8bce1a5b SHA512 41558ca8061276b1248fd3599e856051dcd69ca831fb4d8a33666dc373b4abed56e7ef204a6e041ceace05ea7234448d15bc7be8c48dc1809ac6d445de251370
|
||||||
|
@ -0,0 +1,92 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg
|
||||||
|
|
||||||
|
DESCRIPTION="Archive manager for GNOME"
|
||||||
|
HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+ CC-BY-SA-3.0"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="libnotify nautilus packagekit"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||||
|
|
||||||
|
# gdk-pixbuf used extensively in the source
|
||||||
|
# cairo used in eggtreemultidnd.c
|
||||||
|
# pango used in fr-window
|
||||||
|
RDEPEND="
|
||||||
|
>=app-arch/libarchive-3:=
|
||||||
|
>=dev-libs/glib-2.38:2
|
||||||
|
>=dev-libs/json-glib-0.14
|
||||||
|
>=x11-libs/gtk+-3.22.0:3
|
||||||
|
x11-libs/cairo
|
||||||
|
x11-libs/gdk-pixbuf:2
|
||||||
|
x11-libs/pango
|
||||||
|
libnotify? ( >=x11-libs/libnotify-0.4.3:= )
|
||||||
|
nautilus? ( >=gnome-base/nautilus-3.28.0 )
|
||||||
|
packagekit? ( app-admin/packagekit-base )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
dev-util/glib-utils
|
||||||
|
dev-util/itstool
|
||||||
|
>=sys-devel/gettext-0.19.8
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
|
||||||
|
DISABLE_AUTOFORMATTING="yes"
|
||||||
|
DOC_CONTENTS="
|
||||||
|
${PN} is a frontend for several archiving utilities. If you want a
|
||||||
|
particular archive format support, see ${HOMEPAGE}
|
||||||
|
and install the relevant package. For example:
|
||||||
|
7-zip - app-arch/p7zip
|
||||||
|
ace - app-arch/unace
|
||||||
|
arj - app-arch/arj
|
||||||
|
brotli - app-arch/brotli
|
||||||
|
cpio - app-arch/cpio
|
||||||
|
deb - app-arch/dpkg
|
||||||
|
iso - app-cdr/cdrtools
|
||||||
|
jar,zip - app-arch/zip and app-arch/unzip
|
||||||
|
lha - app-arch/lha
|
||||||
|
lzop - app-arch/lzop
|
||||||
|
lz4 - app-arch/lz4
|
||||||
|
rar - app-arch/unrar or app-arch/unar
|
||||||
|
rpm - app-arch/rpm
|
||||||
|
unstuff - app-arch/stuffit
|
||||||
|
zstd - app-arch/zstd
|
||||||
|
zoo - app-arch/zoo"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# File providing Gentoo package names for various archivers
|
||||||
|
cp -v "${FILESDIR}"/3.36-packages.match data/packages.match || die
|
||||||
|
|
||||||
|
xdg_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local emesonargs=(
|
||||||
|
-Drun-in-place=false
|
||||||
|
$(meson_use nautilus nautilus-actions)
|
||||||
|
$(meson_use libnotify notification)
|
||||||
|
$(meson_use packagekit)
|
||||||
|
-Dlibarchive=true
|
||||||
|
)
|
||||||
|
meson_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
meson_src_install
|
||||||
|
readme.gentoo_create_doc
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
gnome2_schemas_update
|
||||||
|
readme.gentoo_print_elog
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_pkg_postrm
|
||||||
|
gnome2_schemas_update
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
[Package Matches]
|
||||||
|
arj=app-arch/arj
|
||||||
|
binutils=sys-devel/binutils
|
||||||
|
brotli=app-arch/brotli
|
||||||
|
bzip2=app-arch/bzip2
|
||||||
|
cpio=app-arch/cpio
|
||||||
|
dpkg=app-arch/dpkg
|
||||||
|
genisoimage=virtual/cdrtools
|
||||||
|
gzip=app-arch/gzip
|
||||||
|
lha=app-arch/lha
|
||||||
|
lrzip=app-arch/lrzip
|
||||||
|
lz4=app-arch/lz4
|
||||||
|
lzip=app-arch/lzip
|
||||||
|
lzma=app-arch/xz-utils
|
||||||
|
lzop=app-arch/lzop
|
||||||
|
ncompress=app-arch/ncompress
|
||||||
|
p7zip=app-arch/p7zip
|
||||||
|
p7zip-full=
|
||||||
|
p7zip-rar=
|
||||||
|
rar=app-arch/rar
|
||||||
|
rpm=app-arch/rpm
|
||||||
|
rzip=app-arch/rzip
|
||||||
|
tar=app-arch/tar
|
||||||
|
unace=app-arch/unace
|
||||||
|
unalz=
|
||||||
|
unarchiver=app-arch/unar
|
||||||
|
unrar=app-arch/unrar
|
||||||
|
unsquashfs=sys-fs/squashfs-tools
|
||||||
|
unstaff=
|
||||||
|
unzip=app-arch/unzip
|
||||||
|
xz=app-arch/xz-utils
|
||||||
|
zip=app-arch/zip
|
||||||
|
zoo=app-arch/zoo
|
||||||
|
zstd=app-arch/zstd
|
||||||
|
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
DIST stress-ng-0.11.10.tar.xz 443208 BLAKE2B 273d98c8e8a7664e2ecd6431f0988b417980d9faf05550a80a0a90505907eec24eae5f717f4bd813f128f22870343861472bc1157373deb0aaef365b85de44fa SHA512 ae83fa107d17fe55c27429d4b0763db2b56c83d5ab88f4738f9b0be74a34c8adbb6d1dd7a5417ff1399c394c9a18c900265705f21c1cf123e0cc8361cb8214fe
|
DIST stress-ng-0.11.17.tar.xz 467156 BLAKE2B fab734e0dcd7633e6a47a3b6a41111dd900a2dfb2e3666d8fbf439d2d40ea6b7f5f25763aba5d774cf20ce43598e0bce2229e321c2a9512d5f26d8a795d70ce8 SHA512 8320e10fb2a2f224b23efe72af7d84e6beb73bbd54eff0a6c04afee14de5cbbf6584e1a6d936f52651467138e9647dfb0ff092aa7e73a9f8304627a603546f79
|
||||||
|
Binary file not shown.
@ -1,3 +1,2 @@
|
|||||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
|
||||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
|
||||||
inherit git-r3
|
|
||||||
S=${WORKDIR}/${P}/${PN}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
|
||||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
|
||||||
S=${WORKDIR}/certbot-${PV}/acme
|
|
||||||
fi
|
|
||||||
|
|
||||||
inherit distutils-r1
|
|
||||||
|
|
||||||
DESCRIPTION="An implementation of the ACME protocol"
|
|
||||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="doc test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/pyopenssl-0.13.1[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytz[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
DEPEND="
|
|
||||||
doc? (
|
|
||||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
|
||||||
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
test? (
|
|
||||||
${RDEPEND}
|
|
||||||
dev-python/nose[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytest[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
python_foreach_impl run_in_build_dir default
|
|
||||||
distutils-r1_src_compile
|
|
||||||
if use doc ; then
|
|
||||||
cd docs || die
|
|
||||||
sphinx-build -b html -d _build/doctrees . _build/html
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
python_test() {
|
|
||||||
nosetests -w ${PN} || die
|
|
||||||
}
|
|
||||||
|
|
||||||
python_install_all() {
|
|
||||||
use doc && local HTML_DOCS=( docs/_build/html/. )
|
|
||||||
|
|
||||||
distutils-r1_python_install_all
|
|
||||||
}
|
|
@ -1,3 +1,2 @@
|
|||||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
|
||||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
|
||||||
inherit git-r3
|
|
||||||
S=${WORKDIR}/${P}/${PN}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
|
|
||||||
KEYWORDS="amd64 ~arm64 x86"
|
|
||||||
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
|
|
||||||
fi
|
|
||||||
|
|
||||||
inherit distutils-r1
|
|
||||||
|
|
||||||
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
|
|
||||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
|
|
||||||
>=app-crypt/certbot-1.1.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/python-augeas[${PYTHON_USEDEP}]
|
|
||||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
|
||||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
|
||||||
DEPEND="test? ( ${RDEPEND}
|
|
||||||
dev-python/pytest[${PYTHON_USEDEP}] )
|
|
||||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
|
||||||
|
|
||||||
python_test() {
|
|
||||||
esetup.py test || die
|
|
||||||
}
|
|
@ -1,3 +1,2 @@
|
|||||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
|
||||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
|
||||||
inherit git-r3
|
|
||||||
S=${WORKDIR}/${P}/${PN}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
|
|
||||||
KEYWORDS="amd64 ~arm ~arm64 x86"
|
|
||||||
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
|
|
||||||
fi
|
|
||||||
|
|
||||||
inherit distutils-r1
|
|
||||||
|
|
||||||
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
|
|
||||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
|
|
||||||
>=app-crypt/certbot-1.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
|
|
||||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
|
||||||
DEPEND="${CDEPEND}"
|
|
@ -1,3 +1,2 @@
|
|||||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
|
||||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
|
||||||
fi
|
|
||||||
S=${WORKDIR}/${P}/${PN}
|
|
||||||
|
|
||||||
inherit distutils-r1
|
|
||||||
|
|
||||||
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
|
|
||||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
|
||||||
RDEPEND="
|
|
||||||
${CDEPEND}
|
|
||||||
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
|
|
||||||
dev-python/configobj[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/cryptography-2.8[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytz[${PYTHON_USEDEP}]
|
|
||||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
|
||||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
|
||||||
DEPEND="${CDEPEND}"
|
|
||||||
|
|
||||||
distutils_enable_tests pytest
|
|
||||||
|
|
||||||
python_prepare_all() {
|
|
||||||
# required as deps of deps can trigger this too...
|
|
||||||
echo ' ignore:.*collections\.abc:DeprecationWarning' >> ../pytest.ini
|
|
||||||
distutils-r1_python_prepare_all
|
|
||||||
}
|
|
@ -1 +1,2 @@
|
|||||||
DIST scdtools-0.3.4.tar.gz 254227 BLAKE2B d2959d1be860b4809f4b20b5b3e2b06534bb49220b6818b4ac9c8e73751c31dfa4a6c0200cc6bbb33d4a627f0d55b1c3cefda3def6a78bde925a0c58d9c0429a SHA512 ff25f6360c9bd73e63cefd8fe37103dc1ef2528d87ddf7c1006e913c921e78569ff6f12096d1407bfabf626e73376f13e25f606f8c45cba79803689176801b73
|
DIST scdtools-0.3.4.tar.gz 254227 BLAKE2B d2959d1be860b4809f4b20b5b3e2b06534bb49220b6818b4ac9c8e73751c31dfa4a6c0200cc6bbb33d4a627f0d55b1c3cefda3def6a78bde925a0c58d9c0429a SHA512 ff25f6360c9bd73e63cefd8fe37103dc1ef2528d87ddf7c1006e913c921e78569ff6f12096d1407bfabf626e73376f13e25f606f8c45cba79803689176801b73
|
||||||
|
DIST scdtools-0.3.5.tar.gz 155529 BLAKE2B 9b0791d8a5d92240968be82fbffd1838229586ce33b857d13fa40732bf3424df88c33c5f792e8178b52fbe06ff91c9c74e59ee686552973f7a8bbf8b1249589b SHA512 5c45948f7e6b6357aa6305c942bb388f9693908991049b2b279bbf1f27bb2de3df1b8278da30b1cc423975880890cf4533f10ca3de42c9dc88182aacc6466ced
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 2019-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
MY_P=scdtools-${PV}
|
||||||
|
DESCRIPTION="Feed kernel entropy pool from smartcard's TRNG"
|
||||||
|
HOMEPAGE="https://incenp.org/dvlpt/scdtools.html"
|
||||||
|
SRC_URI="https://incenp.org/files/softs/scdtools/$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
DEPEND="dev-libs/libgcrypt:=
|
||||||
|
dev-libs/libassuan:=
|
||||||
|
dev-libs/libgpg-error:="
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
app-crypt/gnupg"
|
||||||
|
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake -C lib
|
||||||
|
emake -C src scdrand
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() { :; }
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" -C man man_MANS="scdrand.1" install
|
||||||
|
emake DESTDIR="${D}" -C src bin_PROGRAMS="scdrand" install
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
DIST sndpeek.eselect-1.0.1.bz2 1263 BLAKE2B ab2ed4019fd3bd991803375dd6219e4ca8bcade739c435beaf034d701324db52d12b0967821716351455f39d181657d6153d889cc313c2a3761994afbd79194d SHA512 39cc065d4fbe408db9c406d84a0ebf4a69a9c50f440f26b714b5f154bf7b5de497df4226434d60c0b1e4e073bbe3a0ca96c3bd574148772a4912e2fc9c9c6b5b
|
|
@ -0,0 +1,143 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
DESCRIPTION="Manage /usr/bin/sndpeek audio engine"
|
||||||
|
MAINTAINER="cedk@gentoo.org"
|
||||||
|
|
||||||
|
# find a list of sndpeek symlink targets, best first
|
||||||
|
find_targets() {
|
||||||
|
local f
|
||||||
|
for f in \
|
||||||
|
${ROOT}/usr/bin/sndpeek-alsa \
|
||||||
|
${ROOT}/usr/bin/sndpeek-jack \
|
||||||
|
${ROOT}/usr/bin/sndpeek-oss \
|
||||||
|
; do
|
||||||
|
if [[ -f ${f} ]] ; then
|
||||||
|
echo $(basename ${f} )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# try to remove the sndpeek symlink
|
||||||
|
remove_symlinks() {
|
||||||
|
rm -f "${ROOT}"/usr/bin/sndpeek &>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# set the sndpeek symlink
|
||||||
|
set_symlinks() {
|
||||||
|
local target="${1}" targets
|
||||||
|
if is_number "${target}" && [[ ${target} -ge 1 ]] ; then
|
||||||
|
targets=( $(find_targets ) )
|
||||||
|
target=${targets[$(( ${target} - 1 ))]}
|
||||||
|
fi
|
||||||
|
if [[ -f "${ROOT}/usr/bin/${target}" ]] ; then
|
||||||
|
remove_symlinks
|
||||||
|
|
||||||
|
# it's not okay if these fail
|
||||||
|
ln -s "${ROOT}/usr/bin/${target}" "${ROOT}/usr/bin/sndpeek" || \
|
||||||
|
die "Couldn't set ${target} /usr/bin/sndpeek symlink"
|
||||||
|
else
|
||||||
|
die -q "Target \"${1}\" doesn't appear to be valid!"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### show action ###
|
||||||
|
|
||||||
|
describe_show() {
|
||||||
|
echo "Show the current sndpeek audio engine"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_show() {
|
||||||
|
[[ -z "${@}" ]] || die -q "Too many parameters"
|
||||||
|
|
||||||
|
write_list_start "Current sndpeek audio engine:"
|
||||||
|
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
write_kv_list_entry "$(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) )" ""
|
||||||
|
elif [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
write_kv_list_entry "(not a symlink)" ""
|
||||||
|
else
|
||||||
|
write_kv_list_entry "(unset)" ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### list action ###
|
||||||
|
|
||||||
|
describe_list() {
|
||||||
|
echo "List available sndpeek audio engines"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_list() {
|
||||||
|
[[ -z "${@}" ]] || die -q "Too many parameters"
|
||||||
|
|
||||||
|
local i targets
|
||||||
|
targets=( $(find_targets ) )
|
||||||
|
write_list_start "Available sndpeek audio engines:"
|
||||||
|
for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do
|
||||||
|
[[ ${targets[${i}]} == $(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) ) ]] && \
|
||||||
|
targets[${i}]=$(highlight_marker "${targets[${i}]}")
|
||||||
|
done
|
||||||
|
write_numbered_list -m "(none found)" "${targets[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
### set action ###
|
||||||
|
|
||||||
|
describe_set() {
|
||||||
|
echo "Set a new sndpeek audio engines"
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_set_options() {
|
||||||
|
echo "target : Target name or number (from 'list' action)"
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_set_parameters() {
|
||||||
|
echo "<target>"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_set() {
|
||||||
|
if [[ -z "${1}" ]] ; then
|
||||||
|
die -q "You didn't give me an audio engine"
|
||||||
|
|
||||||
|
elif [[ -n "${2}" ]] ; then
|
||||||
|
die -q "Too many parameters"
|
||||||
|
|
||||||
|
elif [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
if ! remove_symlinks ; then
|
||||||
|
die -q "Can't remove existing provider"
|
||||||
|
elif ! set_symlinks "${1}" ; then
|
||||||
|
die -q "Can't set new provider"
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
die -q "Sorry, ${ROOT}/usr/bin/sndpeek confuses me"
|
||||||
|
|
||||||
|
else
|
||||||
|
set_symlinks "${1}" || die -q "Can't set a new audio engine"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### update action ###
|
||||||
|
|
||||||
|
describe_update() {
|
||||||
|
echo "Automatically update the audio engine"
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_update_options() {
|
||||||
|
echo "--if-unset : Do not override existing audio engine"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_update() {
|
||||||
|
[[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \
|
||||||
|
die -q "Usage error"
|
||||||
|
|
||||||
|
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
[[ ${1} == "--if-unset" ]] && return
|
||||||
|
remove_symlinks || die -q "Can't remove existing link"
|
||||||
|
fi
|
||||||
|
if [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||||
|
die -q "Can't set a new provider"
|
||||||
|
elif ! [[ -z $(find_targets ) ]] ; then
|
||||||
|
set_symlinks 1 || die -q "Can't set a new provider"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: set ft=eselect :
|
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
DIST node_exporter-0.18.1.tar.gz 2110072 BLAKE2B 48c73d00cba892e34e95d40bd29c9ca70bc5748590f00cb7f8adcd25d8a9504f669d887b1273cc65316ca55b06c36d97a3e19a66382f35d5768db7c315981a13 SHA512 cf2b854fbec1ba39b18432cdc11ab507ebc5b2828e6b34b4f49af9b949fcd365cb3e5eb1e265d0825783810c6b1572a8b3512ec27a46e5c83f89a505590159c0
|
DIST node_exporter-0.18.1.tar.gz 2110072 BLAKE2B 48c73d00cba892e34e95d40bd29c9ca70bc5748590f00cb7f8adcd25d8a9504f669d887b1273cc65316ca55b06c36d97a3e19a66382f35d5768db7c315981a13 SHA512 cf2b854fbec1ba39b18432cdc11ab507ebc5b2828e6b34b4f49af9b949fcd365cb3e5eb1e265d0825783810c6b1572a8b3512ec27a46e5c83f89a505590159c0
|
||||||
DIST node_exporter-1.0.0_rc0.tar.gz 2753717 BLAKE2B 2e1984d080ce2a16ca710a3da882b311510b2741836d615075281f5fce2641be35084090d9bcedcb8bf4f6a18333c5fcd53eb98817d1efed4c1a26261a02bffd SHA512 ec1d79367c69a7ccdacc9482a38625ffc9adab6d781b789cc226eed0bd893deca5cfc420a096f790ccd57834492551d36e2f307ad27a6c67585c8ef31887b50f
|
DIST node_exporter-1.0.1.tar.gz 2792033 BLAKE2B 4e86c348a293e8a4a8d5e22fe99871d84a817cfbbe3ac10b0e7b4fbba3ae7b12352c619f140e3568aa2fb3e4cdfdbde0d19d792497a0b0007b634cb3a4d21e38 SHA512 0643042a04494a65d1ebdedf78671a1e3473b7ac6f3bc606fa2c52e893dfc68b591ef7e38ac6768c4c529c25b831811c01839475a4fde9baeb0a6c581a57839f
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
inherit golang-build golang-vcs-snapshot systemd
|
|
||||||
|
|
||||||
EGO_PN="github.com/prometheus/node_exporter"
|
|
||||||
EGIT_COMMIT="v${PV/_rc/-rc.}"
|
|
||||||
NODE_EXPORTER_COMMIT="ef7c058"
|
|
||||||
ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
|
|
||||||
DESCRIPTION="Prometheus exporter for machine metrics"
|
|
||||||
HOMEPAGE="https://github.com/prometheus/node_exporter"
|
|
||||||
SRC_URI="${ARCHIVE_URI}"
|
|
||||||
LICENSE="Apache-2.0 BSD BSD-2 MIT"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
CDEPEND="acct-group/node_exporter
|
|
||||||
acct-user/node_exporter"
|
|
||||||
DEPEND=">=dev-lang/go-1.12
|
|
||||||
>=dev-util/promu-0.3.0
|
|
||||||
${CDEPEND}"
|
|
||||||
RDEPEND="${CDEPEND}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
pushd src/${EGO_PN} || die
|
|
||||||
mkdir -p bin || die
|
|
||||||
GO111MODULE=on GOPATH="${S}" GOCACHE="${T}"/go-cache promu build -v --prefix node_exporter || die
|
|
||||||
popd || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
# binary and docs
|
|
||||||
dobin src/"${EGO_PN}"/node_exporter/node_exporter
|
|
||||||
dodoc src/"${EGO_PN}"/{README,CHANGELOG,CONTRIBUTING}.md
|
|
||||||
# systemd
|
|
||||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
|
||||||
insinto /etc/sysconfig
|
|
||||||
newins src/"${EGO_PN}"/examples/systemd/sysconfig.node_exporter node_exporter
|
|
||||||
# openrc
|
|
||||||
newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
|
|
||||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
|
||||||
# maintence
|
|
||||||
keepdir /var/lib/node_exporter /var/log/node_exporter
|
|
||||||
fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
|
|
||||||
}
|
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST ddate-0.2.2.tar.gz 8049 BLAKE2B 7a987595b2dc399a5fc254891b92af84c9f94830f65c756f75db30c1e4db008ad715608ad37d53f3b73f3f5263023c066c546eb7536dc7439ded3650996be001 SHA512 5d148e030bee392eb93c5ae519061af0736f2f75eaae916e3efaf927d9f4de8cc72afc4a5121b6fbc0264b73e9f580330a38b97bb78837d447d0b4c1fc29ec06
|
DIST ddate-0.2.2.tar.gz 8049 BLAKE2B 7a987595b2dc399a5fc254891b92af84c9f94830f65c756f75db30c1e4db008ad715608ad37d53f3b73f3f5263023c066c546eb7536dc7439ded3650996be001 SHA512 5d148e030bee392eb93c5ae519061af0736f2f75eaae916e3efaf927d9f4de8cc72afc4a5121b6fbc0264b73e9f580330a38b97bb78837d447d0b4c1fc29ec06
|
||||||
|
DIST ddate-0.2.2_p20160627.tar.gz 8079 BLAKE2B 7885dd34762297df801f9fe5736d1409280646cc9295780f3fa6da0a06127fa455c96117883e1087b0390498de1b58ac31071434e6b9e30a0f6a15b2e4c6c279 SHA512 279e02e1846cc2f505466882828aa699eaa7206e0025575babdb33738b920291d65ac4082f58c77e6046e69c2604b05de67f5b9b3cbc64589ff28a27e2256eef
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
EGIT_COMMIT="899ca665a0cb725990c33415dc3c0261dac7fe46"
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
DESCRIPTION="Perpetual date converter from gregorian to poee calendar"
|
||||||
|
HOMEPAGE="https://github.com/bo0ts/ddate"
|
||||||
|
SRC_URI="https://github.com/bo0ts/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||||
|
LICENSE="public-domain"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}/${PN}-0.2.2-dont-compress-manpage.patch" )
|
@ -1,2 +1,3 @@
|
|||||||
DIST kryoflux-ui.jar 2101377 BLAKE2B db9922b9d5787772849d1ef9edae52d64de066f643c471412ed9129307c4ee399ec3a18ebcacd7428ab15eabf5307e916b678831f2fa456cbd7073aa60bbb574 SHA512 66ba81ed1b2a97a0391e513c45b19436f17677e3dfe7c063749e41763658f99a5eb92e5b3312f4151f8fc51bd79502ac11ffd895966117e1d5a9849867aeb957
|
DIST kryoflux-ui.jar 2101377 BLAKE2B db9922b9d5787772849d1ef9edae52d64de066f643c471412ed9129307c4ee399ec3a18ebcacd7428ab15eabf5307e916b678831f2fa456cbd7073aa60bbb574 SHA512 66ba81ed1b2a97a0391e513c45b19436f17677e3dfe7c063749e41763658f99a5eb92e5b3312f4151f8fc51bd79502ac11ffd895966117e1d5a9849867aeb957
|
||||||
DIST kryoflux_2.6_linux.tar.bz2 9177658 BLAKE2B 6eb0bc7a166950bfedb32da466c17125a8a7d64e4bc9aa6610c69dd0f98c2fb5187ad19dbaf191b33dcb5a786ec4a1fa9bce2464c3c04eb152e0b9ed7ae770f2 SHA512 9bf700e9c646bad135999eb1fed12c86ff6fbc11a0034b86af7541fb16a4905dd740c706ebb87bf5848f5d80f45699c350a56397df5b6850559c2576d18eef1b
|
DIST kryoflux_2.6_linux.tar.bz2 9177658 BLAKE2B 6eb0bc7a166950bfedb32da466c17125a8a7d64e4bc9aa6610c69dd0f98c2fb5187ad19dbaf191b33dcb5a786ec4a1fa9bce2464c3c04eb152e0b9ed7ae770f2 SHA512 9bf700e9c646bad135999eb1fed12c86ff6fbc11a0034b86af7541fb16a4905dd740c706ebb87bf5848f5d80f45699c350a56397df5b6850559c2576d18eef1b
|
||||||
|
DIST kryoflux_3.00_windows.zip 18502294 BLAKE2B f8e60b0feb6e7d7b9a43480b0b4cf67b79c5431fa20ee9e771ee7adf214e1c992d080c2eb6a043f141936f2de873d63079e994b90e994051a29391c6a308f190 SHA512 12de0c7d28b0abca2eb35748770fe96906c12940b7148103f56713fe1144e09759d362a24c094a7088713557da467b90f4e3d0ace59252cb84e3349dc73ee5bd
|
||||||
|
@ -0,0 +1,108 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
MY_P="kryoflux_${PV}_linux"
|
||||||
|
MY_P_WINDOWS="kryoflux_3.00_windows"
|
||||||
|
|
||||||
|
inherit desktop eutils udev xdg-utils
|
||||||
|
|
||||||
|
DESCRIPTION="KryoFlux Host Software"
|
||||||
|
HOMEPAGE="https://www.kryoflux.com"
|
||||||
|
SRC_URI="
|
||||||
|
https://www.kryoflux.com/download/${MY_P}.tar.bz2
|
||||||
|
gui? ( https://www.kryoflux.com/download/${MY_P_WINDOWS}.zip )
|
||||||
|
"
|
||||||
|
|
||||||
|
KEYWORDS="-* ~amd64 ~x86"
|
||||||
|
LICENSE="SPS"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="demos doc fast-firmware gui static"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/spsdeclib
|
||||||
|
virtual/libusb:1
|
||||||
|
virtual/udev
|
||||||
|
gui? ( virtual/jre )
|
||||||
|
"
|
||||||
|
|
||||||
|
BDEPEND="app-arch/unzip"
|
||||||
|
|
||||||
|
RESTRICT="bindist mirror"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
QA_PREBUILT="/usr/bin/kryoflux-dtc"
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
unpack "${MY_P}".tar.bz2
|
||||||
|
|
||||||
|
if use gui; then
|
||||||
|
unpack "${MY_P_WINDOWS}".zip
|
||||||
|
|
||||||
|
# Extract kryoflux-ui.jar to get a logo for the meny entry
|
||||||
|
unpack "${MY_P_WINDOWS}"/dtc/kryoflux-ui.jar
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
newbin dtc/$(usex amd64 x86_64 i686)/$(usex static static dynamic)/dtc kryoflux-dtc
|
||||||
|
|
||||||
|
cat <<-EOF > "${T}"/80-kryoflux.rules || die
|
||||||
|
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="6124", GROUP="floppy", MODE="0660"
|
||||||
|
EOF
|
||||||
|
udev_dorules "${T}"/80-kryoflux.rules
|
||||||
|
|
||||||
|
if use gui; then
|
||||||
|
insinto /usr/share/kryoflux-ui
|
||||||
|
doins "${WORKDIR}"/"${MY_P_WINDOWS}"/dtc/kryoflux-ui.jar
|
||||||
|
|
||||||
|
dosym ../../bin/kryoflux-dtc /usr/share/kryoflux-ui/dtc
|
||||||
|
|
||||||
|
make_wrapper kryoflux-ui "java -jar kryoflux-ui.jar" /usr/share/kryoflux-ui
|
||||||
|
|
||||||
|
newicon "${WORKDIR}"/images/disk.png kryoflux-ui.png
|
||||||
|
|
||||||
|
make_desktop_entry "kryoflux-ui" "KryoFlux UI" kryoflux-ui Development
|
||||||
|
|
||||||
|
dodoc dtc/kryoflux-ui_README.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use fast-firmware; then
|
||||||
|
insinto /lib/firmware
|
||||||
|
doins dtc/firmware_fast/firmware_kf_usb_rosalie.bin
|
||||||
|
|
||||||
|
dodoc dtc/firmware_fast/firmware_fast_README.txt
|
||||||
|
else
|
||||||
|
insinto /lib/firmware
|
||||||
|
doins dtc/firmware_kf_usb_rosalie.bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use demos; then
|
||||||
|
dodoc -r g64_demo ipf_demo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use doc; then
|
||||||
|
dodoc -r docs schematics
|
||||||
|
fi
|
||||||
|
|
||||||
|
local DOCS=( "DONATIONS.txt" "RELEASE.txt" "README.linux" )
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog "If you want to access your Kryoflux without root access,"
|
||||||
|
elog "please add yourself to the floppy group."
|
||||||
|
|
||||||
|
if use fast-firmware; then
|
||||||
|
elog ""
|
||||||
|
elog "You have enabled the fast firmware. Please keep in mind,"
|
||||||
|
elog "that this firmware can cause trouble with older floppy drives."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use gui; then
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
fi
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST push-2.0.tar.gz 2211 BLAKE2B 5875962c3aaa2e3eec2dcd3b70a0b5325684dffaf0b01b8f336db835bcfc4b24fc5d28817eb9032d8a10c5759089e2bbf42fba058403ebf420a77bb7d2754c95 SHA512 03c40bd8b3b09473952ecf13edd622533616de47638741214b40856b33993f9310d62be34fac6f68b950f58167c3111082554961a800a43a3ecf8a7d138ffdff
|
DIST push-2.0.tar.gz 2211 BLAKE2B 5875962c3aaa2e3eec2dcd3b70a0b5325684dffaf0b01b8f336db835bcfc4b24fc5d28817eb9032d8a10c5759089e2bbf42fba058403ebf420a77bb7d2754c95 SHA512 03c40bd8b3b09473952ecf13edd622533616de47638741214b40856b33993f9310d62be34fac6f68b950f58167c3111082554961a800a43a3ecf8a7d138ffdff
|
||||||
|
DIST push-3.3.tar.gz 2794 BLAKE2B 98bc36a27e10e4b548f35802eb56ccab0ecd59ae512cde946382653aff0d8744c9908abda748e07b7eb398780a7bc4e2fdbe157b409cc71c9a184d36fe4debb8 SHA512 e0b26af53eb89ba706c681d8fbdc77f7be8d18e02446aa9a1096faa2ead714fcea4687f4dd28c422a598465721b69b075485ef29289effc9c9dd58ed0d915c9a
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="A POSIX shell function to treat a variable like an array, quoting args"
|
||||||
|
HOMEPAGE="https://github.com/vaeth/push/"
|
||||||
|
SRC_URI="https://github.com/vaeth/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
|
||||||
|
|
||||||
|
src_compile() { :; }
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/share/${PN}
|
||||||
|
doins bin/push.sh
|
||||||
|
dodoc README.md
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
DIST quoter-3.0_p2.tar.gz 10691 BLAKE2B 2fb196977c5c16654813e6077c148577e4629da25fb1aaf2131c19e33fbfbc670ad4d9af87611405f0b45a1365bc7b4b3f1b8cad47573ffae4939cc0329d50a4 SHA512 23d77105fa05d79a7d0bcaa3f6aead25b7cb3b6f459d2740314616da587e03cd3e6b0b1e8af8f79904309bbe76603db848d42996ed7ae5ef779e27184a434fb5
|
DIST quoter-3.0_p2.tar.gz 10691 BLAKE2B 2fb196977c5c16654813e6077c148577e4629da25fb1aaf2131c19e33fbfbc670ad4d9af87611405f0b45a1365bc7b4b3f1b8cad47573ffae4939cc0329d50a4 SHA512 23d77105fa05d79a7d0bcaa3f6aead25b7cb3b6f459d2740314616da587e03cd3e6b0b1e8af8f79904309bbe76603db848d42996ed7ae5ef779e27184a434fb5
|
||||||
|
DIST quoter-4.2.tar.gz 11128 BLAKE2B 6b13a8eabae57c50c12dcbf9a65e28990ee6d74ee2c45c4a6127f5ed98c2ae029fd5d00f82444c46ab6a21057c6279e9f3d19c432f921d04ca3bf3eaa9507cb0 SHA512 0080ae6d5f5308b9e2f9e414619049f10246c221a9524f9f0dc0d329af3592694ae9d6ef6a086615b895c5f6598fbed7ec7164b5a847d11108fbe3687316c02d
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2016-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
inherit toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Quote arguments or standard input for usage in POSIX shell by eval"
|
||||||
|
HOMEPAGE="https://github.com/vaeth/quoter/"
|
||||||
|
SRC_URI="https://github.com/vaeth/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export CC
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${ED}" install
|
||||||
|
|
||||||
|
rm -f "${ED}"/usr/bin/quoter_pipe.sh || die
|
||||||
|
insinto /usr/share/${PN}
|
||||||
|
doins bin/quoter_pipe.sh
|
||||||
|
}
|
Binary file not shown.
@ -1,3 +1,2 @@
|
|||||||
DIST cb2bib-1.9.8.tar.gz 1180660 BLAKE2B 86a826a9285ecd5ecd266b3935ddfa330153cba4b28f378519b464719d5a2bcaa6043470d36ba5c443202a07a18bbaeb28c3371db07063f0d682b54d2a8fe373 SHA512 717f9b4de3e261e6d22a7e514e2ec5891723572f1624280edc8a980171f4dada6e177a3e95748fc39ff0ba1c137406e38dd14f43a0f1e0995c1f39992842f38a
|
DIST cb2bib-1.9.8.tar.gz 1180660 BLAKE2B 86a826a9285ecd5ecd266b3935ddfa330153cba4b28f378519b464719d5a2bcaa6043470d36ba5c443202a07a18bbaeb28c3371db07063f0d682b54d2a8fe373 SHA512 717f9b4de3e261e6d22a7e514e2ec5891723572f1624280edc8a980171f4dada6e177a3e95748fc39ff0ba1c137406e38dd14f43a0f1e0995c1f39992842f38a
|
||||||
DIST cb2bib-1.9.9.tar.gz 1292720 BLAKE2B 7263d09ab077d1029129b81abbf7a745405d476776ab91d4b73dc9799b3d945e46283fe565fee32b08df7a8734c027cbeacf0e7a44c4e15efaa6c992c69f9b7a SHA512 66e81ea8d86cdf374c9e1109d26e02c0b3101608e751ab6bbded76cca42eb8c2c1d43f6a993b9003b6013d815683f644bff7513ce63dc750ffa8d608cccb49b3
|
|
||||||
DIST cb2bib-2.0.0.tar.gz 1337422 BLAKE2B 6b1137c162f69f6d875aa3ae73b5995a067b332b3a7c0a5e69b787f352810768559c227c793204ca40ec594667624d329b5202c28056bca2e13110afebe57f63 SHA512 de1f3a36b98e016c5fa7317ba3fa8c5b767bd4b37bad1318298a57999bead4cc70d18ac49bb87fde57c4379f3347988846a7aa9b88e23a381d6c193bb1354cc2
|
DIST cb2bib-2.0.0.tar.gz 1337422 BLAKE2B 6b1137c162f69f6d875aa3ae73b5995a067b332b3a7c0a5e69b787f352810768559c227c793204ca40ec594667624d329b5202c28056bca2e13110afebe57f63 SHA512 de1f3a36b98e016c5fa7317ba3fa8c5b767bd4b37bad1318298a57999bead4cc70d18ac49bb87fde57c4379f3347988846a7aa9b88e23a381d6c193bb1354cc2
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
# Copyright 1999-2018 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit qmake-utils
|
|
||||||
|
|
||||||
DESCRIPTION="Tool for extracting unformatted bibliographic references"
|
|
||||||
HOMEPAGE="https://www.molspaces.com/cb2bib/"
|
|
||||||
SRC_URI="https://www.molspaces.com/dl/progs/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="+lzo webengine +webkit"
|
|
||||||
|
|
||||||
REQUIRED_USE="?? ( webkit webengine )"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
dev-qt/qtcore:5
|
|
||||||
dev-qt/qtgui:5
|
|
||||||
dev-qt/qtnetwork:5
|
|
||||||
dev-qt/qtwidgets:5
|
|
||||||
lzo? ( dev-libs/lzo:2 )
|
|
||||||
webengine? ( dev-qt/qtwebengine:5[widgets] )
|
|
||||||
webkit? ( dev-qt/qtwebkit:5 )
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS CHANGELOG COPYRIGHT )
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
sed -i -e "s|../AUTHORS ../COPYRIGHT ../LICENSE ../CHANGELOG||" src/src.pro || die
|
|
||||||
|
|
||||||
use webengine || sed -i -e "s/qtHaveModule(webenginewidgets)/false/g" src/src.pro || die
|
|
||||||
use webkit || sed -i -e "s/qtHaveModule(webkitwidgets)/false/g" src/src.pro || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
eqmake5 \
|
|
||||||
$(use !lzo && echo -config disable_lzo)
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake INSTALL_ROOT="${D}" install
|
|
||||||
einstalldocs
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
elog "For best functionality, emerge the following packages:"
|
|
||||||
elog " app-text/poppler[utils] - for data import from PDF files"
|
|
||||||
elog " app-text/dvipdfm - for data import from DVI files"
|
|
||||||
elog " app-text/bibutils - for data import from ISI, endnote format"
|
|
||||||
elog " media-fonts/jsmath - for displaying mathematical notation"
|
|
||||||
elog " media-libs/exiftool - for proper UTF-8 metadata writing in PDF"
|
|
||||||
elog " text strings"
|
|
||||||
elog " virtual/latex-base - to check for BibTeX file correctness and to get"
|
|
||||||
elog " nice printing through the shell script bib2pdf"
|
|
||||||
}
|
|
Binary file not shown.
@ -1,8 +1 @@
|
|||||||
DIST mysql-connector-odbc-5.3.10-src.tar.gz 2646571 BLAKE2B e85e179ee8a54c8c98dd254e949c08227adc72141d52bc15935eafd60edaf95f47c12ca51fa9472ae29c761d5de2149277c58e6d3f02a566668be17f595ca7ba SHA512 ebe56b95a1690332959a7a37e8ed381b46730fb9f6fbd6522ddc1a6961e4c8cdac59681a957b33abeb6cae12f210278e4063daa59ce952d92acf427bc188e22b
|
|
||||||
DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B e41dd65d940c0c91c67e6ec4c46ea2c3327e96d372c493635d05833862f2aa73919410a9e9a9c090a6fa65fd29e022a9b088c07a5e11089aee04b3b86005ad1e SHA512 02fcf6ac88f6052206aa55b6fc2b37f499da26e596e8e64b1c20e87dc4a24f745416da56c6e1268feff60321f54cb45864b8d34e055ea2f99da37b6efeedc844
|
|
||||||
DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz 12013057 BLAKE2B e372cfb6ca49f9f01e9e60d7cd497fc009ec38dee76ca2cfb74cc95213b84ef1eebca85e1400f19c9715c0f9b2ef40fc212196e14189f5506be8d0e887507ce4 SHA512 b54ca167f762b4d8b988b4a91f14dc6a4bf49f55bc639ce8eecc9eba6c11400bd3494d74ef77ebe3348bdefd8fb5b8c1b62b3a6beebb926a1899da17ea4a1b44
|
|
||||||
DIST mysql-connector-odbc-8.0.16-src.tar.gz 3986610 BLAKE2B c91760f8e0352a57adb5400700d22f52f70d5210d85ff0932f5288f19c917c771ce9ea9abad097d27a9723c585d1029d56c09f6865f634f9c41ad852690e016d SHA512 b7ddcdf635441bc3ed0325a8562f453e42d3c9768b0fe0b42d9b5417e268f4631e3fca3c2adc417c124ede37254c7b1890c792593d846ecaf5b158ce4b4808cd
|
|
||||||
DIST mysql-connector-odbc-8.0.17-src.tar.gz 3953949 BLAKE2B 6d7fcef89c15d9f421f690291e793f1020b5f77f5e2132f130becd1ceed041887ffce77fda4cbc411d06972f1d488d434c8f132c0778af30a436c6b6e372e59e SHA512 474b107eb5d4c23e10c24dcf37b3787418afbd34ea385791fd0d8cdb5d29a6770cde4a61e3591329b344c442ff8f6daad3a2c250e881f9f5837eaa4e951af7e4
|
|
||||||
DIST mysql-connector-odbc-8.0.19-src.tar.gz 3770465 BLAKE2B 7c57d85c13c17c08e1aed1deff3d60851ff68474c42971ea796fc50e3b766d7c49e5d993527691534c30f4007a94be852ac240bf50244cd3adf0f9500fbfc68c SHA512 4761d9d3eeccc932bfd76b9b27be4672e65b6125e85312dcfcb0b8b3cfe0ccf19982d40b2f85ae26e936e968d35d3136bab201b7dcb47eb4ad460c178c0d9f88
|
|
||||||
DIST mysql-connector-odbc-8.0.20-src.tar.gz 3734268 BLAKE2B 606e8fe88712371da74bee8f44b21a56a2572603b1af693733fdd9ccd7ab62cb16a224593b368a40a021ed87ee433213a1a03b775c07b6bd28bbc44b7f905288 SHA512 483eb5c1d4a75ec4ec8681b33633bf89db708737191d149e1fed3c8bf0f839ab70951982a664fbf078c73fdfc114b126b5146682238faa244c904becf80858d7
|
|
||||||
DIST mysql-connector-odbc-8.0.21-src.tar.gz 3744268 BLAKE2B d43942cc94858023ae0c2140ffba8a0a676a763b167ef4cbf500b2b9c14d2b3486696f68d03b2cc4607cb7f302e2af25f1e5ce564441ecf6d44a03874e489c07 SHA512 dca83db2ae25e08e44eaf814cad7234c8b17c2935de69bec7d238881404b2bc062fd7e28c626b594a062ee488123be545b9384742e09168e64a1423425a41c40
|
DIST mysql-connector-odbc-8.0.21-src.tar.gz 3744268 BLAKE2B d43942cc94858023ae0c2140ffba8a0a676a763b167ef4cbf500b2b9c14d2b3486696f68d03b2cc4607cb7f302e2af25f1e5ce564441ecf6d44a03874e489c07 SHA512 dca83db2ae25e08e44eaf814cad7234c8b17c2935de69bec7d238881404b2bc062fd7e28c626b594a062ee488123be545b9384742e09168e64a1423425a41c40
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
=== modified file 'CMakeLists.txt'
|
|
||||||
--- a/CMakeLists.txt 2013-03-09 09:51:06 +0000
|
|
||||||
+++ b/CMakeLists.txt 2013-03-09 11:05:27 +0000
|
|
||||||
@@ -33,6 +33,12 @@
|
|
||||||
|
|
||||||
INCLUDE(version.cmake)
|
|
||||||
|
|
||||||
+IF(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ELSE(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR})
|
|
||||||
+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+
|
|
||||||
#Default is to build both drivers
|
|
||||||
IF(UNICODE OR NOT ANSI)
|
|
||||||
MESSAGE(STATUS "Configuring to build Unicode driver")
|
|
||||||
@@ -329,19 +335,17 @@
|
|
||||||
|
|
||||||
ELSE(WIN32)
|
|
||||||
|
|
||||||
- INSTALL(FILES ChangeLog DESTINATION .)
|
|
||||||
- INSTALL(FILES README DESTINATION .)
|
|
||||||
- INSTALL(FILES README.debug DESTINATION .)
|
|
||||||
- INSTALL(FILES INSTALL DESTINATION .)
|
|
||||||
+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
|
|
||||||
- INSTALL(FILES COPYING DESTINATION .)
|
|
||||||
ELSE()
|
|
||||||
- INSTALL(FILES LICENSE.mysql DESTINATION .)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
-INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .)
|
|
||||||
+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
|
|
||||||
INCLUDE(CPack)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
|
|
||||||
--- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500
|
|
||||||
+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500
|
|
||||||
@@ -747,7 +747,7 @@
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT MYSQL_CXXFLAGS)
|
|
||||||
- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603)
|
|
||||||
+ if(MYSQL_CXX_LINKAGE)
|
|
||||||
_mysql_conf(MYSQL_CXXFLAGS "--cxxflags")
|
|
||||||
set(MYSQL_CXX_LINKAGE 1)
|
|
||||||
else()
|
|
||||||
diff -aurN a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
--- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500
|
|
||||||
+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500
|
|
||||||
@@ -379,10 +379,9 @@
|
|
||||||
SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
|
|
||||||
SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib")
|
|
||||||
|
|
||||||
-SET(LIB_SUBDIR "lib")
|
|
||||||
-IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)")
|
|
||||||
- SET(LIB_SUBDIR "lib64")
|
|
||||||
-ENDIF()
|
|
||||||
+IF(NOT LIB_SUBDIR)
|
|
||||||
+ MESSAGE(ERROR "LIB_SUBDIR is not set")
|
|
||||||
+ENDIF(NOT LIB_SUBDIR)
|
|
||||||
|
|
||||||
MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}")
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
--- a/include/sys_main.h 2018-01-19 05:36:38.000000000 -0500
|
|
||||||
+++ b/include/sys_main.h 2018-03-01 11:40:04.554713079 -0500
|
|
||||||
@@ -20,6 +20,8 @@
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#include "sys/mysql/psi/psi_memory.h"
|
|
||||||
+
|
|
||||||
#define MY_FAE 8 /* Fatal if any error */
|
|
||||||
#define MY_WME 16 /* Write message on error */
|
|
||||||
#define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */
|
|
||||||
--- a/driver/connect.c 2018-01-19 05:36:38.000000000 -0500
|
|
||||||
+++ b/driver/connect.c 2018-03-01 11:39:51.458676373 -0500
|
|
||||||
@@ -179,7 +179,7 @@
|
|
||||||
/* Set other connection options */
|
|
||||||
|
|
||||||
if (ds->allow_big_results || ds->safe)
|
|
||||||
-#if MYSQL_VERSION_ID >= 50709
|
|
||||||
+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION)
|
|
||||||
mysql_options(mysql, MYSQL_OPT_MAX_ALLOWED_PACKET, &max_long);
|
|
||||||
#else
|
|
||||||
/* max_allowed_packet is a magical mysql macro. */
|
|
||||||
@@ -252,7 +252,7 @@
|
|
||||||
ds_get_utf8attr(ds->rsakey, &ds->rsakey8));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
-#if MYSQL_VERSION_ID >= 50710
|
|
||||||
+#if MYSQL_VERSION_ID >= 50710 && !defined(MARIADB_BASE_VERSION)
|
|
||||||
{
|
|
||||||
char tls_options[128] = { 0 };
|
|
||||||
if (!ds->no_tls_1)
|
|
||||||
@@ -323,7 +323,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mysql->options.use_ssl = !ds->disable_ssl_default;
|
|
||||||
-#if MYSQL_VERSION_ID >= 50703
|
|
||||||
+#if MYSQL_VERSION_ID >= 50703 && !defined(MARIADB_BASE_VERSION)
|
|
||||||
{
|
|
||||||
if (ds->ssl_enforce)
|
|
||||||
{
|
|
||||||
@@ -332,7 +332,7 @@
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if MYSQL_VERSION_ID >= 50711
|
|
||||||
+#if MYSQL_VERSION_ID >= 50711 && !defined(MARIADB_BASE_VERSION)
|
|
||||||
if (ds->sslmode)
|
|
||||||
{
|
|
||||||
unsigned int mode = 0;
|
|
||||||
@@ -510,7 +510,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-#if MYSQL_VERSION_ID >= 50709
|
|
||||||
+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION)
|
|
||||||
mysql_get_option(mysql, MYSQL_OPT_NET_BUFFER_LENGTH, &dbc->net_buffer_len);
|
|
||||||
#else
|
|
||||||
// for older versions just use net_buffer_length() macro
|
|
@ -1,63 +0,0 @@
|
|||||||
diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
|
|
||||||
--- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500
|
|
||||||
+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500
|
|
||||||
@@ -747,7 +747,7 @@
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT MYSQL_CXXFLAGS)
|
|
||||||
- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603)
|
|
||||||
+ if(MYSQL_CXX_LINKAGE)
|
|
||||||
_mysql_conf(MYSQL_CXXFLAGS "--cxxflags")
|
|
||||||
set(MYSQL_CXX_LINKAGE 1)
|
|
||||||
else()
|
|
||||||
diff -aurN a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
--- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500
|
|
||||||
+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500
|
|
||||||
@@ -379,10 +379,9 @@
|
|
||||||
SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
|
|
||||||
SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib")
|
|
||||||
|
|
||||||
-SET(LIB_SUBDIR "lib")
|
|
||||||
-IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64|aarch64)")
|
|
||||||
- SET(LIB_SUBDIR "lib64")
|
|
||||||
-ENDIF()
|
|
||||||
+IF(NOT LIB_SUBDIR)
|
|
||||||
+ MESSAGE(ERROR "LIB_SUBDIR is not set")
|
|
||||||
+ENDIF(NOT LIB_SUBDIR)
|
|
||||||
|
|
||||||
MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}")
|
|
||||||
|
|
||||||
diff -aurN a/driver/CMakeLists.txt b/driver/CMakeLists.txt
|
|
||||||
--- a/driver/CMakeLists.txt 2019-06-11 13:46:37.863345781 -0400
|
|
||||||
+++ b/driver/CMakeLists.txt 2019-06-11 14:04:25.758997218 -0400
|
|
||||||
@@ -194,29 +194,3 @@
|
|
||||||
|
|
||||||
ENDWHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
|
|
||||||
|
|
||||||
-IF(MYSQL8)
|
|
||||||
- SET(ssl_libs_to_find
|
|
||||||
- libcrypto.*
|
|
||||||
- libssl.*
|
|
||||||
- libeay32.*
|
|
||||||
- ssleay32.*
|
|
||||||
- )
|
|
||||||
-
|
|
||||||
- SET(_SSL_PATH)
|
|
||||||
-
|
|
||||||
- IF(WIN32)
|
|
||||||
- SET(_SSL_PATH ${MYSQL_DIR}/bin/)
|
|
||||||
- ELSE(WIN32)
|
|
||||||
- SET(_SSL_PATH ${MYSQL_DIR}/lib/)
|
|
||||||
- ENDIF(WIN32)
|
|
||||||
-
|
|
||||||
- FOREACH(_lib_to_find IN LISTS ssl_libs_to_find)
|
|
||||||
- INSTALL(DIRECTORY ${_SSL_PATH} DESTINATION ${LIB_SUBDIR}
|
|
||||||
- FILES_MATCHING
|
|
||||||
- PATTERN "mecab" EXCLUDE
|
|
||||||
- PATTERN "pkgconfig" EXCLUDE
|
|
||||||
- PATTERN "plugin" EXCLUDE
|
|
||||||
- PATTERN ${_lib_to_find})
|
|
||||||
- ENDFOREACH()
|
|
||||||
-
|
|
||||||
-ENDIF(MYSQL8)
|
|
||||||
\ No newline at end of file
|
|
@ -1,43 +0,0 @@
|
|||||||
=== modified file 'CMakeLists.txt'
|
|
||||||
--- CMakeLists.txt 2013-03-09 09:51:06 +0000
|
|
||||||
+++ CMakeLists.txt 2013-03-09 11:05:27 +0000
|
|
||||||
@@ -33,6 +33,12 @@
|
|
||||||
SET(CONNECTOR_MAJOR "5")
|
|
||||||
SET(CONNECTOR_MINOR "2")
|
|
||||||
|
|
||||||
+IF(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ELSE(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR})
|
|
||||||
+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH)
|
|
||||||
+
|
|
||||||
IF(CONNECTOR_MINOR LESS 10)
|
|
||||||
SET(CONNECTOR_MINOR_PADDED "0${CONNECTOR_MINOR}")
|
|
||||||
ELSE(CONNECTOR_MINOR LESS 10)
|
|
||||||
@@ -329,19 +335,17 @@
|
|
||||||
|
|
||||||
ELSE(WIN32)
|
|
||||||
|
|
||||||
- INSTALL(FILES ChangeLog DESTINATION .)
|
|
||||||
- INSTALL(FILES README DESTINATION .)
|
|
||||||
- INSTALL(FILES README.debug DESTINATION .)
|
|
||||||
- INSTALL(FILES INSTALL DESTINATION .)
|
|
||||||
+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
|
|
||||||
- INSTALL(FILES COPYING DESTINATION .)
|
|
||||||
ELSE()
|
|
||||||
- INSTALL(FILES LICENSE.mysql DESTINATION .)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
-INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .)
|
|
||||||
+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH})
|
|
||||||
|
|
||||||
INCLUDE(CPack)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,130 +0,0 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
# Build is broken with ninja
|
|
||||||
CMAKE_MAKEFILE_GENERATOR=emake
|
|
||||||
|
|
||||||
inherit cmake-multilib flag-o-matic versionator
|
|
||||||
|
|
||||||
MAJOR="$(get_version_component_range 1-2 $PV)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-src"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="http://www.mysql.com/products/myodbc/"
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="amd64 ppc x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
# Does not build with libmariadb
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
<dev-db/mysql-connector-c-8.0:0=[${MULTILIB_USEDEP}]
|
|
||||||
!>=dev-db/mariadb-10.2.0[client-libs(+)]
|
|
||||||
!dev-db/mariadb-connector-c[mysqlcompat(-)]
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
# Careful!
|
|
||||||
DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
|
|
||||||
# Patch document path so it doesn't install files to /usr
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
|
|
||||||
"${FILESDIR}/5.3.10-cxxlinkage.patch"
|
|
||||||
"${FILESDIR}/5.3.10-mariadb.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove Tests
|
|
||||||
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
|
|
||||||
"${S}/CMakeLists.txt"
|
|
||||||
|
|
||||||
# Fix as-needed on the installer binary
|
|
||||||
# echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt"
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
# MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB
|
|
||||||
mycmakeargs+=(
|
|
||||||
-DMYSQL_CXX_LINKAGE=0
|
|
||||||
-DWITH_UNIXODBC=1
|
|
||||||
-DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
|
|
||||||
-DMYSQL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
|
|
||||||
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
|
|
||||||
-DMYSQL_INCLUDE_DIR="$(mysql_config --variable=pkgincludedir)"
|
|
||||||
-DMYSQLCLIENT_NO_THREADS=ON
|
|
||||||
-DDISABLE_GUI=ON
|
|
||||||
# The NUMA and LIBWRAP options are not really used.
|
|
||||||
# They are just copied from the server code
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DWITH_LIBWRAP=OFF
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
>"${D}"/usr/share/${PN}-${SLOT}/${i} \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
mv "${D}/usr/bin/myodbc-installer" \
|
|
||||||
"${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,112 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
|
||||||
inherit multilib-minimal versionator
|
|
||||||
|
|
||||||
MAJOR="$(get_version_component_range 1-2 $PV)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-linux-debian9-x86"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="http://www.mysql.com/products/myodbc/"
|
|
||||||
BASE_URI="https://cdn.mysql.com/Downloads/Connector-ODBC/${MAJOR}/${MY_P}"
|
|
||||||
#https://cdn.mysql.com//Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.8-linux-debian8-x86-64bit.tar.gz
|
|
||||||
SRC_URI="amd64? ( ${BASE_URI}-64bit.tar.gz abi_x86_32? ( ${BASE_URI}-32bit.tar.gz ) )
|
|
||||||
x86? ( ${BASE_URI}-32bit.tar.gz )"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="-* ~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
sys-libs/zlib[${MULTILIB_USEDEP}]"
|
|
||||||
S=${WORKDIR}
|
|
||||||
|
|
||||||
#src_configure() { :; }
|
|
||||||
|
|
||||||
src_compile() { :; }
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
cd "${S}" || die
|
|
||||||
local prefix
|
|
||||||
if use amd64 && multilib_is_native_abi ; then
|
|
||||||
prefix="${MY_P}-64bit"
|
|
||||||
else
|
|
||||||
prefix="${MY_P}-32bit"
|
|
||||||
fi
|
|
||||||
exeinto /usr/$(get_libdir)/${PN}-${MAJOR}
|
|
||||||
doexe ${prefix}/lib/libmyodbc5a.so ${prefix}/lib/libmyodbc5w.so
|
|
||||||
# use gtk && doexe ${prefix}/lib/libmyodbc5S.so
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
local DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
local prefix
|
|
||||||
if use amd64 ; then
|
|
||||||
prefix="${MY_P}-64bit"
|
|
||||||
else
|
|
||||||
prefix="${MY_P}-32bit"
|
|
||||||
fi
|
|
||||||
exeinto /usr/bin
|
|
||||||
newexe "${prefix}/bin/myodbc-installer" myodbc-installer-${MAJOR}
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
-e "s,lib/libmyodbc,$(get_libdir)/${DRIVER_NAME}/libmyodbc,g" \
|
|
||||||
>"${D}/usr/share/${DRIVER_NAME}/${i}" \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
|
|
||||||
dodoc ${prefix}/{ChangeLog,INSTALL,README,Licenses_for_Third-Party_Components.txt}
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,119 +0,0 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
MAJOR="$(ver_cut 1-2)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-src"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="http://www.mysql.com/products/myodbc/"
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="~amd64 ~ppc ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
# Broken when built dynamically against libmysqlclient.so
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
# Careful!
|
|
||||||
DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
|
|
||||||
# Patch document path so it doesn't install files to /usr
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
|
|
||||||
"${FILESDIR}/8.0.16-cxxlinkage.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove Tests
|
|
||||||
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
|
|
||||||
"${S}/CMakeLists.txt"
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
mycmakeargs+=(
|
|
||||||
-DMYSQLCLIENT_STATIC_LINKING=1
|
|
||||||
-DMYSQL_CXX_LINKAGE=1
|
|
||||||
-DWITH_UNIXODBC=1
|
|
||||||
-DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
|
|
||||||
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
|
|
||||||
-DMYSQLCLIENT_NO_THREADS=ON
|
|
||||||
-DDISABLE_GUI=ON
|
|
||||||
# The NUMA and LIBWRAP options are not really used.
|
|
||||||
# They are just copied from the server code
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DWITH_LIBWRAP=OFF
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
>"${D}"/usr/share/${PN}-${SLOT}/${i} \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
mv "${D}/usr/bin/myodbc-installer" \
|
|
||||||
"${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,119 +0,0 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
MAJOR="$(ver_cut 1-2)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-src"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="~amd64 ~ppc ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
# Broken when built dynamically against libmysqlclient.so
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
# Careful!
|
|
||||||
DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
|
|
||||||
# Patch document path so it doesn't install files to /usr
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
|
|
||||||
"${FILESDIR}/8.0.16-cxxlinkage.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove Tests
|
|
||||||
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
|
|
||||||
"${S}/CMakeLists.txt"
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
mycmakeargs+=(
|
|
||||||
-DMYSQLCLIENT_STATIC_LINKING=1
|
|
||||||
-DMYSQL_CXX_LINKAGE=1
|
|
||||||
-DWITH_UNIXODBC=1
|
|
||||||
-DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
|
|
||||||
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
|
|
||||||
-DMYSQLCLIENT_NO_THREADS=ON
|
|
||||||
-DDISABLE_GUI=ON
|
|
||||||
# The NUMA and LIBWRAP options are not really used.
|
|
||||||
# They are just copied from the server code
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DWITH_LIBWRAP=OFF
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
>"${D}"/usr/share/${PN}-${SLOT}/${i} \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
mv "${D}/usr/bin/myodbc-installer" \
|
|
||||||
"${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,118 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
MAJOR="$(ver_cut 1-2)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-src"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="amd64 ppc x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
# Broken when built dynamically against libmysqlclient.so
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
# Careful!
|
|
||||||
DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
|
|
||||||
# Patch document path so it doesn't install files to /usr
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
|
|
||||||
"${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove Tests
|
|
||||||
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
|
|
||||||
"${S}/CMakeLists.txt"
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
mycmakeargs+=(
|
|
||||||
-DMYSQLCLIENT_STATIC_LINKING=1
|
|
||||||
-DMYSQL_CXX_LINKAGE=1
|
|
||||||
-DWITH_UNIXODBC=1
|
|
||||||
-DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
|
|
||||||
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
|
|
||||||
-DMYSQLCLIENT_NO_THREADS=ON
|
|
||||||
-DDISABLE_GUI=ON
|
|
||||||
# The NUMA and LIBWRAP options are not really used.
|
|
||||||
# They are just copied from the server code
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DWITH_LIBWRAP=OFF
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
>"${D}"/usr/share/${PN}-${SLOT}/${i} \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
mv "${D}/usr/bin/myodbc-installer" \
|
|
||||||
"${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,118 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
MAJOR="$(ver_cut 1-2)"
|
|
||||||
MY_PN="mysql-connector-odbc"
|
|
||||||
MY_P="${MY_PN}-${PV/_p/r}-src"
|
|
||||||
|
|
||||||
DESCRIPTION="ODBC driver for MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${MAJOR}"
|
|
||||||
KEYWORDS="~amd64 ~ppc ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
# Broken when built dynamically against libmysqlclient.so
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/unixODBC[${MULTILIB_USEDEP}]
|
|
||||||
>=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
# Careful!
|
|
||||||
DRIVER_NAME="${PN}-${SLOT}"
|
|
||||||
|
|
||||||
# Patch document path so it doesn't install files to /usr
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
|
|
||||||
"${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove Tests
|
|
||||||
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
|
|
||||||
"${S}/CMakeLists.txt"
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
mycmakeargs+=(
|
|
||||||
-DMYSQLCLIENT_STATIC_LINKING=1
|
|
||||||
-DMYSQL_CXX_LINKAGE=1
|
|
||||||
-DWITH_UNIXODBC=1
|
|
||||||
-DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
|
|
||||||
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
|
|
||||||
-DMYSQLCLIENT_NO_THREADS=ON
|
|
||||||
-DDISABLE_GUI=ON
|
|
||||||
# The NUMA and LIBWRAP options are not really used.
|
|
||||||
# They are just copied from the server code
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DWITH_LIBWRAP=OFF
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
dodir /usr/share/${PN}-${SLOT}
|
|
||||||
for i in odbc.ini odbcinst.ini; do
|
|
||||||
einfo "Building $i"
|
|
||||||
sed \
|
|
||||||
-e "s,__PN__,${DRIVER_NAME},g" \
|
|
||||||
-e "s,__PF__,${MAJOR},g" \
|
|
||||||
-e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
|
|
||||||
>"${D}"/usr/share/${PN}-${SLOT}/${i} \
|
|
||||||
<"${FILESDIR}"/${i}.m4 \
|
|
||||||
|| die "Failed to build $i"
|
|
||||||
done;
|
|
||||||
mv "${D}/usr/bin/myodbc-installer" \
|
|
||||||
"${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_config() {
|
|
||||||
|
|
||||||
[ "${ROOT}" != "/" ] && \
|
|
||||||
die 'Sorry, non-standard ROOT setting is not supported :-('
|
|
||||||
|
|
||||||
local msg='MySQL ODBC driver'
|
|
||||||
local drivers=$(/usr/bin/odbcinst -q -d)
|
|
||||||
|
|
||||||
if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sources=$(/usr/bin/odbcinst -q -s)
|
|
||||||
msg='sample MySQL ODBC DSN'
|
|
||||||
if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
|
|
||||||
ebegin "Installing ${msg}"
|
|
||||||
/usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
|
|
||||||
rc=$?
|
|
||||||
eend $rc
|
|
||||||
[ $rc -ne 0 ] && die
|
|
||||||
else
|
|
||||||
einfo "Skipping already installed ${msg}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
elog "If this is a new install, please run the following command"
|
|
||||||
elog "to configure the MySQL ODBC drivers and sources:"
|
|
||||||
elog "emerge --config =${CATEGORY}/${PF}"
|
|
||||||
elog "Please note that the driver name used to form the DSN now includes the SLOT."
|
|
||||||
elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/sql-common/client_authentication.cc b/sql-common/client_authentication.cc
|
|
||||||
index eaeb2d4..035ecd2 100644
|
|
||||||
--- a/sql-common/client_authentication.cc
|
|
||||||
+++ b/sql-common/client_authentication.cc
|
|
||||||
@@ -84,7 +84,7 @@ RSA *rsa_init(MYSQL *mysql)
|
|
||||||
|
|
||||||
if (mysql->options.extension != NULL &&
|
|
||||||
mysql->options.extension->server_public_key_path != NULL &&
|
|
||||||
- mysql->options.extension->server_public_key_path != '\0')
|
|
||||||
+ mysql->options.extension->server_public_key_path[0] != '\0')
|
|
||||||
{
|
|
||||||
pub_key_file= fopen(mysql->options.extension->server_public_key_path,
|
|
||||||
"r");
|
|
@ -1,300 +0,0 @@
|
|||||||
From 7961393dd45e4ad1cdc7544b4bba2e98a5d2760c Mon Sep 17 00:00:00 2001
|
|
||||||
From: eroen <eroen@occam.eroen.eu>
|
|
||||||
Date: Fri, 20 Jan 2017 14:43:53 +0100
|
|
||||||
Subject: [PATCH] Don't use deprecated API with openssl 1.1
|
|
||||||
|
|
||||||
If openssl 1.1.0 is built with `--api=1.1 disable-deprecated`, using
|
|
||||||
deprecated APIs causes build errors.
|
|
||||||
|
|
||||||
X-Gentoo-Bug: 606600
|
|
||||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606600
|
|
||||||
---
|
|
||||||
mysys_ssl/my_aes_openssl.cc | 54 ++++++++++++++++++++++++++++++++-------------
|
|
||||||
sql-common/client.c | 16 ++++++++++++--
|
|
||||||
vio/viossl.c | 8 +++++++
|
|
||||||
vio/viosslfactories.c | 23 +++++++++++++++++++
|
|
||||||
4 files changed, 84 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/mysys_ssl/my_aes_openssl.cc b/mysys_ssl/my_aes_openssl.cc
|
|
||||||
index 261ba8a..59a95e3 100644
|
|
||||||
--- a/mysys_ssl/my_aes_openssl.cc
|
|
||||||
+++ b/mysys_ssl/my_aes_openssl.cc
|
|
||||||
@@ -22,6 +22,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
|
||||||
#include <openssl/evp.h>
|
|
||||||
#include <openssl/err.h>
|
|
||||||
#include <openssl/bio.h>
|
|
||||||
+#include <openssl/opensslv.h>
|
|
||||||
+
|
|
||||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
|
||||||
+#undef OPENSSL_VERSION_NUMBER
|
|
||||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
xplugin needs BIO_new_bio_pair, but the server does not.
|
|
||||||
@@ -122,7 +128,7 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
|
|
||||||
enum my_aes_opmode mode, const unsigned char *iv,
|
|
||||||
bool padding)
|
|
||||||
{
|
|
||||||
- EVP_CIPHER_CTX ctx;
|
|
||||||
+ EVP_CIPHER_CTX *ctx;
|
|
||||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
|
||||||
int u_len, f_len;
|
|
||||||
/* The real key to be used for encryption */
|
|
||||||
@@ -132,23 +138,31 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
|
|
||||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
|
||||||
return MY_AES_BAD_DATA;
|
|
||||||
|
|
||||||
- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
|
|
||||||
+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
|
||||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
|
|
||||||
+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
|
|
||||||
- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
|
|
||||||
+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
|
|
||||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
|
||||||
+#else
|
|
||||||
+ EVP_CIPHER_CTX_free(ctx);
|
|
||||||
+#endif
|
|
||||||
return u_len + f_len;
|
|
||||||
|
|
||||||
aes_error:
|
|
||||||
/* need to explicitly clean up the error if we want to ignore it */
|
|
||||||
ERR_clear_error();
|
|
||||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
|
||||||
+#else
|
|
||||||
+ EVP_CIPHER_CTX_free(ctx);
|
|
||||||
+#endif
|
|
||||||
return MY_AES_BAD_DATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -159,7 +173,7 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
|
|
||||||
bool padding)
|
|
||||||
{
|
|
||||||
|
|
||||||
- EVP_CIPHER_CTX ctx;
|
|
||||||
+ EVP_CIPHER_CTX *ctx;
|
|
||||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
|
||||||
int u_len, f_len;
|
|
||||||
|
|
||||||
@@ -170,24 +184,34 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
|
|
||||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
|
||||||
return MY_AES_BAD_DATA;
|
|
||||||
|
|
||||||
- EVP_CIPHER_CTX_init(&ctx);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ EVP_CIPHER_CTX_init(ctx);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
|
|
||||||
+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
|
||||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
|
|
||||||
+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
|
|
||||||
+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
|
|
||||||
goto aes_error; /* Error */
|
|
||||||
|
|
||||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
|
||||||
+#else
|
|
||||||
+ EVP_CIPHER_CTX_free(ctx);
|
|
||||||
+#endif
|
|
||||||
return u_len + f_len;
|
|
||||||
|
|
||||||
aes_error:
|
|
||||||
/* need to explicitly clean up the error if we want to ignore it */
|
|
||||||
ERR_clear_error();
|
|
||||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
|
||||||
+#else
|
|
||||||
+ EVP_CIPHER_CTX_free(ctx);
|
|
||||||
+#endif
|
|
||||||
return MY_AES_BAD_DATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/sql-common/client.c b/sql-common/client.c
|
|
||||||
index 9e88e9f..fe7daf7 100644
|
|
||||||
--- a/sql-common/client.c
|
|
||||||
+++ b/sql-common/client.c
|
|
||||||
@@ -86,6 +86,14 @@ my_bool net_flush(NET *net);
|
|
||||||
# include <sys/un.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef HAVE_OPENSSL
|
|
||||||
+#include <openssl/opensslv.h>
|
|
||||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
|
||||||
+#undef OPENSSL_VERSION_NUMBER
|
|
||||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef _WIN32
|
|
||||||
#include <errno.h>
|
|
||||||
#define SOCKET_ERROR -1
|
|
||||||
@@ -2685,7 +2693,7 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
|
|
||||||
{
|
|
||||||
SSL *ssl;
|
|
||||||
X509 *server_cert= NULL;
|
|
||||||
- char *cn= NULL;
|
|
||||||
+ const char *cn= NULL;
|
|
||||||
int cn_loc= -1;
|
|
||||||
ASN1_STRING *cn_asn1= NULL;
|
|
||||||
X509_NAME_ENTRY *cn_entry= NULL;
|
|
||||||
@@ -2757,7 +2765,11 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
- cn= (char *) ASN1_STRING_data(cn_asn1);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ cn= (const char *) ASN1_STRING_data(cn_asn1);
|
|
||||||
+#else
|
|
||||||
+ cn= (const char *) ASN1_STRING_get0_data(cn_asn1);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// There should not be any NULL embedded in the CN
|
|
||||||
if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
|
|
||||||
diff --git a/vio/viossl.c b/vio/viossl.c
|
|
||||||
index 5622cb7..94b0f09 100644
|
|
||||||
--- a/vio/viossl.c
|
|
||||||
+++ b/vio/viossl.c
|
|
||||||
@@ -24,6 +24,12 @@
|
|
||||||
|
|
||||||
#ifdef HAVE_OPENSSL
|
|
||||||
|
|
||||||
+#include <openssl/opensslv.h>
|
|
||||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
|
||||||
+#undef OPENSSL_VERSION_NUMBER
|
|
||||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef DBUG_OFF
|
|
||||||
|
|
||||||
static void
|
|
||||||
@@ -310,8 +316,10 @@ void vio_ssl_delete(Vio *vio)
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef HAVE_YASSL
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
ERR_remove_thread_state(0);
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
vio_delete(vio);
|
|
||||||
}
|
|
||||||
@@ -427,7 +427,12 @@
|
|
||||||
for (j = 0; j < n; j++)
|
|
||||||
{
|
|
||||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
|
||||||
+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
+ DBUG_PRINT("info",
|
|
||||||
+ (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c)));
|
|
||||||
+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c
|
|
||||||
index da5449a..87b30c3 100644
|
|
||||||
--- a/vio/viosslfactories.c
|
|
||||||
+++ b/vio/viosslfactories.c
|
|
||||||
@@ -16,6 +16,14 @@
|
|
||||||
#include "vio_priv.h"
|
|
||||||
|
|
||||||
#ifdef HAVE_OPENSSL
|
|
||||||
+#include <openssl/bn.h>
|
|
||||||
+#include <openssl/dh.h>
|
|
||||||
+#include <openssl/opensslv.h>
|
|
||||||
+
|
|
||||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
|
||||||
+#undef OPENSSL_VERSION_NUMBER
|
|
||||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define TLS_VERSION_OPTION_SIZE 256
|
|
||||||
#define SSL_CIPHER_LIST_SIZE 4096
|
|
||||||
@@ -121,10 +129,18 @@ static DH *get_dh2048(void)
|
|
||||||
DH *dh;
|
|
||||||
if ((dh=DH_new()))
|
|
||||||
{
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
|
|
||||||
dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
|
||||||
if (! dh->p || ! dh->g)
|
|
||||||
{
|
|
||||||
+#else
|
|
||||||
+ if (! DH_set0_pqg(dh,
|
|
||||||
+ BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL),
|
|
||||||
+ NULL,
|
|
||||||
+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)))
|
|
||||||
+ {
|
|
||||||
+#endif
|
|
||||||
DH_free(dh);
|
|
||||||
dh=0;
|
|
||||||
}
|
|
||||||
@@ -247,6 +263,8 @@ typedef struct CRYPTO_dynlock_value
|
|
||||||
} openssl_lock_t;
|
|
||||||
|
|
||||||
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+
|
|
||||||
/* Array of locks used by openssl internally for thread synchronization.
|
|
||||||
The number of locks is equal to CRYPTO_num_locks.
|
|
||||||
*/
|
|
||||||
@@ -389,9 +407,11 @@ static void deinit_lock_callback_functions()
|
|
||||||
{
|
|
||||||
set_lock_callback_functions(FALSE);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
void vio_ssl_end()
|
|
||||||
{
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
int i= 0;
|
|
||||||
|
|
||||||
if (ssl_initialized) {
|
|
||||||
@@ -409,6 +429,7 @@ void vio_ssl_end()
|
|
||||||
|
|
||||||
ssl_initialized= FALSE;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif //OpenSSL specific
|
|
||||||
@@ -419,6 +440,7 @@ void ssl_start()
|
|
||||||
{
|
|
||||||
ssl_initialized= TRUE;
|
|
||||||
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
SSL_library_init();
|
|
||||||
OpenSSL_add_all_algorithms();
|
|
||||||
SSL_load_error_strings();
|
|
||||||
@@ -427,6 +449,7 @@ void ssl_start()
|
|
||||||
init_ssl_locks();
|
|
||||||
init_lock_callback_functions();
|
|
||||||
#endif
|
|
||||||
+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
https://bugs.gentoo.org/692644
|
|
||||||
|
|
||||||
--- a/include/mysql.h.pp
|
|
||||||
+++ b/include/mysql.h.pp
|
|
||||||
@@ -175,7 +175,7 @@ struct rand_struct {
|
|
||||||
unsigned long seed1, seed2, max_value;
|
|
||||||
double max_value_dbl;
|
|
||||||
};
|
|
||||||
-#include <mysql/udf_registration_types.h>
|
|
||||||
+#include "mysql/udf_registration_types.h"
|
|
||||||
enum Item_result {
|
|
||||||
INVALID_RESULT = -1,
|
|
||||||
STRING_RESULT = 0,
|
|
||||||
--- a/include/mysql_com.h
|
|
||||||
+++ b/include/mysql_com.h
|
|
||||||
@@ -1002,7 +1002,7 @@ struct rand_struct {
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Include the types here so existing UDFs can keep compiling */
|
|
||||||
-#include <mysql/udf_registration_types.h>
|
|
||||||
+#include "mysql/udf_registration_types.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
@addtogroup group_cs_compresson_constants Constants when using compression
|
|
@ -1,297 +0,0 @@
|
|||||||
--- a/cmake/ssl.cmake
|
|
||||||
+++ b/cmake/ssl.cmake
|
|
||||||
@@ -229,13 +229,14 @@ MACRO (MYSQL_CHECK_SSL)
|
|
||||||
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
|
|
||||||
)
|
|
||||||
ENDIF()
|
|
||||||
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
|
|
||||||
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
|
|
||||||
+ IF(HAVE_TLS1_3_VERSION)
|
|
||||||
ADD_DEFINITIONS(-DHAVE_TLSv13)
|
|
||||||
ENDIF()
|
|
||||||
IF(OPENSSL_INCLUDE_DIR AND
|
|
||||||
OPENSSL_LIBRARY AND
|
|
||||||
CRYPTO_LIBRARY AND
|
|
||||||
- OPENSSL_MAJOR_VERSION STREQUAL "1"
|
|
||||||
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
|
|
||||||
)
|
|
||||||
SET(OPENSSL_FOUND TRUE)
|
|
||||||
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
|
||||||
--- a/mysys/my_md5.cc
|
|
||||||
+++ b/mysys/my_md5.cc
|
|
||||||
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
|
|
||||||
int compute_md5_hash(char *digest, const char *buf, int len) {
|
|
||||||
int retval = 0;
|
|
||||||
int fips_mode = 0;
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
fips_mode = FIPS_mode();
|
|
||||||
+#endif
|
|
||||||
/* If fips mode is ON/STRICT restricted method calls will result into abort,
|
|
||||||
* skipping call. */
|
|
||||||
if (fips_mode == 0) {
|
|
||||||
--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
|
||||||
+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
|
||||||
@@ -329,6 +329,7 @@ error:
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
#define OPENSSL_ERROR_LENGTH 512
|
|
||||||
static int configure_ssl_fips_mode(const uint fips_mode) {
|
|
||||||
int rc = -1;
|
|
||||||
@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
|
|
||||||
EXIT:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
|
|
||||||
const char *ca_path) {
|
|
||||||
@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
|
|
||||||
int verify_server = SSL_VERIFY_NONE;
|
|
||||||
int verify_client = SSL_VERIFY_NONE;
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
|
|
||||||
G_ERROR("Error setting the ssl fips mode");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
SSL_library_init();
|
|
||||||
SSL_load_error_strings();
|
|
||||||
@@ -622,7 +626,7 @@ error:
|
|
||||||
void xcom_cleanup_ssl() {
|
|
||||||
if (!xcom_use_ssl()) return;
|
|
||||||
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
ERR_remove_thread_state(0);
|
|
||||||
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
}
|
|
||||||
--- a/plugin/x/client/xconnection_impl.cc
|
|
||||||
+++ b/plugin/x/client/xconnection_impl.cc
|
|
||||||
@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
|
|
||||||
return XError(CR_SSL_CONNECTION_ERROR, buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
/**
|
|
||||||
Set fips mode in openssl library,
|
|
||||||
When we set fips mode ON/STRICT, it will perform following operations:
|
|
||||||
@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode,
|
|
||||||
EXIT:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
XError Connection_impl::activate_tls() {
|
|
||||||
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
|
|
||||||
@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() {
|
|
||||||
if (!m_context->m_ssl_config.is_configured())
|
|
||||||
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
if (set_fips_mode(
|
|
||||||
static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
|
|
||||||
err_string) != 1) {
|
|
||||||
return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
auto ssl_ctx_flags = process_tls_version(
|
|
||||||
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
|
|
||||||
|
|
||||||
--- a/router/src/http/src/tls_client_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_client_context.cc
|
|
||||||
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
|
|
||||||
|
|
||||||
void TlsClientContext::cipher_suites(const std::string &ciphers) {
|
|
||||||
// TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
|
|
||||||
throw TlsError("set-cipher-suites");
|
|
||||||
}
|
|
||||||
--- a/router/src/http/src/tls_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_context.cc
|
|
||||||
@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
|
|
||||||
return TLS1_1_VERSION;
|
|
||||||
case TlsVersion::TLS_1_2:
|
|
||||||
return TLS1_2_VERSION;
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
case TlsVersion::TLS_1_3:
|
|
||||||
return TLS1_3_VERSION;
|
|
||||||
#endif
|
|
||||||
@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) {
|
|
||||||
switch (min_version) {
|
|
||||||
default:
|
|
||||||
// unknown, leave all disabled
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
// fallthrough
|
|
||||||
case TlsVersion::TLS_1_3:
|
|
||||||
opts |= SSL_OP_NO_TLSv1_2;
|
|
||||||
+#endif
|
|
||||||
// fallthrough
|
|
||||||
case TlsVersion::TLS_1_2:
|
|
||||||
opts |= SSL_OP_NO_TLSv1_1;
|
|
||||||
@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
|
|
||||||
return TlsVersion::TLS_1_1;
|
|
||||||
case TLS1_2_VERSION:
|
|
||||||
return TlsVersion::TLS_1_2;
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
case TLS1_3_VERSION:
|
|
||||||
return TlsVersion::TLS_1_3;
|
|
||||||
+#endif
|
|
||||||
case 0:
|
|
||||||
return TlsVersion::AUTO;
|
|
||||||
default:
|
|
||||||
@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
|
|
||||||
}
|
|
||||||
|
|
||||||
int TlsContext::security_level() const {
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
|
||||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
return SSL_CTX_get_security_level(ssl_ctx_.get());
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
--- a/router/src/http/src/tls_server_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_server_context.cc
|
|
||||||
@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
|
||||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
dh2048.reset(DH_get_2048_256());
|
|
||||||
#else
|
|
||||||
/*
|
|
||||||
--- a/sql-common/client.cc
|
|
||||||
+++ b/sql-common/client.cc
|
|
||||||
@@ -7730,7 +7730,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
|
||||||
#endif
|
|
||||||
break;
|
|
||||||
case MYSQL_OPT_SSL_FIPS_MODE: {
|
|
||||||
-#if defined(HAVE_OPENSSL)
|
|
||||||
+#if defined(HAVE_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
|
||||||
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
|
|
||||||
--- a/sql/mysqld.cc
|
|
||||||
+++ b/sql/mysqld.cc
|
|
||||||
@@ -4818,7 +4818,7 @@ static int init_thread_environment() {
|
|
||||||
|
|
||||||
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
|
|
||||||
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
#define FILE_LINE_ARGS
|
|
||||||
#else
|
|
||||||
#define FILE_LINE_ARGS , const char *, int
|
|
||||||
@@ -4854,12 +4854,14 @@ static void init_ssl() {
|
|
||||||
}
|
|
||||||
|
|
||||||
static int init_ssl_communication() {
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
|
|
||||||
if (ret_fips_mode != 1) {
|
|
||||||
LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
|
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
--- a/sql/sys_vars.cc
|
|
||||||
+++ b/sql/sys_vars.cc
|
|
||||||
@@ -4417,6 +4417,7 @@ static Sys_var_ulong Sys_max_execution_time(
|
|
||||||
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
|
|
||||||
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
|
|
||||||
@@ -4427,15 +4428,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+#if defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
+static const char *ssl_fips_mode_names[] = {"OFF", 0};
|
|
||||||
+#else
|
|
||||||
static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
|
|
||||||
+#endif
|
|
||||||
static Sys_var_enum Sys_ssl_fips_mode(
|
|
||||||
"ssl_fips_mode",
|
|
||||||
"SSL FIPS mode (applies only for OpenSSL); "
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
"permitted values are: OFF, ON, STRICT",
|
|
||||||
+#else
|
|
||||||
+ "permitted values are: OFF",
|
|
||||||
+#endif
|
|
||||||
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
|
|
||||||
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
|
|
||||||
- ON_CHECK(NULL), ON_UPDATE(update_fips_mode), NULL);
|
|
||||||
+ ON_CHECK(NULL),
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
+ ON_UPDATE(update_fips_mode),
|
|
||||||
+#else
|
|
||||||
+ ON_UPDATE(NULL),
|
|
||||||
+#endif
|
|
||||||
+ NULL);
|
|
||||||
|
|
||||||
#if defined(HAVE_OPENSSL)
|
|
||||||
static Sys_var_bool Sys_auto_generate_certs(
|
|
||||||
--- a/vio/viossl.cc
|
|
||||||
+++ b/vio/viossl.cc
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
BIO_set_callback_ex was added in openSSL 1.1.1
|
|
||||||
For older openSSL, use the deprecated BIO_set_callback.
|
|
||||||
*/
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
#define HAVE_BIO_SET_CALLBACK_EX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -637,7 +637,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
|
||||||
#if !defined(DBUG_OFF)
|
|
||||||
{
|
|
||||||
STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
|
|
||||||
- ssl_comp_methods = SSL_COMP_get_compression_methods();
|
|
||||||
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
|
|
||||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
|
||||||
DBUG_PRINT("info", ("Available compression methods:\n"));
|
|
||||||
if (n == 0)
|
|
||||||
@@ -645,7 +645,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
|
||||||
else
|
|
||||||
for (j = 0; j < n; j++) {
|
|
||||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
|
||||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
DBUG_PRINT("info",
|
|
||||||
--- a/vio/viosslfactories.cc
|
|
||||||
+++ b/vio/viosslfactories.cc
|
|
||||||
@@ -420,6 +420,7 @@ void ssl_start() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
/**
|
|
||||||
Set fips mode in openssl library,
|
|
||||||
When we set fips mode ON/STRICT, it will perform following operations:
|
|
||||||
@@ -473,6 +474,7 @@ EXIT:
|
|
||||||
@returns openssl current fips mode
|
|
||||||
*/
|
|
||||||
uint get_fips_mode() { return FIPS_mode(); }
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
long process_tls_version(const char *tls_version) {
|
|
||||||
const char *separator = ",";
|
|
@ -1,332 +0,0 @@
|
|||||||
From 2108922a8292d74874ede834158c208d81c3cf76 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thomas Deutschmann <whissi@gentoo.org>
|
|
||||||
Date: Thu, 30 Apr 2020 20:01:48 +0200
|
|
||||||
Subject: [PATCH 5/5] Add LibreSSL support
|
|
||||||
|
|
||||||
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
|
|
||||||
---
|
|
||||||
cmake/ssl.cmake | 5 +++--
|
|
||||||
mysys/my_md5.cc | 2 ++
|
|
||||||
.../bindings/xcom/xcom/xcom_ssl_transport.c | 6 +++++-
|
|
||||||
plugin/x/client/xconnection_impl.cc | 4 ++++
|
|
||||||
router/src/http/src/tls_client_context.cc | 2 +-
|
|
||||||
router/src/http/src/tls_context.cc | 9 ++++++--
|
|
||||||
router/src/http/src/tls_server_context.cc | 3 ++-
|
|
||||||
sql-common/client.cc | 2 ++
|
|
||||||
sql/mysqld.cc | 4 +++-
|
|
||||||
sql/sys_vars.cc | 21 +++++++++++++++++--
|
|
||||||
vio/viossl.cc | 8 +++----
|
|
||||||
vio/viosslfactories.cc | 2 ++
|
|
||||||
12 files changed, 54 insertions(+), 14 deletions(-)
|
|
||||||
|
|
||||||
--- a/cmake/ssl.cmake
|
|
||||||
+++ b/cmake/ssl.cmake
|
|
||||||
@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL)
|
|
||||||
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
|
|
||||||
)
|
|
||||||
ENDIF()
|
|
||||||
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
|
|
||||||
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
|
|
||||||
+ IF(HAVE_TLS1_3_VERSION)
|
|
||||||
ADD_DEFINITIONS(-DHAVE_TLSv13)
|
|
||||||
ENDIF()
|
|
||||||
IF(OPENSSL_INCLUDE_DIR AND
|
|
||||||
OPENSSL_LIBRARY AND
|
|
||||||
CRYPTO_LIBRARY AND
|
|
||||||
- OPENSSL_MAJOR_VERSION STREQUAL "1"
|
|
||||||
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
|
|
||||||
)
|
|
||||||
SET(OPENSSL_FOUND TRUE)
|
|
||||||
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
|
||||||
--- a/mysys/my_md5.cc
|
|
||||||
+++ b/mysys/my_md5.cc
|
|
||||||
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
|
|
||||||
int compute_md5_hash(char *digest, const char *buf, int len) {
|
|
||||||
int retval = 0;
|
|
||||||
int fips_mode = 0;
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
fips_mode = FIPS_mode();
|
|
||||||
+#endif
|
|
||||||
/* If fips mode is ON/STRICT restricted method calls will result into abort,
|
|
||||||
* skipping call. */
|
|
||||||
if (fips_mode == 0) {
|
|
||||||
--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
|
||||||
+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
|
||||||
@@ -329,6 +329,7 @@ error:
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
#define OPENSSL_ERROR_LENGTH 512
|
|
||||||
static int configure_ssl_fips_mode(const uint fips_mode) {
|
|
||||||
int rc = -1;
|
|
||||||
@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
|
|
||||||
EXIT:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
|
|
||||||
const char *ca_path) {
|
|
||||||
@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
|
|
||||||
int verify_server = SSL_VERIFY_NONE;
|
|
||||||
int verify_client = SSL_VERIFY_NONE;
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
|
|
||||||
G_ERROR("Error setting the ssl fips mode");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
SSL_library_init();
|
|
||||||
SSL_load_error_strings();
|
|
||||||
@@ -622,7 +626,7 @@ error:
|
|
||||||
void xcom_cleanup_ssl() {
|
|
||||||
if (!xcom_use_ssl()) return;
|
|
||||||
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
ERR_remove_thread_state(0);
|
|
||||||
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
}
|
|
||||||
--- a/plugin/x/client/xconnection_impl.cc
|
|
||||||
+++ b/plugin/x/client/xconnection_impl.cc
|
|
||||||
@@ -511,6 +511,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
|
|
||||||
return XError(CR_SSL_CONNECTION_ERROR, buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
/**
|
|
||||||
Set fips mode in openssl library,
|
|
||||||
When we set fips mode ON/STRICT, it will perform following operations:
|
|
||||||
@@ -550,6 +551,7 @@ int set_fips_mode(const uint32_t fips_mode,
|
|
||||||
EXIT:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
XError Connection_impl::activate_tls() {
|
|
||||||
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
|
|
||||||
@@ -560,12 +562,14 @@ XError Connection_impl::activate_tls() {
|
|
||||||
if (!m_context->m_ssl_config.is_configured())
|
|
||||||
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
if (set_fips_mode(
|
|
||||||
static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
|
|
||||||
err_string) != 1) {
|
|
||||||
return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
auto ssl_ctx_flags = process_tls_version(
|
|
||||||
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
|
|
||||||
|
|
||||||
--- a/router/src/http/src/tls_client_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_client_context.cc
|
|
||||||
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
|
|
||||||
|
|
||||||
void TlsClientContext::cipher_suites(const std::string &ciphers) {
|
|
||||||
// TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
|
|
||||||
throw TlsError("set-cipher-suites");
|
|
||||||
}
|
|
||||||
--- a/router/src/http/src/tls_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_context.cc
|
|
||||||
@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
|
|
||||||
return TLS1_1_VERSION;
|
|
||||||
case TlsVersion::TLS_1_2:
|
|
||||||
return TLS1_2_VERSION;
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
case TlsVersion::TLS_1_3:
|
|
||||||
return TLS1_3_VERSION;
|
|
||||||
#endif
|
|
||||||
@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) {
|
|
||||||
switch (min_version) {
|
|
||||||
default:
|
|
||||||
// unknown, leave all disabled
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
// fallthrough
|
|
||||||
case TlsVersion::TLS_1_3:
|
|
||||||
opts |= SSL_OP_NO_TLSv1_2;
|
|
||||||
+#endif
|
|
||||||
// fallthrough
|
|
||||||
case TlsVersion::TLS_1_2:
|
|
||||||
opts |= SSL_OP_NO_TLSv1_1;
|
|
||||||
@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
|
|
||||||
return TlsVersion::TLS_1_1;
|
|
||||||
case TLS1_2_VERSION:
|
|
||||||
return TlsVersion::TLS_1_2;
|
|
||||||
+#ifdef TLS1_3_VERSION
|
|
||||||
case TLS1_3_VERSION:
|
|
||||||
return TlsVersion::TLS_1_3;
|
|
||||||
+#endif
|
|
||||||
case 0:
|
|
||||||
return TlsVersion::AUTO;
|
|
||||||
default:
|
|
||||||
@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
|
|
||||||
}
|
|
||||||
|
|
||||||
int TlsContext::security_level() const {
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
|
||||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
return SSL_CTX_get_security_level(ssl_ctx_.get());
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
--- a/router/src/http/src/tls_server_context.cc
|
|
||||||
+++ b/router/src/http/src/tls_server_context.cc
|
|
||||||
@@ -167,7 +167,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
|
||||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
dh2048.reset(DH_get_2048_256());
|
|
||||||
#else
|
|
||||||
/*
|
|
||||||
--- a/sql-common/client.cc
|
|
||||||
+++ b/sql-common/client.cc
|
|
||||||
@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
|
||||||
return 1;
|
|
||||||
break;
|
|
||||||
case MYSQL_OPT_SSL_FIPS_MODE: {
|
|
||||||
+#if !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
|
||||||
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
|
|
||||||
@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
|
||||||
"Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
} break;
|
|
||||||
case MYSQL_OPT_SSL_MODE:
|
|
||||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
|
||||||
--- a/sql/mysqld.cc
|
|
||||||
+++ b/sql/mysqld.cc
|
|
||||||
@@ -4857,7 +4857,7 @@ static int init_thread_environment() {
|
|
||||||
|
|
||||||
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
|
|
||||||
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
#define FILE_LINE_ARGS
|
|
||||||
#else
|
|
||||||
#define FILE_LINE_ARGS , const char *, int
|
|
||||||
@@ -4891,12 +4891,14 @@ static void init_ssl() {
|
|
||||||
}
|
|
||||||
|
|
||||||
static int init_ssl_communication() {
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
|
|
||||||
if (ret_fips_mode != 1) {
|
|
||||||
LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
|
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
--- a/sql/sys_vars.cc
|
|
||||||
+++ b/sql/sys_vars.cc
|
|
||||||
@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time(
|
|
||||||
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
|
|
||||||
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
|
||||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
|
||||||
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
|
|
||||||
@@ -4469,15 +4470,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
+static const char *ssl_fips_mode_names[] = {"OFF", 0};
|
|
||||||
+#else
|
|
||||||
+static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
-static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
|
|
||||||
static Sys_var_enum Sys_ssl_fips_mode(
|
|
||||||
"ssl_fips_mode",
|
|
||||||
"SSL FIPS mode (applies only for OpenSSL); "
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
"permitted values are: OFF, ON, STRICT",
|
|
||||||
+#else
|
|
||||||
+ "permitted values are: OFF",
|
|
||||||
+#endif
|
|
||||||
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
|
|
||||||
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
|
|
||||||
- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr);
|
|
||||||
+ ON_CHECK(NULL),
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
+ ON_UPDATE(update_fips_mode),
|
|
||||||
+#else
|
|
||||||
+ ON_UPDATE(NULL),
|
|
||||||
+#endif
|
|
||||||
+ NULL);
|
|
||||||
|
|
||||||
static Sys_var_bool Sys_auto_generate_certs(
|
|
||||||
"auto_generate_certs",
|
|
||||||
--- a/vio/viossl.cc
|
|
||||||
+++ b/vio/viossl.cc
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
BIO_set_callback_ex was added in openSSL 1.1.1
|
|
||||||
For older openSSL, use the deprecated BIO_set_callback.
|
|
||||||
*/
|
|
||||||
-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
#define HAVE_BIO_SET_CALLBACK_EX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -634,8 +634,8 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
|
||||||
|
|
||||||
#if !defined(DBUG_OFF)
|
|
||||||
{
|
|
||||||
- STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
|
|
||||||
- ssl_comp_methods = SSL_COMP_get_compression_methods();
|
|
||||||
+ STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
|
|
||||||
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
|
|
||||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
|
||||||
DBUG_PRINT("info", ("Available compression methods:\n"));
|
|
||||||
if (n == 0)
|
|
||||||
@@ -643,7 +643,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
|
||||||
else
|
|
||||||
for (j = 0; j < n; j++) {
|
|
||||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
||||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
|
||||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
|
||||||
DBUG_PRINT("info",
|
|
||||||
--- a/vio/viosslfactories.cc
|
|
||||||
+++ b/vio/viosslfactories.cc
|
|
||||||
@@ -472,6 +472,7 @@ void ssl_start() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
|
||||||
/**
|
|
||||||
Set fips mode in openssl library,
|
|
||||||
When we set fips mode ON/STRICT, it will perform following operations:
|
|
||||||
@@ -525,6 +526,7 @@ EXIT:
|
|
||||||
@returns openssl current fips mode
|
|
||||||
*/
|
|
||||||
uint get_fips_mode() { return FIPS_mode(); }
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
long process_tls_version(const char *tls_version) {
|
|
||||||
const char *separator = ",";
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
--- a/include/mysql_com.h 2014-06-10 23:10:43.000000000 -0400
|
|
||||||
+++ b/include/mysql_com.h 2015-08-11 15:20:54.487091000 -0400
|
|
||||||
@@ -179,7 +171,7 @@
|
|
||||||
#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
|
|
||||||
#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
|
|
||||||
#define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
|
|
||||||
-#define CLIENT_RESERVED2 32768 /* Old flag for 4.1 authentication */
|
|
||||||
+#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
|
|
||||||
#define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
|
|
||||||
#define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
|
|
||||||
#define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */
|
|
||||||
@@ -226,7 +216,7 @@
|
|
||||||
| CLIENT_IGNORE_SIGPIPE \
|
|
||||||
| CLIENT_TRANSACTIONS \
|
|
||||||
| CLIENT_RESERVED \
|
|
||||||
- | CLIENT_RESERVED2 \
|
|
||||||
+ | CLIENT_SECURE_CONNECTION \
|
|
||||||
| CLIENT_MULTI_STATEMENTS \
|
|
||||||
| CLIENT_MULTI_RESULTS \
|
|
||||||
| CLIENT_PS_MULTI_RESULTS \
|
|
||||||
--- a/libmysql/client_settings.h 2015-02-25 16:09:49.000000000 -0500
|
|
||||||
+++ b/libmysql/client_settings.h 2015-08-11 15:44:10.804091000 -0400
|
|
||||||
@@ -31,7 +31,7 @@
|
|
||||||
CLIENT_LONG_FLAG | \
|
|
||||||
CLIENT_TRANSACTIONS | \
|
|
||||||
CLIENT_PROTOCOL_41 | \
|
|
||||||
- CLIENT_RESERVED2 | \
|
|
||||||
+ CLIENT_SECURE_CONNECTION | \
|
|
||||||
CLIENT_MULTI_RESULTS | \
|
|
||||||
CLIENT_PS_MULTI_RESULTS | \
|
|
||||||
CLIENT_PLUGIN_AUTH | \
|
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
MULTILIB_WRAPPED_HEADERS+=(
|
|
||||||
/usr/include/mysql/my_config.h
|
|
||||||
)
|
|
||||||
|
|
||||||
# wrap the config script
|
|
||||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
|
||||||
|
|
||||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/connector/c/"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz"
|
|
||||||
S="${WORKDIR}/${P}-src"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
|
|
||||||
|
|
||||||
SUBSLOT="18"
|
|
||||||
SLOT="0/${SUBSLOT}"
|
|
||||||
IUSE="libressl static-libs"
|
|
||||||
|
|
||||||
CDEPEND="
|
|
||||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
|
||||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
!dev-db/mariadb-connector-c[mysqlcompat]
|
|
||||||
"
|
|
||||||
DEPEND="${CDEPEND}"
|
|
||||||
|
|
||||||
DOCS=( README )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/mysql_com.patch"
|
|
||||||
"${FILESDIR}/20028_all_mysql-5.6-gcc7.patch"
|
|
||||||
"${FILESDIR}/6.1.11-openssl-1.1.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
|
||||||
if use libressl ; then
|
|
||||||
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
|
|
||||||
"${S}/cmake/ssl.cmake" || die
|
|
||||||
fi
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DINSTALL_LAYOUT=RPM
|
|
||||||
-DINSTALL_LIBDIR=$(get_libdir)
|
|
||||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
|
||||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
|
||||||
-DENABLED_LOCAL_INFILE=ON
|
|
||||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
|
||||||
-DWITH_ZLIB=system
|
|
||||||
-DENABLE_DTRACE=OFF
|
|
||||||
-DWITH_SSL=system
|
|
||||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
|
||||||
-DSHARED_LIB_PATCH_VERSION="0"
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
if ! use static-libs ; then
|
|
||||||
find "${ED}" -name "*.a" -delete || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
|
|
||||||
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 libmysqlclient.so.${SUBSLOT}"
|
|
||||||
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,111 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
# wrap the config script
|
|
||||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
|
||||||
|
|
||||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
|
|
||||||
|
|
||||||
SLOT="0/21"
|
|
||||||
IUSE="ldap libressl static-libs"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-arch/lz4-0_p131:=
|
|
||||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
|
||||||
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
|
|
||||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
# Avoid file collisions, #692580
|
|
||||||
RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.23*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.24*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.25*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
|
|
||||||
RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
|
|
||||||
|
|
||||||
DOCS=( README )
|
|
||||||
|
|
||||||
S="${WORKDIR}/mysql-${PV}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.19-libressl.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
|
||||||
|
|
||||||
# All these are for the server only.
|
|
||||||
# Disable rpm call which would trigger sandbox, #692368
|
|
||||||
sed -i \
|
|
||||||
-e '/MYSQL_CHECK_LIBEVENT/d' \
|
|
||||||
-e '/MYSQL_CHECK_RAPIDJSON/d' \
|
|
||||||
-e '/MYSQL_CHECK_ICU/d' \
|
|
||||||
-e '/MYSQL_CHECK_EDITLINE/d' \
|
|
||||||
-e '/MYSQL_CHECK_CURL/d' \
|
|
||||||
-e '/ADD_SUBDIRECTORY(man)/d' \
|
|
||||||
-e '/ADD_SUBDIRECTORY(share)/d' \
|
|
||||||
-e '/INCLUDE(cmake\/boost/d' \
|
|
||||||
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
|
|
||||||
CMakeLists.txt || die
|
|
||||||
|
|
||||||
# Skip building clients
|
|
||||||
echo > client/CMakeLists.txt || die
|
|
||||||
|
|
||||||
# Forcefully disable auth plugin
|
|
||||||
if ! use ldap ; then
|
|
||||||
sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
|
|
||||||
echo > libmysql/authentication_ldap/CMakeLists.txt || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DINSTALL_LAYOUT=RPM
|
|
||||||
-DINSTALL_LIBDIR=$(get_libdir)
|
|
||||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
|
||||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
|
||||||
-DENABLED_LOCAL_INFILE=ON
|
|
||||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
|
|
||||||
-DWITH_ZLIB=system
|
|
||||||
-DWITH_SSL=system
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
|
||||||
-DSHARED_LIB_PATCH_VERSION="0"
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DWITHOUT_SERVER=ON
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
cmake-utils_src_install
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
doman \
|
|
||||||
man/my_print_defaults.1 \
|
|
||||||
man/perror.1 \
|
|
||||||
man/zlib_decompress.1
|
|
||||||
|
|
||||||
if ! use static-libs ; then
|
|
||||||
find "${ED}" -name "*.a" -delete || die
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,111 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
# wrap the config script
|
|
||||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
|
||||||
|
|
||||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
|
||||||
HOMEPAGE="https://dev.mysql.com/downloads/"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
|
||||||
|
|
||||||
SLOT="0/21"
|
|
||||||
IUSE="ldap libressl static-libs"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-arch/lz4-0_p131:=
|
|
||||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
|
||||||
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
|
|
||||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
# Avoid file collisions, #692580
|
|
||||||
RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.23*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.24*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.25*"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
|
|
||||||
RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
|
|
||||||
RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
|
|
||||||
|
|
||||||
DOCS=( README )
|
|
||||||
|
|
||||||
S="${WORKDIR}/mysql-${PV}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
|
|
||||||
"${FILESDIR}"/${PN}-8.0.20-libressl.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
|
||||||
|
|
||||||
# All these are for the server only.
|
|
||||||
# Disable rpm call which would trigger sandbox, #692368
|
|
||||||
sed -i \
|
|
||||||
-e '/MYSQL_CHECK_LIBEVENT/d' \
|
|
||||||
-e '/MYSQL_CHECK_RAPIDJSON/d' \
|
|
||||||
-e '/MYSQL_CHECK_ICU/d' \
|
|
||||||
-e '/MYSQL_CHECK_EDITLINE/d' \
|
|
||||||
-e '/MYSQL_CHECK_CURL/d' \
|
|
||||||
-e '/ADD_SUBDIRECTORY(man)/d' \
|
|
||||||
-e '/ADD_SUBDIRECTORY(share)/d' \
|
|
||||||
-e '/INCLUDE(cmake\/boost/d' \
|
|
||||||
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
|
|
||||||
CMakeLists.txt || die
|
|
||||||
|
|
||||||
# Skip building clients
|
|
||||||
echo > client/CMakeLists.txt || die
|
|
||||||
|
|
||||||
# Forcefully disable auth plugin
|
|
||||||
if ! use ldap ; then
|
|
||||||
sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
|
|
||||||
echo > libmysql/authentication_ldap/CMakeLists.txt || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DINSTALL_LAYOUT=RPM
|
|
||||||
-DINSTALL_LIBDIR=$(get_libdir)
|
|
||||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
|
||||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
|
||||||
-DENABLED_LOCAL_INFILE=ON
|
|
||||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
|
|
||||||
-DWITH_ZLIB=system
|
|
||||||
-DWITH_SSL=system
|
|
||||||
-DWITH_NUMA=OFF
|
|
||||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
|
||||||
-DSHARED_LIB_PATCH_VERSION="0"
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DWITHOUT_SERVER=ON
|
|
||||||
)
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
cmake-utils_src_install
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
doman \
|
|
||||||
man/my_print_defaults.1 \
|
|
||||||
man/perror.1 \
|
|
||||||
man/zlib_decompress.1
|
|
||||||
|
|
||||||
if ! use static-libs ; then
|
|
||||||
find "${ED}" -name "*.a" -delete || die
|
|
||||||
fi
|
|
||||||
}
|
|
Binary file not shown.
@ -0,0 +1,11 @@
|
|||||||
|
--- a/Sound/Wav/ChannelData.hs
|
||||||
|
+++ b/Sound/Wav/ChannelData.hs
|
||||||
|
@@ -111,7 +111,7 @@ wordPutter 1 = putInt8 . zeroStable (0 :: Int8)
|
||||||
|
wordPutter 2 = putInt16le . zeroStable (0 :: Int16)
|
||||||
|
wordPutter 3 = putInt32le . zeroStable (0 :: Int32)
|
||||||
|
wordPutter 4 = putInt64le
|
||||||
|
-wordPutter x = \_ -> fail $ "The is no word putter for byte size " ++ show x
|
||||||
|
+wordPutter x = \_ -> error $ "The is no word putter for byte size " ++ show x
|
||||||
|
|
||||||
|
wordGetter :: (Num a, Show a, Eq a) => a -> Get Int64
|
||||||
|
wordGetter 1 = fmap zeroStable64 getInt8
|
Binary file not shown.
@ -1,6 +1,7 @@
|
|||||||
DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4
|
DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4
|
||||||
DIST perl-5.30.3-patches-1.tar.xz 20292 BLAKE2B 34ca8dbdf08650deaaa59bba634c3a40c6da7d91b282365eec217cc421b17678837b1ae02de5d6b0b632858a0251b796ce28ddbdd7a86aca6697f18a527fcb62 SHA512 ba9aafcaff405c931b61ffc917be8ef71e538fd5277a3bcfafbaffc965b53f9c1811670558a0bc75c538586a30f11aba3ce59bd2214982eaad3b5afa64e67999
|
DIST perl-5.30.3-patches-1.tar.xz 20292 BLAKE2B 34ca8dbdf08650deaaa59bba634c3a40c6da7d91b282365eec217cc421b17678837b1ae02de5d6b0b632858a0251b796ce28ddbdd7a86aca6697f18a527fcb62 SHA512 ba9aafcaff405c931b61ffc917be8ef71e538fd5277a3bcfafbaffc965b53f9c1811670558a0bc75c538586a30f11aba3ce59bd2214982eaad3b5afa64e67999
|
||||||
DIST perl-5.30.3.tar.xz 12375128 BLAKE2B ff0668c896e46ea35a1b8bd4a7d800c8668d6995185cd8c43fca332da2fa63965bb5276b2d5cf9738c0b7fb735140f6e33f1b4582899017903f86753065f417b SHA512 0ea62cf17532ee99217a218c39aa530472857c7a1982494f3a01693683062b4cdebe383a79f7b64452c713337b554ed5e0fd6eda018ea29e83c3538a13c24f3c
|
DIST perl-5.30.3.tar.xz 12375128 BLAKE2B ff0668c896e46ea35a1b8bd4a7d800c8668d6995185cd8c43fca332da2fa63965bb5276b2d5cf9738c0b7fb735140f6e33f1b4582899017903f86753065f417b SHA512 0ea62cf17532ee99217a218c39aa530472857c7a1982494f3a01693683062b4cdebe383a79f7b64452c713337b554ed5e0fd6eda018ea29e83c3538a13c24f3c
|
||||||
|
DIST perl-5.32.0-patches-1.tar.xz 20220 BLAKE2B 46ebca5c74f59aa935ceec2a5807426c0e653ad7ba27de441d26e049e62dc67b17d58dfe5755f31bdd157e349d47fd46a98699207729f8f4f747930ed1064ba2 SHA512 42ed00f5f6be40af59e02691ff439a048cccd96fb970cca0976209faa921af98a773cc4cb1466e164328350d58cb46950ffa8c6f2fddabbeb3e8819349b06849
|
||||||
DIST perl-5.32.0.tar.xz 12717336 BLAKE2B 4abad9f1ddabaad5f2bbfe8ab6d061aeb8c558e458d4bf1bcf737a8ecc1cf20f7dffaddd0bc867578b457787ec284fa81be3fae1edd7f72d58aeec7b5cd744e5 SHA512 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760
|
DIST perl-5.32.0.tar.xz 12717336 BLAKE2B 4abad9f1ddabaad5f2bbfe8ab6d061aeb8c558e458d4bf1bcf737a8ecc1cf20f7dffaddd0bc867578b457787ec284fa81be3fae1edd7f72d58aeec7b5cd744e5 SHA512 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760
|
||||||
DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5
|
DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5
|
||||||
DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874
|
DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874
|
||||||
|
@ -0,0 +1,818 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||||
|
|
||||||
|
PATCH_VER=1
|
||||||
|
CROSS_VER=1.3.4
|
||||||
|
PATCH_BASE="perl-5.32.0-patches-${PATCH_VER}"
|
||||||
|
PATCH_DEV=kentnl
|
||||||
|
|
||||||
|
DIST_AUTHOR=XSAWYERX
|
||||||
|
|
||||||
|
# Greatest first, don't include yourself
|
||||||
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
|
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
||||||
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
|
DIST_VERSION=5.30.0
|
||||||
|
else
|
||||||
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
|
fi
|
||||||
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
# Even numbered major versions are ABI intercompatible
|
||||||
|
# Odd numbered major versions are not
|
||||||
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
|
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||||
|
else
|
||||||
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
|
fi
|
||||||
|
# Used only in tar paths
|
||||||
|
MY_P="perl-${DIST_VERSION}"
|
||||||
|
# Used in library paths
|
||||||
|
MY_PV="${DIST_VERSION%-RC*}"
|
||||||
|
|
||||||
|
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||||
|
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||||
|
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||||
|
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||||
|
"
|
||||||
|
HOMEPAGE="https://www.perl.org/"
|
||||||
|
|
||||||
|
LICENSE="|| ( Artistic GPL-1+ )"
|
||||||
|
SLOT="0/${SUBSLOT}"
|
||||||
|
|
||||||
|
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||||
|
# SOMEWHAT EXPERIMENTAL CODE, DO NOT USE WITHOUT AN ADULT PRESENT, CHECK CHANGELOG
|
||||||
|
# FOR DETAILS
|
||||||
|
KEYWORDS=""
|
||||||
|
# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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
|
||||||
|
|
||||||
|
IUSE="berkdb debug doc gdbm ithreads"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
berkdb? ( sys-libs/db:= )
|
||||||
|
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||||
|
app-arch/bzip2
|
||||||
|
sys-libs/zlib
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
PDEPEND="
|
||||||
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
|
virtual/perl-Test-Harness
|
||||||
|
"
|
||||||
|
# bug 390719, bug 523624
|
||||||
|
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
dual_scripts() {
|
||||||
|
src_remove_dual perl-core/Archive-Tar 2.360.0 ptar ptardiff ptargrep
|
||||||
|
src_remove_dual perl-core/CPAN 2.270.0 cpan
|
||||||
|
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||||
|
src_remove_dual perl-core/Encode 3.60.0 enc2xs piconv
|
||||||
|
src_remove_dual perl-core/ExtUtils-MakeMaker 7.440.0 instmodsh
|
||||||
|
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
|
||||||
|
src_remove_dual perl-core/IO-Compress 2.93.0 zipdetails
|
||||||
|
src_remove_dual perl-core/JSON-PP 4.40.0 json_pp
|
||||||
|
src_remove_dual perl-core/Module-CoreList 5.202.6.20 corelist
|
||||||
|
src_remove_dual perl-core/Pod-Checker 1.730.0 podchecker
|
||||||
|
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||||
|
src_remove_dual perl-core/Pod-Usage 1.690.0 pod2usage
|
||||||
|
src_remove_dual perl-core/Test-Harness 3.420.0 prove
|
||||||
|
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||||
|
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_rebuild() {
|
||||||
|
# Fresh install
|
||||||
|
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||||
|
return 0;
|
||||||
|
# Major Upgrade
|
||||||
|
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||||
|
# if the string is anything other than "5.CURRENTMAJOR"
|
||||||
|
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||||
|
echo ""
|
||||||
|
ewarn "UPDATE THE PERL MODULES:"
|
||||||
|
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||||
|
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||||
|
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||||
|
ewarn "to ensure system consistency."
|
||||||
|
ewarn
|
||||||
|
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||||
|
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||||
|
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||||
|
ewarn "Recommended: emerge --depclean -va"
|
||||||
|
ewarn
|
||||||
|
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||||
|
ewarn "remaining rebuilds portage may have missed."
|
||||||
|
ewarn "Use: perl-cleaner --all"
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
# Reinstall w/ USE Change
|
||||||
|
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
|
echo ""
|
||||||
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
|
ewarn "You changed one of the use-flags ithreads or debug."
|
||||||
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
case ${CHOST} in
|
||||||
|
*-freebsd*) osname="freebsd" ;;
|
||||||
|
*-dragonfly*) osname="dragonfly" ;;
|
||||||
|
*-netbsd*) osname="netbsd" ;;
|
||||||
|
*-openbsd*) osname="openbsd" ;;
|
||||||
|
*-darwin*) osname="darwin" ;;
|
||||||
|
*-solaris*) osname="solaris" ;;
|
||||||
|
*-interix*) osname="interix" ;;
|
||||||
|
*-aix*) osname="aix" ;;
|
||||||
|
*-cygwin*) osname="cygwin" ;;
|
||||||
|
*) osname="linux" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
myarch="${CHOST%%-*}-${osname}"
|
||||||
|
if use debug ; then
|
||||||
|
myarch+="-debug"
|
||||||
|
fi
|
||||||
|
if use ithreads ; then
|
||||||
|
mythreading="-multi"
|
||||||
|
myarch+="-thread"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||||
|
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||||
|
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||||
|
|
||||||
|
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||||
|
|
||||||
|
# This ENV var tells perl to build with a directory like "5.30"
|
||||||
|
# regardless of its patch version. This is for experts only
|
||||||
|
# at this point.
|
||||||
|
if [[ -z "${PERL_SINGLE_SLOT}" ]]; then
|
||||||
|
PRIV_LIB="${PRIV_BASE}/${MY_PV}"
|
||||||
|
ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||||
|
SITE_LIB="${SITE_BASE}/${MY_PV}"
|
||||||
|
SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||||
|
VENDOR_LIB="${VENDOR_BASE}/${MY_PV}"
|
||||||
|
VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||||
|
else
|
||||||
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_file() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
setup)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||||
|
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_man() {
|
||||||
|
local i pkg ver ff
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||||
|
ff=${ff##*${i#${i%.[0-9]}}}
|
||||||
|
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
for i in "$@" ; do
|
||||||
|
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||||
|
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare_perlcross() {
|
||||||
|
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||||
|
|
||||||
|
# bug 604072
|
||||||
|
MAKEOPTS+=" -j1"
|
||||||
|
export MAKEOPTS
|
||||||
|
}
|
||||||
|
src_prepare_dynamic() {
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy a patch into the patch series
|
||||||
|
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||||
|
# - description is optional, but recommended
|
||||||
|
# - all arguments after descriptions are bug URLs
|
||||||
|
add_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local src_name dest_name desc
|
||||||
|
src_name="$1"
|
||||||
|
dest_name="$2"
|
||||||
|
desc="$3"
|
||||||
|
shift; shift; shift;
|
||||||
|
einfo "Adding ${dest_name} to patch bundle"
|
||||||
|
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||||
|
if [[ -n "${desc}" ]]; then
|
||||||
|
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||||
|
fi
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
# Note: when $@ is more than one element, this emits a
|
||||||
|
# line for each element
|
||||||
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Remove a patch using a glob expr
|
||||||
|
# eg:
|
||||||
|
# rm_patch *-darin-Use-CC*
|
||||||
|
#
|
||||||
|
rm_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local expr="$1"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||||
|
einfo "Removing $patch ($expr) from patch bundle"
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||||
|
else
|
||||||
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||||
|
# but this is far easier to debug when things go wrong, and things went wrong
|
||||||
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
|
# requires circumnavigating both bash and sed escape mechanisms.
|
||||||
|
c_escape_string() {
|
||||||
|
local slash dquote
|
||||||
|
slash='\'
|
||||||
|
dquote='"'
|
||||||
|
re_slash="${slash}${slash}"
|
||||||
|
re_dquote="${slash}${dquote}"
|
||||||
|
|
||||||
|
# Convert \ to \\,
|
||||||
|
# " to \"
|
||||||
|
echo "$1" |\
|
||||||
|
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||||
|
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||||
|
}
|
||||||
|
c_escape_file() {
|
||||||
|
c_escape_string "$(cat "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
apply_patchdir() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local patchoutput="patchlevel-gentoo.h"
|
||||||
|
|
||||||
|
# Inject Patch-Level info into description for patchlevel.h patch
|
||||||
|
# to show in -V
|
||||||
|
local patch_expr="*List-packaged-patches*"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||||
|
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||||
|
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||||
|
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||||
|
else
|
||||||
|
eerror "No $patch_expr found in ${patchdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compute patch list to apply
|
||||||
|
# different name other than PATCHES to stop default
|
||||||
|
# reapplying it
|
||||||
|
# Single depth is currently only supported, as artifacts can reside
|
||||||
|
# from the old layout being multiple-directories, as well as it grossly
|
||||||
|
# simplifying the patchlevel_gentoo.h generation.
|
||||||
|
local PERL_PATCHES=($(
|
||||||
|
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||||
|
grep -E '[.](diff|patch)$' |\
|
||||||
|
sort -n
|
||||||
|
))
|
||||||
|
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
eapply "${WORKDIR}"/patches/${patch}
|
||||||
|
done
|
||||||
|
|
||||||
|
einfo "Generating $patchoutput"
|
||||||
|
|
||||||
|
# This code creates a header file, each iteration
|
||||||
|
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||||
|
# and STDOUT is redirected to the .h file
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
local desc_f="${infodir}/${patch}.desc"
|
||||||
|
local bugs_f="${infodir}/${patch}.bugs"
|
||||||
|
|
||||||
|
printf ',"%s"\n' "${patch}"
|
||||||
|
if [[ ! -e "${desc_f}" ]]; then
|
||||||
|
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||||
|
else
|
||||||
|
local desc="$(c_escape_file "${desc_f}")"
|
||||||
|
printf ',"- %s"\n' "${desc}"
|
||||||
|
fi
|
||||||
|
if [[ -e "${bugs_f}" ]]; then
|
||||||
|
while read -d $'\n' -r line; do
|
||||||
|
local esc_line="$(c_escape_string "${line}")"
|
||||||
|
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||||
|
done <"${bugs_f}"
|
||||||
|
fi
|
||||||
|
done > "${S}/${patchoutput}"
|
||||||
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
|
}
|
||||||
|
src_prepare() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
|
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||||
|
# Inject bug/desc entries for perl -V
|
||||||
|
if use hppa ; then
|
||||||
|
# bug 634162
|
||||||
|
add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||||
|
"Fix broken miniperl on hppa"\
|
||||||
|
"https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
fi
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
|
# when -lsocket is used e.g. to get h_errno
|
||||||
|
rm_patch "*-nsl-and-cl*"
|
||||||
|
fi
|
||||||
|
|
||||||
|
apply_patchdir
|
||||||
|
|
||||||
|
tc-is-cross-compiler && src_prepare_perlcross
|
||||||
|
|
||||||
|
tc-is-static-only || src_prepare_dynamic
|
||||||
|
|
||||||
|
if use gdbm; then
|
||||||
|
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||||
|
ext/NDBM_File/Makefile.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use errno.h from prefix rather than from host system, bug #645804
|
||||||
|
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||||
|
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# set a soname, fix linking against just built libperl
|
||||||
|
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
# fix install_name (soname) not to reference $D
|
||||||
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
myconf() {
|
||||||
|
# the myconf array is declared in src_configure
|
||||||
|
myconf=( "${myconf[@]}" "$@" )
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs a list of versions which have been seen in any of the
|
||||||
|
# primary perl @INC prefix paths, such as:
|
||||||
|
# /usr/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
|
#
|
||||||
|
# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
|
||||||
|
# is enabled, where it will also allow numbers like "5.x"
|
||||||
|
#
|
||||||
|
# PERL_SUPPORT_SINGLE_SLOT should only be used to transition *away* from PERL_SINGLE_SLOT
|
||||||
|
# if you used that.
|
||||||
|
find_candidate_inc_versions() {
|
||||||
|
local regex='.*/5[.][0-9]+[.][0-9]+$';
|
||||||
|
if [[ ! -z "${PERL_SUPPORT_SINGLE_SLOT}" || ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
||||||
|
regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||||
|
fi
|
||||||
|
local dirs=(
|
||||||
|
"${EROOT}${PRIV_BASE}"
|
||||||
|
"${EROOT}${SITE_BASE}"
|
||||||
|
"${EROOT}${VENDOR_BASE}"
|
||||||
|
)
|
||||||
|
for dir in "${dirs[@]}"; do
|
||||||
|
if [[ ! -e "${dir}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Without access to readdir() on these dirs, find will not be able
|
||||||
|
# to reveal any @INC directories inside them, and will subsequently prune
|
||||||
|
# them from the built perl's @INC support, breaking our compatiblity options
|
||||||
|
# entirely.
|
||||||
|
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||||
|
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||||
|
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||||
|
eerror "Recommended permission is +rx for all"
|
||||||
|
eerror "> chmod o+rx ${dir}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||||
|
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||||
|
}
|
||||||
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
|
# dedup. Takes each version as an argument
|
||||||
|
sanitize_inc_versions() {
|
||||||
|
local vexclude="${DIST_VERSION%-RC}"
|
||||||
|
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
||||||
|
vexclude="${SUBSLOT}"
|
||||||
|
fi
|
||||||
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
|
einfo " to remove '${vexclude}'"
|
||||||
|
# Note, general numeric sort has to be used
|
||||||
|
# for the last component, or unique will convert
|
||||||
|
# 5.30.0 + 5.30 into just 5.30
|
||||||
|
printf "%s\n" "$@" |\
|
||||||
|
grep -vxF "${vexclude}" |\
|
||||||
|
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||||
|
}
|
||||||
|
|
||||||
|
versions_to_inclist() {
|
||||||
|
local oldv="${PERL_BIN_OLDVERSEN}"
|
||||||
|
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
||||||
|
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
fi
|
||||||
|
for v; do
|
||||||
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
|
echo -n "${v}/ ";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
versions_to_gentoolibdirs() {
|
||||||
|
local oldv="${PERL_BIN_OLDVERSEN}"
|
||||||
|
local root
|
||||||
|
local v
|
||||||
|
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
||||||
|
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
fi
|
||||||
|
for v; do
|
||||||
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
|
if [[ -e "${fullpath}" ]]; then
|
||||||
|
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||||
|
printf "%s:" "${fullpath}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
declare -a myconf
|
||||||
|
|
||||||
|
export LC_ALL="C"
|
||||||
|
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||||
|
|
||||||
|
# Perl has problems compiling with -Os in your flags with glibc
|
||||||
|
use elibc_uclibc || replace-flags "-Os" "-O2"
|
||||||
|
|
||||||
|
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||||
|
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||||
|
# fine with glibc and locale.h only.
|
||||||
|
# However, the darwin prefix people have no locale.h ...
|
||||||
|
use elibc_glibc && myconf -Ui_xlocale
|
||||||
|
|
||||||
|
# This flag makes compiling crash in interesting ways
|
||||||
|
filter-flags "-malign-double"
|
||||||
|
|
||||||
|
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||||
|
filter-flags "-flto"
|
||||||
|
|
||||||
|
use sparc && myconf -Ud_longdbl
|
||||||
|
|
||||||
|
export BUILD_BZIP2=0
|
||||||
|
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||||
|
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
export BUILD_ZLIB=False
|
||||||
|
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||||
|
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||||
|
myndbm='U'
|
||||||
|
mygdbm='U'
|
||||||
|
mydb='U'
|
||||||
|
if use gdbm ; then
|
||||||
|
mygdbm='D'
|
||||||
|
if use berkdb ; then
|
||||||
|
myndbm='D'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if use berkdb ; then
|
||||||
|
mydb='D'
|
||||||
|
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||||
|
|
||||||
|
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||||
|
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||||
|
myconf -Ui_db -Ui_ndbm
|
||||||
|
fi
|
||||||
|
|
||||||
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
if use debug ; then
|
||||||
|
append-cflags "-g"
|
||||||
|
myconf -DDEBUGGING
|
||||||
|
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||||
|
myconf -DDEBUGGING=-g
|
||||||
|
else
|
||||||
|
myconf -DDEBUGGING=none
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Autodiscover all old version directories, some of them will even be newer
|
||||||
|
# if you downgrade
|
||||||
|
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||||
|
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup versions, removing self match, fixing order and dupes
|
||||||
|
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||||
|
|
||||||
|
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||||
|
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||||
|
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||||
|
einfo "This version of perl may partially support modules previously"
|
||||||
|
einfo "installed in any of the following paths:"
|
||||||
|
for incpath in ${inclist}; do
|
||||||
|
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||||
|
done
|
||||||
|
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||||
|
einfo "via world updates and perl-cleaner"
|
||||||
|
# myconf -Dinc_version_list="${inclist}"
|
||||||
|
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||||
|
|
||||||
|
# Make sure we can do the final link #523730, need to set deployment
|
||||||
|
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||||
|
[[ ${CHOST} == *-darwin* ]] && \
|
||||||
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
|
# using c89 mode as injected by cflags.SH
|
||||||
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
|
append-cflags -Dinline=__inline__
|
||||||
|
|
||||||
|
# fix unaligned access misdetection
|
||||||
|
# https://rt.perl.org/Public/Bug/Display.html?id=133495
|
||||||
|
# https://rt.perl.org/Public/Bug/Display.html?id=133803
|
||||||
|
# bug #676062, bug #688432
|
||||||
|
use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
|
||||||
|
[[ ${CHOST} == armv5tel* ]] \
|
||||||
|
&& myconf "-Dd_u32align='define'"
|
||||||
|
|
||||||
|
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||||
|
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||||
|
# something compatible.
|
||||||
|
if use prefix ; then
|
||||||
|
# Set a hook to check for each detected library whether it actually works.
|
||||||
|
export libscheck="
|
||||||
|
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||||
|
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||||
|
) || xxx=/dev/null"
|
||||||
|
|
||||||
|
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||||
|
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||||
|
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||||
|
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||||
|
# We need to use " and not ', as the written config.sh use ' ...
|
||||||
|
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't try building ODBM, bug #354453
|
||||||
|
disabled_extensions="ODBM_File"
|
||||||
|
|
||||||
|
if ! use gdbm ; then
|
||||||
|
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||||
|
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf -Dnoextensions="${disabled_extensions}"
|
||||||
|
|
||||||
|
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||||
|
|
||||||
|
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||||
|
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||||
|
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||||
|
|
||||||
|
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||||
|
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||||
|
myconf \
|
||||||
|
-Duseshrplib \
|
||||||
|
-Darchname="${myarch}" \
|
||||||
|
-Dcc="$(tc-getCC)" \
|
||||||
|
-Dar="$(tc-getAR)" \
|
||||||
|
-Dnm="$(tc-getNM)" \
|
||||||
|
-Dcpp="$(tc-getCPP)" \
|
||||||
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Doptimize="${CFLAGS}" \
|
||||||
|
-Dldflags="${LDFLAGS}" \
|
||||||
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||||
|
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||||
|
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||||
|
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||||
|
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||||
|
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||||
|
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||||
|
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||||
|
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||||
|
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||||
|
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dman1ext='1' \
|
||||||
|
-Dman3ext='3pm' \
|
||||||
|
-Dlibperl="${LIBPERL}" \
|
||||||
|
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||||
|
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||||
|
-Duselargefiles \
|
||||||
|
-Dd_semctl_semun \
|
||||||
|
-Dcf_by='Gentoo' \
|
||||||
|
-Dmyhostname='localhost' \
|
||||||
|
-Dperladmin='root@localhost' \
|
||||||
|
-Ud_csh \
|
||||||
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Uusenm \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
./configure \
|
||||||
|
--target="${CHOST}" \
|
||||||
|
--build="${CBUILD}" \
|
||||||
|
-Dinstallprefix='' \
|
||||||
|
-Dinstallusrbinperl='undef' \
|
||||||
|
-Dusevendorprefix='define' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
else
|
||||||
|
sh Configure \
|
||||||
|
-des \
|
||||||
|
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dinstallusrbinperl='n' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
export NO_GENTOO_NETWORK_TESTS=1;
|
||||||
|
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||||
|
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||||
|
if [[ ${EUID} == 0 ]] ; then
|
||||||
|
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
use elibc_uclibc && export MAKEOPTS+=" -j1"
|
||||||
|
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local i
|
||||||
|
local coredir="${ARCH_LIB}/CORE"
|
||||||
|
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||||
|
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||||
|
|
||||||
|
if ! tc-is-static-only ; then
|
||||||
|
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||||
|
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||||
|
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||||
|
|
||||||
|
# This removes ${D} from Config.pm
|
||||||
|
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||||
|
einfo "Removing ${D} from ${i}..."
|
||||||
|
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||||
|
done
|
||||||
|
|
||||||
|
dodoc Changes* README AUTHORS
|
||||||
|
|
||||||
|
if use doc ; then
|
||||||
|
# HTML Documentation
|
||||||
|
# We expect errors, warnings, and such with the following.
|
||||||
|
|
||||||
|
dodir /usr/share/doc/${PF}/html
|
||||||
|
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||||
|
--podroot='.' \
|
||||||
|
--podpath='lib:ext:pod:vms' \
|
||||||
|
--recurse \
|
||||||
|
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
check_rebuild
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
dual_scripts
|
||||||
|
|
||||||
|
if [[ "${ROOT}" = "/" ]] ; then
|
||||||
|
local INC DIR file
|
||||||
|
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||||
|
einfo "Removing old .ph files"
|
||||||
|
for DIR in ${INC} ; do
|
||||||
|
if [[ -d "${DIR}" ]] ; then
|
||||||
|
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||||
|
rm -f "${file}"
|
||||||
|
einfo "<< ${file}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Silently remove the now empty dirs
|
||||||
|
for DIR in ${INC} ; do
|
||||||
|
if [[ -d "${DIR}" ]] ; then
|
||||||
|
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
dual_scripts
|
||||||
|
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
|||||||
DIST check-0.14.0.tar.gz 303471 BLAKE2B d602bb56d205eccf06e4177e3f6d3f7270c3a0cba0e1d397480f0409a916ec4118c48340ad6f6a8955ea30d9e22252ff8381a687d000c3f8e62828cf656f1245 SHA512 54ad175c00cf0c73b4386cf6b3d6a404a5da4f57897d099e772f148f410108c44767c3266a940113be73a6861b3f3ee1706c558cc71ec51df99687f19f3a3bb4
|
DIST check-0.14.0.tar.gz 303471 BLAKE2B d602bb56d205eccf06e4177e3f6d3f7270c3a0cba0e1d397480f0409a916ec4118c48340ad6f6a8955ea30d9e22252ff8381a687d000c3f8e62828cf656f1245 SHA512 54ad175c00cf0c73b4386cf6b3d6a404a5da4f57897d099e772f148f410108c44767c3266a940113be73a6861b3f3ee1706c558cc71ec51df99687f19f3a3bb4
|
||||||
DIST check-0.15.0.tar.gz 306428 BLAKE2B fea2a169b86248a6657f890469f41cd699dd95efb91e311ccf188548a6c8c28568decf0b5f03b08aed31e14c69d50707b418e1e71c6db7e1b7938ee36aa19cd8 SHA512 efde93977a38520b3b83a9e2f678d07b916fc27e41cf839a663900c4153d645fe4274ec3b7e2dabf475457f909f61734632c97b7257c49f5853fd11d920b0c84
|
DIST check-0.15.0.tar.gz 306428 BLAKE2B fea2a169b86248a6657f890469f41cd699dd95efb91e311ccf188548a6c8c28568decf0b5f03b08aed31e14c69d50707b418e1e71c6db7e1b7938ee36aa19cd8 SHA512 efde93977a38520b3b83a9e2f678d07b916fc27e41cf839a663900c4153d645fe4274ec3b7e2dabf475457f909f61734632c97b7257c49f5853fd11d920b0c84
|
||||||
|
DIST check-0.15.2.tar.gz 306136 BLAKE2B e93755b58ddfea7ecc013e5449806611baedb91b362e573d4e3b6f716feeb0012cceec80f7109e44b2808deb980300c4f7825919b97878b160a1bf884357bde3 SHA512 cf81ca63142f33779df2e3542e049b9034d30bc502a663a4379bbfe85c7ee8fd80ce382583e781651d99fe830895122dab5b6793f87425b571c3927f0ba3b60e
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
CMAKE_ECLASS=cmake
|
||||||
|
inherit cmake-multilib
|
||||||
|
|
||||||
|
DESCRIPTION="A unit test framework for C"
|
||||||
|
HOMEPAGE="https://libcheck.github.io/check/"
|
||||||
|
SRC_URI="https://github.com/libcheck/check/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2.1+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
IUSE="doc subunit test"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
RDEPEND="subunit? ( dev-python/subunit[${MULTILIB_USEDEP}] )"
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
sys-apps/texinfo"
|
||||||
|
BDEPEND="doc? ( app-doc/doxygen )"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}/check-0.14.0-r2-disable-automagic-dep.patch" )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cmake_src_prepare
|
||||||
|
|
||||||
|
# Fix wrong libdir, probably caused by multilib
|
||||||
|
sed -i "s|\${libdir}|/usr/$(get_libdir)|g" check.pc.in || die "sed .pc failed."
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DBUILD_TESTING=$(usex test ON OFF)
|
||||||
|
-DCHECK_ENABLE_SUBUNIT=$(usex subunit ON OFF)
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
cmake_src_compile
|
||||||
|
|
||||||
|
if use doc && multilib_is_native_abi; then
|
||||||
|
cd "${S}"/doc/ || die "Failed to switch directories."
|
||||||
|
doxygen "." || die "Failed to run doxygen to generate docs."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
use doc && local HTML_DOCS=( "${S}"/doc/html/. )
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue