Sync with portage [Mon Aug 10 09:32:00 MSK 2020].

develop 1740
root 4 years ago
parent 21667412fa
commit f62586041b

Binary file not shown.

Binary file not shown.

@ -10,7 +10,7 @@ SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
IUSE="libressl ssl"
RESTRICT="test"

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

@ -1,12 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>rgkmg25@gmail.com</email>
<name>Robert Kowalski</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>

@ -1,5 +1,4 @@
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.9.0.tar.gz 3743850 BLAKE2B 47d557afb13eee300d379ae31aae34cf7cf1e5ad140c6d7e599f687cca2cc259ec17f9ec0b3ca6f0badef81bb6e9d659e3e2bb77d9994218a9a3d88ec7ff2c19 SHA512 f2a191ea5fc65865718b110d4aca187cb5e2cd55c9c891fab32f21401e56f825f34c373e346c55c64fa49cec4d802efb63ccebf3d4a4e31d9a433077daf013b1
DIST sudo-1.9.1.tar.gz 3834744 BLAKE2B 835eaae5b61627da65f40f04646b261093c56f77bdfb1b64f746e569a4bfafcfbb31d88ab301bf8544a8714f43d3416a792ee8b0fdcb75d81dbc6fcf29551f0b SHA512 7994c7d8f020188eda51787bb5f6fe7668518cc89b711e7840470db7e5bac1219490ffccc73854fecb14ceb3ffaf0fc605f3438c87b83f27921ea3626365105c
DIST sudo-1.8.31p2.tar.gz 3353538 BLAKE2B 274c72232e18c8ff5006b61ad4d384582ec0296af6326377f08ff4e59c6a4a4fc5e2245874bf9a7c6b010addae600dd41f042660d5bf9c4bc8eb98983704a5da SHA512 ad1bbbde74d3ab6e947071c6f21e436ebabcf5af11ecc75cde8f0c01ca0b8c6ae1cce2ff42f21612816c636e96722a2a14daa57757644ceab6577091f82242be
DIST sudo-1.9.2.tar.gz 3890859 BLAKE2B 879917b8045c999a17ef36006732509aa546ee6bb04de77191fb637aa0420d54f9e51ec69b697c22119d638393e9c84efcc1ca5e6e8ee5f0c08bb1ca07f3acea SHA512 20afdf2604b1c93395157382b24f225cd1ff88d3a892362e2d69fecd240c4e7171f05032c08be1778cd1dea6e460025e4241f57272fac0ea3550e220b6d73d21

@ -3,7 +3,7 @@
EAPI=7
inherit pam multilib libtool systemd tmpfiles
inherit pam multilib libtool tmpfiles
MY_P="${P/_/}"
MY_P="${MY_P/beta/b}"
@ -30,11 +30,10 @@ fi
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey sssd system-digest"
DEPEND="
sys-libs/zlib:=
gcrypt? ( dev-libs/libgcrypt:= )
ldap? (
>=net-nds/openldap-2.1.30-r1
sasl? (
@ -45,11 +44,14 @@ DEPEND="
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] )
system-digest? (
gcrypt? ( dev-libs/libgcrypt:= )
!gcrypt? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
)
"
RDEPEND="
${DEPEND}
@ -135,34 +137,36 @@ src_configure() {
# 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
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/run/sudo
$(use_with secure-path secure-path "${SECURE_PATH}")
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable sasl)
$(use_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 ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with ldap)
$(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)
$(use_with selinux)
$(use_with sendmail)
)
if use system-digest && ! use gcrypt; then
myeconfargs+=("--enable-openssl")
else
myeconfargs+=("--disable-openssl")
fi
econf "${myeconfargs[@]}"
}
@ -198,7 +202,6 @@ src_install() {
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
@ -206,7 +209,7 @@ src_install() {
# Don't install into /run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${ED}"/run || die
rm -rf "${ED}"/run
find "${ED}" -type f -name "*.la" -delete || die #697812
}

@ -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.

@ -1,4 +1,5 @@
DIST clamtk-6.03.tar.xz 227940 BLAKE2B 08364ba8c3b4fcdb49364cd2721413c7f487aaff23dfa0fb0e7b28f9baf9d267589099cc159558dd004fe882d762b6ece272672aab962b4a666fb8c244671d19 SHA512 4e81b161b17ae15a307d026766efcab2ea0433437e68dd7e3465e07c999e66c556372adc29cee093a1cec5a8f37861d1b8cddd08ed6e4cfbd59f5333d4f03fac
DIST clamtk-6.05.tar.xz 230076 BLAKE2B 577a2f6cec4cde7d72be2ee519d3fb26b9b713f199f1b526eea8a4bc3fd997ca60ceff1c2478fea568c27a648a16f1962c406c7ed00b75c3e545d4ee0f6ece45 SHA512 d7d49c186cce226649f9b449802a1ada52ddb51e2954de16ca379618e0ab8517ed80f934e2ee0f03d5dbc6c0fd2015f76b0f32230e0a526d71008692dd817fd2
DIST clamtk-gnome-0.05.tar.xz 15148 BLAKE2B d72ad0c9b3272c1a21d3722994152e23aeb01bd79d006cbcd3545c2689887b4f596daeeef72a13d9cdd9cfc89c4091963b4a1917824bbb06be4678f2c446a114 SHA512 a5d3b0e87889880272aa61a0feebca8e885c7fa964bad767351c826188c236f2152b3c43328b6aa720c5942b2bf1da69916d3664358c274813a6ac032ee4dea0
DIST clamtk-kde-0.18.tar.xz 17732 BLAKE2B ca82934417f2d869fd8c8e36a31ef4a52cf4ee73581c5d1d400c1b28908c5ea2524a8f5d1110b1e949038378613fb4d5607d5123eebe91df695a53d0dd489302 SHA512 145ddd349010e0bb6fe3295e50d6e15a2dd96e604babbd5de4cb49ba75169d2050777cac38e40ac6a64cb89ddf94025d610aca73136c75f81115d0a2d863d24e
DIST nemo-sendto-clamtk-0.04.tar.xz 4228 BLAKE2B ce656d4f021bc30cd12fb2ee5f98a78c1f1fdb2460ed2cbba0b572408617f91b39b2ca2fe542b9cec7be79b4b9fdfd685f5553e1a671454ca1e6723241dcb805 SHA512 2b5d3abbc4ae5dbc71b1b7bc836df88ad51e6afa00d5e954b5c1355a70c0420b6fef895e1cb5cccb86a662aee2039cef6c01821c1347fa155b5da3529b25562c

@ -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.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,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EAPI=7
MY_PV="${PV/./_}"

@ -3,4 +3,4 @@ DIST Geekbench-2.4.3-Linux.tar.gz 3337551 BLAKE2B cb660f3c08cc812cb23374032490a1
DIST Geekbench-3.4.2-Linux.tar.gz 9986039 BLAKE2B 63d7e768d65bc033260a0d99da17df2e518750f19882e63dbc9bbe6ff0b52a8cddb35b9143e85c01838bf5d77a04599578fc0a57a3e6fd89e7aec8c8ffdd4f5b SHA512 a61a5d5481682baefdce64f6054c3373900e8cd585dcbfa2feabbf386032986b40b603619c552102401a83e0b748831d00af5b5b5278e88ef42dee176adf06e9
DIST Geekbench-4.4.1-Linux.tar.gz 71076124 BLAKE2B 14c2b80c971798e7d2bb256e76c7ab9c48e8c1c389e2f7547a436f706ac4f21c1e52e564cd584893071ee2f9f0a4747cd03ea72cc728ff8e4f369d5cc794d77a SHA512 fa687d33a7d7a2d09c544e3d17de93f41cfa77915c708cd1ef0743f84f7f83df9d3f8df2872a8f85ed2c4c872e3cd41932685ffeb19cdb0ea047ab5116713420
DIST Geekbench-5.1.1-Linux.tar.gz 92622793 BLAKE2B 178b57d02de43e995f4dc39bd9514bb30fbe470d82572ba43aac08004609c07c656285beb543b3e3832df39bc2e26e41bb8c7d1f617f0846f930183e67a73436 SHA512 0f0a8206ced8cbaf271d964ece273a800bdd1d5b5918130aca2e31cab59f7d716c1b714b96a934e5b0fab8a9b73d1fcdc7ea9cd7ef37963b1a923cdefb542a78
DIST Geekbench-5.2.1-Linux.tar.gz 92898328 BLAKE2B 8a989b3921e8da467ffcaea1a466053ce1eae2d30991e8ad0a468cdb2c167e39729381e2f465abc9002eaa1569a4d912bdda3c1774689b35d8edb4778ab0bc90 SHA512 5d462cbb78b0b2a132fc5fbe0e65e9755d67232b22b6f2a541fa5aa1a90bc6768b3255759019218a94df0bb82eb9aeaad7dbb6b7cb0e8cc79a95d21fb9a8960b
DIST Geekbench-5.2.3-Linux.tar.gz 93047726 BLAKE2B 22cf414d89ef8854b8797ed7ad6b674ff6162daa003745d94c0481a71a2b7c1b7fbfd06d7a0e997b41da2107feb27a69af768196bf4114681c8bce39d2640112 SHA512 cacc1014b1522de281704e5210c44b81a51b24b63fb4c4be3c28e729261af2f12c5a52ad2a79b10bf597a1b24378cf03d7483d032d5e0c483069f8dc2695339e

@ -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

@ -1,8 +1,5 @@
Always respect users CFLAGS, enable verbose output when compiling
and don't install compressed man pages.
--- a/Makefile
+++ b/Makefile
--- stress-ng-0.11.17.orig/Makefile 2020-07-27 13:38:23.000000000 +0200
+++ stress-ng-0.11.17/Makefile 2020-08-09 13:43:30.919796477 +0200
@@ -21,7 +21,7 @@
# Codename "synthetic system strainer"
#
@ -12,10 +9,10 @@ and don't install compressed man pages.
#
# Pedantic flags
@@ -357,12 +357,10 @@
@@ -358,12 +358,10 @@
.o: stress-ng.h Makefile
.c.o: stress-ng.h Makefile $(SRC)
.c.o:
- @echo "CC $<"
- @$(CC) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS) -c -o $@ $<
@ -27,7 +24,7 @@ and don't install compressed man pages.
@sync
makeconfig:
@@ -383,7 +381,7 @@
@@ -384,7 +382,7 @@
sed '$$ s/.$$//' >> apparmor-data.c
@echo "};" >> apparmor-data.c
@echo "const size_t g_apparmor_data_len = sizeof(g_apparmor_data);" >> apparmor-data.c
@ -36,9 +33,9 @@ and don't install compressed man pages.
@$(CC) -c apparmor-data.c -o apparmor-data.o
@rm -rf apparmor-data.c apparmor-data.bin
@@ -399,12 +397,12 @@
core-perf.o: core-perf.c core-perf-event.c
@$(CC) $(CFLAGS) -E core-perf-event.c | grep "PERF_COUNT" | sed 's/,/ /' | \
@@ -401,12 +399,12 @@
@$(CC) $(CFLAGS) -E core-perf-event.c | grep "PERF_COUNT" | \
sed 's/,/ /' | sed s/'^ *//' | \
awk {'print "#define _SNG_" $$1 " (1)"'} > core-perf-event.h
- @echo CC $<
- @$(CC) $(CFLAGS) -c -o $@ $<
@ -53,7 +50,7 @@ and don't install compressed man pages.
@touch stress-ng.c
$(OBJS): stress-ng.h Makefile
@@ -453,7 +451,7 @@
@@ -459,7 +457,7 @@
mkdir -p ${DESTDIR}${BINDIR}
cp stress-ng ${DESTDIR}${BINDIR}
mkdir -p ${DESTDIR}${MANDIR}

@ -3,7 +3,7 @@
EAPI=7
inherit toolchain-funcs
inherit eutils toolchain-funcs
DESCRIPTION="Stress test for a computer system with various selectable ways"
HOMEPAGE="https://kernel.ubuntu.com/~cking/stress-ng/"
@ -17,10 +17,8 @@ DEPEND="
dev-libs/libaio
dev-libs/libbsd
dev-libs/libgcrypt:0=
net-misc/lksctp-tools
sys-apps/attr
sys-apps/keyutils:=
sys-libs/libapparmor
sys-libs/libcap
sys-libs/zlib
"
@ -29,10 +27,15 @@ RDEPEND="${DEPEND}"
DOCS=( "README" "README.Android" "TODO" "syscalls.txt" )
PATCHES=( "${FILESDIR}/${PN}-0.11.02-makefile.patch" )
PATCHES=( "${FILESDIR}/${PN}-0.11.17-makefile.patch" )
src_compile() {
tc-export CC
default
}
pkg_postinst() {
optfeature "AppArmor support" sys-libs/libapparmor
optfeature "SCTP support" net-misc/lksctp-tools
}

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EAPI=7
DESCRIPTION="A deliberately simple workload generator for POSIX systems"
HOMEPAGE="https://people.seas.harvard.edu/~apw/stress"

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.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
}

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
S=${WORKDIR}/certbot-${PV}/acme
fi

@ -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.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
}

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="amd64 ~arm64 x86"
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
fi

@ -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.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}"

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="amd64 ~arm ~arm64 x86"
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
fi

@ -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.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
}

@ -9,7 +9,7 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
fi
S=${WORKDIR}/${P}/${PN}

@ -1 +1,2 @@
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.

@ -5,7 +5,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
if [[ ${PV} = *9999* ]]; then
inherit git-r3
@ -125,7 +125,6 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
"${FILESDIR}"/${PN}-6.5.0-do-not-use-sysconfig.patch
)
pkg_setup() {
@ -220,79 +219,67 @@ src_prepare() {
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
-i "${S}/libvirtd.init" || die "sed failed"
eautoreconf
}
my_src_configure() {
local myeconfargs=(
$(use_with apparmor)
$(use_with apparmor apparmor-profiles)
$(use_with audit)
$(use_with caps capng)
$(use_with dbus)
$(use_with dtrace)
$(use_with firewalld)
$(use_with fuse)
$(use_with glusterfs)
$(use_with glusterfs storage-gluster)
$(use_with iscsi storage-iscsi)
$(use_with iscsi-direct storage-iscsi-direct)
$(use_with libvirtd)
$(use_with libssh)
$(use_with lvm storage-lvm)
$(use_with lvm storage-mpath)
$(use_with lxc)
$(use_with macvtap)
$(use_enable nls)
$(use_with numa numactl)
$(use_with numa numad)
$(use_with openvz)
$(use_with parted storage-disk)
$(use_with pcap libpcap)
$(use_with policykit polkit)
$(use_with qemu)
$(use_with qemu yajl)
$(use_with rbd storage-rbd)
$(use_with sasl)
$(use_with selinux)
$(use_with udev)
$(use_with vepa virtualport)
$(use_with virt-network network)
$(use_with wireshark-plugins wireshark-dissector)
$(use_with xen libxl)
$(use_with zfs storage-zfs)
--without-hal
--without-netcf
--without-sanlock
--with-esx
--with-init-script=systemd
--with-qemu-group=$(usex caps qemu root)
--with-qemu-user=$(usex caps qemu root)
--with-remote
--with-storage-fs
--with-vmware
--disable-static
--disable-werror
--localstatedir=/var
--with-runstatedir=/run
--enable-dependency-tracking
src_configure() {
local emesonargs=(
$(meson_feature apparmor)
$(meson_use apparmor apparmor-profiles)
$(meson_feature audit)
$(meson_feature caps capng)
$(meson_feature dbus)
$(meson_feature dtrace)
$(meson_feature firewalld)
$(meson_feature fuse)
$(meson_feature glusterfs)
$(meson_feature glusterfs storage-gluster)
$(meson_feature iscsi storage-iscsi)
$(meson_feature iscsi-direct storage-iscsi-direct)
$(meson_feature libvirtd driver_libvirtd)
$(meson_feature libssh)
$(meson_feature lvm storage_lvm)
$(meson_feature lvm storage_mpath)
$(meson_feature lxc driver_lxc)
$(meson_feature macvtap)
$(meson_feature nls)
$(meson_feature numa numactl)
$(meson_feature numa numad)
$(meson_feature openvz driver_openvz)
$(meson_feature parted storage_disk)
$(meson_feature pcap libpcap)
$(meson_feature policykit polkit)
$(meson_feature qemu driver_qemu)
$(meson_feature qemu yajl)
$(meson_feature rbd storage_rbd)
$(meson_feature sasl)
$(meson_feature selinux)
$(meson_feature udev)
$(meson_feature vepa virtualport)
$(meson_feature virt-network driver_network)
$(meson_feature virtualbox driver_vbox)
$(meson_feature wireshark-plugins wireshark_dissector)
$(meson_feature xen driver_libxl)
$(meson_feature zfs storage_zfs)
-Dhal=disabled
-Dnetcf=disabled
-Dsanlock=disabled
-Ddriver_esx=enabled
-Dinit_script=systemd
-Dqemu_user=$(usex caps qemu root)
-Dqemu-user=$(usex caps qemu root)
-Ddriver_remote=enabled
-Dstorage_fs=enabled
-Ddriver_vmware=enabled
-Drunstatedir=/run
)
if use virtualbox && has_version app-emulation/virtualbox-ose; then
myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
else
myeconfargs+=( $(use_with virtualbox vbox) )
fi
econf "${myeconfargs[@]}"
meson_src_configure
}
my_src_test() {
src_test() {
# remove problematic tests, bug #591416, bug #591418
sed -i -e 's#commandtest$(EXEEXT) # #' \
-e 's#virfirewalltest$(EXEEXT) # #' \
@ -301,14 +288,11 @@ my_src_test() {
tests/Makefile
export VIR_TEST_DEBUG=1
HOME="${T}" emake check
meson_src_test
}
my_src_install() {
emake DESTDIR="${D}" \
SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install
find "${D}" -name '*.la' -delete || die
src_install() {
meson_src_install
# Remove bogus, empty directories. They are either not used, or
# libvirtd is able to create them on demand

Binary file not shown.

@ -1 +0,0 @@
DIST sndpeek.eselect-1.0.1.bz2 1263 BLAKE2B ab2ed4019fd3bd991803375dd6219e4ca8bcade739c435beaf034d701324db52d12b0967821716351455f39d181657d6153d889cc313c2a3761994afbd79194d SHA512 39cc065d4fbe408db9c406d84a0ebf4a69a9c50f440f26b714b5f154bf7b5de497df4226434d60c0b1e4e073bbe3a0ca96c3bd574148772a4912e2fc9c9c6b5b

@ -1,11 +1,11 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
DESCRIPTION="Manages the /usr/bin/sndpeek symlink"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
SRC_URI="mirror://gentoo/sndpeek.eselect-${PVR}.bz2"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
@ -18,5 +18,5 @@ S="${WORKDIR}"
src_install() {
insinto /usr/share/eselect/modules
newins "${WORKDIR}/sndpeek.eselect-${PVR}" sndpeek.eselect
newins "${FILESDIR}/sndpeek.eselect-${PV}" sndpeek.eselect
}

@ -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-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
}

@ -4,7 +4,7 @@
EAPI=7
inherit go-module systemd
MY_PV="v${PV/_rc/-rc.}"
NODE_EXPORTER_COMMIT=ef7c058
NODE_EXPORTER_COMMIT=3715be6
DESCRIPTION="Prometheus exporter for machine metrics"
HOMEPAGE="https://github.com/prometheus/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_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_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
}

@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9} )
inherit autotools flag-o-matic python-single-r1
DESCRIPTION="A small program that grabs information and displays it on an external LCD"
HOMEPAGE="https://lcd4linux.bulix.org/"
HOMEPAGE="https://github.com/jmccrohan/lcd4linux/"
SRC_URI="https://dev.gentoo.org/~conikost/files/${P}.tar.bz2"
LICENSE="GPL-2"
@ -73,7 +73,7 @@ DEPEND_LCD_DEVICES="
lcd_devices_lcd2usb? ( virtual/libusb:0= )
lcd_devices_ledmatrix? ( virtual/libusb:0= )
lcd_devices_luise? (
dev-libs/luise-bin
dev-libs/luise
virtual/libusb:0=
)
lcd_devices_matrixorbitalgx? ( virtual/libusb:0= )

@ -49,4 +49,7 @@
<flag name="w1retap">Enable the w1retap plugin.</flag>
<flag name="wireless">Enable the wireless plugin, to get wireless statistics.</flag>
</use>
<upstream>
<remote-id type="github">jmccrohan/lcd4linux</remote-id>
</upstream>
</pkgmetadata>

@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>rgkmg25@gmail.com</email>
<name>Robert Kowalski</name>
</maintainer>
<!-- maintainer-needed -->
<longdescription lang="en">
Screenie is a small and lightweight GNU screen(1) frontend that is
designed to be a session handler that simplifies the process of

Binary file not shown.

@ -1 +1,2 @@
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-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.9.tar.gz 1292720 BLAKE2B 7263d09ab077d1029129b81abbf7a745405d476776ab91d4b73dc9799b3d945e46283fe565fee32b08df7a8734c027cbeacf0e7a44c4e15efaa6c992c69f9b7a SHA512 66e81ea8d86cdf374c9e1109d26e02c0b3101608e751ab6bbded76cca42eb8c2c1d43f6a993b9003b6013d815683f644bff7513ce63dc750ffa8d608cccb49b3
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"
}

@ -43,6 +43,11 @@ src_configure() {
$(use !lzo && echo -config disable_lzo)
}
src_compile() {
# bug #709940
emake -j1
}
src_install() {
emake INSTALL_ROOT="${D}" install
einstalldocs

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

@ -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,4 +1 @@
DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01
DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99
DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1
DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6

@ -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
}

@ -13,7 +13,7 @@ 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"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
SLOT="0/21"
IUSE="ldap libressl static-libs"

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

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -9,7 +9,7 @@ CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Process WAVE files in Haskell"
HOMEPAGE="https://bitbucket.org/robertmassaioli/wavy"
HOMEPAGE="http://bitbucket.org/robertmassaioli/wavy"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
@ -27,7 +27,10 @@ DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18.1.3
"
PATCHES=("${FILESDIR}"/${P}-binary-0.8.patch)
PATCHES=(
"${FILESDIR}"/${P}-binary-0.8.patch
"${FILESDIR}"/${P}-ghc-8.8.patch
)
src_prepare() {
default

@ -18,6 +18,8 @@ SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="aws httpbin"
RESTRICT=test # needs network
RDEPEND=">=dev-haskell/aeson-1.0.0.0:=[profile?]
>=dev-haskell/attoparsec-0.11.1.0:=[profile?]
>=dev-haskell/authenticate-oauth-1.5:=[profile?]

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.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.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-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5
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
}

@ -84,7 +84,9 @@ dual_scripts() {
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

Binary file not shown.

@ -1,2 +1,3 @@
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.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…
Cancel
Save