parent
5a73ba61ad
commit
69b86cc18e
Binary file not shown.
Binary file not shown.
@ -1,6 +1,3 @@
|
||||
DIST awscli-1.20.15.tar.gz 2048948 BLAKE2B e7d378c9cb1752f4b7e014578d07fdc5f7bd9c14dc5fa33328a29c8fb9c9fab27f404dbfeea5952c243aeb35b0800c7840303d5f1339512d74cee2e4a5d590a1 SHA512 34c482067c3534737956520e5f6f0b3d30296f6de06969fe3ab43146a3190e36b432ea3642917c91e82659d5e79337add973f3f79216214f6b03b5cd15b363f2
|
||||
DIST awscli-1.20.21.tar.gz 2055227 BLAKE2B 6448527363ca25f039fa9e461bf5f6451e2ecb308a29b3b62c2303d756476c45f60b5356bf32894d780deb8d9e459d83e2520ce09f5ea5f3b1e9435f8180d4ce SHA512 58b9323b8bdb07bd48814cf11fc03f9c4ffda01d1d0c85d4a77425ca37848a2cb3a6222b12c31e5897b348ef265cc94d842d9fd6b4a66bb3cfc8b37b038361cf
|
||||
DIST awscli-1.20.28.tar.gz 2058578 BLAKE2B 3f6993a41f46ad9d8d45cebc0d5ea95a954e15c73d236426590c389aba6de6a99b6a5000f065f932733151c14f3112bacc25c670a05d2a991a976669ce54554e SHA512 b75974450cea3744ed15cf00ca82a35aa377c55e0ef67bb5536ed136e768d5030e6707f12e2e7de8bfce48296295ff4ed4c9f9b15c642104ea34c7492291135b
|
||||
DIST awscli-1.20.35.tar.gz 2069361 BLAKE2B e19666a42ae7b39297d62532d5028beb099ba195e80233f43f28697184be10c3abb859db5271980e45cade0c6d580988b63d0c2b5e3adc66aee97e76c7883144 SHA512 7fecf089e72a520004aef0d002b2ec07c524b8f927c27e4a497cedfcbcd38e0db57c3ce7e67d4e7f4a4fd78a0ec3e950ef6d7f6d2f7918e0d03a5fb3b2ff8ddf
|
||||
DIST awscli-1.20.40.tar.gz 2071857 BLAKE2B b2511d610c13b4ddf8b1f5c6442f0939072eecf81d97805800bd83b6f481d744ad4344dace6e6553e3d4b7cbf9546f911398311cb04fb698a418579e784539a3 SHA512 aa39a8d67cd8efc63687929f19d5878269ce7f3155a0a64ca2f271251a334f57d2358aa4f0aee76415aee33fe23a1e3b19eb2c6dcfa21e8c0fb7409f5d29a001
|
||||
DIST awscli-1.20.7.tar.gz 2045304 BLAKE2B d8f086d8d2eb36645e77fa3d9ae7c196ed3a3fddcc2a0218696f92bd69e10b453be1340b965a8d8e6697bbd3c45013d72de3ed0d31b5823515a5a0092a812858 SHA512 a41bd3ebc34a65add66ef95d5194ba07907a08f7368b0fcd6551af2070c46c4a509af47d30aeadabddce19d1a61200a58faf40a7e2f759e64915cfb2826666ab
|
||||
DIST awscli-1.20.41.tar.gz 2071927 BLAKE2B 4d7ec9e3c2af3f44cbce9459ef12c8191ae72b3313e266a2ac8f39cd2197129ae66893152c6077326c8315d4098608cb11019ad3cc19fdd057508db4f6c3a0d8 SHA512 6d022575d2bded2245bb17e8605e929a8ff2e91e79f907e21a0eaaf027e2fb657b96573531226cd63a34b0a0523a6747c7c4f9652ee10b09fd8b6d09e9c8fc9c
|
||||
|
@ -1,58 +0,0 @@
|
||||
# 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
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
# 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
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
# 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
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST puppet-lint-2.4.2.gem 93184 BLAKE2B 5170bd9c30f6e2f5b30120b6edc74550e697c3243d2f5c7249f27a2d61ca2f5612d96efdc0f6be8d065e7d7a4460b9cf6e6dad13a5b24c4ce100d4e6df2f0425 SHA512 ee846688b13536b7d146ea50c0efe5083babf1ca09b77182437ec93be754ae076d54ac34f8082867a26b6df12a09bcd316e5b1aaa9c98150f9411a0c8b007c71
|
||||
DIST puppet-lint-2.5.0.gem 90112 BLAKE2B c731e0988f09f779c50aad118f136f79c6e042f43cc8a5163967c44a72d4019a00426578bc95b4cf9618057027c1707cd3463ea408a30d25ca0a0911dc3c94eb SHA512 b04097443eae40a084475f95c57ebde73af937ca3b9b006237c6b5e60caf939338e09cb1e259a26524d2294ecbc61bd91b6e34f7051d87211078912518cb364b
|
||||
DIST puppet-lint-2.5.1.gem 93184 BLAKE2B ce93397fcb05655043ed41693690d909505a74a7e8029f355d76cbcdc247cb03b87f9fc870d07e88ca378b0866b4490c853950a9dc7eff871006ff526d852c70 SHA512 5ffad674280b4b67669a59c9b17b36cef8338dc4de2c9a28b2cdfcff810f733eb4ae18824b6145b75db3816ed906c12e9d4b6404ac5294c4a9a0eb27c4272820
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
USE_RUBY="ruby26 ruby27"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
RUBY_FAKEGEM_BINWRAP="puppet-lint"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A linter for puppet DSL"
|
||||
HOMEPAGE="http://puppet-lint.com/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/rspec-its:1
|
||||
dev-ruby/rspec-collection_matchers:1
|
||||
dev-ruby/rspec-json_expectations )"
|
@ -1,3 +1,3 @@
|
||||
DIST sudo-1.9.6p1.tar.gz 4119888 BLAKE2B 02bdb551c46cff11ac56e64937c64e6a29ccd8e0af34ea2f6b33c223bee8f7ad958d0fc3d7ef8ef12bf5bc82565769b923ff112a3f3d6bf6999fa4f6ea55e38e SHA512 632dfe72f04ce9a7a5a7236fcd5c09ce4535e695ced49d24dd848e3a7b1bea7380df44188b9e475af4271069539b5a5816948a98fbb0649ebebaba8b4c4b7745
|
||||
DIST sudo-1.9.7p2.tar.gz 4200036 BLAKE2B b977c423670e5e34e84f3b009d5fe5f0379a0027e828fb903aa7ff1b11581572e8d5452a3666d963df3edfe1b83ffe16fbf8bddbf07881284f4507c8138859ad SHA512 39184127122014d0d1d194d455644191009835ffdcc0efda3a99028fe346ca3ff6b15341016f85029556e9f1f9deeaf83b52160effc47d1a5713affb36b99386
|
||||
DIST sudo-1.9.8rc2.tar.gz 4302195 BLAKE2B 49a9ee0f3dca52b1ce4a7443ccbceaee1b7e12fc5ecf6c1f5571f33f6461fc6e381c2c22a5071f1466967aaee53acba32fef6906f8376b68bbace4f3d67ff082 SHA512 56dc2e8935f0cc6b1ccb273ad816c31df68523284a6b5d43f35940d7a5373cf1184982a78b26e6111aead3a035d1a10f6a1eba95b613e776fd48528a1429f7cb
|
||||
DIST sudo-1.9.8.tar.gz 4301188 BLAKE2B 6731f5ad4b7002b2ec0d9f893a18070e220918bb6f4ffefdc6719221a5614912253f9547d83fc5e61c3cdada8b093d5e9c7f4c37ec6e3fc2fb9245bd10797dd2 SHA512 b1ef0464bbf5d7ab65066752769261640a142fa82b7d3d8698a7e098fbc2670c382211bce1ca0c44cb7a1c3b5a375a725a1e05a9fdfb4a31023c868285814fdc
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST gramps-5.1.3.tar.gz 17352457 BLAKE2B 8356e29d4e9e2ee78f0f09e54db8f77b2db991652f2c6b2fdc742b8f2e160a2c9c2b7df1a43c34e5d05b12b540e88cd8572fe89cfbb3a1ecb6df650a39ac0651 SHA512 045d5dd6aac4745ce527624657bbee25b9130e63b1b66bdd6a8409cdc876f1f3a4a6c0435d433a62bfffb723f6ac66d93829b79fc12c8768694c266b7a3b82cc
|
||||
DIST gramps-5.1.4.tar.gz 17425713 BLAKE2B 9b3761906b70ed6b85112e502290013cf421669418355ed0dc54d00adbcc2af4cd74c596bacaad50cdac6457e7a3b7675d4afb7b471fd471af8b7a6adae3ad82 SHA512 f43fc250142968331db1875260577e022898cff2d1453ee6b74be760d798b75cfdf93492d8d823dbb094da2ddd96a4f249e813c603e7cd9d0585641424284734
|
||||
|
@ -1,110 +0,0 @@
|
||||
# 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"
|
||||
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
DISTUTILS_USE_SETUPTOOLS=no
|
||||
inherit distutils-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Genealogical Research and Analysis Management Programming System"
|
||||
HOMEPAGE="https://gramps-project.org/"
|
||||
SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="berkdb exif geo postscript +rcs +reports spell test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
|
||||
dev-python/pyicu[${PYTHON_USEDEP}]
|
||||
berkdb? ( dev-python/bsddb3[${PYTHON_USEDEP}] )
|
||||
exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
|
||||
')
|
||||
gnome-base/librsvg:2
|
||||
>x11-libs/gtk+-3.14.8:3[introspection]
|
||||
x11-libs/pango[introspection]
|
||||
x11-misc/xdg-utils
|
||||
reports? ( media-gfx/graphviz[postscript?] )
|
||||
geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
|
||||
spell? ( app-text/gtkspell:3[introspection] )
|
||||
rcs? ( dev-vcs/rcs )
|
||||
"
|
||||
BDEPEND="test? ( ${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/jsonschema[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.1.3-test_locale.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
# Install documentation to the proper location. This can't be done
|
||||
# easily with a patch because we substitute in the ${PF} variable,
|
||||
# and that changes with every revision.
|
||||
sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_configure_all() {
|
||||
mydistutilsargs=(
|
||||
--resourcepath=/usr/share
|
||||
--no-compress-manpages
|
||||
)
|
||||
}
|
||||
|
||||
python_test_all() {
|
||||
# Gramps builds just fine out of tree but it confuses its test suite.
|
||||
# The following might be an ugly hack but at least it lets the tests
|
||||
# run properly until either I or upstream have come up with something
|
||||
# better. FIXME: test this when a new release comes out.
|
||||
rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \
|
||||
die "Failed to symlink build directory to source directory"
|
||||
|
||||
# Set a sane default locale for the tests which do not explicitly set one.
|
||||
local -x LC_ALL=C.UTF-8
|
||||
|
||||
# Note that as of 5.1.3, test failures do not actually propagate back
|
||||
# to this function. For now this is fortunate because the test suite
|
||||
# does not handle the absence of bsddb3 well, in the long run however
|
||||
# this should be fixed.
|
||||
esetup.py test || die
|
||||
}
|
||||
|
||||
# Ugly hack to work around Bug #717922
|
||||
python_install() {
|
||||
local mydistutilsargs=(
|
||||
--resourcepath=/usr/share
|
||||
--no-compress-manpages
|
||||
build
|
||||
)
|
||||
distutils-r1_python_install
|
||||
echo -n "/usr/share" > "${D}$(python_get_sitedir)/gramps/gen/utils/resource-path" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
|
||||
if use berkdb; then
|
||||
ewarn "The BSDDB back-end in ${PN} has got known stability and data-corruption issues. It has been deprecated since version 5.1.0 and might be removed in 5.2.0."
|
||||
ewarn "If you have any family trees in this format you are highly advised to convert them to SQLite, as described here:"
|
||||
ewarn
|
||||
ewarn "https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Converting_a_BSDDB_Family_Tree_to_SQLite"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,91 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit rpm
|
||||
|
||||
BASE_PV=$(ver_cut 1-3)
|
||||
MY_PV="${PV/_alpha/.alpha}"
|
||||
MY_PV="${MY_PV/_beta/.beta}"
|
||||
[[ ${PV} == *alpha* || ${PV} == *beta* ]] && PN_DEV="Dev"
|
||||
|
||||
DESCRIPTION="Translations for the Libreoffice suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
BASE_SRC_URI_TESTING="https://download.documentfoundation.org/${PN/-l10n/}/testing/${BASE_PV}/rpm"
|
||||
BASE_SRC_URI_STABLE="https://download.documentfoundation.org/${PN/-l10n/}/stable/${BASE_PV}/rpm"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux"
|
||||
IUSE="offlinehelp"
|
||||
|
||||
#
|
||||
# when changing the language lists, please be careful to preserve the spaces (bug 491728)
|
||||
#
|
||||
# "en:en-US" for mapping from Gentoo "en" to upstream "en-US" etc.
|
||||
LANGUAGES_HELP=" am ar ast bg bn-IN bn bo bs ca-valencia ca cs da de dz el en-GB en:en-US en-ZA eo es et eu fi fr gl gu he hi hr hu id is it ja ka km ko lo lt lv mk nb ne nl nn om pl pt-BR pt ro ru si sid sk sl sq sv ta tg tr ug uk vi zh-CN zh-TW "
|
||||
LANGUAGES="${LANGUAGES_HELP}af as be br brx ckb cy dgo dsb fa fur fy ga gd gug hsb kab kk kmr-Latn kn kok ks lb mai ml mn mni mr my nr nso oc or pa:pa-IN rw sa:sa-IN sat sd sr-Latn sr ss st sw-TZ szl te th tn ts tt uz ve vec xh zu "
|
||||
|
||||
for lang in ${LANGUAGES_HELP}; do
|
||||
helppack="offlinehelp? ( ${BASE_SRC_URI_STABLE}/x86_64/LibreOffice${PN_DEV}_${BASE_PV}_Linux_x86-64_rpm_helppack_${lang#*:}.tar.gz -> LibreOffice_${MY_PV}_Linux_x86-64_rpm_helppack_${lang#*:}.tar.gz ${BASE_SRC_URI_TESTING}/x86_64/LibreOffice${PN_DEV}_${MY_PV}_Linux_x86-64_rpm_helppack_${lang#*:}.tar.gz -> LibreOffice_${MY_PV}_Linux_x86-64_rpm_helppack_${lang#*:}.tar.gz )"
|
||||
SRC_URI+=" l10n_${lang%:*}? ( ${helppack} )"
|
||||
done
|
||||
for lang in ${LANGUAGES}; do
|
||||
if [[ ${lang%:*} != en ]]; then
|
||||
langpack="${BASE_SRC_URI_STABLE}/x86_64/LibreOffice${PN_DEV}_${BASE_PV}_Linux_x86-64_rpm_langpack_${lang#*:}.tar.gz -> LibreOffice_${MY_PV}_Linux_x86-64_rpm_langpack_${lang#*:}.tar.gz ${BASE_SRC_URI_TESTING}/x86_64/LibreOffice${PN_DEV}_${MY_PV}_Linux_x86-64_rpm_langpack_${lang#*:}.tar.gz -> LibreOffice_${MY_PV}_Linux_x86-64_rpm_langpack_${lang#*:}.tar.gz"
|
||||
SRC_URI+=" l10n_${lang%:*}? ( ${langpack} )"
|
||||
fi
|
||||
IUSE+=" l10n_${lang%:*}"
|
||||
done
|
||||
unset lang helppack langpack
|
||||
|
||||
RDEPEND+="app-text/hunspell"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
local lang dir rpmdir
|
||||
|
||||
# First remove dictionaries, we want to use system ones.
|
||||
find "${S}" -name *dict*.rpm -delete || die "Failed to remove dictionaries"
|
||||
|
||||
for lang in ${LANGUAGES}; do
|
||||
# break away if not enabled
|
||||
use l10n_${lang%:*} || continue
|
||||
|
||||
dir=${lang#*:}
|
||||
|
||||
# for english we provide just helppack, as translation is always there
|
||||
if [[ ${lang%:*} != en ]]; then
|
||||
rpmdir="LibreOffice_${MY_PV}_Linux_x86-64_rpm_langpack_${dir}/RPMS/"
|
||||
[[ -d ${rpmdir} ]] || die "Missing directory: ${rpmdir}"
|
||||
rpm_unpack ./${rpmdir}/*.rpm
|
||||
fi
|
||||
if [[ "${LANGUAGES_HELP}" =~ " ${lang} " ]] && use offlinehelp; then
|
||||
rpmdir="LibreOffice_${MY_PV}_Linux_x86-64_rpm_helppack_${dir}/RPMS/"
|
||||
[[ -d ${rpmdir} ]] || die "Missing directory: ${rpmdir}"
|
||||
rpm_unpack ./${rpmdir}/*.rpm
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
local dir="${S}"/opt/${PN/-l10n/}$(ver_cut 1-2)/
|
||||
# Condition required for people who do not install anything e.g. no l10n
|
||||
# or just english with no offlinehelp.
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
insinto /usr/$(get_libdir)/${PN/-l10n/}/
|
||||
doins -r "${dir}"/*
|
||||
fi
|
||||
# remove extensions that are in l10n for some weird reason
|
||||
rm -rf "${ED}"/usr/$(get_libdir)/${PN/-l10n/}/share/extensions/ || \
|
||||
die "Failed to remove extensions"
|
||||
}
|
@ -0,0 +1,310 @@
|
||||
From ec23228a3a2fc4e8868f7f04b838313be59ad719 Mon Sep 17 00:00:00 2001
|
||||
From: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Sun, 11 Apr 2021 17:40:26 +0200
|
||||
Subject: tdf#143796 Qt5/KF5 fix double-buffer graphics
|
||||
|
||||
This is a squashed commit for:
|
||||
|
||||
"Qt5/KF5 get rid of unneeded own grahics handling"
|
||||
"tdf#143334 Qt5 don't reset buffer on style change"
|
||||
"tdf#144008 Qt5/Kf5 create frames in the GUI thread"
|
||||
|
||||
commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89
|
||||
commit ec77a2ed0283cb3446f6e352fc329afd3dfb785c
|
||||
commit 923b30aa27ceb377d6a540c012000e89ce5db31e
|
||||
|
||||
The first commit exposed the same problem to kf5, the 2nd patch is
|
||||
the real fix and the 3rd partly a regression for kf5 from the 1st
|
||||
commit but also an additional bugfix for qt5.
|
||||
|
||||
Change-Id: I84b8dd106a35a5c2fda08a525f657b0b733a5cb7
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121795
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
||||
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
||||
---
|
||||
vcl/inc/qt5/Qt5Frame.hxx | 8 +-------
|
||||
vcl/inc/qt5/Qt5Instance.hxx | 1 +
|
||||
vcl/qt5/Qt5Frame.cxx | 34 ++++++++++++----------------------
|
||||
vcl/qt5/Qt5Instance.cxx | 18 +++++++++++++++---
|
||||
vcl/unx/kf5/KF5SalFrame.cxx | 24 ------------------------
|
||||
vcl/unx/kf5/KF5SalFrame.hxx | 6 ------
|
||||
vcl/unx/kf5/KF5SalInstance.cxx | 16 +++++++++++++---
|
||||
vcl/unx/kf5/KF5SalInstance.hxx | 1 +
|
||||
8 files changed, 43 insertions(+), 65 deletions(-)
|
||||
|
||||
diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx
|
||||
index 54a721e03730..9b6e3811c3bb 100644
|
||||
--- a/vcl/inc/qt5/Qt5Frame.hxx
|
||||
+++ b/vcl/inc/qt5/Qt5Frame.hxx
|
||||
@@ -77,17 +77,12 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame
|
||||
std::unique_ptr<QImage> m_pQImage;
|
||||
std::unique_ptr<Qt5Graphics> m_pQt5Graphics;
|
||||
UniqueCairoSurface m_pSurface;
|
||||
- std::unique_ptr<Qt5SvpGraphics> m_pOurSvpGraphics;
|
||||
- // in base class, this ptr is the same as m_pOurSvpGraphic
|
||||
- // in derived class, it can point to a derivative
|
||||
- // of Qt5SvpGraphics (which the derived class then owns)
|
||||
- Qt5SvpGraphics* m_pSvpGraphics;
|
||||
+ std::unique_ptr<Qt5SvpGraphics> m_pSvpGraphics;
|
||||
DamageHandler m_aDamageHandler;
|
||||
QRegion m_aRegion;
|
||||
bool m_bNullRegion;
|
||||
|
||||
bool m_bGraphicsInUse;
|
||||
- bool m_bGraphicsInvalid;
|
||||
SalFrameStyleFlags m_nStyle;
|
||||
Qt5Frame* m_pParent;
|
||||
PointerStyle m_ePointerStyle;
|
||||
@@ -144,7 +139,6 @@ public:
|
||||
void Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth,
|
||||
sal_Int32 nExtentsHeight) const;
|
||||
|
||||
- void InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics);
|
||||
virtual SalGraphics* AcquireGraphics() override;
|
||||
virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
|
||||
|
||||
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
|
||||
index d73a59de51c1..a2372e58f8c9 100644
|
||||
--- a/vcl/inc/qt5/Qt5Instance.hxx
|
||||
+++ b/vcl/inc/qt5/Qt5Instance.hxx
|
||||
@@ -82,6 +82,7 @@ protected:
|
||||
virtual Qt5FilePicker*
|
||||
createPicker(css::uno::Reference<css::uno::XComponentContext> const& context,
|
||||
QFileDialog::FileMode);
|
||||
+ bool useCairo() const { return m_bUseCairo; }
|
||||
|
||||
public:
|
||||
explicit Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo = false);
|
||||
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
|
||||
index b398e9a5cf3b..d39d1729c812 100644
|
||||
--- a/vcl/qt5/Qt5Frame.cxx
|
||||
+++ b/vcl/qt5/Qt5Frame.cxx
|
||||
@@ -104,10 +104,8 @@ sal_Int32 screenNumber(const QScreen* pScreen)
|
||||
Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
|
||||
: m_pTopLevel(nullptr)
|
||||
, m_bUseCairo(bUseCairo)
|
||||
- , m_pSvpGraphics(nullptr)
|
||||
, m_bNullRegion(true)
|
||||
, m_bGraphicsInUse(false)
|
||||
- , m_bGraphicsInvalid(false)
|
||||
, m_ePointerStyle(PointerStyle::Arrow)
|
||||
, m_pDragSource(nullptr)
|
||||
, m_pDropTarget(nullptr)
|
||||
@@ -288,17 +286,6 @@ void Qt5Frame::Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExten
|
||||
1 / devicePixelRatioF()));
|
||||
}
|
||||
|
||||
-void Qt5Frame::InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics)
|
||||
-{
|
||||
- QSize aSize = m_pQWidget->size() * devicePixelRatioF();
|
||||
- m_pSvpGraphics = pQt5SvpGraphics;
|
||||
- m_pSurface.reset(
|
||||
- cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
|
||||
- m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(aSize.width(), aSize.height()));
|
||||
- cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), &m_aDamageHandler,
|
||||
- nullptr);
|
||||
-}
|
||||
-
|
||||
SalGraphics* Qt5Frame::AcquireGraphics()
|
||||
{
|
||||
if (m_bGraphicsInUse)
|
||||
@@ -308,24 +295,28 @@ SalGraphics* Qt5Frame::AcquireGraphics()
|
||||
|
||||
if (m_bUseCairo)
|
||||
{
|
||||
- if (!m_pOurSvpGraphics || m_bGraphicsInvalid)
|
||||
+ if (!m_pSvpGraphics)
|
||||
{
|
||||
- m_pOurSvpGraphics.reset(new Qt5SvpGraphics(this));
|
||||
- InitQt5SvpGraphics(m_pOurSvpGraphics.get());
|
||||
- m_bGraphicsInvalid = false;
|
||||
+ QSize aSize = m_pQWidget->size() * devicePixelRatioF();
|
||||
+ m_pSvpGraphics.reset(new Qt5SvpGraphics(this));
|
||||
+ m_pSurface.reset(
|
||||
+ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
|
||||
+ m_pSvpGraphics->setSurface(m_pSurface.get(),
|
||||
+ basegfx::B2IVector(aSize.width(), aSize.height()));
|
||||
+ cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(),
|
||||
+ &m_aDamageHandler, nullptr);
|
||||
}
|
||||
- return m_pOurSvpGraphics.get();
|
||||
+ return m_pSvpGraphics.get();
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (!m_pQt5Graphics || m_bGraphicsInvalid)
|
||||
+ if (!m_pQt5Graphics)
|
||||
{
|
||||
m_pQt5Graphics.reset(new Qt5Graphics(this));
|
||||
m_pQImage.reset(
|
||||
new QImage(m_pQWidget->size() * devicePixelRatioF(), Qt5_DefaultFormat32));
|
||||
m_pQImage->fill(Qt::transparent);
|
||||
m_pQt5Graphics->ChangeQImage(m_pQImage.get());
|
||||
- m_bGraphicsInvalid = false;
|
||||
}
|
||||
return m_pQt5Graphics.get();
|
||||
}
|
||||
@@ -335,7 +326,7 @@ void Qt5Frame::ReleaseGraphics(SalGraphics* pSalGraph)
|
||||
{
|
||||
(void)pSalGraph;
|
||||
if (m_bUseCairo)
|
||||
- assert(pSalGraph == m_pOurSvpGraphics.get());
|
||||
+ assert(pSalGraph == m_pSvpGraphics.get());
|
||||
else
|
||||
assert(pSalGraph == m_pQt5Graphics.get());
|
||||
m_bGraphicsInUse = false;
|
||||
@@ -1145,7 +1136,6 @@ void Qt5Frame::UpdateSettings(AllSettings& rSettings)
|
||||
style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
|
||||
style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
|
||||
|
||||
- m_bGraphicsInvalid = true;
|
||||
rSettings.SetStyleSettings(style);
|
||||
}
|
||||
|
||||
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
|
||||
index ca1f914dd707..bceae35e9016 100644
|
||||
--- a/vcl/qt5/Qt5Instance.cxx
|
||||
+++ b/vcl/qt5/Qt5Instance.cxx
|
||||
@@ -252,13 +252,21 @@ void Qt5Instance::deleteObjectLater(QObject* pObject) { pObject->deleteLater();
|
||||
|
||||
SalFrame* Qt5Instance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
|
||||
{
|
||||
- return new Qt5Frame(nullptr, nStyle, m_bUseCairo);
|
||||
+ SalFrame* pRet(nullptr);
|
||||
+ RunInMainThread([&, this]() { pRet = new Qt5Frame(nullptr, nStyle, useCairo()); });
|
||||
+ assert(pRet);
|
||||
+ return pRet;
|
||||
}
|
||||
|
||||
SalFrame* Qt5Instance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
|
||||
{
|
||||
assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
|
||||
- return new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, m_bUseCairo);
|
||||
+
|
||||
+ SalFrame* pRet(nullptr);
|
||||
+ RunInMainThread(
|
||||
+ [&, this]() { pRet = new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, useCairo()); });
|
||||
+ assert(pRet);
|
||||
+ return pRet;
|
||||
}
|
||||
|
||||
void Qt5Instance::DestroyFrame(SalFrame* pFrame)
|
||||
@@ -273,7 +281,11 @@ void Qt5Instance::DestroyFrame(SalFrame* pFrame)
|
||||
SalObject* Qt5Instance::CreateObject(SalFrame* pParent, SystemWindowData*, bool bShow)
|
||||
{
|
||||
assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
|
||||
- return new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow);
|
||||
+
|
||||
+ SalObject* pRet(nullptr);
|
||||
+ RunInMainThread([&]() { pRet = new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow); });
|
||||
+ assert(pRet);
|
||||
+ return pRet;
|
||||
}
|
||||
|
||||
void Qt5Instance::DestroyObject(SalObject* pObject)
|
||||
diff --git a/vcl/unx/kf5/KF5SalFrame.cxx b/vcl/unx/kf5/KF5SalFrame.cxx
|
||||
index 1aa0b9008de7..8f14594586d2 100644
|
||||
--- a/vcl/unx/kf5/KF5SalFrame.cxx
|
||||
+++ b/vcl/unx/kf5/KF5SalFrame.cxx
|
||||
@@ -45,7 +45,6 @@
|
||||
|
||||
KF5SalFrame::KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nState, bool bUseCairo)
|
||||
: Qt5Frame(pParent, nState, bUseCairo)
|
||||
- , m_bGraphicsInUse(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -162,27 +161,4 @@ void KF5SalFrame::UpdateSettings(AllSettings& rSettings)
|
||||
rSettings.SetStyleSettings(style);
|
||||
}
|
||||
|
||||
-SalGraphics* KF5SalFrame::AcquireGraphics()
|
||||
-{
|
||||
- if (m_bGraphicsInUse)
|
||||
- return nullptr;
|
||||
-
|
||||
- m_bGraphicsInUse = true;
|
||||
-
|
||||
- if (!m_pKF5Graphics)
|
||||
- {
|
||||
- m_pKF5Graphics.reset(new Qt5SvpGraphics(this));
|
||||
- Qt5Frame::InitQt5SvpGraphics(m_pKF5Graphics.get());
|
||||
- }
|
||||
-
|
||||
- return m_pKF5Graphics.get();
|
||||
-}
|
||||
-
|
||||
-void KF5SalFrame::ReleaseGraphics(SalGraphics* pSalGraph)
|
||||
-{
|
||||
- (void)pSalGraph;
|
||||
- assert(pSalGraph == m_pKF5Graphics.get());
|
||||
- m_bGraphicsInUse = false;
|
||||
-}
|
||||
-
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/vcl/unx/kf5/KF5SalFrame.hxx b/vcl/unx/kf5/KF5SalFrame.hxx
|
||||
index f757535c2f35..d0fdd91978e6 100644
|
||||
--- a/vcl/unx/kf5/KF5SalFrame.hxx
|
||||
+++ b/vcl/unx/kf5/KF5SalFrame.hxx
|
||||
@@ -28,15 +28,9 @@ class QWidget;
|
||||
|
||||
class KF5SalFrame : public Qt5Frame
|
||||
{
|
||||
-private:
|
||||
- std::unique_ptr<Qt5SvpGraphics> m_pKF5Graphics;
|
||||
- bool m_bGraphicsInUse;
|
||||
-
|
||||
public:
|
||||
KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo);
|
||||
|
||||
- virtual SalGraphics* AcquireGraphics() override;
|
||||
- virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
|
||||
virtual void UpdateSettings(AllSettings& rSettings) override;
|
||||
};
|
||||
|
||||
diff --git a/vcl/unx/kf5/KF5SalInstance.cxx b/vcl/unx/kf5/KF5SalInstance.cxx
|
||||
index 5b95ff8df572..d9d7747fe647 100644
|
||||
--- a/vcl/unx/kf5/KF5SalInstance.cxx
|
||||
+++ b/vcl/unx/kf5/KF5SalInstance.cxx
|
||||
@@ -40,11 +40,21 @@ KF5SalInstance::KF5SalInstance(std::unique_ptr<QApplication>& pQApp)
|
||||
pSVData->maAppData.mxToolkitName = OUString("kf5");
|
||||
}
|
||||
|
||||
-SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nState)
|
||||
+SalFrame* KF5SalInstance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
|
||||
{
|
||||
SalFrame* pRet(nullptr);
|
||||
- RunInMainThread([&pRet, pParent, nState]() {
|
||||
- pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nState, true);
|
||||
+ RunInMainThread([&, this]() { pRet = new KF5SalFrame(nullptr, nStyle, useCairo()); });
|
||||
+ assert(pRet);
|
||||
+ return pRet;
|
||||
+}
|
||||
+
|
||||
+SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
|
||||
+{
|
||||
+ assert(!pParent || dynamic_cast<KF5SalFrame*>(pParent));
|
||||
+
|
||||
+ SalFrame* pRet(nullptr);
|
||||
+ RunInMainThread([&, this]() {
|
||||
+ pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nStyle, useCairo());
|
||||
});
|
||||
assert(pRet);
|
||||
return pRet;
|
||||
diff --git a/vcl/unx/kf5/KF5SalInstance.hxx b/vcl/unx/kf5/KF5SalInstance.hxx
|
||||
index 5dd306da5231..b951df59ab33 100644
|
||||
--- a/vcl/unx/kf5/KF5SalInstance.hxx
|
||||
+++ b/vcl/unx/kf5/KF5SalInstance.hxx
|
||||
@@ -28,6 +28,7 @@ class KF5SalInstance final : public Qt5Instance
|
||||
QFileDialog::FileMode) override;
|
||||
|
||||
SalFrame* CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) override;
|
||||
+ SalFrame* CreateChildFrame(SystemParentData* pParent, SalFrameStyleFlags nStyle) override;
|
||||
|
||||
public:
|
||||
explicit KF5SalInstance(std::unique_ptr<QApplication>& pQApp);
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
@ -0,0 +1,672 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_REQ_USE="threads(+),xml"
|
||||
|
||||
MY_PV="${PV/_alpha/.alpha}"
|
||||
MY_PV="${MY_PV/_beta/.beta}"
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
|
||||
https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] && inherit git-r3
|
||||
inherit autotools bash-completion-r1 check-reqs eapi8-dosym flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs; Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${MY_PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
# broken against latest upstream release, too many patches on top:
|
||||
# https://github.com/tdf/libcmis/pull/43
|
||||
"${ADDONS_URI}/libcmis-0.5.2.tar.xz"
|
||||
# not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
|
||||
"${ADDONS_URI}/dtoa-20180411.tgz"
|
||||
# not packaged in Gentoo, https://skia.org/
|
||||
"${ADDONS_URI}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz"
|
||||
# QR code generating library for >=libreoffice-6.4, bug #691740
|
||||
"${ADDONS_URI}/QR-Code-generator-1.4.0.tar.gz"
|
||||
"base? (
|
||||
${ADDONS_URI}/commons-logging-1.2-src.tar.gz
|
||||
${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||
${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
||||
${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
|
||||
${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
|
||||
${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
|
||||
${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
||||
${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
|
||||
${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
|
||||
${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
|
||||
${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
||||
${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||
)"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
|
||||
googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
base? ( firebird java )
|
||||
bluetooth? ( dbus )
|
||||
gtk? ( dbus )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] || \
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux"
|
||||
|
||||
# Bison upper bound due to bug #812923
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
<sys-devel/bison-3.8.1
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
"
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
app-text/libepubgen
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.1
|
||||
>=app-text/libnumbertext-1.0.6
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libqxp
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.5.2
|
||||
dev-db/unixODBC
|
||||
>=games-engines/box2d-2.4.1:0
|
||||
dev-lang/perl
|
||||
>=dev-libs/boost-1.72.0:=[nls]
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
dev-libs/liborcus:0/0.16
|
||||
dev-libs/librevenge
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.28[nss]
|
||||
media-gfx/fontforge
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.42:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libzmf
|
||||
>=net-libs/neon-0.31.1:=
|
||||
net-misc/curl
|
||||
sci-mathematics/lpsolve
|
||||
sys-libs/zlib
|
||||
virtual/glu
|
||||
virtual/jpeg:0
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
accessibility? (
|
||||
$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
)
|
||||
bluetooth? (
|
||||
dev-libs/glib:2
|
||||
net-wireless/bluez
|
||||
)
|
||||
clang? (
|
||||
|| (
|
||||
( sys-devel/clang:12
|
||||
sys-devel/llvm:12
|
||||
=sys-devel/lld-12* )
|
||||
( sys-devel/clang:11
|
||||
sys-devel/llvm:11
|
||||
=sys-devel/lld-11* )
|
||||
( sys-devel/clang:10
|
||||
sys-devel/llvm:10
|
||||
=sys-devel/lld-10* )
|
||||
)
|
||||
)
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( sys-apps/dbus[X] )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
media-libs/mesa[egl(+)]
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/pango
|
||||
)
|
||||
kde? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
kde-frameworks/kconfig:5
|
||||
kde-frameworks/kcoreaddons:5
|
||||
kde-frameworks/ki18n:5
|
||||
kde-frameworks/kio:5
|
||||
kde-frameworks/kwindowsystem:5
|
||||
)
|
||||
ldap? ( net-nds/openldap )
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
mariadb? ( dev-db/mariadb-connector-c )
|
||||
!mariadb? ( dev-db/mysql-connector-c )
|
||||
pdfimport? ( app-text/poppler:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
# tests apparently also need google-carlito-fonts (not packaged)
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3.1
|
||||
dev-util/mdds:1/1.5
|
||||
media-libs/glm
|
||||
sys-devel/ucpp
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
java? (
|
||||
dev-java/ant-core
|
||||
|| (
|
||||
dev-java/openjdk:11
|
||||
dev-java/openjdk-bin:11
|
||||
)
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
)
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
media-fonts/liberation-fonts
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( || (
|
||||
dev-java/openjdk:11
|
||||
dev-java/openjdk-jre-bin:11
|
||||
>=virtual/jre-1.8
|
||||
) )
|
||||
kde? ( kde-frameworks/breeze-icons:* )
|
||||
"
|
||||
if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
PDEPEND="!app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
# "${WORKDIR}"/${PATCHSET/.tar.xz/}
|
||||
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
"${FILESDIR}/${PN}-6.1-nomancompress.patch"
|
||||
"${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
|
||||
|
||||
# 7.1 branch
|
||||
"${FILESDIR}/${P}-KF5-fix-double-buffer-graphics.patch"
|
||||
|
||||
# master branch
|
||||
"${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
_check_reqs() {
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_$1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use x86; then
|
||||
elog "Unfortunately for packaging reasons on x86, various Java-based wizards,"
|
||||
elog "most notably Report Builder in LibreOffice Base, will not be available."
|
||||
elog "See also: https://bugs.gentoo.org/785640"
|
||||
else
|
||||
use base ||
|
||||
ewarn "If you plan to use Base application you must enable USE base."
|
||||
use java ||
|
||||
ewarn "Without USE java, several wizards are not going to be available."
|
||||
fi
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
if [[ ${MY_PV} = *9999* ]]; then
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${MY_PV/.9999}
|
||||
[[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
LOCOREGIT_VERSION=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# sandbox violations on many systems, we don't need it. Bug #646406
|
||||
sed -i \
|
||||
-e "/KF5_CONFIG/s/kf5-config/no/" \
|
||||
configure.ac || die "Failed to disable kf5-config"
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# Show flags set at the beginning
|
||||
einfo "Preset CFLAGS: ${CFLAGS}"
|
||||
einfo "Preset LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
if use clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
AR=llvm-ar
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
NM=llvm-nm
|
||||
RANLIB=llvm-ranlib
|
||||
LDFLAGS+=" -fuse-ld=lld"
|
||||
else
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
AR=gcc-ar
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
NM=gcc-nm
|
||||
RANLIB=gcc-ranlib
|
||||
fi
|
||||
|
||||
if use custom-cflags ; then
|
||||
elog "USE=custom-cflags has been selected. You are on your own to make sure that"
|
||||
elog "the build succeeds. Good luck!"
|
||||
else
|
||||
strip-flags
|
||||
fi
|
||||
|
||||
export LO_CLANG_CC=${CC}
|
||||
export LO_CLANG_CXX=${CXX}
|
||||
|
||||
# Show flags set at the end
|
||||
einfo " Used CFLAGS: ${CFLAGS}"
|
||||
einfo " Used LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
# Ensure we use correct toolchain
|
||||
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
|
||||
|
||||
if use vulkan && ! use clang ; then
|
||||
ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
|
||||
fi
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
use kde && export QT5DIR="$(qt5_get_bindir)/.."
|
||||
|
||||
local gentoo_buildid="Gentoo official package"
|
||||
if [[ -n ${LOCOREGIT_VERSION} ]]; then
|
||||
gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
# --without-system-qrcodegen: has no real build system and LO is the only user
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-build-opensymbol
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-neon
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-bundle-mariadb
|
||||
--disable-ccache
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gtk3-kde5
|
||||
--disable-online-update
|
||||
--disable-openssl
|
||||
--disable-pdfium
|
||||
--disable-vlc
|
||||
--with-extra-buildid="${gentoo_buildid}"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-ucpp
|
||||
--with-tls=nss
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--with-help="html"
|
||||
--without-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-jfreereport
|
||||
--without-system_apache_commons
|
||||
--without-system-libcmis
|
||||
--without-system-sane
|
||||
--without-system-qrcodegen
|
||||
$(use_enable base report-builder)
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable cups)
|
||||
$(use_enable dbus)
|
||||
$(use_enable debug)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk gtk3)
|
||||
$(use_enable kde kf5)
|
||||
$(use_enable kde qt5)
|
||||
$(use_enable ldap)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable vulkan skia)
|
||||
$(use_with accessibility lxml)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with odk doxygen)
|
||||
)
|
||||
|
||||
if use eds || use gtk; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
)
|
||||
if has_version "dev-java/openjdk:11"; then
|
||||
myeconfargs+=( -with-jdk-home="${EPREFIX}/usr/$(get_libdir)/openjdk-11" )
|
||||
elif has_version "dev-java/openjdk-bin:11"; then
|
||||
myeconfargs+=( --with-jdk-home="/opt/openjdk-bin-11" )
|
||||
fi
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
|
||||
fi
|
||||
|
||||
is-flagq "-flto*" && myeconfargs+=( --enable-lto )
|
||||
|
||||
MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
local target
|
||||
use test && target="build" || target="build-nocheck"
|
||||
|
||||
# this is not a proper make script
|
||||
make ${target} || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
make unitcheck || die
|
||||
make slowcheck || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# This is not Makefile so no buildserver
|
||||
emake DESTDIR="${D}" distro-pack-install -o build -o check
|
||||
|
||||
# bug 593514
|
||||
if use gtk; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# bug 703474
|
||||
insinto /usr/include
|
||||
doins -r include/LibreOfficeKit
|
||||
|
||||
local lodir=/usr/$(get_libdir)/libreoffice
|
||||
# patching this would break tests
|
||||
cat <<-EOF > "${T}"/uno.py
|
||||
import sys, os
|
||||
sys.path.append('${EPREFIX}${lodir}/program')
|
||||
os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
|
||||
EOF
|
||||
sed -e "/^import sys/d" -e "/^import os/d" \
|
||||
-i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
|
||||
cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
|
||||
cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
|
||||
|
||||
# more system pyuno mess
|
||||
sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
|
||||
-i "${D}"${lodir}/program/officehelper.py || die
|
||||
|
||||
python_optimize "${D}"${lodir}/program
|
||||
# link python bridge in site-packages, bug 667802
|
||||
local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
|
||||
for py in uno.py unohelper.py officehelper.py; do
|
||||
dosym8 -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
|
||||
while IFS="" read -d $'\0' -r pyc; do
|
||||
pyc=${pyc//*\/}
|
||||
dosym8 -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
|
||||
done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,109 @@
|
||||
From 2040a15d2a23ee4d16af8f2294e1593fa267e8d9 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksey Chernov <valexlin@gmail.com>
|
||||
Date: Thu, 9 Sep 2021 10:41:38 +0400
|
||||
Subject: [PATCH] Fixed wxWidgets build failure: compilation error due to API
|
||||
change. Introduced in c47cab44799475a48230312b8e97cd7a71edddb0.
|
||||
|
||||
---
|
||||
cr3wx/src/view.cpp | 82 ++++++++++++++++++++++++++++++++++------------
|
||||
1 file changed, 61 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/cr3wx/src/view.cpp b/cr3wx/src/view.cpp
|
||||
index df2a264f7f..2ee30f9421 100644
|
||||
--- a/cr3wx/src/view.cpp
|
||||
+++ b/cr3wx/src/view.cpp
|
||||
@@ -307,33 +307,73 @@ void cr3view::OnTimer(wxTimerEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
-void cr3view::Paint()
|
||||
+static bool getBatteryState(int& state, int& chargingConn, int& level)
|
||||
{
|
||||
- //printf("cr3view::Paint() \n");
|
||||
- int battery_state = -1;
|
||||
#ifdef _WIN32
|
||||
+ // update battery state
|
||||
SYSTEM_POWER_STATUS bstatus;
|
||||
BOOL pow = GetSystemPowerStatus(&bstatus);
|
||||
- if (bstatus.BatteryFlag & 128)
|
||||
- pow = FALSE;
|
||||
- if (bstatus.ACLineStatus!=0 || bstatus.BatteryLifePercent==255)
|
||||
- pow = FALSE;
|
||||
- if ( pow )
|
||||
- battery_state = bstatus.BatteryLifePercent;
|
||||
+ if (pow) {
|
||||
+ state = CR_BATTERY_STATE_DISCHARGING;
|
||||
+ if (bstatus.BatteryFlag & 128)
|
||||
+ state = CR_BATTERY_STATE_NO_BATTERY; // no system battery
|
||||
+ else if (bstatus.BatteryFlag & 8)
|
||||
+ state = CR_BATTERY_STATE_CHARGING; // charging
|
||||
+ chargingConn = CR_BATTERY_CHARGER_NO;
|
||||
+ if (bstatus.ACLineStatus==1)
|
||||
+ chargingConn = CR_BATTERY_CHARGER_AC; // AC power charging connected
|
||||
+ if (bstatus.BatteryLifePercent>=0 && bstatus.BatteryLifePercent<=100)
|
||||
+ level = bstatus.BatteryLifePercent;
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
#else
|
||||
- if ( ::wxGetPowerType() == wxPOWER_BATTERY ) {
|
||||
- int n = ::wxGetBatteryState();
|
||||
- if ( n == wxBATTERY_NORMAL_STATE )
|
||||
- battery_state = 100;
|
||||
- else if ( n == wxBATTERY_LOW_STATE )
|
||||
- battery_state = 50;
|
||||
- else if ( n == wxBATTERY_CRITICAL_STATE )
|
||||
- battery_state = 0;
|
||||
- else if ( n == wxBATTERY_SHUTDOWN_STATE )
|
||||
- battery_state = 0;
|
||||
- };
|
||||
+ wxPowerType wxpwrtype = wxGetPowerType();
|
||||
+ switch (wxpwrtype) {
|
||||
+ case wxPOWER_SOCKET:
|
||||
+ state = CR_BATTERY_STATE_CHARGING;
|
||||
+ chargingConn = CR_BATTERY_CHARGER_AC;
|
||||
+ break;
|
||||
+ case wxPOWER_BATTERY:
|
||||
+ state = CR_BATTERY_STATE_DISCHARGING;
|
||||
+ chargingConn = CR_BATTERY_CHARGER_NO;
|
||||
+ break;
|
||||
+ default:
|
||||
+ state = CR_BATTERY_STATE_NO_BATTERY;
|
||||
+ chargingConn = CR_BATTERY_CHARGER_NO;
|
||||
+ break;
|
||||
+ }
|
||||
+ wxBatteryState wxbatstate = wxGetBatteryState();
|
||||
+ switch (wxbatstate) {
|
||||
+ case wxBATTERY_NORMAL_STATE:
|
||||
+ level = 100;
|
||||
+ break;
|
||||
+ case wxBATTERY_LOW_STATE:
|
||||
+ level = 50;
|
||||
+ break;
|
||||
+ case wxBATTERY_CRITICAL_STATE:
|
||||
+ level = 5;
|
||||
+ break;
|
||||
+ case wxBATTERY_SHUTDOWN_STATE:
|
||||
+ level = 0;
|
||||
+ break;
|
||||
+ default:
|
||||
+ level = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+ return true;
|
||||
#endif
|
||||
- getDocView()->setBatteryState( battery_state );
|
||||
+}
|
||||
+
|
||||
+void cr3view::Paint()
|
||||
+{
|
||||
+ //printf("cr3view::Paint() \n");
|
||||
+ int battery_state;
|
||||
+ int charging_conn;
|
||||
+ int charge_level;
|
||||
+ if (getBatteryState(battery_state, charging_conn, charge_level)) {
|
||||
+ getDocView()->setBatteryState( battery_state, charging_conn, charge_level );
|
||||
+ }
|
||||
//_docview->Draw();
|
||||
UpdateScrollBar();
|
||||
Refresh( FALSE );
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311"
|
||||
BDEPEND="
|
||||
prefix? ( dev-util/patchelf )
|
||||
verify-sig? ( app-crypt/openpgp-keys-rust )
|
||||
"
|
||||
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/.*
|
||||
opt/${P}/lib/.*.so
|
||||
opt/${P}/libexec/.*
|
||||
opt/${P}/lib/rustlib/.*/bin/.*
|
||||
opt/${P}/lib/rustlib/.*/lib/.*
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
verify-sig_src_unpack
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
patchelf_for_bin() {
|
||||
local filetype=$(file -b ${1})
|
||||
if [[ ${filetype} == *ELF*interpreter* ]]; then
|
||||
einfo "${1}'s interpreter changed"
|
||||
patchelf ${1} --set-interpreter ${2} || die
|
||||
elif [[ ${filetype} == *script* ]]; then
|
||||
hprefixify ${1}
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi; then
|
||||
|
||||
# start native abi install
|
||||
pushd "${S}" >/dev/null || die
|
||||
local analysis std
|
||||
analysis="$(grep 'analysis' ./components)"
|
||||
std="$(grep 'std' ./components)"
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rls && components="${components},rls-preview,${analysis}"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/opt/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
if use prefix; then
|
||||
local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
|
||||
ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
|
||||
find "${ED}/opt/${P}/bin" -type f -print0 | \
|
||||
while IFS= read -r -d '' filename; do
|
||||
patchelf_for_bin ${filename} ${interpreter} \; || die
|
||||
done
|
||||
eend $?
|
||||
fi
|
||||
|
||||
local symlinks=(
|
||||
cargo
|
||||
rustc
|
||||
rustdoc
|
||||
rust-gdb
|
||||
rust-gdbgui
|
||||
rust-lldb
|
||||
)
|
||||
|
||||
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||
use rls && symlinks+=( rls )
|
||||
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||
|
||||
einfo "installing eselect-rust symlinks and paths"
|
||||
local i
|
||||
for i in "${symlinks[@]}"; do
|
||||
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||
# so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
|
||||
local ver_i="${i}-bin-${PV}"
|
||||
ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
|
||||
dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||
done
|
||||
|
||||
# symlinks to switch components to active rust in eselect
|
||||
dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
|
||||
dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
|
||||
dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
|
||||
dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
|
||||
|
||||
# musl logic can be improved a bit, but fine as is for now
|
||||
cat <<-_EOF_ > "${T}/50${P}"
|
||||
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
_EOF_
|
||||
doenvd "${T}/50${P}"
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||
/usr/bin/cargo
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
/usr/lib/rustlib
|
||||
/usr/lib/rust/lib
|
||||
/usr/lib/rust/man
|
||||
/usr/share/doc/rust
|
||||
_EOF_
|
||||
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
popd >/dev/null || die
|
||||
#end native abi install
|
||||
|
||||
else
|
||||
local rust_target
|
||||
rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
|
||||
dodir "/opt/${P}/lib/rustlib"
|
||||
cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
|
||||
"${ED}/opt/${P}/lib/rustlib" || die
|
||||
fi
|
||||
|
||||
# BUG: installs x86_64 binary on other arches
|
||||
rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 16 Sep 2018 16:38:48 +0000
|
||||
Subject: [PATCH 12/15] Ignore broken and non-applicable tests
|
||||
|
||||
c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
|
||||
env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
|
||||
long-linker-command-lines: takes >10 minutes to run (but still passes)
|
||||
simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
|
||||
sparc-struct-abi: no sparc target
|
||||
sysroot-crates-are-unstable: can't run rustc without RPATH
|
||||
---
|
||||
src/test/codegen/sparc-struct-abi.rs | 1 +
|
||||
src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
|
||||
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
|
||||
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
|
||||
src/test/ui/env-funky-keys.rs | 1 +
|
||||
6 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
|
||||
index 78e5b14a212..6f93e93286b 100644
|
||||
--- a/src/test/codegen/sparc-struct-abi.rs
|
||||
+++ b/src/test/codegen/sparc-struct-abi.rs
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// only-sparc64
|
||||
// compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
|
||||
// needs-llvm-components: sparc
|
||||
+// ignore-test
|
||||
#![feature(no_core, lang_items)]
|
||||
#![no_core]
|
||||
|
||||
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
index f124ca2ab61..363b18f0985 100644
|
||||
--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
@@ -1,3 +1,5 @@
|
||||
+# ignore-aarch64
|
||||
+
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
index 5876fbc94bc..5f167ece1a2 100644
|
||||
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
@@ -1,3 +1,5 @@
|
||||
+# ignore-test
|
||||
+
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
index 9e770706857..6d92ec5cec8 100644
|
||||
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
@@ -1,1 +1,3 @@
|
||||
+# ignore-test
|
||||
+
|
||||
all:
|
||||
python2.7 test.py
|
||||
diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
|
||||
index c5c824ac58d..f3fe047a79c 100644
|
||||
--- a/src/test/ui/env-funky-keys.rs
|
||||
+++ b/src/test/ui/env-funky-keys.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// run-pass
|
||||
// Ignore this test on Android, because it segfaults there.
|
||||
|
||||
+// ignore-test
|
||||
// ignore-android
|
||||
// ignore-windows
|
||||
// ignore-cloudabi no execve
|
||||
--
|
||||
2.24.1
|
||||
|
@ -0,0 +1,678 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
|
||||
multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="
|
||||
https://static.rust-lang.org/dist/${SRC}
|
||||
verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
|
||||
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
|
||||
"
|
||||
|
||||
# keep in sync with llvm ebuild of the same version as bundled one.
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# List all the working slots in LLVM_VALID_SLOTS, newest first.
|
||||
LLVM_VALID_SLOTS=( 12 )
|
||||
LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
|
||||
|
||||
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
|
||||
# (-) usedep needed because we may build with older llvm without that target
|
||||
LLVM_DEPEND="|| ( "
|
||||
for _s in ${LLVM_VALID_SLOTS[@]}; do
|
||||
LLVM_DEPEND+=" ( "
|
||||
for _x in ${ALL_LLVM_TARGETS[@]}; do
|
||||
LLVM_DEPEND+="
|
||||
${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
|
||||
done
|
||||
LLVM_DEPEND+=" )"
|
||||
done
|
||||
unset _s _x
|
||||
LLVM_DEPEND+=" )
|
||||
<sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
|
||||
wasm? ( sys-devel/lld )
|
||||
"
|
||||
|
||||
# to bootstrap we need at least exactly previous version, or same.
|
||||
# most of the time previous versions fail to bootstrap with newer
|
||||
# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
|
||||
# but it fails to bootstrap with 1.48.x
|
||||
# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
|
||||
RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
|
||||
RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
|
||||
BOOTSTRAP_DEPEND="||
|
||||
(
|
||||
=dev-lang/rust-"${RUST_DEP_PREV}"
|
||||
=dev-lang/rust-bin-"${RUST_DEP_PREV}"
|
||||
=dev-lang/rust-"${RUST_DEP_CURR}"
|
||||
=dev-lang/rust-bin-"${RUST_DEP_CURR}"
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="${PYTHON_DEPS}
|
||||
app-eselect/eselect-rust
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
|
||||
!system-llvm? (
|
||||
>=dev-util/cmake-3.13.4
|
||||
dev-util/ninja
|
||||
)
|
||||
test? ( sys-devel/gdb )
|
||||
verify-sig? ( app-crypt/openpgp-keys-rust )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
>=app-arch/xz-utils-5.2
|
||||
net-misc/curl:=[http2,ssl]
|
||||
sys-libs/zlib:=
|
||||
dev-libs/openssl:0=
|
||||
elibc_musl? ( sys-libs/libunwind:= )
|
||||
system-llvm? ( ${LLVM_DEPEND} )
|
||||
"
|
||||
|
||||
# we need to block older versions due to layout changes.
|
||||
RDEPEND="${DEPEND}
|
||||
app-eselect/eselect-rust
|
||||
!<dev-lang/rust-1.47.0-r1
|
||||
!<dev-lang/rust-bin-1.47.0-r1
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
miri? ( nightly )
|
||||
parallel-compiler? ( nightly )
|
||||
test? ( ${ALL_LLVM_TARGETS[*]} )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
|
||||
# we don't use cmake.eclass, but can get a warnings
|
||||
CMAKE_WARN_UNUSED_CLI=no
|
||||
|
||||
QA_FLAGS_IGNORED="
|
||||
usr/lib/${PN}/${PV}/bin/.*
|
||||
usr/lib/${PN}/${PV}/libexec/.*
|
||||
usr/lib/${PN}/${PV}/lib/lib.*.so
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||
"
|
||||
|
||||
QA_SONAME="
|
||||
usr/lib/${PN}/${PV}/lib/lib.*.so.*
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||
"
|
||||
|
||||
# causes double bootstrap
|
||||
RESTRICT="test"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
|
||||
"${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
|
||||
"${FILESDIR}"/1.54.0-parallel-miri.patch # https://github.com/rust-lang/miri/pull/1863
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "${1}" true false
|
||||
}
|
||||
|
||||
bootstrap_rust_version_check() {
|
||||
# never call from pkg_pretend. eselect-rust may be not installed yet.
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
|
||||
local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
|
||||
local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
|
||||
rustc_version=${rustc_version[0]#rust-bin-}
|
||||
rustc_version=${rustc_version#rust-}
|
||||
|
||||
[[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
|
||||
|
||||
if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
|
||||
eerror "Rust >=${rustc_wanted} is required"
|
||||
eerror "please run 'eselect rust' and set correct rust version"
|
||||
die "selected rust version is too old"
|
||||
elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
|
||||
eerror "Rust <${rustc_toonew} is required"
|
||||
eerror "please run 'eselect rust' and set correct rust version"
|
||||
die "selected rust version is too new"
|
||||
else
|
||||
einfo "Using rust ${rustc_version} to build"
|
||||
fi
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
local M=4096
|
||||
# multiply requirements by 1.5 if we are doing x86-multilib
|
||||
if use amd64; then
|
||||
M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
|
||||
fi
|
||||
M=$(( $(usex clippy 128 0) + ${M} ))
|
||||
M=$(( $(usex miri 128 0) + ${M} ))
|
||||
M=$(( $(usex rls 512 0) + ${M} ))
|
||||
M=$(( $(usex rustfmt 256 0) + ${M} ))
|
||||
# add 2G if we compile llvm and 256M per llvm_target
|
||||
if ! use system-llvm; then
|
||||
M=$(( 2048 + ${M} ))
|
||||
local ltarget
|
||||
for ltarget in ${ALL_LLVM_TARGETS[@]}; do
|
||||
M=$(( $(usex ${ltarget} 256 0) + ${M} ))
|
||||
done
|
||||
fi
|
||||
M=$(( $(usex wasm 256 0) + ${M} ))
|
||||
M=$(( $(usex debug 2 1) * ${M} ))
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
M=$(( 15 * ${M} / 10 ))
|
||||
fi
|
||||
eshopts_pop
|
||||
M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
|
||||
M=$(( $(usex doc 256 0) + ${M} ))
|
||||
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
|
||||
}
|
||||
|
||||
llvm_check_deps() {
|
||||
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
|
||||
export LIBGIT2_NO_PKG_CONFIG=1 #749381
|
||||
|
||||
use system-bootstrap && bootstrap_rust_version_check
|
||||
|
||||
if use system-llvm; then
|
||||
llvm_pkg_setup
|
||||
|
||||
local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
export LLVM_LINK_SHARED=1
|
||||
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if ! use system-bootstrap; then
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
|
||||
--without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
if use system-llvm; then
|
||||
# un-hardcode rust-lld linker for this target
|
||||
# https://bugs.gentoo.org/715348
|
||||
sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
|
||||
fi
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use miri; then
|
||||
tools="\"miri\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root
|
||||
if use system-bootstrap; then
|
||||
local printsysroot
|
||||
printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
|
||||
rust_stage0_root="${printsysroot}"
|
||||
else
|
||||
rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
fi
|
||||
# in case of prefix it will be already prefixed, as --print sysroot returns full path
|
||||
[[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- _EOF_ > "${S}"/config.toml
|
||||
changelog-seen = 2
|
||||
[llvm]
|
||||
download-ci-llvm = false
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
ninja = true
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build-stage = 2
|
||||
test-stage = 2
|
||||
doc-stage = 2
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
rustfmt = "${rust_stage0_root}/bin/rustfmt"
|
||||
docs = $(toml_usex doc)
|
||||
compiler-docs = false
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = true
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
cargo-native-static = false
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
|
||||
sysconfdir = "etc"
|
||||
docdir = "share/doc/rust"
|
||||
bindir = "bin"
|
||||
libdir = "lib"
|
||||
mandir = "share/man"
|
||||
[rust]
|
||||
# https://github.com/rust-lang/rust/issues/54872
|
||||
codegen-units-std = 1
|
||||
optimize = true
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
debug-assertions-std = $(toml_usex debug)
|
||||
debuginfo-level = $(usex debug 2 0)
|
||||
debuginfo-level-rustc = $(usex debug 2 0)
|
||||
debuginfo-level-std = $(usex debug 2 0)
|
||||
debuginfo-level-tools = $(usex debug 2 0)
|
||||
debuginfo-level-tests = 0
|
||||
backtrace = true
|
||||
incremental = false
|
||||
default-linker = "$(tc-getCC)"
|
||||
parallel-compiler = $(toml_usex parallel-compiler)
|
||||
channel = "$(usex nightly nightly stable)"
|
||||
description = "gentoo"
|
||||
rpath = false
|
||||
verbose-tests = true
|
||||
optimize-tests = $(toml_usex !debug)
|
||||
codegen-tests = true
|
||||
dist-src = false
|
||||
remap-debuginfo = true
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
# only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
|
||||
# https://github.com/rust-lang/rust/issues/74976
|
||||
# https://github.com/rust-lang/rust/issues/76526
|
||||
deny-warnings = $(usex wasm $(usex doc false true) true)
|
||||
backtrace-on-ice = true
|
||||
jemalloc = false
|
||||
[dist]
|
||||
src-tarball = false
|
||||
compression-formats = ["gz"]
|
||||
_EOF_
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
_EOF_
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
_EOF_
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
_EOF_
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
_EOF_
|
||||
fi
|
||||
done
|
||||
if use wasm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
|
||||
# experimental cross support
|
||||
# discussion: https://bugs.gentoo.org/679878
|
||||
# TODO: c*flags, clang, system-llvm, cargo.eclass target support
|
||||
# it would be much better if we could split out stdlib
|
||||
# complilation to separate ebuild and abuse CATEGORY to
|
||||
# just install to /usr/lib/rustlib/<target>
|
||||
|
||||
# extra targets defined as a bash array
|
||||
# spec format: <LLVM target>:<rust-target>:<CTARGET>
|
||||
# best place would be /etc/portage/env/dev-lang/rust
|
||||
# Example:
|
||||
# RUST_CROSS_TARGETS=(
|
||||
# "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
|
||||
# )
|
||||
# no extra hand holding is done, no target transformations, all
|
||||
# values are passed as-is with just basic checks, so it's up to user to supply correct values
|
||||
# valid rust targets can be obtained with
|
||||
# rustc --print target-list
|
||||
# matching cross toolchain has to be installed
|
||||
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
|
||||
# only gcc toolchains installed with crossdev are checked for now.
|
||||
|
||||
# BUG: we can't pass host flags to cross compiler, so just filter for now
|
||||
# BUG: this should be more fine-grained.
|
||||
filter-flags '-mcpu=*' '-march=*' '-mtune=*'
|
||||
|
||||
local cross_target_spec
|
||||
for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
|
||||
# extracts first element form <LLVM target>:<rust-target>:<CTARGET>
|
||||
local cross_llvm_target="${cross_target_spec%%:*}"
|
||||
# extracts toolchain triples, <rust-target>:<CTARGET>
|
||||
local cross_triples="${cross_target_spec#*:}"
|
||||
# extracts first element after before : separator
|
||||
local cross_rust_target="${cross_triples%%:*}"
|
||||
# extracts last element after : separator
|
||||
local cross_toolchain="${cross_triples##*:}"
|
||||
use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
|
||||
command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.${cross_rust_target}]
|
||||
cc = "${cross_toolchain}-gcc"
|
||||
cxx = "${cross_toolchain}-g++"
|
||||
linker = "${cross_toolchain}-gcc"
|
||||
ar = "${cross_toolchain}-ar"
|
||||
_EOF_
|
||||
if use system-llvm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
_EOF_
|
||||
fi
|
||||
if [[ "${cross_toolchain}" == *-musl* ]]; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# append cross target to "normal" target list
|
||||
# example 'target = ["powerpc64le-unknown-linux-gnu"]'
|
||||
# becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
|
||||
|
||||
rust_targets="${rust_targets},\"${cross_rust_target}\""
|
||||
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
|
||||
|
||||
ewarn
|
||||
ewarn "Enabled ${cross_rust_target} rust target"
|
||||
ewarn "Using ${cross_toolchain} cross toolchain"
|
||||
ewarn
|
||||
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
|
||||
ewarn "'sys-devel/binutils[multitarget]' is not installed"
|
||||
ewarn "'strip' will be unable to strip cross libraries"
|
||||
ewarn "cross targets will be installed with full debug information"
|
||||
ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
|
||||
ewarn
|
||||
ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
|
||||
ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
|
||||
ewarn
|
||||
fi
|
||||
done
|
||||
fi # I_KNOW_WHAT_I_AM_DOING_CROSS
|
||||
|
||||
einfo "Rust configured with the following flags:"
|
||||
echo
|
||||
echo RUSTFLAGS="${RUSTFLAGS:-}"
|
||||
echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
|
||||
echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
|
||||
env | grep "CARGO_TARGET_.*_RUSTFLAGS="
|
||||
cat "${S}"/config.env || die
|
||||
echo
|
||||
einfo "config.toml contents:"
|
||||
cat "${S}"/config.toml || die
|
||||
echo
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# we need \n IFS to have config.env with spaces loaded properly. #734018
|
||||
(
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||
)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||
|
||||
# those are basic and codegen tests.
|
||||
local tests=(
|
||||
codegen
|
||||
codegen-units
|
||||
compile-fail
|
||||
incremental
|
||||
mir-opt
|
||||
pretty
|
||||
run-make
|
||||
)
|
||||
|
||||
# fails if llvm is not built with ALL targets.
|
||||
# and known to fail with system llvm sometimes.
|
||||
use system-llvm || tests+=( assembly )
|
||||
|
||||
# fragile/expensive/less important tests
|
||||
# or tests that require extra builds
|
||||
# TODO: instead of skipping, just make some nonfatal.
|
||||
if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
|
||||
tests+=(
|
||||
rustdoc
|
||||
rustdoc-js
|
||||
rustdoc-js-std
|
||||
rustdoc-ui
|
||||
run-make-fulldeps
|
||||
ui
|
||||
ui-fulldeps
|
||||
)
|
||||
fi
|
||||
|
||||
local i failed=()
|
||||
einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
|
||||
for i in "${tests[@]}"; do
|
||||
local t="src/test/${i}"
|
||||
einfo "rust_src_test: running ${t}"
|
||||
if ! (
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
|
||||
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
|
||||
-j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
|
||||
)
|
||||
then
|
||||
failed+=( "${t}" )
|
||||
eerror "rust_src_test: ${t} failed"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#failed[@]} -ne 0 ]]; then
|
||||
eerror "rust_src_test: failure summary: ${failed[@]}"
|
||||
die "aborting due to test failures"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
(
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) DESTDIR="${D}" \
|
||||
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||
)
|
||||
|
||||
# bug #689562, #689160
|
||||
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
|
||||
rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
|
||||
newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
|
||||
|
||||
local symlinks=(
|
||||
cargo
|
||||
rustc
|
||||
rustdoc
|
||||
rust-gdb
|
||||
rust-gdbgui
|
||||
rust-lldb
|
||||
)
|
||||
|
||||
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||
use miri && symlinks+=( miri cargo-miri )
|
||||
use rls && symlinks+=( rls )
|
||||
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||
|
||||
einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
|
||||
local i
|
||||
for i in "${symlinks[@]}"; do
|
||||
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||
# so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
|
||||
# need to fix eselect-rust to remove this hack.
|
||||
local ver_i="${i}-${PV}"
|
||||
if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
|
||||
einfo "Installing ${i} symlink"
|
||||
ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
|
||||
else
|
||||
ewarn "${i} symlink requested, but source file not found"
|
||||
ewarn "please report this"
|
||||
fi
|
||||
dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||
done
|
||||
|
||||
# symlinks to switch components to active rust in eselect
|
||||
dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
|
||||
dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
|
||||
dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
|
||||
dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
|
||||
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
|
||||
|
||||
newenvd - "50${P}" <<-_EOF_
|
||||
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
_EOF_
|
||||
|
||||
rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
|
||||
rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||
/usr/bin/cargo
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
/usr/lib/rustlib
|
||||
/usr/lib/rust/lib
|
||||
/usr/lib/rust/libexec
|
||||
/usr/lib/rust/man
|
||||
/usr/share/doc/rust
|
||||
_EOF_
|
||||
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use miri; then
|
||||
echo /usr/bin/miri >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update
|
||||
|
||||
if has_version sys-devel/gdb || has_version dev-util/lldb; then
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
fi
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST glib-2.68.2.tar.xz 4944192 BLAKE2B d35489dcfe9d57d8bd6ecf4f893b7c8e93a5b8108765791071fc811598d1f41287e03d95f20591d50d51a78db34f11833cc7970b1bf29299385357a14977ba0b SHA512 74d481552629cab67d22f8a440a7263a4e4b83adb6f3b772d368e255c17321b206aafd3af4653e5efbb2c3c14ca67d35f453728cbc5cd68728275d0b56789019
|
||||
DIST glib-2.68.3.tar.xz 4945236 BLAKE2B 6086b7490f418cb98119ab25670766e3a84de81fd180dbc6e8f929d8f8ab748b0ae7ad6a85f5419ab3c00589c3afba95972d8b4541b310acdf6b6dc9b460a07d SHA512 fb120105c4cb582491a53a0e4c61fe4bdd1f94b279bb7c362afd591369ede50a196c706375564ededf3550d4062a285b038e20b605e6d5dfe36f5d208f4bad3f
|
||||
DIST glib-2.68.4.tar.xz 4945212 BLAKE2B 2135e2bea778714494b9f3ef140f20639f95dd347c9025e5663ca8f493092cd2723aba6520bb4f85687491794353685eccacc4dd34339962e5cb717e6130c025 SHA512 be17d79b41d17fd2b144184d6e793180667b7d9ba299215ea6d4948b4c05f6d888b4868c48643e25935a34ee2f85ee1d03e53325151b7a61819437cbd3c84b10
|
||||
DIST glib-2.69.3.tar.xz 4806532 BLAKE2B 379d41f8d29fe86e53e1def5d5574b3c556c5e2fb94aa4264f8380acc5745e0a3166cf121243187250cfc89f71e1a469ed57c511019bacbeaf71d56277d1426d SHA512 45ab633ea63b8ca947df4e591ac92fcdad3124a4ad11c5a47ef0d829573f664ff671ca413ea644e76ec97ca757ff305d8493cac7ad1293720a538f00caa3da8e
|
||||
|
@ -0,0 +1,282 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="The GLib library of C routines"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="2"
|
||||
IUSE="dbus debug +elf elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||
# other platforms is not that useful so exclude the dependency in this case.
|
||||
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
|
||||
# these are used by GIO, which glib[static-libs] consumers don't really seem
|
||||
# to need at all, thus not imposing the deps for now and once some consumers
|
||||
# are actually found to static link libgio-2.0.a, we can revisit and either add
|
||||
# them or just put the (build) deps in that rare consumer instead of recursive
|
||||
# RDEPEND here (due to lack of recursive DEPEND).
|
||||
RDEPEND="
|
||||
!<dev-util/gdbus-codegen-${PV}
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
|
||||
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
|
||||
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
|
||||
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
|
||||
elf? ( virtual/libelf:0= )
|
||||
fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
|
||||
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# libxml2 used for optional tests that get automatically skipped
|
||||
BDEPEND="
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
>=sys-devel/gettext-0.19.8
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.33
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5 )
|
||||
systemtap? ( >=dev-util/systemtap-1.3 )
|
||||
${PYTHON_DEPS}
|
||||
test? ( >=sys-apps/dbus-1.2.14 )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
|
||||
|
||||
PDEPEND="
|
||||
dbus? ( gnome-base/dconf )
|
||||
mime? ( x11-misc/shared-mime-info )
|
||||
"
|
||||
# shared-mime-info needed for gio/xdgmime, bug #409481
|
||||
# dconf is needed to be able to save settings, bug #498436
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/gio-querymodules$(get_exeext)
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use kernel_linux ; then
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
if use test ; then
|
||||
CONFIG_CHECK="~IPV6"
|
||||
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
|
||||
fi
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use test; then
|
||||
# TODO: Review the test exclusions, especially now with meson
|
||||
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
|
||||
if ! has_version dev-util/desktop-file-utils ; then
|
||||
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
|
||||
ewarn "think on installing it to get these tests run."
|
||||
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
|
||||
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
|
||||
fi
|
||||
|
||||
# gdesktopappinfo requires existing terminal (gnome-terminal or any
|
||||
# other), falling back to xterm if one doesn't exist
|
||||
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
|
||||
# ewarn "Some tests will be skipped due to missing terminal program"
|
||||
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
|
||||
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
|
||||
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
|
||||
# desktop-app-info/launch* might fail similarly
|
||||
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
|
||||
#fi
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
|
||||
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
|
||||
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
|
||||
|
||||
ewarn "Tests for search-utils have been skipped"
|
||||
sed -i -e "/search-utils/d" glib/tests/meson.build || die
|
||||
|
||||
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
|
||||
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
|
||||
else
|
||||
# Don't build tests, also prevents extra deps, bug #512022
|
||||
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
|
||||
fi
|
||||
|
||||
# Don't build fuzzing binaries - not used
|
||||
sed -i -e '/subdir.*fuzzing/d' meson.build || die
|
||||
|
||||
# gdbus-codegen is a separate package
|
||||
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
|
||||
|
||||
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
|
||||
sed -i -e '/install_dir/d' gio/tests/meson.build || die
|
||||
|
||||
cat > "${T}/glib-test-ld-wrapper" <<-EOF
|
||||
#!/usr/bin/env sh
|
||||
exec \${LD:-ld} "\$@"
|
||||
EOF
|
||||
chmod a+x "${T}/glib-test-ld-wrapper" || die
|
||||
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
|
||||
|
||||
xdg_src_prepare
|
||||
gnome2_environment_reset
|
||||
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
if use debug; then
|
||||
append-cflags -DG_ENABLE_DEBUG
|
||||
else
|
||||
append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
|
||||
fi
|
||||
|
||||
# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
|
||||
#if tc-is-cross-compiler ; then
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
|
||||
# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
|
||||
#case ${CHOST} in
|
||||
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
|
||||
#*) export glib_cv_stack_grows=no ;;
|
||||
#esac
|
||||
#fi
|
||||
|
||||
local emesonargs=(
|
||||
-Ddefault_library=$(usex static-libs both shared)
|
||||
$(meson_feature selinux)
|
||||
$(meson_use xattr)
|
||||
-Dlibmount=enabled # only used if host_system == 'linux'
|
||||
-Dman=true
|
||||
$(meson_use systemtap dtrace)
|
||||
$(meson_use systemtap)
|
||||
$(meson_feature sysprof)
|
||||
$(meson_native_use_bool gtk-doc gtk_doc)
|
||||
$(meson_use fam)
|
||||
$(meson_use test tests)
|
||||
-Dinstalled_tests=false
|
||||
-Dnls=enabled
|
||||
-Doss_fuzz=disabled
|
||||
$(meson_native_use_feature elf libelf)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
export XDG_CONFIG_DIRS=/etc/xdg
|
||||
export XDG_DATA_DIRS=/usr/local/share:/usr/share
|
||||
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
|
||||
export LC_TIME=C # bug #411967
|
||||
unset GSETTINGS_BACKEND # bug #596380
|
||||
python_setup
|
||||
|
||||
# Related test is a bit nitpicking
|
||||
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
|
||||
meson_src_test --timeout-multiplier 2 --no-suite flaky
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
meson_src_install
|
||||
keepdir /usr/$(get_libdir)/gio/modules
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# These are installed by dev-util/glib-utils
|
||||
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
|
||||
rm "${ED}/usr/bin/glib-genmarshal" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
|
||||
rm "${ED}/usr/bin/glib-mkenums" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
|
||||
rm "${ED}/usr/bin/gtester-report" || die
|
||||
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
|
||||
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
|
||||
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
|
||||
# Make gschemas.compiled belong to glib alone
|
||||
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"/${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
|
||||
multilib_pkg_preinst() {
|
||||
# Make giomodule.cache belong to glib alone
|
||||
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
|
||||
# file due to inability to create it and GIO might not look at any of the modules there
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_preinst
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
# glib installs no schemas itself, but we force update for fresh install in case
|
||||
# something has dropped in a schemas file without direct glib dep; and for upgrades
|
||||
# in case the compiled schema format could have changed
|
||||
gnome2_schemas_update
|
||||
|
||||
multilib_pkg_postinst() {
|
||||
gnome2_giomodule_cache_update \
|
||||
|| die "Update GIO modules cache failed (for ${ABI})"
|
||||
}
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
else
|
||||
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
|
||||
ewarn "You might want to run gio-querymodules manually on the target for"
|
||||
ewarn "your final image for performance reasons and re-run it when packages"
|
||||
ewarn "installing GIO modules get upgraded or added to the image."
|
||||
fi
|
||||
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "$v" "-lt" "2.63.6"; then
|
||||
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
|
||||
ewarn "to restart your session for \"Open With\" dialogs to work."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
|
||||
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||
multilib_pkg_postrm() {
|
||||
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
|
||||
}
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
|
||||
fi
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST leatherman-1.12.5.tar.gz 818066 BLAKE2B 9d30fb224d3f4389f398294712dc85af782eeff877dd0a214fc60ee67d4a70467c1d32255cf8814f0cfc5428c660a315c24a9becdb1aa05f4d5c43ede8552af7 SHA512 dad1ee67f98a4cd12d9c6f022ae2b8c748e4c081918744030191d7c33f84983691f6bcfba3ddf5c0e5b4c36109ebd757325d6e42d88c74caaff942e6603d333e
|
||||
DIST leatherman-1.12.6.tar.gz 818106 BLAKE2B 056ea52c355cf178e16be03f2a4fb54bf0e6aece4045545e7e45c50664e711db2bb756f56c9cd33a6dfe1de24c4ecb98766d4bd158ffb7757958274ba38f76db SHA512 4e2a1ee2e7226224f115648a78bc3e4798ef0528ef32e01d1e7ebcbeb1250fd6ed88001c9db21456feeef3bd6ff201b0fd68fd5feb2671a66d13519dd3454386
|
||||
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="A C++ toolkit"
|
||||
HOMEPAGE="https://github.com/puppetlabs/leatherman"
|
||||
SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
IUSE="debug static-libs test"
|
||||
#RESTRICT="!test? ( test )"
|
||||
RESTRICT="test" # restricted til we don't need the shared_nowide patch
|
||||
KEYWORDS="amd64 ~arm ~hppa ppc ppc64 sparc x86"
|
||||
SLOT="0/${PV}"
|
||||
|
||||
RDEPEND="net-misc/curl"
|
||||
DEPEND=">=dev-libs/boost-1.73:=[nls]
|
||||
net-misc/curl
|
||||
>=sys-devel/gcc-4.8:*"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/portage-sandbox-test-fix.patch )
|
||||
PATCHES+=( "${FILESDIR}"/1.12.2-shared_nowide.patch )
|
||||
|
||||
src_prepare() {
|
||||
sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
|
||||
# vendored boost lib conflicts with boost 1.73 and above
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=None
|
||||
)
|
||||
if ! use static-libs; then
|
||||
mycmakeargs+=(
|
||||
-DLEATHERMAN_SHARED=ON
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DLEATHERMAN_SHARED=OFF
|
||||
)
|
||||
fi
|
||||
if use debug; then
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_BUILD_TYPE=Debug
|
||||
)
|
||||
fi
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
"${WORKDIR}/${P}"_build/bin/leatherman_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST plasma-wayland-protocols-1.3.0.tar.xz 39052 BLAKE2B 4024ac8c31c1620eb88b027084e9219368f570719cdb53ccff30594de7ebd5e0c01c8baf580d9c19115aa4632bc960fd8e44fd6bf97919e61faf24c1a43fbfdf SHA512 4c0466bbbe07399d4c54d4f04d7bee92826a6009c61fd7e6898c04d12e906c68fce25c520583225aef18737071b71b85814070a769a4f00e2a71b709568c1695
|
||||
DIST plasma-wayland-protocols-1.4.0.tar.xz 41160 BLAKE2B 1b308c948c2a568c20c7578255d3f70ebd648b921a2ea7a9ef7c8f72f8c91a6f3c4f987b10618c7eccda2c0d0ea28abef66ff78010923c08a83ad482e9524ef7 SHA512 4f38f440943fa129527455ff26aac9fd460f59fa332becbb338847eb68c01d8e0bbcf4abd1fb6c8fee996a8260c8b19543d206cfe3534ea8f929012079ecafb0
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_NONGUI=true
|
||||
KFMIN=5.82.0
|
||||
inherit ecm kde.org
|
||||
|
||||
DESCRIPTION="Plasma Specific Protocols for Wayland"
|
||||
HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} = release ]]; then
|
||||
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST bashate-2.0.0.tar.gz 29579 BLAKE2B 35cd827a9b5846d0319e6de8fc4bdffbace6b0f669e496aaffa12c44349cc5947a14baecf3b21c3bc4f424796f12b38e273f273f4862949bbae11dfc4b787464 SHA512 f6bacddcad1077d034df0de4313b13aa24ba4c60baa456912d1f40511830a58ca118a72193d4cac358963870e097bee4b0e2ae5a7f7aec42f0ba1663180eb401
|
||||
DIST bashate-2.1.0.tar.gz 34717 BLAKE2B 6d25c9fe35f976f5ef24d580cb7ee5a30eb79f68f05de2b6784b79ec93ae090ecbc2a2a09b0cabd4a6a997adef6ccb73f8f258044b0443fa231a403115591202 SHA512 6ef17da86113195d8dae093fddb7c17a365b4cd7816ef0ebb98ac6cda61f52526092f7da6c39c11fba9d709a124970e18e93e267f7d0fb38190e313208f66e98
|
||||
|
@ -0,0 +1,25 @@
|
||||
# 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 pep8 equivalent for bash scripts"
|
||||
HOMEPAGE="https://pypi.org/project/bashate/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
BDEPEND="
|
||||
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/fixtures[${PYTHON_USEDEP}]
|
||||
dev-python/testtools[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests unittest
|
@ -1,6 +1,3 @@
|
||||
DIST boto3-1.18.15.tar.gz 400374 BLAKE2B 2170319480578b9ac7b6c0da9e9a2f256ce907b8e53bc626bf26fd65f3336ec1974d6dd1917f601fe139e859f144fafd198b2578ffb9097508f09dd40cf82313 SHA512 f330d8249c9f5749770ba5809f3a4fb524f23fc0545b24182023a3b74f815608bdb9986b434d972a017aa7786b1319705e8702b041174275f84a0266bdb7b857
|
||||
DIST boto3-1.18.21.tar.gz 402611 BLAKE2B 39974c66ed5ad0697be6df04dbb141ce28e9a09863349f7adfcf756666d58ed02232453a9d86d46e62380c0b7f197a52b6869469309dff0c532e50a6bfc88403 SHA512 9920891b7be9d98c3a3d2f3065183532624e78fd2ff7a94d26594d2499cd5d17db0ac4ba6adf27f0e0f67fa836020dfac648babc144e4339a3dd717a1bd56ef7
|
||||
DIST boto3-1.18.28.tar.gz 406268 BLAKE2B 1379f65f46f287a541b098b3ae183bc7d0a6c40a58f6241d97ce39ffdde4f0655e755fe56890fda767b57c6cf7bd565d95745dbbeb80f42f729f561f6e8d9a82 SHA512 98c0d94dd4971f833677947dbfbdcd495a26fda60592130842cf2f22b8929c6f72f971294d9ddc4923372706bf7f37d3d4cb0ede32afc6955d8253c19ddab63f
|
||||
DIST boto3-1.18.35.tar.gz 410165 BLAKE2B 1d32525175ee490b1b4029fc9c682afd789f850cff2fae4f3a46789b45c0cb3aa696e3b8f1c218e4efa1215c2945e21b9b00ea4cb0414addbecc593a858ada2d SHA512 d2ee1fa7465833696bb528119cce1629aba891e9cf85afd5a4757d2b900b8ed90d8fbc4fdb6aa69ee4d62cef8e7f13c2a078ad4135a5835739d455fef8ffcac0
|
||||
DIST boto3-1.18.40.tar.gz 412065 BLAKE2B c548c6a1f5cfac3d304384b56882943201c45f3515bcd3804b90656966ba5ada0bfd5130fef34d8ad1466aad8a45166a9e35706d4ea53e9eb4ca1fcfae7172f4 SHA512 95e0c6ea5a9741657d801b1feab1ac813b653becba442d83673168d029635928e031386c7147ce28a9407acda4b593fc32b0a4f6ff1761f4b8d903b585220cd5
|
||||
DIST boto3-1.18.7.tar.gz 395640 BLAKE2B 6a9fa1dd55644806fe93271805f35fbe0c4cb65d1de08dded2d2f57fcefa96e32c4ebe7b60743c52c0898222bc06d33dbd03d304bbef327b88022450a7943e2c SHA512 20e7fedab7d061ab02f391e9baf36cb554e7f194f38d24d5a75f76715b2acf1b51b6adce5d8cf5a2a0d29df73566db00b8813a219d45a194d9a8eb93d0dab570
|
||||
DIST boto3-1.18.41.tar.gz 412328 BLAKE2B 134ec70addcb9748d255b86d9e12dd380094a6a82c1d79ea9772dcc59e6eaac95a4337a1980d4791f856bd9a4d84b2f0a79b00b8b7f5a2e57384eca95a4090f5 SHA512 a7d0093083a6dae9a9ee8ad183027adc5d1f4cde05f244f126af022c77df457c0810626fe9ce5baf6fbc9e8d9ec2f8086bf95587d4f80b63c47bf4ef210bf61a
|
||||
|
@ -1,57 +0,0 @@
|
||||
# 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}"
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# 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}"
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# 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}"
|
||||
}
|
@ -1,6 +1,3 @@
|
||||
DIST botocore-1.21.15.tar.gz 8012673 BLAKE2B cdd2b4128e67c85879e85f61265b10c1e5765eebf65333059af56a6a5b1d650a7612c4b569afde2396704015294e74b717c35d49c3e08396b2c603b7d47c632b SHA512 a5916ffa64568b2040d6f76571d9d716d50339fdaaed61f4ff7be92a5dac2c3f967280330fcbd3d6c2e1c1faf7bd6012ce75dd66ff26fde9d830d334a9d7c45a
|
||||
DIST botocore-1.21.21.tar.gz 8042971 BLAKE2B 888abb929e1d66c293bff9d3d25682590e0fce3173ca6e121b969d1ef92dd4bb3fd010f72ab4bed664ed6e2df94fd61a9211a3aad72742eb1d4ee2b192cb4f7d SHA512 f8f47c2a2ed07f90263fd5eefe593bf14e8bb2a8df599660f2c84c504a16eb1c370ff8edea0b809be34f1fe9c7e8a3d604b74689b9e16c0686e6ff7c640534a4
|
||||
DIST botocore-1.21.28.tar.gz 8079306 BLAKE2B 26dce445746a9da1b0cf62b622597396f9b4e735701f9260fd9863410b28b884e70e41b446b8349df39c81696b64632450f4ebb3e3f7865175e538f1b465898c SHA512 29534e51465bc7ac7b6f2e2c48472768c26caa5089f4c7f4a23cc2411fd55fde473388ad181a0b5a36650a6c1252ecb3e2b65e30510adc40f6edd6ce0c89f484
|
||||
DIST botocore-1.21.35.tar.gz 8122175 BLAKE2B 976ceaeb93a838337403b334e4ff4747e725cb473859031b86bcd6f87313a2c8e799a11f65f7e5efe5f4c063010fd55f4c012866be92db6e974c2293bf499a64 SHA512 7d94e35b027c01329eaf1b7d0f14f860359fdcebca0d0b842b87aeb5af61ee1fa5438f6d316b5d5b9a3f262fe8d24da5d0c6546679f3789ce09da17205aae162
|
||||
DIST botocore-1.21.40.tar.gz 8149052 BLAKE2B 0554e2b9caa08b7518f1b51b5a980d98926782f0d4d523fa5c40dc66ecdf2db75719a36a2bf320c8d473119030693e0d1ab6bc7ea34c0574de7488bff5d7e411 SHA512 5466e15f8c09f3b4df13aee951d65219be86ccf1c0e73ed17e50fb7e2418f4694409676804bf6cf3ca638419512d903708e0994cff1f8105a19f0e26f0cabc31
|
||||
DIST botocore-1.21.7.tar.gz 7977343 BLAKE2B 19c5bf5de40ab131585e30bb85486fcffc3428808811b312b33578174ce31a691f4f4d955462120f05d2aad2cd5e5772789704eee641760fb67099aa3cddc9b5 SHA512 db1bb36faa6857a1cc717e5d591954415bb948178ee2be90ab9c32c11b1fb45c5b5aff87dfacd907c2f11bc7cdd2cd4de2ee9c847fa8cda4e5f0814a828b1019
|
||||
DIST botocore-1.21.41.tar.gz 8152451 BLAKE2B e236a8f0f64bd18c138dc168c74cefe7af598ad72def9e1faeba222b07f01a65fb7f74627afe470f2894794fd3a617aaa1d789a983606de9329db58c5db2d975 SHA512 540848ccb054340f22c20930a3f867754accd15c6f084dd20ca97184d1c5e390d68f21272d68087b99ae6676d05cbc187e61c88dd0df09cc033e01f1ac1af0ac
|
||||
|
@ -1,59 +0,0 @@
|
||||
# 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,59 +0,0 @@
|
||||
# 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,59 +0,0 @@
|
||||
# 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 +1,2 @@
|
||||
DIST django-otp-1.0.6.gh.tar.gz 69023 BLAKE2B 82534fb666e27ab654b1587160fd9fd4600d1ecb57f5b506b383c3d7b36a13d6bbff39598603c7c3bc69edc871a6a3ad1aa2531a92ea921ab07798e7e4bb1316 SHA512 ff14a786bc8b3d22c8767fa78d676951c262389dfe00def981c79894d299f393ffc86510c33866482aa246ac1643238a3de5701bb76cf56aea5e3ba0a25cbb97
|
||||
DIST django-otp-1.1.0.gh.tar.gz 71399 BLAKE2B 826677582fff6102b3e65750c367607e9641aa629a59f064af7023774017f6e7817f36e51e0fada181fa84054545367689b8b499ef9625729c8434a903911876 SHA512 b23c0e72508c890f7a84b59b7827f093aeaad77e6df7c824894bc789282db6f8a26699c9a3ee9bf755eb8e13c6fe5a80fad263659be7528762a8cc29d4636e11
|
||||
|
@ -0,0 +1,35 @@
|
||||
# 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="Django framework adding two-factor authentication using one-time passwords"
|
||||
HOMEPAGE="https://github.com/django-otp/django-otp/"
|
||||
SRC_URI="
|
||||
https://github.com/django-otp/django-otp/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/django-2.2[${PYTHON_USEDEP}]"
|
||||
BDEPEND="
|
||||
test? (
|
||||
$(python_gen_impl_dep sqlite)
|
||||
dev-python/freezegun[${PYTHON_USEDEP}]
|
||||
dev-python/qrcode[${PYTHON_USEDEP}]
|
||||
${RDEPEND}
|
||||
)"
|
||||
|
||||
python_test() {
|
||||
local -x PYTHONPATH=test:${PYTHONPATH}
|
||||
local -x DJANGO_SETTINGS_MODULE=test_project.settings
|
||||
django-admin test -v 2 django_otp || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
# 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 minimal low-level HTTP client"
|
||||
HOMEPAGE="https://www.encode.io/httpcore/"
|
||||
SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
RDEPEND="
|
||||
=dev-python/anyio-3*[${PYTHON_USEDEP}]
|
||||
<dev-python/h11-0.13[${PYTHON_USEDEP}]
|
||||
<dev-python/hyper-h2-5[${PYTHON_USEDEP}]
|
||||
=dev-python/sniffio-1*[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
|
||||
dev-python/trustme[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
# trio is not in the tree, anyio is causing tons of test failures
|
||||
# (probably insisting on using trio)
|
||||
sed -i 's/^@pytest.mark.\(anyio\|trio\)/@pytest.mark.skip/' \
|
||||
tests/async_tests/test_*.py || die
|
||||
sed -i '/^import trio/d' tests/utils.py || die
|
||||
# pproxy is not in the tree, the associated fixture
|
||||
# must be disabled to prevent errors during test setup
|
||||
sed -i 's/def proxy_server().*/&\n pytest.skip()/' \
|
||||
tests/conftest.py || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local skipped_tests=(
|
||||
# Require Internet access or hypercorn (not in the tree)
|
||||
tests/test_threadsafety.py::test_threadsafe_basic
|
||||
tests/sync_tests/test_interfaces.py::test_http_request
|
||||
tests/sync_tests/test_interfaces.py::test_https_request
|
||||
tests/sync_tests/test_interfaces.py::test_http2_request
|
||||
tests/sync_tests/test_interfaces.py::test_closing_http_request
|
||||
tests/sync_tests/test_interfaces.py::test_connection_pool_get_connection_info
|
||||
tests/sync_tests/test_interfaces.py::test_max_keepalive_connections_handled_correctly
|
||||
tests/sync_tests/test_interfaces.py::test_explicit_backend_name
|
||||
tests/sync_tests/test_interfaces.py::test_connection_timeout_tcp
|
||||
tests/sync_tests/test_interfaces.py::test_broken_socket_detection_many_open_files
|
||||
tests/sync_tests/test_retries.py::test_no_retries
|
||||
tests/sync_tests/test_retries.py::test_retries_exceeded
|
||||
tests/sync_tests/test_retries.py::test_retries_enabled
|
||||
# Require hypercorn
|
||||
tests/sync_tests/test_interfaces.py::test_connection_timeout_uds
|
||||
)
|
||||
epytest ${skipped_tests[@]/#/--deselect }
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
PYTHON_REQ_USE="threads(+),sqlite"
|
||||
|
||||
inherit distutils-r1 multiprocessing optfeature
|
||||
|
||||
DESCRIPTION="A library for property based testing"
|
||||
HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/"
|
||||
SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python"
|
||||
|
||||
LICENSE="MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
|
||||
IUSE="cli"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
|
||||
cli? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/black[${PYTHON_USEDEP}]
|
||||
dev-python/click[${PYTHON_USEDEP}]
|
||||
' python3_{7..9})
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pexpect[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
!!<dev-python/typing-3.7.4.1
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
|
||||
python_prepare() {
|
||||
if ! use cli || ! has "${EPYTHON}" python3.{7..9}; then
|
||||
sed -i -e '/console_scripts/d' setup.py || die
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
epytest tests/cover tests/pytest tests/quality \
|
||||
-p no:pytest-describe \
|
||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "datetime support" dev-python/pytz
|
||||
optfeature "dateutil support" dev-python/python-dateutil
|
||||
optfeature "numpy support" dev-python/numpy
|
||||
optfeature "django support" dev-python/django dev-python/pytz
|
||||
optfeature "pandas support" dev-python/pandas
|
||||
optfeature "pytest support" dev-python/pytest
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue