parent
21667412fa
commit
f62586041b
Binary file not shown.
Binary file not shown.
@ -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
|
||||
|
@ -1,260 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pam multilib libtool systemd tmpfiles
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
|
||||
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/bison
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
pam? ( !skey )
|
||||
skey? ( !pam )
|
||||
"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# FIXME: secure_path is a compile time setting. using PATH or
|
||||
# ROOTPATH is not perfect, env-update may invalidate this, but until it
|
||||
# is available as a sudoers setting this will have to do.
|
||||
einfo "Setting secure_path ..."
|
||||
|
||||
# first extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
|
||||
echo "${ROOTPATH}")
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*) ;;
|
||||
*) SECURE_PATH=$(unset PATH;
|
||||
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# finally, strip gcc paths #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
|
||||
einfo "... done"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
set_secure_path
|
||||
|
||||
# audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
myeconfargs=(
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins doc/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
fperms 0711 /var/db/sudo #652958
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die #697812
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
#652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in /etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
Binary file not shown.
@ -0,0 +1,142 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit desktop perl-functions python-single-r1 xdg-utils
|
||||
|
||||
MY_PV_KDE="0.18"
|
||||
MY_PV_NAUTILUS="0.05"
|
||||
MY_PV_NEMO="0.04"
|
||||
MY_PV_THUNAR="0.06"
|
||||
|
||||
DESCRIPTION="A graphical front-end for ClamAV"
|
||||
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
|
||||
SRC_URI="
|
||||
https://bitbucket.org/davem_/${PN}-gtk3/downloads/${P}.tar.xz
|
||||
kde? ( https://bitbucket.org/davem_/${PN}-kde/downloads/${PN}-kde-${MY_PV_KDE}.tar.xz )
|
||||
nautilus? ( https://bitbucket.org/davem_/${PN}-gnome/downloads/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
|
||||
nemo? ( https://bitbucket.org/davem_/nemo-sendto-${PN}/downloads/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )
|
||||
thunar? ( https://bitbucket.org/davem_/thunar-sendto-${PN}/downloads/thunar-sendto-${PN}-${MY_PV_THUNAR}.tar.xz )
|
||||
"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="kde nautilus nemo +nls thunar"
|
||||
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
app-antivirus/clamav
|
||||
dev-perl/File-chdir
|
||||
dev-perl/Gtk3
|
||||
dev-perl/JSON
|
||||
dev-perl/LWP-Protocol-https
|
||||
dev-perl/LWP-UserAgent-Cached
|
||||
dev-perl/Locale-gettext
|
||||
dev-perl/Text-CSV
|
||||
dev-perl/glib-perl
|
||||
dev-perl/libwww-perl
|
||||
virtual/perl-Digest-MD5
|
||||
virtual/perl-Digest-SHA
|
||||
virtual/perl-Encode
|
||||
virtual/perl-MIME-Base64
|
||||
virtual/perl-Time-Piece
|
||||
nautilus? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/nautilus-python[${PYTHON_SINGLE_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="nls? ( sys-devel/gettext )"
|
||||
|
||||
DOCS=( "CHANGES" "credits.md" "DISCLAIMER" "README.md" )
|
||||
|
||||
pkg_setup() {
|
||||
use nautilus && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
unpack "${S}"/clamtk.1.gz
|
||||
|
||||
use kde && unpack "${S}"/../clamtk-kde-${MY_PV_KDE}/clamtk-kde.1.gz
|
||||
use nautilus && unpack "${S}"/../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.1.gz
|
||||
use nemo && unpack "${S}"/../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.1.gz
|
||||
use thunar && unpack "${S}"/../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.1.gz
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin clamtk
|
||||
|
||||
perl_set_version
|
||||
insinto "${VENDOR_LIB}"/ClamTk
|
||||
doins lib/*.pm
|
||||
|
||||
use nls && domo po/*.mo
|
||||
|
||||
doicon images/clamtk.png images/clamtk.xpm
|
||||
|
||||
domenu clamtk.desktop
|
||||
|
||||
doman ../clamtk.1
|
||||
|
||||
if use kde; then
|
||||
insinto /usr/share/kservices5/ServiceMenus
|
||||
doins ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.desktop
|
||||
|
||||
doicon ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.png ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.xpm
|
||||
|
||||
doman ../clamtk-kde.1
|
||||
|
||||
docinto dolphin
|
||||
dodoc ../clamtk-kde-${MY_PV_KDE}/CHANGES ../clamtk-kde-${MY_PV_KDE}/README.md
|
||||
fi
|
||||
|
||||
if use nautilus; then
|
||||
insinto /usr/share/nautilus-python/extensions
|
||||
doins ../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.py
|
||||
|
||||
doicon ../clamtk-gnome-${MY_PV_NAUTILUS}/images/clamtk-gnome.png
|
||||
|
||||
doman ../clamtk-gnome.1
|
||||
|
||||
docinto nautilus
|
||||
dodoc ../clamtk-gnome-${MY_PV_NAUTILUS}/CHANGES ../clamtk-gnome-${MY_PV_NAUTILUS}/DISCLAIMER ../clamtk-gnome-${MY_PV_NAUTILUS}/README.md
|
||||
fi
|
||||
|
||||
if use nemo; then
|
||||
insinto /usr/share/nemo/actions/
|
||||
doins ../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.nemo_action
|
||||
|
||||
doman ../nemo-sendto-clamtk.1
|
||||
|
||||
docinto nemo
|
||||
dodoc ../nemo-sendto-clamtk-${MY_PV_NEMO}/CHANGES ../nemo-sendto-clamtk-${MY_PV_NEMO}/DISCLAIMER ../nemo-sendto-clamtk-${MY_PV_NEMO}/README.md
|
||||
fi
|
||||
|
||||
if use thunar; then
|
||||
insinto /usr/share/Thunar/sendto
|
||||
doins ../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.desktop
|
||||
|
||||
doman ../thunar-sendto-clamtk.1
|
||||
|
||||
docinto thunar
|
||||
dodoc ../thunar-sendto-clamtk-${MY_PV_THUNAR}/CHANGES ../thunar-sendto-clamtk-${MY_PV_THUNAR}/DISCLAIMER ../thunar-sendto-clamtk-${MY_PV_THUNAR}/README
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST file-roller-3.32.4.tar.xz 854444 BLAKE2B 04264e64af8ab4376fa6985683b16be7fef730a4e24044f726933b885aaaa6b630f347a256b09c2ce6183d0a0a392b33b4328715bf6d19cf7128c1980f9f4792 SHA512 16b5ddbdeacf4e9e61265ecff05e8f2e0034147c67ae7355d2442f9b26098ff253d24cb34c8e686c2ac031da6acac8e1e3c8a9f978e1eb2b446b1e045babafc7
|
||||
DIST file-roller-3.36.3.tar.xz 870608 BLAKE2B 4c57b99f2ca0eb4db3fac0216b63207d1664829ee54e21eb976a327bd65aec5abfd2a02b84bc80246fde131ede6ff63deaf8b63451db6a0fecc0121c8bce1a5b SHA512 41558ca8061276b1248fd3599e856051dcd69ca831fb4d8a33666dc373b4abed56e7ef204a6e041ceace05ea7234448d15bc7be8c48dc1809ac6d445de251370
|
||||
|
@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="Archive manager for GNOME"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
|
||||
|
||||
LICENSE="GPL-2+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
IUSE="libnotify nautilus packagekit"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
# gdk-pixbuf used extensively in the source
|
||||
# cairo used in eggtreemultidnd.c
|
||||
# pango used in fr-window
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3:=
|
||||
>=dev-libs/glib-2.38:2
|
||||
>=dev-libs/json-glib-0.14
|
||||
>=x11-libs/gtk+-3.22.0:3
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango
|
||||
libnotify? ( >=x11-libs/libnotify-0.4.3:= )
|
||||
nautilus? ( >=gnome-base/nautilus-3.28.0 )
|
||||
packagekit? ( app-admin/packagekit-base )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/glib-utils
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
${PN} is a frontend for several archiving utilities. If you want a
|
||||
particular archive format support, see ${HOMEPAGE}
|
||||
and install the relevant package. For example:
|
||||
7-zip - app-arch/p7zip
|
||||
ace - app-arch/unace
|
||||
arj - app-arch/arj
|
||||
brotli - app-arch/brotli
|
||||
cpio - app-arch/cpio
|
||||
deb - app-arch/dpkg
|
||||
iso - app-cdr/cdrtools
|
||||
jar,zip - app-arch/zip and app-arch/unzip
|
||||
lha - app-arch/lha
|
||||
lzop - app-arch/lzop
|
||||
lz4 - app-arch/lz4
|
||||
rar - app-arch/unrar or app-arch/unar
|
||||
rpm - app-arch/rpm
|
||||
unstuff - app-arch/stuffit
|
||||
zstd - app-arch/zstd
|
||||
zoo - app-arch/zoo"
|
||||
|
||||
src_prepare() {
|
||||
# File providing Gentoo package names for various archivers
|
||||
cp -v "${FILESDIR}"/3.36-packages.match data/packages.match || die
|
||||
|
||||
xdg_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Drun-in-place=false
|
||||
$(meson_use nautilus nautilus-actions)
|
||||
$(meson_use libnotify notification)
|
||||
$(meson_use packagekit)
|
||||
-Dlibarchive=true
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
readme.gentoo_print_elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
[Package Matches]
|
||||
arj=app-arch/arj
|
||||
binutils=sys-devel/binutils
|
||||
brotli=app-arch/brotli
|
||||
bzip2=app-arch/bzip2
|
||||
cpio=app-arch/cpio
|
||||
dpkg=app-arch/dpkg
|
||||
genisoimage=virtual/cdrtools
|
||||
gzip=app-arch/gzip
|
||||
lha=app-arch/lha
|
||||
lrzip=app-arch/lrzip
|
||||
lz4=app-arch/lz4
|
||||
lzip=app-arch/lzip
|
||||
lzma=app-arch/xz-utils
|
||||
lzop=app-arch/lzop
|
||||
ncompress=app-arch/ncompress
|
||||
p7zip=app-arch/p7zip
|
||||
p7zip-full=
|
||||
p7zip-rar=
|
||||
rar=app-arch/rar
|
||||
rpm=app-arch/rpm
|
||||
rzip=app-arch/rzip
|
||||
tar=app-arch/tar
|
||||
unace=app-arch/unace
|
||||
unalz=
|
||||
unarchiver=app-arch/unar
|
||||
unrar=app-arch/unrar
|
||||
unsquashfs=sys-fs/squashfs-tools
|
||||
unstaff=
|
||||
unzip=app-arch/unzip
|
||||
xz=app-arch/xz-utils
|
||||
zip=app-arch/zip
|
||||
zoo=app-arch/zoo
|
||||
zstd=app-arch/zstd
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
DIST stress-ng-0.11.10.tar.xz 443208 BLAKE2B 273d98c8e8a7664e2ecd6431f0988b417980d9faf05550a80a0a90505907eec24eae5f717f4bd813f128f22870343861472bc1157373deb0aaef365b85de44fa SHA512 ae83fa107d17fe55c27429d4b0763db2b56c83d5ab88f4738f9b0be74a34c8adbb6d1dd7a5417ff1399c394c9a18c900265705f21c1cf123e0cc8361cb8214fe
|
||||
DIST stress-ng-0.11.17.tar.xz 467156 BLAKE2B fab734e0dcd7633e6a47a3b6a41111dd900a2dfb2e3666d8fbf439d2d40ea6b7f5f25763aba5d774cf20ce43598e0bce2229e321c2a9512d5f26d8a795d70ce8 SHA512 8320e10fb2a2f224b23efe72af7d84e6beb73bbd54eff0a6c04afee14de5cbbf6584e1a6d936f52651467138e9647dfb0ff092aa7e73a9f8304627a603546f79
|
||||
|
Binary file not shown.
@ -1,3 +1,2 @@
|
||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||
|
@ -1,69 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.13.1[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="
|
||||
doc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
||||
)
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
python_foreach_impl run_in_build_dir default
|
||||
distutils-r1_src_compile
|
||||
if use doc ; then
|
||||
cd docs || die
|
||||
sphinx-build -b html -d _build/doctrees . _build/html
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( docs/_build/html/. )
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm64 x86"
|
||||
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
|
||||
>=app-crypt/certbot-1.1.0[${PYTHON_USEDEP}]
|
||||
dev-python/python-augeas[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND}
|
||||
dev-python/pytest[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
esetup.py test || die
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86"
|
||||
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${CDEPEND}
|
||||
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
|
||||
>=app-crypt/certbot-1.4.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="${CDEPEND}"
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
|
||||
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320
|
||||
DIST certbot-1.7.0.tar.gz 1416764 BLAKE2B de678a222e8c8e3e7834470f87763763671bfae37a5c8320a4c1a2552ec979b5391094713e7e13526f73fdf8cd32f70f8c4350f422505892c4fdd0ae77742c80 SHA512 f81242e68b7e261bbb6294ffe92e47bc1687128344816d71a495a94a2646e209e46c147bc76eedce0c477cc140dc6ae0fba76d2d5d01b828fce78875f5a2886a
|
||||
|
@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=(python{3_6,3_7,3_8})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
||||
fi
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
|
||||
dev-python/configobj[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.8[${PYTHON_USEDEP}]
|
||||
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="${CDEPEND}"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
# required as deps of deps can trigger this too...
|
||||
echo ' ignore:.*collections\.abc:DeprecationWarning' >> ../pytest.ini
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST scdtools-0.3.4.tar.gz 254227 BLAKE2B d2959d1be860b4809f4b20b5b3e2b06534bb49220b6818b4ac9c8e73751c31dfa4a6c0200cc6bbb33d4a627f0d55b1c3cefda3def6a78bde925a0c58d9c0429a SHA512 ff25f6360c9bd73e63cefd8fe37103dc1ef2528d87ddf7c1006e913c921e78569ff6f12096d1407bfabf626e73376f13e25f606f8c45cba79803689176801b73
|
||||
DIST scdtools-0.3.5.tar.gz 155529 BLAKE2B 9b0791d8a5d92240968be82fbffd1838229586ce33b857d13fa40732bf3424df88c33c5f792e8178b52fbe06ff91c9c74e59ee686552973f7a8bbf8b1249589b SHA512 5c45948f7e6b6357aa6305c942bb388f9693908991049b2b279bbf1f27bb2de3df1b8278da30b1cc423975880890cf4533f10ca3de42c9dc88182aacc6466ced
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 2019-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_P=scdtools-${PV}
|
||||
DESCRIPTION="Feed kernel entropy pool from smartcard's TRNG"
|
||||
HOMEPAGE="https://incenp.org/dvlpt/scdtools.html"
|
||||
SRC_URI="https://incenp.org/files/softs/scdtools/$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-libs/libgcrypt:=
|
||||
dev-libs/libassuan:=
|
||||
dev-libs/libgpg-error:="
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/gnupg"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_compile() {
|
||||
emake -C lib
|
||||
emake -C src scdrand
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" -C man man_MANS="scdrand.1" install
|
||||
emake DESTDIR="${D}" -C src bin_PROGRAMS="scdrand" install
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST sndpeek.eselect-1.0.1.bz2 1263 BLAKE2B ab2ed4019fd3bd991803375dd6219e4ca8bcade739c435beaf034d701324db52d12b0967821716351455f39d181657d6153d889cc313c2a3761994afbd79194d SHA512 39cc065d4fbe408db9c406d84a0ebf4a69a9c50f440f26b714b5f154bf7b5de497df4226434d60c0b1e4e073bbe3a0ca96c3bd574148772a4912e2fc9c9c6b5b
|
@ -0,0 +1,143 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
DESCRIPTION="Manage /usr/bin/sndpeek audio engine"
|
||||
MAINTAINER="cedk@gentoo.org"
|
||||
|
||||
# find a list of sndpeek symlink targets, best first
|
||||
find_targets() {
|
||||
local f
|
||||
for f in \
|
||||
${ROOT}/usr/bin/sndpeek-alsa \
|
||||
${ROOT}/usr/bin/sndpeek-jack \
|
||||
${ROOT}/usr/bin/sndpeek-oss \
|
||||
; do
|
||||
if [[ -f ${f} ]] ; then
|
||||
echo $(basename ${f} )
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# try to remove the sndpeek symlink
|
||||
remove_symlinks() {
|
||||
rm -f "${ROOT}"/usr/bin/sndpeek &>/dev/null
|
||||
}
|
||||
|
||||
# set the sndpeek symlink
|
||||
set_symlinks() {
|
||||
local target="${1}" targets
|
||||
if is_number "${target}" && [[ ${target} -ge 1 ]] ; then
|
||||
targets=( $(find_targets ) )
|
||||
target=${targets[$(( ${target} - 1 ))]}
|
||||
fi
|
||||
if [[ -f "${ROOT}/usr/bin/${target}" ]] ; then
|
||||
remove_symlinks
|
||||
|
||||
# it's not okay if these fail
|
||||
ln -s "${ROOT}/usr/bin/${target}" "${ROOT}/usr/bin/sndpeek" || \
|
||||
die "Couldn't set ${target} /usr/bin/sndpeek symlink"
|
||||
else
|
||||
die -q "Target \"${1}\" doesn't appear to be valid!"
|
||||
fi
|
||||
}
|
||||
|
||||
### show action ###
|
||||
|
||||
describe_show() {
|
||||
echo "Show the current sndpeek audio engine"
|
||||
}
|
||||
|
||||
do_show() {
|
||||
[[ -z "${@}" ]] || die -q "Too many parameters"
|
||||
|
||||
write_list_start "Current sndpeek audio engine:"
|
||||
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
write_kv_list_entry "$(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) )" ""
|
||||
elif [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
write_kv_list_entry "(not a symlink)" ""
|
||||
else
|
||||
write_kv_list_entry "(unset)" ""
|
||||
fi
|
||||
}
|
||||
|
||||
### list action ###
|
||||
|
||||
describe_list() {
|
||||
echo "List available sndpeek audio engines"
|
||||
}
|
||||
|
||||
do_list() {
|
||||
[[ -z "${@}" ]] || die -q "Too many parameters"
|
||||
|
||||
local i targets
|
||||
targets=( $(find_targets ) )
|
||||
write_list_start "Available sndpeek audio engines:"
|
||||
for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do
|
||||
[[ ${targets[${i}]} == $(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) ) ]] && \
|
||||
targets[${i}]=$(highlight_marker "${targets[${i}]}")
|
||||
done
|
||||
write_numbered_list -m "(none found)" "${targets[@]}"
|
||||
}
|
||||
|
||||
### set action ###
|
||||
|
||||
describe_set() {
|
||||
echo "Set a new sndpeek audio engines"
|
||||
}
|
||||
|
||||
describe_set_options() {
|
||||
echo "target : Target name or number (from 'list' action)"
|
||||
}
|
||||
|
||||
describe_set_parameters() {
|
||||
echo "<target>"
|
||||
}
|
||||
|
||||
do_set() {
|
||||
if [[ -z "${1}" ]] ; then
|
||||
die -q "You didn't give me an audio engine"
|
||||
|
||||
elif [[ -n "${2}" ]] ; then
|
||||
die -q "Too many parameters"
|
||||
|
||||
elif [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
if ! remove_symlinks ; then
|
||||
die -q "Can't remove existing provider"
|
||||
elif ! set_symlinks "${1}" ; then
|
||||
die -q "Can't set new provider"
|
||||
fi
|
||||
|
||||
elif [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
die -q "Sorry, ${ROOT}/usr/bin/sndpeek confuses me"
|
||||
|
||||
else
|
||||
set_symlinks "${1}" || die -q "Can't set a new audio engine"
|
||||
fi
|
||||
}
|
||||
|
||||
### update action ###
|
||||
|
||||
describe_update() {
|
||||
echo "Automatically update the audio engine"
|
||||
}
|
||||
|
||||
describe_update_options() {
|
||||
echo "--if-unset : Do not override existing audio engine"
|
||||
}
|
||||
|
||||
do_update() {
|
||||
[[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \
|
||||
die -q "Usage error"
|
||||
|
||||
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
[[ ${1} == "--if-unset" ]] && return
|
||||
remove_symlinks || die -q "Can't remove existing link"
|
||||
fi
|
||||
if [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then
|
||||
die -q "Can't set a new provider"
|
||||
elif ! [[ -z $(find_targets ) ]] ; then
|
||||
set_symlinks 1 || die -q "Can't set a new provider"
|
||||
fi
|
||||
}
|
||||
|
||||
# vim: set ft=eselect :
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST node_exporter-0.18.1.tar.gz 2110072 BLAKE2B 48c73d00cba892e34e95d40bd29c9ca70bc5748590f00cb7f8adcd25d8a9504f669d887b1273cc65316ca55b06c36d97a3e19a66382f35d5768db7c315981a13 SHA512 cf2b854fbec1ba39b18432cdc11ab507ebc5b2828e6b34b4f49af9b949fcd365cb3e5eb1e265d0825783810c6b1572a8b3512ec27a46e5c83f89a505590159c0
|
||||
DIST node_exporter-1.0.0_rc0.tar.gz 2753717 BLAKE2B 2e1984d080ce2a16ca710a3da882b311510b2741836d615075281f5fce2641be35084090d9bcedcb8bf4f6a18333c5fcd53eb98817d1efed4c1a26261a02bffd SHA512 ec1d79367c69a7ccdacc9482a38625ffc9adab6d781b789cc226eed0bd893deca5cfc420a096f790ccd57834492551d36e2f307ad27a6c67585c8ef31887b50f
|
||||
DIST node_exporter-1.0.1.tar.gz 2792033 BLAKE2B 4e86c348a293e8a4a8d5e22fe99871d84a817cfbbe3ac10b0e7b4fbba3ae7b12352c619f140e3568aa2fb3e4cdfdbde0d19d792497a0b0007b634cb3a4d21e38 SHA512 0643042a04494a65d1ebdedf78671a1e3473b7ac6f3bc606fa2c52e893dfc68b591ef7e38ac6768c4c529c25b831811c01839475a4fde9baeb0a6c581a57839f
|
||||
|
@ -1,53 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit golang-build golang-vcs-snapshot systemd
|
||||
|
||||
EGO_PN="github.com/prometheus/node_exporter"
|
||||
EGIT_COMMIT="v${PV/_rc/-rc.}"
|
||||
NODE_EXPORTER_COMMIT="ef7c058"
|
||||
ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DESCRIPTION="Prometheus exporter for machine metrics"
|
||||
HOMEPAGE="https://github.com/prometheus/node_exporter"
|
||||
SRC_URI="${ARCHIVE_URI}"
|
||||
LICENSE="Apache-2.0 BSD BSD-2 MIT"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND="acct-group/node_exporter
|
||||
acct-user/node_exporter"
|
||||
DEPEND=">=dev-lang/go-1.12
|
||||
>=dev-util/promu-0.3.0
|
||||
${CDEPEND}"
|
||||
RDEPEND="${CDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
pushd src/${EGO_PN} || die
|
||||
mkdir -p bin || die
|
||||
GO111MODULE=on GOPATH="${S}" GOCACHE="${T}"/go-cache promu build -v --prefix node_exporter || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# binary and docs
|
||||
dobin src/"${EGO_PN}"/node_exporter/node_exporter
|
||||
dodoc src/"${EGO_PN}"/{README,CHANGELOG,CONTRIBUTING}.md
|
||||
# systemd
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
insinto /etc/sysconfig
|
||||
newins src/"${EGO_PN}"/examples/systemd/sysconfig.node_exporter node_exporter
|
||||
# openrc
|
||||
newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
# maintence
|
||||
keepdir /var/lib/node_exporter /var/log/node_exporter
|
||||
fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST ddate-0.2.2.tar.gz 8049 BLAKE2B 7a987595b2dc399a5fc254891b92af84c9f94830f65c756f75db30c1e4db008ad715608ad37d53f3b73f3f5263023c066c546eb7536dc7439ded3650996be001 SHA512 5d148e030bee392eb93c5ae519061af0736f2f75eaae916e3efaf927d9f4de8cc72afc4a5121b6fbc0264b73e9f580330a38b97bb78837d447d0b4c1fc29ec06
|
||||
DIST ddate-0.2.2_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
|
||||
}
|
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"
|
||||
}
|
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,13 +0,0 @@
|
||||
diff --git a/sql-common/client_authentication.cc b/sql-common/client_authentication.cc
|
||||
index eaeb2d4..035ecd2 100644
|
||||
--- a/sql-common/client_authentication.cc
|
||||
+++ b/sql-common/client_authentication.cc
|
||||
@@ -84,7 +84,7 @@ RSA *rsa_init(MYSQL *mysql)
|
||||
|
||||
if (mysql->options.extension != NULL &&
|
||||
mysql->options.extension->server_public_key_path != NULL &&
|
||||
- mysql->options.extension->server_public_key_path != '\0')
|
||||
+ mysql->options.extension->server_public_key_path[0] != '\0')
|
||||
{
|
||||
pub_key_file= fopen(mysql->options.extension->server_public_key_path,
|
||||
"r");
|
@ -1,300 +0,0 @@
|
||||
From 7961393dd45e4ad1cdc7544b4bba2e98a5d2760c Mon Sep 17 00:00:00 2001
|
||||
From: eroen <eroen@occam.eroen.eu>
|
||||
Date: Fri, 20 Jan 2017 14:43:53 +0100
|
||||
Subject: [PATCH] Don't use deprecated API with openssl 1.1
|
||||
|
||||
If openssl 1.1.0 is built with `--api=1.1 disable-deprecated`, using
|
||||
deprecated APIs causes build errors.
|
||||
|
||||
X-Gentoo-Bug: 606600
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606600
|
||||
---
|
||||
mysys_ssl/my_aes_openssl.cc | 54 ++++++++++++++++++++++++++++++++-------------
|
||||
sql-common/client.c | 16 ++++++++++++--
|
||||
vio/viossl.c | 8 +++++++
|
||||
vio/viosslfactories.c | 23 +++++++++++++++++++
|
||||
4 files changed, 84 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/mysys_ssl/my_aes_openssl.cc b/mysys_ssl/my_aes_openssl.cc
|
||||
index 261ba8a..59a95e3 100644
|
||||
--- a/mysys_ssl/my_aes_openssl.cc
|
||||
+++ b/mysys_ssl/my_aes_openssl.cc
|
||||
@@ -22,6 +22,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/bio.h>
|
||||
+#include <openssl/opensslv.h>
|
||||
+
|
||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
||||
+#undef OPENSSL_VERSION_NUMBER
|
||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
||||
+#endif
|
||||
|
||||
/*
|
||||
xplugin needs BIO_new_bio_pair, but the server does not.
|
||||
@@ -122,7 +128,7 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
|
||||
enum my_aes_opmode mode, const unsigned char *iv,
|
||||
bool padding)
|
||||
{
|
||||
- EVP_CIPHER_CTX ctx;
|
||||
+ EVP_CIPHER_CTX *ctx;
|
||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
||||
int u_len, f_len;
|
||||
/* The real key to be used for encryption */
|
||||
@@ -132,23 +138,31 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
|
||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
||||
return MY_AES_BAD_DATA;
|
||||
|
||||
- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
|
||||
+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
|
||||
+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
|
||||
+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
||||
+#else
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
+#endif
|
||||
return u_len + f_len;
|
||||
|
||||
aes_error:
|
||||
/* need to explicitly clean up the error if we want to ignore it */
|
||||
ERR_clear_error();
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
||||
+#else
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
+#endif
|
||||
return MY_AES_BAD_DATA;
|
||||
}
|
||||
|
||||
@@ -159,7 +173,7 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
|
||||
bool padding)
|
||||
{
|
||||
|
||||
- EVP_CIPHER_CTX ctx;
|
||||
+ EVP_CIPHER_CTX *ctx;
|
||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
||||
int u_len, f_len;
|
||||
|
||||
@@ -170,24 +184,34 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
|
||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
||||
return MY_AES_BAD_DATA;
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ EVP_CIPHER_CTX_init(ctx);
|
||||
+#endif
|
||||
|
||||
- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
|
||||
+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
|
||||
+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
|
||||
+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
||||
+#else
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
+#endif
|
||||
return u_len + f_len;
|
||||
|
||||
aes_error:
|
||||
/* need to explicitly clean up the error if we want to ignore it */
|
||||
ERR_clear_error();
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx);
|
||||
+#else
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
+#endif
|
||||
return MY_AES_BAD_DATA;
|
||||
}
|
||||
|
||||
diff --git a/sql-common/client.c b/sql-common/client.c
|
||||
index 9e88e9f..fe7daf7 100644
|
||||
--- a/sql-common/client.c
|
||||
+++ b/sql-common/client.c
|
||||
@@ -86,6 +86,14 @@ my_bool net_flush(NET *net);
|
||||
# include <sys/un.h>
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_OPENSSL
|
||||
+#include <openssl/opensslv.h>
|
||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
||||
+#undef OPENSSL_VERSION_NUMBER
|
||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef _WIN32
|
||||
#include <errno.h>
|
||||
#define SOCKET_ERROR -1
|
||||
@@ -2685,7 +2693,7 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
|
||||
{
|
||||
SSL *ssl;
|
||||
X509 *server_cert= NULL;
|
||||
- char *cn= NULL;
|
||||
+ const char *cn= NULL;
|
||||
int cn_loc= -1;
|
||||
ASN1_STRING *cn_asn1= NULL;
|
||||
X509_NAME_ENTRY *cn_entry= NULL;
|
||||
@@ -2757,7 +2765,11 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
|
||||
goto error;
|
||||
}
|
||||
|
||||
- cn= (char *) ASN1_STRING_data(cn_asn1);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ cn= (const char *) ASN1_STRING_data(cn_asn1);
|
||||
+#else
|
||||
+ cn= (const char *) ASN1_STRING_get0_data(cn_asn1);
|
||||
+#endif
|
||||
|
||||
// There should not be any NULL embedded in the CN
|
||||
if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
|
||||
diff --git a/vio/viossl.c b/vio/viossl.c
|
||||
index 5622cb7..94b0f09 100644
|
||||
--- a/vio/viossl.c
|
||||
+++ b/vio/viossl.c
|
||||
@@ -24,6 +24,12 @@
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
|
||||
+#include <openssl/opensslv.h>
|
||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
||||
+#undef OPENSSL_VERSION_NUMBER
|
||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
||||
+#endif
|
||||
+
|
||||
#ifndef DBUG_OFF
|
||||
|
||||
static void
|
||||
@@ -310,8 +316,10 @@ void vio_ssl_delete(Vio *vio)
|
||||
}
|
||||
|
||||
#ifndef HAVE_YASSL
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
ERR_remove_thread_state(0);
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
vio_delete(vio);
|
||||
}
|
||||
@@ -427,7 +427,12 @@
|
||||
for (j = 0; j < n; j++)
|
||||
{
|
||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
||||
+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
+ DBUG_PRINT("info",
|
||||
+ (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c)));
|
||||
+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
}
|
||||
}
|
||||
#endif
|
||||
diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c
|
||||
index da5449a..87b30c3 100644
|
||||
--- a/vio/viosslfactories.c
|
||||
+++ b/vio/viosslfactories.c
|
||||
@@ -16,6 +16,14 @@
|
||||
#include "vio_priv.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
+#include <openssl/bn.h>
|
||||
+#include <openssl/dh.h>
|
||||
+#include <openssl/opensslv.h>
|
||||
+
|
||||
+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
|
||||
+#undef OPENSSL_VERSION_NUMBER
|
||||
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
|
||||
+#endif
|
||||
|
||||
#define TLS_VERSION_OPTION_SIZE 256
|
||||
#define SSL_CIPHER_LIST_SIZE 4096
|
||||
@@ -121,10 +129,18 @@ static DH *get_dh2048(void)
|
||||
DH *dh;
|
||||
if ((dh=DH_new()))
|
||||
{
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
|
||||
dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
||||
if (! dh->p || ! dh->g)
|
||||
{
|
||||
+#else
|
||||
+ if (! DH_set0_pqg(dh,
|
||||
+ BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL),
|
||||
+ NULL,
|
||||
+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)))
|
||||
+ {
|
||||
+#endif
|
||||
DH_free(dh);
|
||||
dh=0;
|
||||
}
|
||||
@@ -247,6 +263,8 @@ typedef struct CRYPTO_dynlock_value
|
||||
} openssl_lock_t;
|
||||
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+
|
||||
/* Array of locks used by openssl internally for thread synchronization.
|
||||
The number of locks is equal to CRYPTO_num_locks.
|
||||
*/
|
||||
@@ -389,9 +407,11 @@ static void deinit_lock_callback_functions()
|
||||
{
|
||||
set_lock_callback_functions(FALSE);
|
||||
}
|
||||
+#endif
|
||||
|
||||
void vio_ssl_end()
|
||||
{
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int i= 0;
|
||||
|
||||
if (ssl_initialized) {
|
||||
@@ -409,6 +429,7 @@ void vio_ssl_end()
|
||||
|
||||
ssl_initialized= FALSE;
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
#endif //OpenSSL specific
|
||||
@@ -419,6 +440,7 @@ void ssl_start()
|
||||
{
|
||||
ssl_initialized= TRUE;
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
SSL_library_init();
|
||||
OpenSSL_add_all_algorithms();
|
||||
SSL_load_error_strings();
|
||||
@@ -427,6 +449,7 @@ void ssl_start()
|
||||
init_ssl_locks();
|
||||
init_lock_callback_functions();
|
||||
#endif
|
||||
+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1,24 +0,0 @@
|
||||
https://bugs.gentoo.org/692644
|
||||
|
||||
--- a/include/mysql.h.pp
|
||||
+++ b/include/mysql.h.pp
|
||||
@@ -175,7 +175,7 @@ struct rand_struct {
|
||||
unsigned long seed1, seed2, max_value;
|
||||
double max_value_dbl;
|
||||
};
|
||||
-#include <mysql/udf_registration_types.h>
|
||||
+#include "mysql/udf_registration_types.h"
|
||||
enum Item_result {
|
||||
INVALID_RESULT = -1,
|
||||
STRING_RESULT = 0,
|
||||
--- a/include/mysql_com.h
|
||||
+++ b/include/mysql_com.h
|
||||
@@ -1002,7 +1002,7 @@ struct rand_struct {
|
||||
};
|
||||
|
||||
/* Include the types here so existing UDFs can keep compiling */
|
||||
-#include <mysql/udf_registration_types.h>
|
||||
+#include "mysql/udf_registration_types.h"
|
||||
|
||||
/**
|
||||
@addtogroup group_cs_compresson_constants Constants when using compression
|
@ -1,297 +0,0 @@
|
||||
--- a/cmake/ssl.cmake
|
||||
+++ b/cmake/ssl.cmake
|
||||
@@ -229,13 +229,14 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
|
||||
)
|
||||
ENDIF()
|
||||
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
|
||||
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
|
||||
+ IF(HAVE_TLS1_3_VERSION)
|
||||
ADD_DEFINITIONS(-DHAVE_TLSv13)
|
||||
ENDIF()
|
||||
IF(OPENSSL_INCLUDE_DIR AND
|
||||
OPENSSL_LIBRARY AND
|
||||
CRYPTO_LIBRARY AND
|
||||
- OPENSSL_MAJOR_VERSION STREQUAL "1"
|
||||
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
|
||||
)
|
||||
SET(OPENSSL_FOUND TRUE)
|
||||
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
||||
--- a/mysys/my_md5.cc
|
||||
+++ b/mysys/my_md5.cc
|
||||
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
|
||||
int compute_md5_hash(char *digest, const char *buf, int len) {
|
||||
int retval = 0;
|
||||
int fips_mode = 0;
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
fips_mode = FIPS_mode();
|
||||
+#endif
|
||||
/* If fips mode is ON/STRICT restricted method calls will result into abort,
|
||||
* skipping call. */
|
||||
if (fips_mode == 0) {
|
||||
--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
||||
+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
||||
@@ -329,6 +329,7 @@ error:
|
||||
return 1;
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
#define OPENSSL_ERROR_LENGTH 512
|
||||
static int configure_ssl_fips_mode(const uint fips_mode) {
|
||||
int rc = -1;
|
||||
@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
|
||||
const char *ca_path) {
|
||||
@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
|
||||
int verify_server = SSL_VERIFY_NONE;
|
||||
int verify_client = SSL_VERIFY_NONE;
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
|
||||
G_ERROR("Error setting the ssl fips mode");
|
||||
goto error;
|
||||
}
|
||||
+#endif
|
||||
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
@@ -622,7 +626,7 @@ error:
|
||||
void xcom_cleanup_ssl() {
|
||||
if (!xcom_use_ssl()) return;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
ERR_remove_thread_state(0);
|
||||
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
}
|
||||
--- a/plugin/x/client/xconnection_impl.cc
|
||||
+++ b/plugin/x/client/xconnection_impl.cc
|
||||
@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
|
||||
return XError(CR_SSL_CONNECTION_ERROR, buffer);
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode,
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
XError Connection_impl::activate_tls() {
|
||||
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
|
||||
@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() {
|
||||
if (!m_context->m_ssl_config.is_configured())
|
||||
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(
|
||||
static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
|
||||
err_string) != 1) {
|
||||
return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
|
||||
}
|
||||
+#endif
|
||||
auto ssl_ctx_flags = process_tls_version(
|
||||
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
|
||||
|
||||
--- a/router/src/http/src/tls_client_context.cc
|
||||
+++ b/router/src/http/src/tls_client_context.cc
|
||||
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
|
||||
|
||||
void TlsClientContext::cipher_suites(const std::string &ciphers) {
|
||||
// TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
|
||||
throw TlsError("set-cipher-suites");
|
||||
}
|
||||
--- a/router/src/http/src/tls_context.cc
|
||||
+++ b/router/src/http/src/tls_context.cc
|
||||
@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
|
||||
return TLS1_1_VERSION;
|
||||
case TlsVersion::TLS_1_2:
|
||||
return TLS1_2_VERSION;
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TlsVersion::TLS_1_3:
|
||||
return TLS1_3_VERSION;
|
||||
#endif
|
||||
@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) {
|
||||
switch (min_version) {
|
||||
default:
|
||||
// unknown, leave all disabled
|
||||
+#ifdef TLS1_3_VERSION
|
||||
// fallthrough
|
||||
case TlsVersion::TLS_1_3:
|
||||
opts |= SSL_OP_NO_TLSv1_2;
|
||||
+#endif
|
||||
// fallthrough
|
||||
case TlsVersion::TLS_1_2:
|
||||
opts |= SSL_OP_NO_TLSv1_1;
|
||||
@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
|
||||
return TlsVersion::TLS_1_1;
|
||||
case TLS1_2_VERSION:
|
||||
return TlsVersion::TLS_1_2;
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TLS1_3_VERSION:
|
||||
return TlsVersion::TLS_1_3;
|
||||
+#endif
|
||||
case 0:
|
||||
return TlsVersion::AUTO;
|
||||
default:
|
||||
@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
|
||||
}
|
||||
|
||||
int TlsContext::security_level() const {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
return SSL_CTX_get_security_level(ssl_ctx_.get());
|
||||
#else
|
||||
return 0;
|
||||
--- a/router/src/http/src/tls_server_context.cc
|
||||
+++ b/router/src/http/src/tls_server_context.cc
|
||||
@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
|
||||
}
|
||||
|
||||
} else {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
dh2048.reset(DH_get_2048_256());
|
||||
#else
|
||||
/*
|
||||
--- a/sql-common/client.cc
|
||||
+++ b/sql-common/client.cc
|
||||
@@ -7730,7 +7730,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
||||
#endif
|
||||
break;
|
||||
case MYSQL_OPT_SSL_FIPS_MODE: {
|
||||
-#if defined(HAVE_OPENSSL)
|
||||
+#if defined(HAVE_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
||||
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
|
||||
--- a/sql/mysqld.cc
|
||||
+++ b/sql/mysqld.cc
|
||||
@@ -4818,7 +4818,7 @@ static int init_thread_environment() {
|
||||
|
||||
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define FILE_LINE_ARGS
|
||||
#else
|
||||
#define FILE_LINE_ARGS , const char *, int
|
||||
@@ -4854,12 +4854,14 @@ static void init_ssl() {
|
||||
}
|
||||
|
||||
static int init_ssl_communication() {
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
|
||||
if (ret_fips_mode != 1) {
|
||||
LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
--- a/sql/sys_vars.cc
|
||||
+++ b/sql/sys_vars.cc
|
||||
@@ -4417,6 +4417,7 @@ static Sys_var_ulong Sys_max_execution_time(
|
||||
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
|
||||
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
|
||||
@@ -4427,15 +4428,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
+#if defined(LIBRESSL_VERSION_NUMBER)
|
||||
+static const char *ssl_fips_mode_names[] = {"OFF", 0};
|
||||
+#else
|
||||
static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
|
||||
+#endif
|
||||
static Sys_var_enum Sys_ssl_fips_mode(
|
||||
"ssl_fips_mode",
|
||||
"SSL FIPS mode (applies only for OpenSSL); "
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
"permitted values are: OFF, ON, STRICT",
|
||||
+#else
|
||||
+ "permitted values are: OFF",
|
||||
+#endif
|
||||
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
|
||||
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
|
||||
- ON_CHECK(NULL), ON_UPDATE(update_fips_mode), NULL);
|
||||
+ ON_CHECK(NULL),
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
+ ON_UPDATE(update_fips_mode),
|
||||
+#else
|
||||
+ ON_UPDATE(NULL),
|
||||
+#endif
|
||||
+ NULL);
|
||||
|
||||
#if defined(HAVE_OPENSSL)
|
||||
static Sys_var_bool Sys_auto_generate_certs(
|
||||
--- a/vio/viossl.cc
|
||||
+++ b/vio/viossl.cc
|
||||
@@ -45,7 +45,7 @@
|
||||
BIO_set_callback_ex was added in openSSL 1.1.1
|
||||
For older openSSL, use the deprecated BIO_set_callback.
|
||||
*/
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define HAVE_BIO_SET_CALLBACK_EX
|
||||
#endif
|
||||
|
||||
@@ -637,7 +637,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
||||
#if !defined(DBUG_OFF)
|
||||
{
|
||||
STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
|
||||
- ssl_comp_methods = SSL_COMP_get_compression_methods();
|
||||
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
|
||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
||||
DBUG_PRINT("info", ("Available compression methods:\n"));
|
||||
if (n == 0)
|
||||
@@ -645,7 +645,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
||||
else
|
||||
for (j = 0; j < n; j++) {
|
||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
DBUG_PRINT("info",
|
||||
--- a/vio/viosslfactories.cc
|
||||
+++ b/vio/viosslfactories.cc
|
||||
@@ -420,6 +420,7 @@ void ssl_start() {
|
||||
}
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -473,6 +474,7 @@ EXIT:
|
||||
@returns openssl current fips mode
|
||||
*/
|
||||
uint get_fips_mode() { return FIPS_mode(); }
|
||||
+#endif
|
||||
|
||||
long process_tls_version(const char *tls_version) {
|
||||
const char *separator = ",";
|
@ -1,332 +0,0 @@
|
||||
From 2108922a8292d74874ede834158c208d81c3cf76 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Deutschmann <whissi@gentoo.org>
|
||||
Date: Thu, 30 Apr 2020 20:01:48 +0200
|
||||
Subject: [PATCH 5/5] Add LibreSSL support
|
||||
|
||||
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
|
||||
---
|
||||
cmake/ssl.cmake | 5 +++--
|
||||
mysys/my_md5.cc | 2 ++
|
||||
.../bindings/xcom/xcom/xcom_ssl_transport.c | 6 +++++-
|
||||
plugin/x/client/xconnection_impl.cc | 4 ++++
|
||||
router/src/http/src/tls_client_context.cc | 2 +-
|
||||
router/src/http/src/tls_context.cc | 9 ++++++--
|
||||
router/src/http/src/tls_server_context.cc | 3 ++-
|
||||
sql-common/client.cc | 2 ++
|
||||
sql/mysqld.cc | 4 +++-
|
||||
sql/sys_vars.cc | 21 +++++++++++++++++--
|
||||
vio/viossl.cc | 8 +++----
|
||||
vio/viosslfactories.cc | 2 ++
|
||||
12 files changed, 54 insertions(+), 14 deletions(-)
|
||||
|
||||
--- a/cmake/ssl.cmake
|
||||
+++ b/cmake/ssl.cmake
|
||||
@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
|
||||
)
|
||||
ENDIF()
|
||||
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
|
||||
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
|
||||
+ IF(HAVE_TLS1_3_VERSION)
|
||||
ADD_DEFINITIONS(-DHAVE_TLSv13)
|
||||
ENDIF()
|
||||
IF(OPENSSL_INCLUDE_DIR AND
|
||||
OPENSSL_LIBRARY AND
|
||||
CRYPTO_LIBRARY AND
|
||||
- OPENSSL_MAJOR_VERSION STREQUAL "1"
|
||||
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
|
||||
)
|
||||
SET(OPENSSL_FOUND TRUE)
|
||||
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
||||
--- a/mysys/my_md5.cc
|
||||
+++ b/mysys/my_md5.cc
|
||||
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
|
||||
int compute_md5_hash(char *digest, const char *buf, int len) {
|
||||
int retval = 0;
|
||||
int fips_mode = 0;
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
fips_mode = FIPS_mode();
|
||||
+#endif
|
||||
/* If fips mode is ON/STRICT restricted method calls will result into abort,
|
||||
* skipping call. */
|
||||
if (fips_mode == 0) {
|
||||
--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
||||
+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
||||
@@ -329,6 +329,7 @@ error:
|
||||
return 1;
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
#define OPENSSL_ERROR_LENGTH 512
|
||||
static int configure_ssl_fips_mode(const uint fips_mode) {
|
||||
int rc = -1;
|
||||
@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
|
||||
const char *ca_path) {
|
||||
@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
|
||||
int verify_server = SSL_VERIFY_NONE;
|
||||
int verify_client = SSL_VERIFY_NONE;
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
|
||||
G_ERROR("Error setting the ssl fips mode");
|
||||
goto error;
|
||||
}
|
||||
+#endif
|
||||
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
@@ -622,7 +626,7 @@ error:
|
||||
void xcom_cleanup_ssl() {
|
||||
if (!xcom_use_ssl()) return;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
ERR_remove_thread_state(0);
|
||||
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
}
|
||||
--- a/plugin/x/client/xconnection_impl.cc
|
||||
+++ b/plugin/x/client/xconnection_impl.cc
|
||||
@@ -511,6 +511,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
|
||||
return XError(CR_SSL_CONNECTION_ERROR, buffer);
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -550,6 +551,7 @@ int set_fips_mode(const uint32_t fips_mode,
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
XError Connection_impl::activate_tls() {
|
||||
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
|
||||
@@ -560,12 +562,14 @@ XError Connection_impl::activate_tls() {
|
||||
if (!m_context->m_ssl_config.is_configured())
|
||||
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(
|
||||
static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
|
||||
err_string) != 1) {
|
||||
return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
|
||||
}
|
||||
+#endif
|
||||
auto ssl_ctx_flags = process_tls_version(
|
||||
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
|
||||
|
||||
--- a/router/src/http/src/tls_client_context.cc
|
||||
+++ b/router/src/http/src/tls_client_context.cc
|
||||
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
|
||||
|
||||
void TlsClientContext::cipher_suites(const std::string &ciphers) {
|
||||
// TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
|
||||
throw TlsError("set-cipher-suites");
|
||||
}
|
||||
--- a/router/src/http/src/tls_context.cc
|
||||
+++ b/router/src/http/src/tls_context.cc
|
||||
@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
|
||||
return TLS1_1_VERSION;
|
||||
case TlsVersion::TLS_1_2:
|
||||
return TLS1_2_VERSION;
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TlsVersion::TLS_1_3:
|
||||
return TLS1_3_VERSION;
|
||||
#endif
|
||||
@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) {
|
||||
switch (min_version) {
|
||||
default:
|
||||
// unknown, leave all disabled
|
||||
+#ifdef TLS1_3_VERSION
|
||||
// fallthrough
|
||||
case TlsVersion::TLS_1_3:
|
||||
opts |= SSL_OP_NO_TLSv1_2;
|
||||
+#endif
|
||||
// fallthrough
|
||||
case TlsVersion::TLS_1_2:
|
||||
opts |= SSL_OP_NO_TLSv1_1;
|
||||
@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
|
||||
return TlsVersion::TLS_1_1;
|
||||
case TLS1_2_VERSION:
|
||||
return TlsVersion::TLS_1_2;
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TLS1_3_VERSION:
|
||||
return TlsVersion::TLS_1_3;
|
||||
+#endif
|
||||
case 0:
|
||||
return TlsVersion::AUTO;
|
||||
default:
|
||||
@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
|
||||
}
|
||||
|
||||
int TlsContext::security_level() const {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
return SSL_CTX_get_security_level(ssl_ctx_.get());
|
||||
#else
|
||||
return 0;
|
||||
--- a/router/src/http/src/tls_server_context.cc
|
||||
+++ b/router/src/http/src/tls_server_context.cc
|
||||
@@ -167,7 +167,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
|
||||
}
|
||||
|
||||
} else {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
dh2048.reset(DH_get_2048_256());
|
||||
#else
|
||||
/*
|
||||
--- a/sql-common/client.cc
|
||||
+++ b/sql-common/client.cc
|
||||
@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
||||
return 1;
|
||||
break;
|
||||
case MYSQL_OPT_SSL_FIPS_MODE: {
|
||||
+#if !defined(LIBRESSL_VERSION_NUMBER)
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
||||
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
|
||||
@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
||||
"Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
} break;
|
||||
case MYSQL_OPT_SSL_MODE:
|
||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
||||
--- a/sql/mysqld.cc
|
||||
+++ b/sql/mysqld.cc
|
||||
@@ -4857,7 +4857,7 @@ static int init_thread_environment() {
|
||||
|
||||
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define FILE_LINE_ARGS
|
||||
#else
|
||||
#define FILE_LINE_ARGS , const char *, int
|
||||
@@ -4891,12 +4891,14 @@ static void init_ssl() {
|
||||
}
|
||||
|
||||
static int init_ssl_communication() {
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
|
||||
if (ret_fips_mode != 1) {
|
||||
LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
--- a/sql/sys_vars.cc
|
||||
+++ b/sql/sys_vars.cc
|
||||
@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time(
|
||||
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
|
||||
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
|
||||
@@ -4469,15 +4470,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
+#if defined(LIBRESSL_VERSION_NUMBER)
|
||||
+static const char *ssl_fips_mode_names[] = {"OFF", 0};
|
||||
+#else
|
||||
+static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
|
||||
+#endif
|
||||
|
||||
-static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
|
||||
static Sys_var_enum Sys_ssl_fips_mode(
|
||||
"ssl_fips_mode",
|
||||
"SSL FIPS mode (applies only for OpenSSL); "
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
"permitted values are: OFF, ON, STRICT",
|
||||
+#else
|
||||
+ "permitted values are: OFF",
|
||||
+#endif
|
||||
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
|
||||
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
|
||||
- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr);
|
||||
+ ON_CHECK(NULL),
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
+ ON_UPDATE(update_fips_mode),
|
||||
+#else
|
||||
+ ON_UPDATE(NULL),
|
||||
+#endif
|
||||
+ NULL);
|
||||
|
||||
static Sys_var_bool Sys_auto_generate_certs(
|
||||
"auto_generate_certs",
|
||||
--- a/vio/viossl.cc
|
||||
+++ b/vio/viossl.cc
|
||||
@@ -45,7 +45,7 @@
|
||||
BIO_set_callback_ex was added in openSSL 1.1.1
|
||||
For older openSSL, use the deprecated BIO_set_callback.
|
||||
*/
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define HAVE_BIO_SET_CALLBACK_EX
|
||||
#endif
|
||||
|
||||
@@ -634,8 +634,8 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
||||
|
||||
#if !defined(DBUG_OFF)
|
||||
{
|
||||
- STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
|
||||
- ssl_comp_methods = SSL_COMP_get_compression_methods();
|
||||
+ STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
|
||||
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
|
||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
||||
DBUG_PRINT("info", ("Available compression methods:\n"));
|
||||
if (n == 0)
|
||||
@@ -643,7 +643,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
|
||||
else
|
||||
for (j = 0; j < n; j++) {
|
||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
DBUG_PRINT("info",
|
||||
--- a/vio/viosslfactories.cc
|
||||
+++ b/vio/viosslfactories.cc
|
||||
@@ -472,6 +472,7 @@ void ssl_start() {
|
||||
}
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -525,6 +526,7 @@ EXIT:
|
||||
@returns openssl current fips mode
|
||||
*/
|
||||
uint get_fips_mode() { return FIPS_mode(); }
|
||||
+#endif
|
||||
|
||||
long process_tls_version(const char *tls_version) {
|
||||
const char *separator = ",";
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,31 +0,0 @@
|
||||
--- a/include/mysql_com.h 2014-06-10 23:10:43.000000000 -0400
|
||||
+++ b/include/mysql_com.h 2015-08-11 15:20:54.487091000 -0400
|
||||
@@ -179,7 +171,7 @@
|
||||
#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
|
||||
#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
|
||||
#define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
|
||||
-#define CLIENT_RESERVED2 32768 /* Old flag for 4.1 authentication */
|
||||
+#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
|
||||
#define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
|
||||
#define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
|
||||
#define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */
|
||||
@@ -226,7 +216,7 @@
|
||||
| CLIENT_IGNORE_SIGPIPE \
|
||||
| CLIENT_TRANSACTIONS \
|
||||
| CLIENT_RESERVED \
|
||||
- | CLIENT_RESERVED2 \
|
||||
+ | CLIENT_SECURE_CONNECTION \
|
||||
| CLIENT_MULTI_STATEMENTS \
|
||||
| CLIENT_MULTI_RESULTS \
|
||||
| CLIENT_PS_MULTI_RESULTS \
|
||||
--- a/libmysql/client_settings.h 2015-02-25 16:09:49.000000000 -0500
|
||||
+++ b/libmysql/client_settings.h 2015-08-11 15:44:10.804091000 -0400
|
||||
@@ -31,7 +31,7 @@
|
||||
CLIENT_LONG_FLAG | \
|
||||
CLIENT_TRANSACTIONS | \
|
||||
CLIENT_PROTOCOL_41 | \
|
||||
- CLIENT_RESERVED2 | \
|
||||
+ CLIENT_SECURE_CONNECTION | \
|
||||
CLIENT_MULTI_RESULTS | \
|
||||
CLIENT_PS_MULTI_RESULTS | \
|
||||
CLIENT_PLUGIN_AUTH | \
|
@ -1,83 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS+=(
|
||||
/usr/include/mysql/my_config.h
|
||||
)
|
||||
|
||||
# wrap the config script
|
||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
||||
|
||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
||||
HOMEPAGE="https://dev.mysql.com/downloads/connector/c/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz"
|
||||
S="${WORKDIR}/${P}-src"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
|
||||
|
||||
SUBSLOT="18"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
IUSE="libressl static-libs"
|
||||
|
||||
CDEPEND="
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/mariadb-connector-c[mysqlcompat]
|
||||
"
|
||||
DEPEND="${CDEPEND}"
|
||||
|
||||
DOCS=( README )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/mysql_com.patch"
|
||||
"${FILESDIR}/20028_all_mysql-5.6-gcc7.patch"
|
||||
"${FILESDIR}/6.1.11-openssl-1.1.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
||||
if use libressl ; then
|
||||
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
|
||||
"${S}/cmake/ssl.cmake" || die
|
||||
fi
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DINSTALL_LAYOUT=RPM
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
||||
-DENABLED_LOCAL_INFILE=ON
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
-DWITH_ZLIB=system
|
||||
-DENABLE_DTRACE=OFF
|
||||
-DWITH_SSL=system
|
||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
||||
-DSHARED_LIB_PATCH_VERSION="0"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
if ! use static-libs ; then
|
||||
find "${ED}" -name "*.a" -delete || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
|
||||
elog "Due to ABI changes when switching between different client libraries,"
|
||||
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
|
||||
elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}"
|
||||
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
|
||||
fi
|
||||
}
|
@ -1,111 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
# wrap the config script
|
||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
||||
|
||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
||||
HOMEPAGE="https://dev.mysql.com/downloads/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
|
||||
|
||||
SLOT="0/21"
|
||||
IUSE="ldap libressl static-libs"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/lz4-0_p131:=
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
|
||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# Avoid file collisions, #692580
|
||||
RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.23*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.24*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.25*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
|
||||
RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
S="${WORKDIR}/mysql-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
|
||||
"${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
|
||||
"${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
|
||||
"${FILESDIR}"/${PN}-8.0.19-libressl.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
||||
|
||||
# All these are for the server only.
|
||||
# Disable rpm call which would trigger sandbox, #692368
|
||||
sed -i \
|
||||
-e '/MYSQL_CHECK_LIBEVENT/d' \
|
||||
-e '/MYSQL_CHECK_RAPIDJSON/d' \
|
||||
-e '/MYSQL_CHECK_ICU/d' \
|
||||
-e '/MYSQL_CHECK_EDITLINE/d' \
|
||||
-e '/MYSQL_CHECK_CURL/d' \
|
||||
-e '/ADD_SUBDIRECTORY(man)/d' \
|
||||
-e '/ADD_SUBDIRECTORY(share)/d' \
|
||||
-e '/INCLUDE(cmake\/boost/d' \
|
||||
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
|
||||
CMakeLists.txt || die
|
||||
|
||||
# Skip building clients
|
||||
echo > client/CMakeLists.txt || die
|
||||
|
||||
# Forcefully disable auth plugin
|
||||
if ! use ldap ; then
|
||||
sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
|
||||
echo > libmysql/authentication_ldap/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DINSTALL_LAYOUT=RPM
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
||||
-DENABLED_LOCAL_INFILE=ON
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
|
||||
-DWITH_ZLIB=system
|
||||
-DWITH_SSL=system
|
||||
-DWITH_NUMA=OFF
|
||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
||||
-DSHARED_LIB_PATCH_VERSION="0"
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-DWITHOUT_SERVER=ON
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake-utils_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
doman \
|
||||
man/my_print_defaults.1 \
|
||||
man/perror.1 \
|
||||
man/zlib_decompress.1
|
||||
|
||||
if ! use static-libs ; then
|
||||
find "${ED}" -name "*.a" -delete || die
|
||||
fi
|
||||
}
|
@ -1,111 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
# wrap the config script
|
||||
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
|
||||
|
||||
DESCRIPTION="C client library for MariaDB/MySQL"
|
||||
HOMEPAGE="https://dev.mysql.com/downloads/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
|
||||
SLOT="0/21"
|
||||
IUSE="ldap libressl static-libs"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/lz4-0_p131:=
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
|
||||
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
|
||||
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# Avoid file collisions, #692580
|
||||
RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.23*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.24*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.25*"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
|
||||
RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
|
||||
RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
S="${WORKDIR}/mysql-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
|
||||
"${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
|
||||
"${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
|
||||
"${FILESDIR}"/${PN}-8.0.20-libressl.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
|
||||
|
||||
# All these are for the server only.
|
||||
# Disable rpm call which would trigger sandbox, #692368
|
||||
sed -i \
|
||||
-e '/MYSQL_CHECK_LIBEVENT/d' \
|
||||
-e '/MYSQL_CHECK_RAPIDJSON/d' \
|
||||
-e '/MYSQL_CHECK_ICU/d' \
|
||||
-e '/MYSQL_CHECK_EDITLINE/d' \
|
||||
-e '/MYSQL_CHECK_CURL/d' \
|
||||
-e '/ADD_SUBDIRECTORY(man)/d' \
|
||||
-e '/ADD_SUBDIRECTORY(share)/d' \
|
||||
-e '/INCLUDE(cmake\/boost/d' \
|
||||
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
|
||||
CMakeLists.txt || die
|
||||
|
||||
# Skip building clients
|
||||
echo > client/CMakeLists.txt || die
|
||||
|
||||
# Forcefully disable auth plugin
|
||||
if ! use ldap ; then
|
||||
sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
|
||||
echo > libmysql/authentication_ldap/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DINSTALL_LAYOUT=RPM
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
|
||||
-DWITH_DEFAULT_FEATURE_SET=OFF
|
||||
-DENABLED_LOCAL_INFILE=ON
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
|
||||
-DWITH_ZLIB=system
|
||||
-DWITH_SSL=system
|
||||
-DWITH_NUMA=OFF
|
||||
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
|
||||
-DSHARED_LIB_PATCH_VERSION="0"
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-DWITHOUT_SERVER=ON
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake-utils_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
doman \
|
||||
man/my_print_defaults.1 \
|
||||
man/perror.1 \
|
||||
man/zlib_decompress.1
|
||||
|
||||
if ! use static-libs ; then
|
||||
find "${ED}" -name "*.a" -delete || die
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
--- a/Sound/Wav/ChannelData.hs
|
||||
+++ b/Sound/Wav/ChannelData.hs
|
||||
@@ -111,7 +111,7 @@ wordPutter 1 = putInt8 . zeroStable (0 :: Int8)
|
||||
wordPutter 2 = putInt16le . zeroStable (0 :: Int16)
|
||||
wordPutter 3 = putInt32le . zeroStable (0 :: Int32)
|
||||
wordPutter 4 = putInt64le
|
||||
-wordPutter x = \_ -> fail $ "The is no word putter for byte size " ++ show x
|
||||
+wordPutter x = \_ -> error $ "The is no word putter for byte size " ++ show x
|
||||
|
||||
wordGetter :: (Num a, Show a, Eq a) => a -> Get Int64
|
||||
wordGetter 1 = fmap zeroStable64 getInt8
|
Binary file not shown.
@ -1,6 +1,7 @@
|
||||
DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4
|
||||
DIST perl-5.30.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
|
||||
}
|
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…
Reference in new issue