parent
907e69e53a
commit
17dc60890d
Binary file not shown.
Binary file not shown.
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/aws-cli-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
# botocore is x.(y+1).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests --install nose
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/awscli-1.19.47-py39.patch
|
||||
)
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
# integration tests require AWS credentials and Internet access
|
||||
nosetests -v tests/{functional,unit} ||
|
||||
die "Tests failed for ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,234 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic systemd tmpfiles
|
||||
|
||||
DESCRIPTION="Clam Anti-Virus Scanner"
|
||||
HOMEPAGE="https://www.clamav.net/"
|
||||
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc clamonacc clamdtop clamsubmit iconv ipv6 libclamav-only milter metadata-analysis-api selinux systemd test uclibc xml"
|
||||
|
||||
REQUIRED_USE="libclamav-only? ( !clamonacc !clamdtop !clamsubmit !milter !metadata-analysis-api )"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Require acct-{user,group}/clamav at build time so that we can set
|
||||
# the permissions on /var/lib/clamav in src_install rather than in
|
||||
# pkg_postinst; calling "chown" on the live filesystem scares me.
|
||||
CDEPEND="acct-group/clamav
|
||||
acct-user/clamav
|
||||
dev-libs/libltdl
|
||||
dev-libs/libmspack
|
||||
|| ( dev-libs/libpcre2 >dev-libs/libpcre-6 )
|
||||
dev-libs/tomsfastmath
|
||||
>=sys-libs/zlib-1.2.2:=
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
clamdtop? ( sys-libs/ncurses:0 )
|
||||
clamsubmit? ( net-misc/curl dev-libs/json-c:= )
|
||||
elibc_musl? ( sys-libs/fts-standalone )
|
||||
iconv? ( virtual/libiconv )
|
||||
!libclamav-only? ( net-misc/curl )
|
||||
dev-libs/openssl:0=
|
||||
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
|
||||
xml? ( dev-libs/libxml2 )"
|
||||
|
||||
# We need at least autoconf-2.69-r5 because that's the first (patched)
|
||||
# version of it in Gentoo that supports ./configure --runstatedir.
|
||||
BDEPEND=">=sys-devel/autoconf-2.69-r5
|
||||
virtual/pkgconfig"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
metadata-analysis-api? ( dev-libs/json-c:* )
|
||||
test? ( dev-libs/check )"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-clamav )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.102.1-libxml2_pkgconfig.patch" #661328
|
||||
"${FILESDIR}/${PN}-0.102.2-fix-curl-detection.patch" #709616
|
||||
"${FILESDIR}/${PN}-0.103.0-system-tomsfastmath.patch" # 649394
|
||||
"${FILESDIR}/${PN}-0.103.1-upstream-openrc.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Be extra sure that we're using the system copy of tomsfastmath
|
||||
einfo "removing bundled copy of dev-libs/tomsfastmath"
|
||||
rm -r libclamav/tomsfastmath || \
|
||||
die "failed to remove bundled tomsfastmath"
|
||||
|
||||
AT_NO_RECURSIVE="yes" eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use elibc_musl && append-ldflags -lfts
|
||||
use ppc64 && append-flags -mminimal-toc
|
||||
use uclibc && export ac_cv_type_error_t=yes
|
||||
|
||||
# according to configure help it should be
|
||||
# $(use_enable xml)
|
||||
# but that does not work
|
||||
# do not add this, since --disable-xml seems to override
|
||||
# --without-xml
|
||||
JSONUSE="--without-libjson"
|
||||
|
||||
if use clamsubmit || use metadata-analysis-api; then
|
||||
# either of those 2 requires libjson.
|
||||
# clamsubmit will be built as soon as libjson and curl are found
|
||||
# but we only install the binary if requested
|
||||
JSONUSE="--with-libjson=${EPREFIX}/usr"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable clamonacc)
|
||||
$(use_enable clamdtop)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable milter)
|
||||
$(use_enable test check)
|
||||
$(use_with xml)
|
||||
$(use_with iconv)
|
||||
${JSONUSE}
|
||||
$(use_enable libclamav-only)
|
||||
$(use_with !libclamav-only libcurl)
|
||||
--with-system-libmspack
|
||||
--cache-file="${S}"/config.cache
|
||||
--disable-experimental
|
||||
--disable-static
|
||||
--disable-zlib-vcheck
|
||||
--enable-id-check
|
||||
--with-dbdir="${EPREFIX}"/var/lib/clamav
|
||||
# Don't call --with-zlib=/usr (see bug #699296)
|
||||
--with-zlib
|
||||
--disable-llvm
|
||||
--enable-openrc
|
||||
--runstatedir=/run
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
rm -rf "${ED}"/var/lib/clamav || die
|
||||
|
||||
if ! use libclamav-only ; then
|
||||
if use systemd; then
|
||||
# The tmpfiles entry is behind USE=systemd because the
|
||||
# upstream OpenRC service files should (and do) ensure that
|
||||
# the directories they need exist and have the correct
|
||||
# permissions without the help of opentmpfiles. There are
|
||||
# years-old root exploits in opentmpfiles, the design is
|
||||
# fundamentally flawed, and the maintainer is not up to
|
||||
# the task of fixing it.
|
||||
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
|
||||
systemd_newunit "${FILESDIR}/clamd_at.service" "clamd@.service"
|
||||
systemd_dounit "${FILESDIR}/clamd.service"
|
||||
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
|
||||
"freshclamd.service"
|
||||
fi
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/clamd.logrotate" clamd
|
||||
newins "${FILESDIR}/freshclam.logrotate" freshclam
|
||||
use milter && \
|
||||
newins "${FILESDIR}/clamav-milter.logrotate-r1" clamav-milter
|
||||
|
||||
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
|
||||
sed -i -e "s:^\(Example\):\# \1:" \
|
||||
-e "s/^#\(PidFile .*\)/\1/" \
|
||||
-e "s/^#\(LocalSocket .*\)/\1/" \
|
||||
-e "s/^#\(User .*\)/\1/" \
|
||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
|
||||
-e "s:^\#\(LogTime\).*:\1 yes:" \
|
||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
||||
"${ED}"/etc/clamd.conf.sample || die
|
||||
|
||||
sed -i -e "s:^\(Example\):\# \1:" \
|
||||
-e "s/^#\(PidFile .*\)/\1/" \
|
||||
-e "s/^#\(DatabaseOwner .*\)/\1/" \
|
||||
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
|
||||
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamd.conf:" \
|
||||
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
|
||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
||||
"${ED}"/etc/freshclam.conf.sample || die
|
||||
|
||||
if use milter ; then
|
||||
# Note: only keep the "unix" ClamdSocket and MilterSocket!
|
||||
sed -i -e "s:^\(Example\):\# \1:" \
|
||||
-e "s/^#\(PidFile .*\)/\1/" \
|
||||
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
|
||||
-e "s/^#\(User .*\)/\1/" \
|
||||
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
|
||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
|
||||
"${ED}"/etc/clamav-milter.conf.sample || die
|
||||
|
||||
cat >> "${ED}"/etc/conf.d/clamd <<-EOF
|
||||
MILTER_NICELEVEL=19
|
||||
START_MILTER=no
|
||||
EOF
|
||||
|
||||
systemd_newunit "${FILESDIR}/clamav-milter.service-r1" clamav-milter.service
|
||||
fi
|
||||
|
||||
local i
|
||||
for i in clamd freshclam clamav-milter
|
||||
do
|
||||
if [[ -f "${ED}"/etc/"${i}".conf.sample ]]; then
|
||||
mv "${ED}"/etc/"${i}".conf{.sample,} || die
|
||||
fi
|
||||
done
|
||||
|
||||
# These both need to be writable by the clamav user.
|
||||
# TODO: use syslog by default; that's what it's for.
|
||||
diropts -o clamav -g clamav
|
||||
keepdir /var/lib/clamav
|
||||
keepdir /var/log/clamav
|
||||
fi
|
||||
|
||||
if use doc ; then
|
||||
local HTML_DOCS=( docs/html/. )
|
||||
einstalldocs
|
||||
|
||||
if ! use libclamav-only ; then
|
||||
doman docs/man/*.[1-8]
|
||||
fi
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use libclamav-only ; then
|
||||
ewarn "Test target not available when USE=libclamav-only is set, skipping tests ..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake quick-check
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use milter ; then
|
||||
elog "For simple instructions how to setup the clamav-milter read the"
|
||||
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
|
||||
fi
|
||||
|
||||
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
|
||||
if [[ ! -f "${databases}" ]] ; then
|
||||
ewarn "You must run freshclam manually to populate the virus database"
|
||||
ewarn "before starting clamav for the first time."
|
||||
fi
|
||||
|
||||
ewarn "This version of ClamAV provides separate OpenRC services"
|
||||
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
|
||||
ewarn "clamd service now starts only the clamd daemon itself. You"
|
||||
ewarn "should add freshclam (and perhaps clamav-milter) to any"
|
||||
ewarn "runlevels that previously contained clamd."
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
# This script is intended to rotate the logs for clamav-milter in its
|
||||
# default configuration on Gentoo, where clamav-milter writes to its
|
||||
# own log file but does not rotate that file itself. The clamav-milter
|
||||
# daemon is capable of rotating its own logs; if you have "LogRotate
|
||||
# yes" in clamav-milter.conf then you do not need this script (and
|
||||
# should disable it). Likewise, if you are logging to syslog
|
||||
# (LogSyslog yes), this is redundant.
|
||||
#
|
||||
# This is more complicated than the clamd/freshclam scripts because
|
||||
# the milter doesn't yet reopen its log files when it receives a
|
||||
# SIGHUP. See https://bugzilla.clamav.net/show_bug.cgi?id=12615
|
||||
# for that. Instead we have to attempt OpenRC/systemd service
|
||||
# restarts on (only) the machines that support them.
|
||||
/var/log/clamav/clamav-milter.log {
|
||||
su clamav clamav
|
||||
missingok
|
||||
postrotate
|
||||
if command -v rc-service >/dev/null; then
|
||||
rc-service clamav-milter status 2>/dev/null 1>&2 && rc-service clamav-milter restart 1>/dev/null
|
||||
fi
|
||||
if command -v systemctl >/dev/null; then
|
||||
systemctl try-restart clamav-milter
|
||||
fi
|
||||
endscript
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,29 @@
|
||||
DIST github.com-golang-net-3b0461eec859c4b73bb64fdc8285971fd33e3938.tar.gz 1099680 BLAKE2B 989a8d6c9166696bef1aff398acc8cd1e41e1240c5c113be030c80355cdf96eaa6d5f231c99f2c44d8eacf199579804c59fc45f999862bc4bf057b694841c8dc SHA512 5e42e26ac17f52d6408b63eebd740bedc5a78b8023b675688d7b39b20afa53b34ffde764b693828143483c8f5450180f6a00e9eb28b8f3f6e14303cc4cd7c62b
|
||||
DIST github.com-golang-net-aaf60122140d3fcf75376d319f0554393160eb50.tar.gz 965206 BLAKE2B 018ab877bfa7208bb0ca9b4ede85077ed37c8ee3c7065569646e6c9704715d6810b0286276ea0fa9a271f12ffbe964b41f55ec762711c8a43ccea564607f3265 SHA512 d56f5608e64e8d883a782f0c460f08da20e7d01a97330fad35c8757420ac82fb84b657c3f64e3c4d90a08cc4d8905ab37225d6fab8472e8f1fd3d7be212df8b9
|
||||
DIST github.com-golang-sync-112230192c580c3556b8cee6403af37a4fc5f28c.tar.gz 16835 BLAKE2B 51efe53ea7ab1f11f8ff078fbfa91526b97a1d918101bdbc755aa500424dda860d3a11195c1e44d033eaf7e0d09e7f327e404ad9af84f4b9747d8805b53dcf10 SHA512 bd90bb14e688fa7613d83dc8718bbb688a2f05cc8eb8c3dfbbf71daa7dc08e35044803c4bf8e5d5aab625a612e986e6f76c822c437f52132581ac37e0e2e92f9
|
||||
DIST github.com-golang-xerrors-a985d3407aa71f30cf86696ee0a2f409709f22e1.tar.gz 12271 BLAKE2B cdcaf0bbf67399c9176786118a622fc0912036b9b0611922dd3d32ace2cac65ac288136ef228ff526e626d36c16e6f8442ffbb5df0c84fd713a669c326fa350c SHA512 719b3a3e432a928f641e15b8553d3e2c2015b1c68c633e9f13f1d57cee634544bb857518fcd75124e41a448b4c219b80dd0c1823329eb4edfc715994d40331d5
|
||||
DIST go-favicon-20181103162401.ico 5686 BLAKE2B 331d7684a569fc40fcd147eb812661f42b0ee3ca4c017515c33523b588b012763ce29f24bfce5bc7274e7560ff7dd8e872af43d2b51dc0722ac416b43c11f841 SHA512 0a6fe8bddbce99ed7fd035a3dc998dc9e893060854eee9d1c70bcc8de77b71fd3bd203b2de0f1c9a146f7d47555ab856389e16a372ee41f4ab57be611877fc16
|
||||
DIST go-tools-0_pre20190911.tar.gz 2264380 BLAKE2B 049d961191eec5b3bd75d9ab1dea576a9b3700cdcd06fce39ae34844af7dc045d61cbe604c16c1fd355f38c0a3e5523c0162ca37c49bd7a7d28642fa2a5b4e5e SHA512 d72f71a8d3f1b14b165d60279dd4dc110ee59ae0e716cdfa9d23610d65972c03fea7191848e5a1b38dc6a2ce96050fdd919f3251e39c0dced11be9d47087a50c
|
||||
DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.3.5.mod 41 BLAKE2B d7c63b68781b147d3baf10d81bce0539aaf0a046a70cd91958b59541dfb35107e01a73937b19de74504f42fe49983b46985a9635c45239e4d7a3e2cca2b85f72 SHA512 a6233a0864081261d4b9cda2d73cf37b236acada8f5fbc85b7b7978ccfbc3bd2949632f2fb67a7ba9db6eb43b41796df54460728379e0172082922820d6143a7
|
||||
DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.3.5.zip 268257 BLAKE2B fd5ded7eb3aac03b098895d8efbd8bbba306b411dc58033bfb9355441e6f94268c4ea44ab6b52894929493ae19f4b605433d6a0aa2a1eed7c9ec15d1ef0d3de6 SHA512 bae490d3f532680ce28d3230fd76b3dd6100725056fdcda4588d88d6be212ac59ff449bc9a08a378f0743e45dd45ad5aa0d2cc18b762e3e715ea9e30f8be8dd5
|
||||
DIST go-tools-0.1.4.tar.gz 2822942 BLAKE2B c935233c9664dde773be4fe08580b5040a842548caa57bf43846bc5e9c96568fafda8399f3e118cc6e2bd613025b90f0cb35e1cc000b113febf5d09cfdaf91d7 SHA512 2bf15fcfc2543ef68b723a71363edff80d549eb6ff4cb2353b51dc4a83e8fdb6afbb88d93af1feb516f10e1b847388bf8867d3f294f6f8f31bca7a93f48f91c1
|
||||
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
|
||||
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
|
||||
DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.2.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
|
||||
DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.2.zip 141789 BLAKE2B dc517e61f7a9c895d827ff139a36b319c7dd335e85755dc394d01ceaf8b3ce07ef13201bf6d704c31895bf7d91c15acbc4ac75bc8cde065ab4f81839453e0c5c SHA512 6376ecdccd2eeaf828a2c1f560e116c003caf5e09fe68e94a37d193697c93b18bee14abbc06edca93ca57a924f9b270bbe1792df84a7bd66e3641ce6aecbc9b1
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210405180319-a5a99cb37ef4.mod 179 BLAKE2B d4f0ad22973a6e0a06b186e217dedbea3abb1800b259c56a29da9075c36808160620b42b0a485127f713760b24b4d9d6d9a61119c5739927340436bac307f5c4 SHA512 f48731641ffad3b90daf0a8bb79fdfc607c076961dbda1c51e71eab787dca0681e5984ffce048bd655ceb56052fa64426b30b32e6ee32957c92418a16d1c9f06
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210405180319-a5a99cb37ef4.zip 1565731 BLAKE2B 25099f5d276bba9b2d3c5e75c603dac06f3364fd09d2a2c53aaf5030d4698fc3638758d23c0a82fc118a05661b40377b74ea55c2e8f5d9add2d03527104ae80b SHA512 23da0e9ed2c647eb043e4b57e384ae335119b3766411f84cb009496a1fae85c7cefed14a92154b3e8d7e93d92187dbfde9b9cc07236ea3a7ca4052b93c6dc0dd
|
||||
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
|
||||
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
|
||||
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.zip 28693 BLAKE2B 3d6a34fa6da642f5ca71c930bd69a41439013f20ee60dde5d4dfab4bf688f1edb150a0477cb006670424c6c59e90d4bac9e5eb34f9fb4c518d903dfd26fb6cb7 SHA512 48b983589bd682ff9275c47733ec73637ebb5e58e1bca0c7744101229237d5cb34170efab63db0061aec857052cce9ef03c3497702b90a86287e6be88e1b33aa
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210330210617-4fbd30eecc44.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210510120138-977fb7262007.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210510120138-977fb7262007.zip 1634371 BLAKE2B b13afd43d8734f143af16046780b9225a874157e0562068c8c3198dd23f7ff4b3e14f6654b578bc7520dd3c299411ca2d77999a8ab8459a765d05e74d03e81db SHA512 b7c4ff1752cb582263b837048e28b52fa219db5f7316739692d4c2d20bb2a9b8ad3645e92b3b1a72cba0817e4587ae04465dd351bb17a719bc92e193cb29cc76
|
||||
DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201126162022-7de9c90e9dd1.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
|
||||
DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
|
||||
DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191119224855-298f0cb1881e.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.zip 22295 BLAKE2B 310f892b8ce32810a1afef53335428d73bc23e749e52d00d7624afea2d10422b1b73507026daf23efd2384b81262c4c7862c22da23f6fb43c1b5f79a51170d5e SHA512 34044424d303f5032d4fd302bbf1aca390d45e876583cc223fddf0d685a6eec2bde0a4c1b82c4e471eb5be97fc8aea9b14695b07940d1ecde806636a85d12051
|
||||
|
@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit go-module
|
||||
|
||||
EGIT_COMMIT="v${PV}"
|
||||
ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
DESCRIPTION="Tools that support the Go programming language (godoc, etc.)"
|
||||
HOMEPAGE="https://godoc.org/golang.org/x/tools"
|
||||
SLOT="0"
|
||||
LICENSE="BSD MIT"
|
||||
|
||||
EGO_SUM=(
|
||||
"github.com/yuin/goldmark v1.3.5"
|
||||
"github.com/yuin/goldmark v1.3.5/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
|
||||
"golang.org/x/mod v0.4.2"
|
||||
"golang.org/x/mod v0.4.2/go.mod"
|
||||
"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
|
||||
"golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
|
||||
"golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4"
|
||||
"golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod"
|
||||
"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
|
||||
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c"
|
||||
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20210510120138-977fb7262007"
|
||||
"golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod"
|
||||
"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
|
||||
"golang.org/x/text v0.3.0/go.mod"
|
||||
"golang.org/x/text v0.3.3/go.mod"
|
||||
"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
|
||||
"golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1"
|
||||
"golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod"
|
||||
)
|
||||
|
||||
go-module_set_globals
|
||||
SRC_URI="
|
||||
${ARCHIVE_URI}
|
||||
${EGO_SUM_SRC_URI}
|
||||
"
|
||||
|
||||
GO_TOOLS_PROGS=(
|
||||
authtest
|
||||
benchcmp
|
||||
bundle
|
||||
callgraph
|
||||
compilebench
|
||||
cookieauth
|
||||
cover
|
||||
digraph
|
||||
eg
|
||||
fieldalignment
|
||||
findcall
|
||||
fiximports
|
||||
getgo
|
||||
gitauth
|
||||
go-contrib-init
|
||||
godex
|
||||
godoc
|
||||
goimports
|
||||
gomvpkg
|
||||
gopackages
|
||||
gorename
|
||||
gostacks
|
||||
gotype
|
||||
goyacc
|
||||
guru
|
||||
helper
|
||||
html2article
|
||||
ifaceassert
|
||||
lostcancel
|
||||
netrcauth
|
||||
nilness
|
||||
present
|
||||
present2md
|
||||
server
|
||||
shadow
|
||||
splitdwarf
|
||||
ssadump
|
||||
stress
|
||||
stringer
|
||||
stringintconv
|
||||
toolstash
|
||||
unmarshal
|
||||
)
|
||||
|
||||
S=${WORKDIR}/${P#go-}
|
||||
|
||||
src_unpack() {
|
||||
unpack "${P}.tar.gz"
|
||||
go-module_setup_proxy
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e 's:TestDryRun(:_\0:' \
|
||||
-e 's:TestFixImports(:_\0:' \
|
||||
-i cmd/fiximports/main_test.go || die
|
||||
sed -e 's:TestWebIndex(:_\0:' \
|
||||
-e 's:TestTypeAnalysis(:_\0:' \
|
||||
-i cmd/godoc/godoc_test.go || die
|
||||
sed -e 's:TestApplyFixes(:_\0:' \
|
||||
-i go/analysis/internal/checker/checker_test.go || die
|
||||
sed -e 's:TestIntegration(:_\0:' \
|
||||
-i go/analysis/unitchecker/unitchecker_test.go || die
|
||||
sed -e 's:TestVeryLongFile(:_\0:' \
|
||||
-i go/internal/gcimporter/bexport_test.go || die
|
||||
sed -e 's:TestImportStdLib(:_\0:' \
|
||||
-i go/internal/gcimporter/gcimporter_test.go || die
|
||||
sed -e 's:TestIExportData_stdlib(:_\0:' \
|
||||
-i go/internal/gcimporter/iexport_test.go || die
|
||||
sed -e 's:TestCgoOption(:_\0:' \
|
||||
-e 's:TestStdlib(:_\0:' \
|
||||
-i go/loader/stdlib_test.go || die
|
||||
sed -e 's:TestCgoBadPkgConfig(:_\0:' \
|
||||
-e 's:TestCgoMissingFile(:_\0:' \
|
||||
-e 's:TestCgoNoCcompiler(:_\0:' \
|
||||
-e 's:TestConfigDefaultEnv(:_\0:' \
|
||||
-e 's:TestLoadSyntaxOK(:_\0:' \
|
||||
-e 's:TestMissingDependency(:_\0:' \
|
||||
-e 's:TestName_Modules(:_\0:' \
|
||||
-e 's:TestName_ModulesDedup(:_\0:' \
|
||||
-e 's:TestPatternPassthrough(:_\0:' \
|
||||
-i go/packages/packages_test.go || die
|
||||
sed -e 's:TestCgoOption(:_\0:' \
|
||||
-i go/packages/stdlib_test.go || die
|
||||
sed -e 's:TestStdlib(:_\0:' \
|
||||
-i go/ssa/stdlib_test.go || die
|
||||
sed -e 's:TestLocalPackagePromotion(:_\0:' \
|
||||
-e 's:TestLocalPrefix(:_\0:' \
|
||||
-e 's:TestSimpleCases(:_\0:' \
|
||||
-e 's:TestStdlibNotPrefixed(:_\0:' \
|
||||
-i internal/imports/fix_test.go || die
|
||||
sed -e 's:TestFindModFileModCache(:_\0:' \
|
||||
-e 's:TestInvalidModCache(:_\0:' \
|
||||
-e 's:TestModeGetmodeVendor(:_\0:' \
|
||||
-e 's:TestModCase(:_\0:' \
|
||||
-e 's:TestModDomainRoot(:_\0:' \
|
||||
-e 's:TestModList(:_\0:' \
|
||||
-e 's:TestModLocalReplace(:_\0:' \
|
||||
-e 's:TestModMultirepo3(:_\0:' \
|
||||
-e 's:TestModMultirepo4(:_\0:' \
|
||||
-e 's:TestModReplace1(:_\0:' \
|
||||
-e 's:TestModReplace2(:_\0:' \
|
||||
-e 's:TestModReplace3(:_\0:' \
|
||||
-e 's:TestModReplaceImport(:_\0:' \
|
||||
-e 's:TestModVendorAuto(:_\0:' \
|
||||
-e 's:TestScanNestedModuleInLocalReplace(:_\0:' \
|
||||
-i internal/imports/mod_test.go || die
|
||||
rm -f copyright/copyright_test.go || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local packages
|
||||
readarray -t packages < <(go list ./...)
|
||||
(( ${#packages[@]} > 0 )) || die "go list failed"
|
||||
GOBIN="${S}/bin" go install -work "${packages[@]}"
|
||||
|
||||
local expected_progs=("${GO_TOOLS_PROGS[@]}")
|
||||
local progs_diff=$(diff -u <(printf -- '%s\n' "${expected_progs[@]}"| LC_ALL=C sort) <(find bin -type f -printf '%f\n' | LC_ALL=C sort))
|
||||
if [[ -n ${progs_diff} ]]; then
|
||||
printf -- '%s\n' "${progs_diff}"
|
||||
die "difference in expected vs build programs"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go test -work "./..." || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# bug 558818: install binaries in $GOROOT/bin to avoid file collisions
|
||||
exeinto "$(go env GOROOT)/bin"
|
||||
doexe bin/*
|
||||
dodir /usr/bin
|
||||
ln "${ED}/$(go env GOROOT)/bin/godoc" "${ED}/usr/bin/godoc" || die
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EGO_PN="golang.org/x/tools"
|
||||
|
||||
EGO_VENDOR=(
|
||||
"golang.org/x/net 3b0461eec859c4b73bb64fdc8285971fd33e3938 github.com/golang/net"
|
||||
"golang.org/x/sync 112230192c580c3556b8cee6403af37a4fc5f28c github.com/golang/sync"
|
||||
"golang.org/x/xerrors a985d3407aa71f30cf86696ee0a2f409709f22e1 github.com/golang/xerrors"
|
||||
)
|
||||
|
||||
EGIT_COMMIT="6bfd74cf029c99138aa1bb5b7e0d6b57c9d4eb49"
|
||||
ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="Tools that support the Go programming language (godoc, etc.)"
|
||||
HOMEPAGE="https://godoc.org/golang.org/x/tools"
|
||||
GO_FAVICON="go-favicon-20181103162401.ico"
|
||||
SRC_URI="${ARCHIVE_URI}
|
||||
${EGO_VENDOR_URI}
|
||||
mirror://gentoo/${GO_FAVICON}
|
||||
https://dev.gentoo.org/~zmedico/distfiles/${GO_FAVICON}"
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PVR}"
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Add favicon to the godoc web interface (bug 551030)
|
||||
cp "${DISTDIR}"/${GO_FAVICON} "godoc/static/favicon.ico" ||
|
||||
die
|
||||
sed -e 's:"example.html",:\0\n\t"favicon.ico",:' \
|
||||
-i godoc/static/gen.go || die
|
||||
sed -e 's:<link type="text/css":<link rel="icon" type="image/png" href="/lib/godoc/favicon.ico">\n\0:' \
|
||||
-i godoc/static/godoc.html || die
|
||||
sed -e 's:TestDryRun(:_\0:' \
|
||||
-e 's:TestFixImports(:_\0:' \
|
||||
-i cmd/fiximports/main_test.go || die
|
||||
sed -e 's:TestWebIndex(:_\0:' \
|
||||
-e 's:TestTypeAnalysis(:_\0:' \
|
||||
-i cmd/godoc/godoc_test.go || die
|
||||
sed -e 's:TestApplyFixes(:_\0:' \
|
||||
-i go/analysis/internal/checker/checker_test.go || die
|
||||
sed -e 's:TestIntegration(:_\0:' \
|
||||
-i go/analysis/unitchecker/unitchecker_test.go || die
|
||||
sed -e 's:TestVeryLongFile(:_\0:' \
|
||||
-i go/internal/gcimporter/bexport_test.go || die
|
||||
sed -e 's:TestImportStdLib(:_\0:' \
|
||||
-i go/internal/gcimporter/gcimporter_test.go || die
|
||||
sed -e 's:TestCgoOption(:_\0:' \
|
||||
-e 's:TestStdlib(:_\0:' \
|
||||
-i go/loader/stdlib_test.go || die
|
||||
sed -e 's:TestCgoMissingFile(:_\0:' \
|
||||
-e 's:TestCgoNoCcompiler(:_\0:' \
|
||||
-e 's:TestConfigDefaultEnv(:_\0:' \
|
||||
-e 's:TestLoadSyntaxOK(:_\0:' \
|
||||
-e 's:TestMissingDependency(:_\0:' \
|
||||
-e 's:TestName_Modules(:_\0:' \
|
||||
-e 's:TestName_ModulesDedup(:_\0:' \
|
||||
-e 's:TestPatternPassthrough(:_\0:' \
|
||||
-i go/packages/packages_test.go || die
|
||||
sed -e 's:TestCgoOption(:_\0:' \
|
||||
-i go/packages/stdlib_test.go || die
|
||||
sed -e 's:TestStdlib(:_\0:' \
|
||||
-i go/ssa/stdlib_test.go || die
|
||||
sed -e 's:TestLocalPackagePromotion(:_\0:' \
|
||||
-e 's:TestLocalPrefix(:_\0:' \
|
||||
-e 's:TestSimpleCases(:_\0:' \
|
||||
-i internal/imports/fix_test.go || die
|
||||
sed -e 's:TestFindModFileModCache(:_\0:' \
|
||||
-e 's:TestInvalidModCache(:_\0:' \
|
||||
-e 's:TestModeGetmodeVendor(:_\0:' \
|
||||
-e 's:TestModCase(:_\0:' \
|
||||
-e 's:TestModDomainRoot(:_\0:' \
|
||||
-e 's:TestModList(:_\0:' \
|
||||
-e 's:TestModLocalReplace(:_\0:' \
|
||||
-e 's:TestModMultirepo3(:_\0:' \
|
||||
-e 's:TestModMultirepo4(:_\0:' \
|
||||
-e 's:TestModReplace1(:_\0:' \
|
||||
-e 's:TestModReplace2(:_\0:' \
|
||||
-e 's:TestModReplace3(:_\0:' \
|
||||
-e 's:TestModReplaceImport(:_\0:' \
|
||||
-e 's:TestScanNestedModuleInLocalReplace(:_\0:' \
|
||||
-i internal/imports/mod_test.go || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export -n GOCACHE XDG_CACHE_HOME #678964
|
||||
export GOPATH="${WORKDIR}/${P}" GO111MODULE=on GOFLAGS="-mod=vendor -v -x"
|
||||
|
||||
# Generate static.go with favicon included
|
||||
pushd godoc/static >/dev/null || die
|
||||
go run makestatic.go || die
|
||||
popd >/dev/null
|
||||
|
||||
go install -work ${EGO_BUILD_FLAGS} \
|
||||
$(GOPATH="${WORKDIR}/${P}" go list ./...) || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go test -work "${EGO_PN}/..." || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
rm -rf vendor || die
|
||||
pushd "${WORKDIR}/${P}"
|
||||
golang_install_pkgs
|
||||
popd >/dev/null
|
||||
|
||||
# bug 558818: install binaries in $GOROOT/bin to avoid file collisions
|
||||
exeinto "$(go env GOROOT)/bin"
|
||||
doexe "${WORKDIR}/${P}"/bin/*
|
||||
dodir /usr/bin
|
||||
ln "${ED}/$(go env GOROOT)/bin/godoc" "${ED}/usr/bin/godoc" || die
|
||||
}
|
@ -1,93 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_SRC="golang.org/x/tools"
|
||||
EGO_PN="${EGO_SRC}/..."
|
||||
|
||||
# vendor the net package due to a circular dependency
|
||||
GO_NET_COMMIT="aaf60122140d3fcf75376d319f0554393160eb50"
|
||||
EGO_VENDOR=( "golang.org/x/net ${GO_NET_COMMIT} github.com/golang/net" )
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
ARCHIVE_URI=""
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="7d1dc997617fb662918b6ea95efc19faa87e1cf8"
|
||||
ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit golang-build
|
||||
|
||||
DESCRIPTION="Tools that support the Go programming language (godoc, etc.)"
|
||||
HOMEPAGE="https://godoc.org/golang.org/x/tools"
|
||||
GO_FAVICON="go-favicon-20181103162401.ico"
|
||||
SRC_URI="${ARCHIVE_URI}
|
||||
https://github.com/golang/net/archive/${GO_NET_COMMIT}.tar.gz -> github.com-golang-net-${GO_NET_COMMIT}.tar.gz
|
||||
mirror://gentoo/${GO_FAVICON}
|
||||
https://dev.gentoo.org/~zmedico/distfiles/${GO_FAVICON}"
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
src_unpack() {
|
||||
golang-vcs_src_unpack
|
||||
mkdir -p "${WORKDIR}/${P}/src/${EGO_SRC}/vendor/golang.org/x/net" || die
|
||||
tar -C "${WORKDIR}/${P}/src/${EGO_SRC}/vendor/golang.org/x/net" -x --strip-components 1 \
|
||||
-f "${DISTDIR}/github.com-golang-net-${GO_NET_COMMIT}.tar.gz" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Add favicon to the godoc web interface (bug 551030)
|
||||
cp "${DISTDIR}"/${GO_FAVICON} "src/${EGO_SRC}/godoc/static/favicon.ico" ||
|
||||
die
|
||||
sed -e 's:"example.html",:\0\n\t"favicon.ico",:' \
|
||||
-i src/${EGO_SRC}/godoc/static/gen.go || die
|
||||
sed -e 's:<link type="text/css":<link rel="icon" type="image/png" href="/lib/godoc/favicon.ico">\n\0:' \
|
||||
-i src/${EGO_SRC}/godoc/static/godoc.html || die
|
||||
sed -e 's:TestVeryLongFile(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/internal/gcimporter/bexport_test.go || die
|
||||
sed -e 's:TestLoadSyntaxOK(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/packages/packages_test.go || die
|
||||
sed -e 's:TestCgoOption(:_\0:' \
|
||||
-e 's:TestStdlib(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/loader/stdlib_test.go || die
|
||||
sed -e 's:TestStdlib(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/ssa/stdlib_test.go || die
|
||||
sed -e 's:TestWebIndex(:_\0:' \
|
||||
-e 's:TestTypeAnalysis(:_\0:' \
|
||||
-i src/${EGO_SRC}/cmd/godoc/godoc_test.go || die
|
||||
sed -e 's:TestImportStdLib(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/internal/gcimporter/gcimporter_test.go || die
|
||||
sed -e 's:TestVeryLongFile(:_\0:' \
|
||||
-i src/${EGO_SRC}/go/internal/gcimporter/bexport_test.go || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export -n GOCACHE XDG_CACHE_HOME #678964
|
||||
# Generate static.go with favicon included
|
||||
pushd src/golang.org/x/tools/godoc/static >/dev/null || die
|
||||
GOPATH="${S}" GOBIN="${S}/bin" \
|
||||
go run makestatic.go || die
|
||||
popd >/dev/null
|
||||
|
||||
GOPATH="${S}" GOBIN="${S}/bin" \
|
||||
go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOPATH="${S}" GOBIN="${S}/bin" \
|
||||
go test -v -work -x "${EGO_PN}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
rm -rf "${S}/src/${EGO_SRC}/"{.git,vendor} || die
|
||||
golang_install_pkgs
|
||||
|
||||
# bug 558818: install binaries in $GOROOT/bin to avoid file collisions
|
||||
exeinto "$(go env GOROOT)/bin"
|
||||
doexe bin/*
|
||||
dodir /usr/bin
|
||||
ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
|
||||
DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
|
||||
DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv0.0.0-20161028175848-04cdfd42973b.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
|
||||
DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
|
||||
DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
|
||||
DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
|
||||
DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.4.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
|
||||
DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
|
||||
DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.zip 130974 BLAKE2B 6e4efb8abb584c3839c7b1ab80c8060c125b695bddddd44c57f72c0fbf9de85d40595ecff57f57ddb533e34dbe72a95e0e8043d91d462d68818699f194766e90 SHA512 9cff1690cb177e70b1d67ddd305e4317e3d1ef2825f5f3ed4639210f7f2ee6e89ff03970495757b922f16fade5fafae5cc14c8da2b95694faa3fa48c63f3313d
|
||||
DIST github.com%2Fgoogle%2Fsafehtml%2F@v%2Fv0.0.2.mod 77 BLAKE2B 33a370c97f77819f63a43dcd71588e134ea15529888b0c91fc622c11ccf486aca9814c0e4be70019518eac5f8456f12a92fe1b40c2a41fc1e546670ce4ffe258 SHA512 8d7e11e79cf9672cc319684738b1b038c4c012d35e17aa1ae603c8ac5b7a5d7fc5974171340f1aa82a7b16a8dc2c64780801aa284298bfa1211dc923297d1960
|
||||
DIST github.com%2Fgoogle%2Fsafehtml%2F@v%2Fv0.0.2.zip 127963 BLAKE2B 3b776dac6c08f5b1c86b5a815d88f90ef106e290750c510512c719ef72f48d5312e3a7c7a9143818166e3446ca08eb0d5ff94c10320ea053362c8def163f4a73 SHA512 4533af7e72a28e26e1df43bb43d355937a24a4f787c383f350b4ab2dc4a14b5f18104d50e6871266d5acadda2b16313768d4990992de4b65ccf078a6b6e66f64
|
||||
DIST github.com%2Fjba%2Ftemplatecheck%2F@v%2Fv0.6.0.mod 88 BLAKE2B 0e41d461f345e74649b38dea6e96d83cf3a1c994634ec816149c19d8e6a08f620b8ef4c91e592ea66631e264144576ef55280bdbe4b47dfcbe88c0f49246c8f2 SHA512 b90a29fc945aaaa4b7c6e99504a3f4ffbb463f837839697dc44c35b4ac95f11a2dc5ae9e0b02820519f012e249d59799a351e78057fd3e3ee0c8ca62ff00d53e
|
||||
DIST github.com%2Fjba%2Ftemplatecheck%2F@v%2Fv0.6.0.zip 19063 BLAKE2B 184a3ef43e3686944849f36a41be4cb02b78f9c5ced88484516e2f74d43c19dd6957a3093d35132a45f07c31a1a0f0bf7177040814de63713f7d5457a4571f61 SHA512 cbcb9cf6c3d01b9011dedd155b12f8bf045b09d601dfc5c508c4f933d18e63eeb44f814e9fdd0dd55ed1cd7c8b76ef266eeb3da01936d4f19fc381f6e3b7a80b
|
||||
DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
|
||||
DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
|
||||
DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
|
||||
DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
|
||||
DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv0.0.0-20151028094244-d8ed2627bdf0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
|
||||
DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
|
||||
DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
|
||||
DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.5.2.mod 82 BLAKE2B 3b7ef0a383ee9e7e64ba74f92d717687cacdcb0e7a57f76872cfbe77ec1c526ab97a8695a2819cf986c51a4561794391e5d532cc591f6ddc2141b5559d3cec9c SHA512 d08f8ca2d93c0d97d5947ed3d221fff67e774e810d7fc9c93bd25bdc446190fc5590776a3e6b159fde2b97c3355921235fb6c8b8623b7f2090102a7f1ca1a6bc
|
||||
DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.6.2.mod 82 BLAKE2B 3b7ef0a383ee9e7e64ba74f92d717687cacdcb0e7a57f76872cfbe77ec1c526ab97a8695a2819cf986c51a4561794391e5d532cc591f6ddc2141b5559d3cec9c SHA512 d08f8ca2d93c0d97d5947ed3d221fff67e774e810d7fc9c93bd25bdc446190fc5590776a3e6b159fde2b97c3355921235fb6c8b8623b7f2090102a7f1ca1a6bc
|
||||
DIST github.com%2Fsanity-io%2Flitter%2F@v%2Fv1.5.0.mod 274 BLAKE2B 4c342f63063d4e810f971cbfd09e076bc8763b0c0ca985a26b83e0f0431babafe7724a45df3e4d8e0f094bfa786f3e2b2cc0b5b470a2a6920f8e06595dc585bf SHA512 892695c807816eb820f586b9fc1bb16fdbdc8aa9d81203f97b5d1f9df4ef6ad02b3ba259bbb9abb5a1c96ec403c7e5ac1ea84eff453a7fa8027ff7af35582ca2
|
||||
DIST github.com%2Fsanity-io%2Flitter%2F@v%2Fv1.5.0.zip 20333 BLAKE2B ba3e6ab98617ba9efa07a39d59f32729e6e5bf0cc26d2b8f615a8124a3f3050bbb35156d945e639f91902ecbfc8a43b6fbb3af461244e169d6f14f07df72121f SHA512 f1942787f505cdccf80d6eadac7cdf4828571e96f0550c616ec3aa52a8f0f8df0a1e18067dc0413d4869e7364d8839195adb31c7d64918bca2b774252d2489e4
|
||||
DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.1.0.mod 281 BLAKE2B 15a1cb67527ae81338a77cffa1432cd83c798bd7094eadfbc88a7eb79f5236690dc2d5c93e3daefedb396516c41bf05da21b5e12966f69fd2663e7621267d015 SHA512 7af123ea69147856e23249740b882d90213ccc3f19cf698d960dd5950fa3f3f72c600854c5e0bb94977e6c5eab617736dcd20e180eebf599399215ad8c5c0051
|
||||
DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.1.0.zip 55374 BLAKE2B 39f93770143cb70ef29156c1d31247bcab91ca7cc02f4164ed28a98769f1eede3e680b9b41dc55371a4dcbfe27b92bfce546ee2f1ca447f8623fb3fd88174888 SHA512 908f2454a0722d403aa33ea6cd1d40617ae8b84c62efc9a5de0bcf9c40413b6ba8412ac831e4b54b237190131be56e23266a9e18b0b680da5fd588e889985da3
|
||||
DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
|
||||
DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv0.0.0-20161117074351-18a02ba4a312.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
|
||||
DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
|
||||
DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
|
||||
DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.3.5.mod 41 BLAKE2B d7c63b68781b147d3baf10d81bce0539aaf0a046a70cd91958b59541dfb35107e01a73937b19de74504f42fe49983b46985a9635c45239e4d7a3e2cca2b85f72 SHA512 a6233a0864081261d4b9cda2d73cf37b236acada8f5fbc85b7b7978ccfbc3bd2949632f2fb67a7ba9db6eb43b41796df54460728379e0172082922820d6143a7
|
||||
DIST go-tools-0.1.4.tar.gz 2822942 BLAKE2B c935233c9664dde773be4fe08580b5040a842548caa57bf43846bc5e9c96568fafda8399f3e118cc6e2bd613025b90f0cb35e1cc000b113febf5d09cfdaf91d7 SHA512 2bf15fcfc2543ef68b723a71363edff80d549eb6ff4cb2353b51dc4a83e8fdb6afbb88d93af1feb516f10e1b847388bf8867d3f294f6f8f31bca7a93f48f91c1
|
||||
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
|
||||
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
|
||||
DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.0.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
|
||||
DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.2.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
|
||||
DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.2.zip 141789 BLAKE2B dc517e61f7a9c895d827ff139a36b319c7dd335e85755dc394d01ceaf8b3ce07ef13201bf6d704c31895bf7d91c15acbc4ac75bc8cde065ab4f81839453e0c5c SHA512 6376ecdccd2eeaf828a2c1f560e116c003caf5e09fe68e94a37d193697c93b18bee14abbc06edca93ca57a924f9b270bbe1792df84a7bd66e3641ce6aecbc9b1
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
|
||||
DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210405180319-a5a99cb37ef4.mod 179 BLAKE2B d4f0ad22973a6e0a06b186e217dedbea3abb1800b259c56a29da9075c36808160620b42b0a485127f713760b24b4d9d6d9a61119c5739927340436bac307f5c4 SHA512 f48731641ffad3b90daf0a8bb79fdfc607c076961dbda1c51e71eab787dca0681e5984ffce048bd655ceb56052fa64426b30b32e6ee32957c92418a16d1c9f06
|
||||
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
|
||||
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.zip 28693 BLAKE2B 3d6a34fa6da642f5ca71c930bd69a41439013f20ee60dde5d4dfab4bf688f1edb150a0477cb006670424c6c59e90d4bac9e5eb34f9fb4c518d903dfd26fb6cb7 SHA512 48b983589bd682ff9275c47733ec73637ebb5e58e1bca0c7744101229237d5cb34170efab63db0061aec857052cce9ef03c3497702b90a86287e6be88e1b33aa
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210330210617-4fbd30eecc44.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210510120138-977fb7262007.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
|
||||
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210510120138-977fb7262007.zip 1634371 BLAKE2B b13afd43d8734f143af16046780b9225a874157e0562068c8c3198dd23f7ff4b3e14f6654b578bc7520dd3c299411ca2d77999a8ab8459a765d05e74d03e81db SHA512 b7c4ff1752cb582263b837048e28b52fa219db5f7316739692d4c2d20bb2a9b8ad3645e92b3b1a72cba0817e4587ae04465dd351bb17a719bc92e193cb29cc76
|
||||
DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201126162022-7de9c90e9dd1.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.6.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
|
||||
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.6.zip 8610726 BLAKE2B 78870544de29f5cd9216befa8822c2387654c3987e09994dccf55d210ad7c517edb93bddcc68bd981f2c083a4ec5e012d558b0164901e2d74f6f447e75edfadf SHA512 494d58f2bc02819ec24d8e55f668a06694568e63bc4b41064a7e44aefcb2778c74983fc9126b50277845da8e6739e83fc1334aed989981e8e53b869878803d17
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
|
||||
DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.zip 22295 BLAKE2B 310f892b8ce32810a1afef53335428d73bc23e749e52d00d7624afea2d10422b1b73507026daf23efd2384b81262c4c7862c22da23f6fb43c1b5f79a51170d5e SHA512 34044424d303f5032d4fd302bbf1aca390d45e876583cc223fddf0d685a6eec2bde0a4c1b82c4e471eb5be97fc8aea9b14695b07940d1ecde806636a85d12051
|
||||
DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
|
||||
DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
|
||||
DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
|
||||
DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
|
||||
DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
|
||||
DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
|
||||
DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.zip 80160 BLAKE2B 7c19bcfee1136e9afaa54bb36a296e48c276e21517eead613313409f3ff85f4a961c1dca7926d3c4fd51feb0f537a85de905294d2a310276bb8177f27f3776c3 SHA512 a8fa21d2f84f8c6f28250e9ec7d678ae160963eaa0a373f345fe67804925b2647239a6117ad6f253f458f34ec9f62bc21e8f2071fc9dfe76dbd2a7ded1e1a0e0
|
||||
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.1.4.mod 144 BLAKE2B c7af7884adeaa56a9f73d37b767aec4edeb4b9c5cbb3966e0b315775b231373ebc26b89e3ea70191cba490f7dabc8d187c992d740853f3353f93b8853259f8ce SHA512 75d7b23b3466cb67c0a65a85e6295e6ee2eda59397595bd602de428b7d12a83158eb87f77727c0eeb08ff9b4404dd6ff80235abec7a84bd8945627d9c90f6856
|
||||
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.1.4.zip 660845 BLAKE2B 3d7e4d87008ea13ff2961567f1e183ab4558470986d028ba64cd4d66c53a7495728cb42a5e728cbdbde1784daafa61ea8d6574447ede9db618e422f2934df71a SHA512 0e15b0b0bee31ac47240746bf16c7eee4907c46078d5cd0c0c84bfd3b6424de34ac40360aee3af171e30e014c1e3b50b736649094d0af89a016cf946aa27f67e
|
||||
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.2.0.mod 110 BLAKE2B b291f7cdc01864bad426482e821a4ad847544766fab23bb879cf810148a1e56b8ba03f16435c4972e8d32b77badd4c877f54716ed303781f11ca58549888026c SHA512 53e3bb59aa6a5af629950db1c08c42249448b01830fb18856fa2e3c8f2e1c50a944ad8eeb1a34200c69fecb3bd045b75e5dea05ed5c3c4889ef0f36e0542df29
|
||||
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.2.0.zip 715429 BLAKE2B 44ac5f90d6b270967674fbcbd90699c081ffcd9666ae0f6d3555d8be083079ee79713e585e0bff0308ebf4316252fe6da92dd8282123a756b45073e23601add3 SHA512 57524f6d66f04155259b09e6ba37b96e02d5a2bc90da7ea2228900a958624d731d7b2f0e730695b2a6eb24ccbe3ac0e12d8add65deaeeead01dfd44ef2cb9988
|
||||
DIST mvdan.cc%2Fgofumpt%2F@v%2Fv0.1.1.mod 265 BLAKE2B 4232ab3ecc78532cc067fa124745e08caa46b0e645bdd40f9001e895a0521b2741c0e36811fb69356124514a494a4545807d7a1cadecceb10fc373656557a943 SHA512 e27aff713fba5d9157eb7f201e72d23f89ad65c18cfa7205f1e5e456772e7fba975ea54fad8841229370bf21fad6a2a2baec6b2d377c23bd0a6c4b5b48e1e3e3
|
||||
DIST mvdan.cc%2Fgofumpt%2F@v%2Fv0.1.1.zip 173668 BLAKE2B 086fd07f1dd1930c30e7b20a21b4c708240f33f410d641224c3024b4576fa8ec51a68bfae39df685f396b52f4a4d1db4d69f2f598f4563d3239846f32e600d12 SHA512 ae6aa55fd322bd3f871026feec818e55aaa1d935d129d28ebab3bfd308d564cdfc086a95ea041b1a861e583e0d3238319e4a5ab837727cd181a03d36e8dab6cc
|
||||
DIST mvdan.cc%2Fxurls%2Fv2%2F@v%2Fv2.2.0.mod 153 BLAKE2B 2bfaa583b85e6f7f8464961a272aee2143fb9dd02f3fa32eb62ebe35e12546f0051c0706d4570a6b4f727eb701626822efe4c54f25c19bae10bbe13c0be54c7c SHA512 86dee749e3287eda1f909851b729b38b6e39f58fdccaf1cd9a8fc086ccfc3e6b26db66ca2be82d0ad4bf653448542a55c20b27b193c887a97273a706beeae67f
|
||||
DIST mvdan.cc%2Fxurls%2Fv2%2F@v%2Fv2.2.0.zip 23465 BLAKE2B 9b0bea59e5b3acd7aa154d2b8cb59a6f16db6e0bcda97f61bd5270a44aec95cec99b261f59815a560bf7fe8f23489b8f9abcf14d5d4b0a6dd3ceb468abd5bb96 SHA512 c6513be73d9d6b8bc07b126b10747c51e95e0497327a17ec02de1ece61ea8fe466e9012094432f29752b778aa00362a54a3b80e433828a8396116ee625614f0c
|
@ -0,0 +1,119 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit go-module
|
||||
|
||||
EGIT_COMMIT="v${PV}"
|
||||
GO_TOOLS_ARCHIVE="go-tools-${PV}.tar.gz"
|
||||
ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${GO_TOOLS_ARCHIVE}"
|
||||
KEYWORDS="~amd64"
|
||||
DESCRIPTION="\"Go please\" is the official Go language server"
|
||||
HOMEPAGE="https://github.com/golang/tools/blob/master/gopls/README.md"
|
||||
SLOT="0"
|
||||
LICENSE="BSD"
|
||||
|
||||
EGO_SUM=(
|
||||
"github.com/BurntSushi/toml v0.3.1"
|
||||
"github.com/BurntSushi/toml v0.3.1/go.mod"
|
||||
"github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod"
|
||||
"github.com/davecgh/go-spew v1.1.0/go.mod"
|
||||
"github.com/davecgh/go-spew v1.1.1"
|
||||
"github.com/davecgh/go-spew v1.1.1/go.mod"
|
||||
"github.com/google/go-cmp v0.5.4/go.mod"
|
||||
"github.com/google/go-cmp v0.5.5"
|
||||
"github.com/google/go-cmp v0.5.5/go.mod"
|
||||
"github.com/google/safehtml v0.0.2"
|
||||
"github.com/google/safehtml v0.0.2/go.mod"
|
||||
"github.com/jba/templatecheck v0.6.0"
|
||||
"github.com/jba/templatecheck v0.6.0/go.mod"
|
||||
"github.com/kisielk/gotool v1.0.0/go.mod"
|
||||
"github.com/kr/pretty v0.1.0/go.mod"
|
||||
"github.com/kr/pty v1.1.1/go.mod"
|
||||
"github.com/kr/text v0.1.0/go.mod"
|
||||
"github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod"
|
||||
"github.com/pmezard/go-difflib v1.0.0"
|
||||
"github.com/pmezard/go-difflib v1.0.0/go.mod"
|
||||
"github.com/rogpeppe/go-internal v1.5.2/go.mod"
|
||||
"github.com/rogpeppe/go-internal v1.6.2/go.mod"
|
||||
"github.com/sanity-io/litter v1.5.0"
|
||||
"github.com/sanity-io/litter v1.5.0/go.mod"
|
||||
"github.com/sergi/go-diff v1.1.0"
|
||||
"github.com/sergi/go-diff v1.1.0/go.mod"
|
||||
"github.com/stretchr/objx v0.1.0/go.mod"
|
||||
"github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod"
|
||||
"github.com/stretchr/testify v1.4.0"
|
||||
"github.com/stretchr/testify v1.4.0/go.mod"
|
||||
"github.com/yuin/goldmark v1.3.5/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
|
||||
"golang.org/x/mod v0.4.0/go.mod"
|
||||
"golang.org/x/mod v0.4.2"
|
||||
"golang.org/x/mod v0.4.2/go.mod"
|
||||
"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
|
||||
"golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod"
|
||||
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c"
|
||||
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20210510120138-977fb7262007"
|
||||
"golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod"
|
||||
"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
|
||||
"golang.org/x/text v0.3.0/go.mod"
|
||||
"golang.org/x/text v0.3.3/go.mod"
|
||||
"golang.org/x/text v0.3.6"
|
||||
"golang.org/x/text v0.3.6/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
|
||||
"golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1"
|
||||
"golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod"
|
||||
"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
|
||||
"gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
|
||||
"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
|
||||
"gopkg.in/errgo.v2 v2.1.0/go.mod"
|
||||
"gopkg.in/yaml.v2 v2.2.2/go.mod"
|
||||
"gopkg.in/yaml.v2 v2.2.4"
|
||||
"gopkg.in/yaml.v2 v2.2.4/go.mod"
|
||||
"honnef.co/go/tools v0.1.4"
|
||||
"honnef.co/go/tools v0.1.4/go.mod"
|
||||
"honnef.co/go/tools v0.2.0"
|
||||
"honnef.co/go/tools v0.2.0/go.mod"
|
||||
"mvdan.cc/gofumpt v0.1.1"
|
||||
"mvdan.cc/gofumpt v0.1.1/go.mod"
|
||||
"mvdan.cc/xurls/v2 v2.2.0"
|
||||
"mvdan.cc/xurls/v2 v2.2.0/go.mod"
|
||||
)
|
||||
|
||||
go-module_set_globals
|
||||
SRC_URI="
|
||||
${ARCHIVE_URI}
|
||||
${EGO_SUM_SRC_URI}
|
||||
"
|
||||
|
||||
S=${WORKDIR}/tools-${PV}/${PN}
|
||||
|
||||
src_unpack() {
|
||||
unpack "${GO_TOOLS_ARCHIVE}"
|
||||
go-module_setup_proxy
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
rm internal/regtest/misc/vendor_test.go || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
GOBIN="${S}/bin" CGO_ENABLED=0 go install ./...
|
||||
[[ -x bin/${PN} ]] || die "${PN} build failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go test -work "./..." || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/${PN}
|
||||
dodoc -r doc README.md
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>zmedico@gentoo.org</email>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">golang/tools/gopls</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,338 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_P="Python-${PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}/${PYVER}m"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test +threads tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
PDEPEND="app-eselect/eselect-python"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
Lib/distutils/command/install.py \
|
||||
Lib/distutils/sysconfig.py \
|
||||
Lib/site.py \
|
||||
Lib/sysconfig.py \
|
||||
Lib/test/test_site.py \
|
||||
Makefile.pre.in \
|
||||
Modules/Setup.dist \
|
||||
Modules/getpath.c \
|
||||
configure.ac \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--with-fpectl
|
||||
--enable-shared
|
||||
$(use_enable ipv6)
|
||||
$(use_with threads)
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb faulthandler"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
use threads || rm -r "${libdir}/multiprocessing" || die
|
||||
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc, pyvenv
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
ln -s "../../../bin/pyvenv-${PYVER}" \
|
||||
"${scriptdir}/pyvenv" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,330 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_P="Python-${PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}/${PYVER}m"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
PDEPEND="app-eselect/eselect-python"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
$(use_enable ipv6)
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc, pyvenv
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
ln -s "../../../bin/pyvenv-${PYVER}" \
|
||||
"${scriptdir}/pyvenv" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,336 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
sys-devel/autoconf-archive
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
PDEPEND="app-eselect/eselect-python"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
$(use_enable ipv6)
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,345 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
sys-devel/autoconf-archive
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
PDEPEND="app-eselect/eselect-python"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
$(use_enable ipv6)
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax_kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A pluggable API specification generator."
|
||||
HOMEPAGE="https://github.com/marshmallow-code/apispec/"
|
||||
SRC_URI="https://github.com/marshmallow-code/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
test? (
|
||||
dev-python/bottle[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/marshmallow[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx docs \
|
||||
dev-python/sphinx-issues \
|
||||
dev-python/sphinx_rtd_theme
|
||||
|
||||
python_test() {
|
||||
local deselect=(
|
||||
# requires unpackaged prance
|
||||
tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
|
||||
tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
|
||||
)
|
||||
|
||||
epytest ${deselect[@]/#/--deselect }
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Command line interface for Ansible AWX"
|
||||
HOMEPAGE="https://github.com/ansible/awx"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/urllib3[${PYTHON_USEDEP}]
|
||||
dev-python/websocket-client[${PYTHON_USEDEP}]"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
|
||||
-i setup.py || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="The AWS SDK for Python"
|
||||
HOMEPAGE="https://github.com/boto/boto3"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/boto/boto3"
|
||||
inherit git-r3
|
||||
BOTOCORE_PV=${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
# botocore is x.(y+3).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
|
||||
fi
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_sphinx docs/source \
|
||||
'dev-python/guzzle_sphinx_theme'
|
||||
distutils_enable_tests nose
|
||||
|
||||
python_prepare_all() {
|
||||
# don't lock versions to narrow ranges
|
||||
sed -e '/botocore/ d' \
|
||||
-e '/jmespath/ d' \
|
||||
-e '/s3transfer/ d' \
|
||||
-i setup.py || die
|
||||
|
||||
# prevent an infinite loop
|
||||
rm tests/functional/docs/test_smoke.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests -v tests/unit/ tests/functional/ || die "test failed under ${EPYTHON}"
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Low-level, data-driven core of boto 3"
|
||||
HOMEPAGE="https://github.com/boto/botocore"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/boto/botocore"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
RDEPEND="
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/jmespath[${PYTHON_USEDEP}]
|
||||
dev-python/python-dateutil[${PYTHON_USEDEP}]
|
||||
>=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/jsonschema[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
|
||||
)
|
||||
|
||||
distutils_enable_sphinx docs/source \
|
||||
'dev-python/guzzle_sphinx_theme'
|
||||
distutils_enable_tests nose
|
||||
|
||||
src_prepare() {
|
||||
# unpin deps
|
||||
sed -i -e "s:>=.*':':" setup.py || die
|
||||
# very unstable
|
||||
sed -i -e 's:test_stress_test_token_bucket:_&:' \
|
||||
tests/functional/retries/test_bucket.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# note: suites need to be run separately as one of the unit tests
|
||||
# seems to be leaking mocks and breaking a few functional tests
|
||||
nosetests -v tests/unit ||
|
||||
die "unit tests failed under ${EPYTHON}"
|
||||
nosetests -v tests/functional ||
|
||||
die "functional tests failed under ${EPYTHON}"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST confuse-1.0.0.tar.gz 34790 BLAKE2B efa23f59e6d450160af279042ed3d77b3b26bd1fe2fffd90b0ce1c87821b5540048b45644bfff1a8420007cf2a705d388965daa20034bb8f846085dd92b49186 SHA512 f436a400b9b84db1a20409c70d64fdde44903ffba6c3618917fd297e04ecf3dda806e315972f7cf1f786c93639b10b0652a622a579a2cfa47703386a43433c8d
|
||||
DIST confuse-1.4.0.tar.gz 36020 BLAKE2B a11becf564c84177f919b4c6936dc9452a2821d9dec190167d8eefc141c424323a2cf1934e608028ac07c7290eb4e139a9051904b13fc4ea00594185db10ec2c SHA512 4a06568f3369d08f177e9f639f59511c565961b15b6a8bc3a7fd244396b47c19c163aa05abab96cce5078b962a98763fc0c5739ff8bbd98a5976696ad6240c2d
|
||||
DIST confuse-1.5.0.tar.gz 44193 BLAKE2B 8af065c061c786cf1389a81e10263fe999523e038e41e4403f49a1eeb5ba138c76da745a9be3290f7b8e82d6ec88d18920904c979b5be5dcb4a0bb02f32387c7 SHA512 aed651c7980b0df75f211d9a498b56473c3d23b316569bfafc3008aebb77f86de38912e41a2c073c99c752bfd46092e7ea06ff31281fb79ed3c20c59f5dbcc9c
|
||||
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
DISTUTILS_USE_SETUPTOOLS=pyproject.toml
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Confuse is a configuration library for Python that uses YAML"
|
||||
HOMEPAGE="https://github.com/beetbox/confuse"
|
||||
SRC_URI="https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
distutils_enable_sphinx docs \
|
||||
'dev-python/sphinx_rtd_theme'
|
@ -1,2 +1,3 @@
|
||||
DIST gast-0.3.3.tar.gz 13760 BLAKE2B 0298ea81d3d133f8305fc6a7cf020213a75c2dbcb09c9648e533b8c2c58cf3e3f363448f905c8295bd34db0023be6dea00de0d901bffb1d55650773f7acc0135 SHA512 36869a5e0976223a5a82be8bf25a01654896f4de70affe0fec5252104ea6d1fea3eb8c5153530fcac8addc47b51535b02e3920a0e82aad11ba1ca8350cd11341
|
||||
DIST gast-0.4.0.tar.gz 13804 BLAKE2B 9f614dbf5e7f635f2179481d933f9da53224e1d623548c14a0df4302e47d7c08237e46d13e73e62402bfd060ba002179c0592094f5c47612051973cafd0f3d2e SHA512 d132884c51f7172db9b807095619b2cf3ef92acea18aa1de65f6a338b381b7d3fb3f79ff0c1f9ef9388ef885700b7e58309bd95ccebce46bd3173cc484c9c4f5
|
||||
DIST gast-0.5.0.tar.gz 14933 BLAKE2B 5d70d832d69185227e574a4bf88752e1dff43ef0e3e78a1de8ac7ab96218530d37a6dd0a3e6e4bf1fe8e11afe98b8d87722bfc2d6c8b68d8ac4905f335c2b85a SHA512 31c204587b3abcde61ce7343bef8439fab7e36c46de17eb2e02138e3d709f8f70e24c2c5d045044ef06e42119a50566c881d293c1c815743655354e72304701d
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)"
|
||||
HOMEPAGE="https://pypi.org/project/gast/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
BDEPEND="
|
||||
test? ( dev-python/astunparse[${PYTHON_USEDEP}] )"
|
||||
|
||||
distutils_enable_tests unittest
|
@ -1 +1,2 @@
|
||||
DIST pyrsistent-0.17.3.tar.gz 106911 BLAKE2B 90a05617ad1e32801286d3da834bf52b4ea864e7463a0789904e4a3bbfda2f7b987e13ea93e16980f2cf3b5d999e6040b7c5980a81b516999175b4e5f2ed392e SHA512 2d18e1d4cfe9a0a576fd363f466ba920094af0b1cbbb49aec11b32df6c23e59f6552235a496838dab00928cc7f6dad2a4a8aaa0b52cb6a38eba6faedd12846c8
|
||||
DIST pyrsistent-0.18.0.tar.gz 104215 BLAKE2B 028c26a6b4bcaa8c3e3e1ad1748a6b45f664355c66f0f97c70e4d26c66946a55b346d0340c2e697e9890039692580c03032055cab7c198c39530e5561be83801 SHA512 f56062430f914a884a9317ecf5278ccc09d98f1d6867716f89173db47996b8d4c1ef4f5c0121c955d81fc4fe8aba7d30f38679baea6208168c3952846064cfeb
|
||||
|
@ -0,0 +1,23 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Persistent/Functional/Immutable data structures"
|
||||
HOMEPAGE="https://github.com/tobgu/pyrsistent/ https://pypi.org/project/pyrsistent/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/hypothesis[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -1 +1,2 @@
|
||||
DIST python-debian_0.1.39.tar.xz 319020 BLAKE2B de38ddc6e4878404f9685a264e1198e513cb57f7bfea064e4512ee00049d007b6007ee7fea42e18bd2f12dc8132582fbea2235694b5f908c9ae5cbc830cfe98a SHA512 de29ef224a17b149dde8cf6bb4b9fe77aa1fdfc040463163fb97f7e4ed283f16af43422e26c352183fd74e9e0ff6b41a91ee18c63b5534d5c9de2ef663c8f4df
|
||||
DIST python-debian_0.1.40.tar.xz 319952 BLAKE2B 4d5c2d3202ef09fc8eba4e0c4f9a5861d0662f288768cb9026e1ab43309a57fb21c0b8e87734c9310f39646e071947b31b17bd48b71510e7d783af9f337c3ed1 SHA512 73ed735a3c7bb43208aa26ea9fd64fc658e111dc201ae8c1947a4e5835ebd675e37b78d2895d72bd5ed2b6afa491e77b50bd5f10d62ea8299fbdda6c0b9e5095
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 2011-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python modules to work with Debian-related data formats"
|
||||
HOMEPAGE="https://salsa.debian.org/python-debian-team/python-debian"
|
||||
SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
test? ( app-arch/dpkg )
|
||||
"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
PATCHES=( "${FILESDIR}/0.1.39-disable-apt-pkg.patch" )
|
||||
|
||||
python_compile_all() {
|
||||
${EPYTHON} lib/debian/doc-debtags > README.debtags || die
|
||||
}
|
||||
|
||||
python_test() {
|
||||
eunittest lib
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( pypy3 python3_{8..10} )
|
||||
PYTHON_REQ_USE="sqlite?"
|
||||
|
||||
inherit distutils-r1 multiprocessing optfeature
|
||||
|
||||
MY_PN="SQLAlchemy"
|
||||
MY_P="${MY_PN}-${PV/_beta/b}"
|
||||
|
||||
DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
|
||||
HOMEPAGE="https://www.sqlalchemy.org/ https://pypi.org/project/SQLAlchemy/"
|
||||
SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="examples +sqlite test"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/importlib_metadata[${PYTHON_USEDEP}]
|
||||
' pypy3)
|
||||
"
|
||||
# Use pytest-xdist to speed up tests
|
||||
BDEPEND="
|
||||
test? (
|
||||
$(python_gen_impl_dep sqlite)
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# remove optional/partial dep on greenlet, greenlet is not very portable
|
||||
sed -i -e '/greenlet/d' setup.cfg || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# Disable tests hardcoding function call counts specific to Python versions.
|
||||
epytest --ignore test/aaa_profiling \
|
||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use examples; then
|
||||
docompress -x "/usr/share/doc/${PF}/examples"
|
||||
dodoc -r examples
|
||||
fi
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "MySQL support" dev-python/mysqlclient dev-python/pymysql \
|
||||
dev-python/mysql-connector-python
|
||||
optfeature "mssql support" dev-python/pymssql
|
||||
optfeature "postgresql support" dev-python/psycopg:2
|
||||
}
|
Binary file not shown.
@ -1 +1 @@
|
||||
DIST robot_localization-2.7.0.tar.gz 6524333 BLAKE2B 1d7a2e0444c8e2371840c141dde7a17f8032ead62e16a4681d1cf9273c6b3e7c18fe3a39fdba7680858f8636f2cc6a6c56c5b345cdd964f91657e0d679335625 SHA512 cd2b4047c3df4777808f55c93a4e3692789b6ede3862b25b8befabbd734fd5676586568f9b8a0439212271917bebbc2e63865193e7c1446bc5c7d70d69711ddd
|
||||
DIST robot_localization-2.7.2.tar.gz 6525425 BLAKE2B 6074f24731bce065639a29507bd330a391a60025381ccd5a90be2b4c4c1087deca9fce58fd9e623051be3b7ca0234c14430be973e6b57087a77fad449c3f3749 SHA512 02a0a555e81285c3062dd229d23daf2b9af02902f3ed7f5d35bdea8a08a1046befb035fb2a0f2e5ebb8c11998d8ecbd16e5aeb9f82757241e4c3f44fce3499f5
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST hydrus-441.tar.gz 38807432 BLAKE2B e8294a8eb4d808792f2ff50ad4776f078ba1003962b065883ec22fd68f46dc250b2bccf47005731fcc964b75e07977aed45023da1c7e4513fcfcc29d1b4d1a97 SHA512 81eeb59006644b9b33c33c8da3e003640116488509ce2e1426d2a5c0161adf208e31a45c2a5efc2902769bf91e3db56aabc6384f77e8354e0e113bcc6df3a131
|
||||
DIST hydrus-442.tar.gz 38818985 BLAKE2B 955f5d9969bd46184fbf5fb11b1bc17257d184acd34a9533a20bc35e20ff5cabcc3715ebbb39f42b926b8b00f570c7f483eed3b11472c78f82b9ceeafc3dc765 SHA512 5a78338426127b276b067b52f590e275e132ea2676a4933162183e183a015556351e13e55271240059a145627d8a2ce1f6fe1a07ef267580604e998328c5c4f6
|
||||
DIST hydrus-443.tar.gz 38823767 BLAKE2B 100b2c0650d3230b1c18e58417b731bd661fecde50ac43010bcffe3f8f5be5e0416156523a2c3b5bcc4d739a54f3c6cf21559a2be2ba1dd6fe38131d91d00bee SHA512 d18f32c2cb05ab73dcff83d1a7bad63519b84640cce2991f00623da86197ecf72ac4f3c1e064515980a56d2c415dcb90e19edeb35646701bca0f3fc0d149be1d
|
||||
DIST hydrus-444.tar.gz 38817103 BLAKE2B f9eb3dc346a1a7b8d45558ee69b0b9d2a7dbbb7018734680e9953f20ebd56209cc1874213ecf5515835f1022bf571a99543154843f7dc2b9375116db8ba080a0 SHA512 f5bc28e43a5218fce15bc9d197ebcc1f4eb47856a741ad79f59d1da2413a3e7e220381a4d8208fe880fa507e023f9c03050e46ab5214ef310d105df0d85a9682
|
||||
|
@ -0,0 +1,144 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
PYTHON_REQ_USE="sqlite"
|
||||
|
||||
inherit python-single-r1 desktop optfeature
|
||||
|
||||
DESCRIPTION="A booru-like media organizer for the desktop"
|
||||
HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus"
|
||||
|
||||
if [ "${PV}" == "9999" ]; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git"
|
||||
else
|
||||
SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
# hydrus itself is WTFPL
|
||||
# icons included are CC-BY-2.5
|
||||
LICENSE="WTFPL-2 CC-BY-2.5"
|
||||
SLOT="0"
|
||||
IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/chardet[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/html5lib[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/numpy[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/psutil[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/pyside2[widgets,gui,charts?,${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/requests[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/send2trash[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/service_identity[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/six[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/twisted[${PYTHON_MULTI_USEDEP}]
|
||||
media-libs/opencv[python,png,jpeg,${PYTHON_MULTI_USEDEP}]
|
||||
|
||||
>=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/beautifulsoup:4[${PYTHON_MULTI_USEDEP}]
|
||||
|
||||
cloudscraper? ( dev-python/cloudscraper[${PYTHON_MULTI_USEDEP}] )
|
||||
ffmpeg? ( media-video/ffmpeg )
|
||||
lz4? ( dev-python/lz4[${PYTHON_MULTI_USEDEP}] )
|
||||
mpv? (
|
||||
media-video/mpv[libmpv,${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/python-mpv[${PYTHON_MULTI_USEDEP}]
|
||||
)
|
||||
socks? (
|
||||
|| ( dev-python/requests[socks5,${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/PySocks[${PYTHON_MULTI_USEDEP}] )
|
||||
)
|
||||
')
|
||||
"
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
test? (
|
||||
dev-python/httmock[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/mock[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/nose[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/unittest2[${PYTHON_MULTI_USEDEP}]
|
||||
)
|
||||
')
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/upnpc.patch"
|
||||
"${FILESDIR}/userpath-in-local-share.patch"
|
||||
"${FILESDIR}/test-exitcode.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Contains pre-built binaries for other systems and a broken swf renderer for linux
|
||||
rm -r bin/ || die
|
||||
# Build files used for CI, not actually needed
|
||||
rm -r static/build_files || die
|
||||
# Duplicate license file, not needed
|
||||
rm license.txt || die
|
||||
# Python requirements files, not needed
|
||||
rm requirements_*.txt || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
python_optimize "${S}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# The tests use unittest, but are run with a custom runner script.
|
||||
# QT_QPA_PLATFORM is required to make them run without X
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
"${EPYTHON}" "${S}/test.py" || die "Tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local doc="${EPREFIX}/usr/share/doc/${PF}"
|
||||
elog "Hydrus includes an excellent manual, that can either be viewed at"
|
||||
elog "${doc}/html/help/index.html"
|
||||
elog "or accessed through the hydrus help menu."
|
||||
|
||||
mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die
|
||||
|
||||
local DOCS=(COPYING README.md Readme.txt help_my_client_will_not_boot.txt db/)
|
||||
local HTML_DOCS=("${S}"/help/)
|
||||
einstalldocs
|
||||
|
||||
# Files only needed for testing
|
||||
rm test.py hydrus/hydrus_test.py || die
|
||||
rm -r hydrus/test/ static/testing/ || die
|
||||
|
||||
# These files are copied into doc
|
||||
rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die
|
||||
# The program expects to find documentation here, so add a symlink to doc
|
||||
ln -s "${doc}/html/help" help || die
|
||||
|
||||
insinto /opt/hydrus
|
||||
doins -r "${S}"/.
|
||||
|
||||
exeinto /usr/bin
|
||||
python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server")
|
||||
python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client")
|
||||
|
||||
make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \
|
||||
"AudioVideo;FileTools;Graphics;Network;"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "support for automatic port forwarding" "net-libs/miniupnpc"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue