diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2021-06-23 21:52:59 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2021-06-23 21:52:59 +0000 |
commit | 1ae2aa2c702dadc196b45d492abf026139c718d4 (patch) | |
tree | 9b178960200f3d3ae661ca737742251bb5abe117 | |
parent | 2021-06-23 21:36:31 UTC (diff) | |
parent | python-utils-r1.eclass: Remove _python_ln_rel (diff) | |
download | gentoo-1ae2aa2c702dadc196b45d492abf026139c718d4.tar.gz gentoo-1ae2aa2c702dadc196b45d492abf026139c718d4.tar.bz2 gentoo-1ae2aa2c702dadc196b45d492abf026139c718d4.zip |
Merge updates from master
-rw-r--r-- | app-office/gnumeric/Manifest | 1 | ||||
-rw-r--r-- | app-office/gnumeric/gnumeric-1.12.50.ebuild | 93 | ||||
-rw-r--r-- | dev-libs/link-grammar/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/link-grammar/link-grammar-5.9.1.ebuild | 123 | ||||
-rw-r--r-- | eclass/distutils-r1.eclass | 80 | ||||
-rw-r--r-- | eclass/multibuild.eclass | 8 | ||||
-rw-r--r-- | eclass/python-any-r1.eclass | 34 | ||||
-rw-r--r-- | eclass/python-r1.eclass | 90 | ||||
-rw-r--r-- | eclass/python-single-r1.eclass | 52 | ||||
-rw-r--r-- | eclass/python-utils-r1.eclass | 136 | ||||
-rwxr-xr-x | eclass/tests/python-utils-r1.sh | 4 | ||||
-rw-r--r-- | x11-libs/goffice/Manifest | 1 | ||||
-rw-r--r-- | x11-libs/goffice/goffice-0.10.50.ebuild | 65 |
13 files changed, 464 insertions, 224 deletions
diff --git a/app-office/gnumeric/Manifest b/app-office/gnumeric/Manifest index c9cb81cc6369..a64ffdbbe412 100644 --- a/app-office/gnumeric/Manifest +++ b/app-office/gnumeric/Manifest @@ -1 +1,2 @@ DIST gnumeric-1.12.49.tar.xz 18057896 BLAKE2B 75ae1683feb7f37cdff4cb5fbec04b0f241e4590236ea68706180853c1a950092bf0d902652d65288b42dba13c384e1ac364cefb32b9d60c37a9948d9d7fc8eb SHA512 047d625aee3a15dd8881f2e11cc7c67d211d40be86ec018517d1b3140ff4bd031fb2cb86e48f1f6ee22432aa1f39c978bad5fd5bf5c6a1be9aa53411136429ed +DIST gnumeric-1.12.50.tar.xz 18062104 BLAKE2B 46d15e5fe540cce904de07b263707d7fd8c29d9a2611105cdb117a3acd6693651e588b4d281038b48fbc36bba100d162c2c2ab1be589ea206272155cbd9046df SHA512 d5896cb8390c99fb3871c722116cc085b93b788fab91bf44d24f20228b8290170a0adc906160a6aa46431ae43b04079621c370dcda42658fa9ae3c1d8baf1730 diff --git a/app-office/gnumeric/gnumeric-1.12.50.ebuild b/app-office/gnumeric/gnumeric-1.12.50.ebuild new file mode 100644 index 000000000000..63de219a0b6a --- /dev/null +++ b/app-office/gnumeric/gnumeric-1.12.50.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit gnome.org libtool python-r1 xdg + +DESCRIPTION="The GNOME Spreadsheet" +HOMEPAGE="http://www.gnumeric.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="+introspection libgda perl" +REQUIRED_USE="introspection? ( ${PYTHON_REQUIRED_USE} )" + +# Missing gnome-extra/libgnomedb required version in tree +# but its upstream is dead and will be dropped soon. + +# lots of missing files, also fails tests due to 80-bit long story +# upstream bug #721556 +RESTRICT="test" + +# Gnumeric has two python components +# 1. The python loader for loading python-based plugins. +# This component is pure python 2 and a port "is not currently being worked on". +# 2. The python gobject-based introspection API. This component is compatible +# with python 3. +# Component 1. can only be re-enabled once someone has ported the upstream +# codebase to python 3. +# https://gitlab.gnome.org/GNOME/gnumeric/issues/419#note_618852 +RDEPEND=" + app-arch/bzip2 + sys-libs/zlib + >=dev-libs/glib-2.40.0:2 + >=gnome-extra/libgsf-1.14.33:= + >=x11-libs/goffice-0.10.50:0.10 + >=dev-libs/libxml2-2.4.12:2 + >=x11-libs/pango-1.24.0:= + + >=x11-libs/gtk+-3.8.7:3 + x11-libs/cairo:=[svg] + + introspection? ( + ${PYTHON_DEPS} + >=dev-libs/gobject-introspection-1:= + ) + perl? ( dev-lang/perl:= ) + libgda? ( gnome-extra/libgda:5[gtk] )" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/docbook-xml-dtd:4.5 + app-text/yelp-tools + dev-util/gtk-doc-am + >=dev-util/intltool-0.35.0 + virtual/pkgconfig" + +src_prepare() { + default + + # Manage gi overrides ourselves + sed '/SUBDIRS/ s/introspection//' -i Makefile.{am,in} || die + elibtoolize +} + +src_configure() { + econf \ + --disable-gtk-doc \ + --disable-maintainer-mode \ + --disable-schemas-compile \ + --disable-static \ + --without-psiconv \ + --without-python \ + --with-zlib \ + $(use_with libgda gda) \ + $(use_enable introspection) \ + $(use_with perl) +} + +src_install() { + default + dodoc HACKING MAINTAINERS + + if use introspection; then + python_moduleinto gi.overrides + python_foreach_impl python_domodule introspection/gi/overrides/Gnm.py + fi + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/dev-libs/link-grammar/Manifest b/dev-libs/link-grammar/Manifest index 2101dd3b0ce0..b873ef15a703 100644 --- a/dev-libs/link-grammar/Manifest +++ b/dev-libs/link-grammar/Manifest @@ -1,2 +1,3 @@ DIST link-grammar-5.8.0.tar.gz 3782125 BLAKE2B 8027e91212d3269b8e3ceaa5c837ad961cd2dfd92849d3989094ab771d97d30f4b228cfc1e32e9e843676aa439d790fb444823f7db69004538ad068c7bf28a45 SHA512 1262e2faf1de6f05a62f9d622f43c02253b4c241342df9b443a70ae04bd328d1fc49cd2f91c881e694f67215005833fec8b1fa9d395b1e547985b376c7415d2e DIST link-grammar-5.8.1.tar.gz 3791847 BLAKE2B 8c89b95eaae87f0b576374c3f8c00529d61b62004718424d1ac1a41b694d8b56ba75d0a7068e1411376c260781f5adae8512976a6572e54f18d84abe98c1839e SHA512 0ef99d3ccb3d922a946f1f73b8b81cee9ece156886dab3367837e1e9f79944967da1391daf7f96ea5a95a0abdd346b642111a7939eb9aa079557c10b3efe8022 +DIST link-grammar-5.9.1.tar.gz 3809872 BLAKE2B fe0c407e2e4ea4201036647cbea7d4c2606fa9943653fcc2d3505963a00773006912b8af5c2762acf498220d2f48319a031736d59790c0fed616432973ea24ec SHA512 c8d8bc99ddd6f6190ebcb24fcafc79497c3eeab1deb3099691f55c735a0a607a8372a8dca5cd86ce7c20cd3a45e4f1cbf91bef39dc781a5b5a2246006b4f601e diff --git a/dev-libs/link-grammar/link-grammar-5.9.1.ebuild b/dev-libs/link-grammar/link-grammar-5.9.1.ebuild new file mode 100644 index 000000000000..2be3e58a4fd7 --- /dev/null +++ b/dev-libs/link-grammar/link-grammar-5.9.1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit autotools java-pkg-opt-2 python-r1 out-of-source + +DESCRIPTION="A Syntactic English parser" +HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/" +SRC_URI="https://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="aspell +hunspell java python" # pcre +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# XXX: sqlite is automagic +# Does not build with >=sci-mathematics/minisat-2, bug #593662 +# add pcre support: pcre? ( dev-libs/libpcre ) +RDEPEND=" + dev-db/sqlite:3 + aspell? ( app-text/aspell ) + hunspell? ( app-text/hunspell ) + java? ( + >=virtual/jdk-1.6:* + dev-java/ant-core + ) + python? ( ${PYTHON_DEPS} ) + !sci-mathematics/minisat" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/swig:0 + sys-devel/autoconf-archive + virtual/pkgconfig" + +pkg_setup() { + if use aspell && use hunspell; then + ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist," + ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if" + ewarn "you want aspell support." + fi + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + use java && java-pkg-opt-2_src_prepare + + eapply "${FILESDIR}"/${PN}-5.8.1-lld.patch + + eautoreconf +} + +my_src_configure() { + local myconf=( + --disable-maintainer-mode + --disable-editline + --disable-perl-bindings + --disable-static + --enable-sat-solver=bundled + $(use_enable aspell) + $(use_enable hunspell) + $(usex hunspell --with-hunspell-dictdir="${EPREFIX}"/usr/share/myspell '') + $(use_enable java java-bindings) + # $(use_enable pcre regex-tokenizer) + # $(use_with pcre) + ) + + econf \ + --disable-python-bindings \ + "${myconf[@]}" + + if use python; then + python_configure() { + econf \ + --enable-python-bindings \ + "${myconf[@]}" + } + python_foreach_impl run_in_build_dir python_configure + fi +} + +my_src_compile() { + local -x MAIN_BUILD_DIR="${BUILD_DIR}" + default + + if use python; then + python_compile() { + emake -C bindings/python \ + VPATH="${S}:${MAIN_BUILD_DIR}" \ + _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \ + _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la + } + python_foreach_impl run_in_build_dir python_compile + fi +} + +my_src_install() { + local -x MAIN_BUILD_DIR="${BUILD_DIR}" + default + + if use python; then + python_install() { + emake -C bindings/python \ + VPATH="${S}:${MAIN_BUILD_DIR}" \ + _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \ + _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \ + DESTDIR="${D}" \ + install + } + python_foreach_impl run_in_build_dir python_install + fi + + # no static archives + find "${ED}" -name '*.la' -delete || die +} + +pkg_preinst() { + use java && java-pkg-opt-2_pkg_preinst +} diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 53eee173a262..cc0416fb1d9e 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # Based on the work of: Krzysztof Pawlik <nelchael@gentoo.org> -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: A simple eclass to build Python packages using distutils. # @DESCRIPTION: # A simple eclass providing functions to build Python packages using @@ -47,7 +47,7 @@ case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - [6-7]) + [6-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" @@ -129,7 +129,7 @@ _distutils_set_globals() { rdep+=" ${setuptools_dep}" ;; pyproject.toml) - bdep+=' dev-python/pyproject2setuppy[${PYTHON_USEDEP}]' + bdep+=' >=dev-python/pyproject2setuppy-15[${PYTHON_USEDEP}]' ;; *) die "Invalid DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}" @@ -248,15 +248,16 @@ unset -f _distutils_set_globals # } # @CODE -# @ECLASS-VARIABLE: mydistutilsargs +# @ECLASS-VARIABLE: DISTUTILS_ARGS # @DEFAULT_UNSET # @DESCRIPTION: -# An array containing options to be passed to setup.py. +# An array containing options to be passed to setup.py. They are passed +# before the default arguments, i.e. before the first command. # # Example: # @CODE # python_configure_all() { -# mydistutilsargs=( --enable-my-hidden-option ) +# DISTUTILS_ARGS=( --enable-my-hidden-option ) # } # @CODE @@ -446,8 +447,9 @@ distutils_enable_tests() { # (if ${EPYTHON} is set; fallback 'python' otherwise). # # setup.py will be passed the following, in order: -# 1. ${mydistutilsargs[@]} -# 2. additional arguments passed to the esetup.py function. +# 1. ${DISTUTILS_ARGS[@]} +# 2. ${mydistutilsargs[@]} (deprecated) +# 3. additional arguments passed to the esetup.py function. # # Please note that setup.py will respect defaults (unless overridden # via command-line options) from setup.cfg that is created @@ -463,11 +465,15 @@ esetup.py() { local setup_py=( setup.py ) if [[ ${DISTUTILS_USE_SETUPTOOLS} == pyproject.toml ]]; then - # TODO: remove '.main' when we require v10 - setup_py=( -m pyproject2setuppy.main ) + setup_py=( -m pyproject2setuppy ) fi - set -- "${EPYTHON}" "${setup_py[@]}" "${mydistutilsargs[@]}" "${@}" + if [[ ${EAPI} != [67] && ${mydistutilsargs[@]} ]]; then + die "mydistutilsargs is banned in EAPI ${EAPI} (use DISTUTILS_ARGS)" + fi + + set -- "${EPYTHON}" "${setup_py[@]}" "${DISTUTILS_ARGS[@]}" \ + "${mydistutilsargs[@]}" "${@}" echo "${@}" >&2 "${@}" || die -n @@ -526,6 +532,7 @@ distutils_install_for_testing() { local install_method=root case ${1} in --via-home) + [[ ${EAPI} == [67] ]] || die "${*} is banned in EAPI ${EAPI}" install_method=home shift ;; @@ -769,8 +776,10 @@ _distutils-r1_wrap_scripts() { local basename=${f##*/} debug-print "${FUNCNAME}: installing wrapper at ${bindir}/${basename}" - _python_ln_rel "${path}${EPREFIX}"/usr/lib/python-exec/python-exec2 \ - "${path}${bindir}/${basename}" || die + local dosym=dosym + [[ ${EAPI} == [67] ]] && dosym=dosym8 + "${dosym}" -r "${path#${D}}"/usr/lib/python-exec/python-exec2 \ + "${path#${D}}${bindir#${EPREFIX}}/${basename}" done for f in "${non_python_files[@]}"; do @@ -836,7 +845,19 @@ distutils-r1_python_test() { distutils-r1_python_install() { debug-print-function ${FUNCNAME} "${@}" - local args=( "${@}" ) + local root=${D%/}/_${EPYTHON} + [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/} + + # inline DISTUTILS_ARGS logic from esetup.py in order to make + # argv overwriting easier + local args=( + "${DISTUTILS_ARGS[@]}" + "${mydistutilsargs[@]}" + install --skip-build --root="${root}" "${args[@]}" + "${@}" + ) + local DISTUTILS_ARGS=() + local mydistutilsargs=() # enable compilation for the install phase. local -x PYTHONDONTWRITEBYTECODE= @@ -852,42 +873,31 @@ distutils-r1_python_install() { if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then # user may override --install-scripts # note: this is poor but distutils argv parsing is dumb - local mydistutilsargs=( "${mydistutilsargs[@]}" ) local scriptdir=${EPREFIX}/usr/bin - # construct a list of mydistutilsargs[0] args[0] args[1]... - local arg arg_vars - [[ ${mydistutilsargs[@]} ]] && eval arg_vars+=( - 'mydistutilsargs['{0..$(( ${#mydistutilsargs[@]} - 1 ))}']' - ) - [[ ${args[@]} ]] && eval arg_vars+=( - 'args['{0..$(( ${#args[@]} - 1 ))}']' - ) - - set -- "${arg_vars[@]}" + # rewrite all the arguments + set -- "${args[@]}" + args=() while [[ ${@} ]]; do - local arg_var=${1} + local a=${1} shift - local a=${!arg_var} - case "${a}" in + case ${a} in --install-scripts=*) scriptdir=${a#--install-scripts=} - unset "${arg_var}" ;; --install-scripts) - scriptdir=${!1} - unset "${arg_var}" "${1}" + scriptdir=${1} shift ;; + *) + args+=( "${a}" ) + ;; esac done fi - local root=${D%/}/_${EPYTHON} - [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/} - - esetup.py install --skip-build --root="${root}" "${args[@]}" + esetup.py "${args[@]}" local forbidden_package_names=( examples test tests diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass index 8f9612bc747e..37568ebf87cc 100644 --- a/eclass/multibuild.eclass +++ b/eclass/multibuild.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: multibuild.eclass @@ -6,7 +6,7 @@ # Michał Górny <mgorny@gentoo.org> # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> -# @SUPPORTED_EAPIS: 4 5 6 7 +# @SUPPORTED_EAPIS: 4 5 6 7 8 # @BLURB: A generic eclass for building multiple variants of packages. # @DESCRIPTION: # The multibuild eclass aims to provide a generic framework for building @@ -14,10 +14,10 @@ # implementations). case "${EAPI:-0}" in - 0|1|2|3) + [0-3]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 4|5|6|7) + [4-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass index 49f639d5fac6..eaae5379b732 100644 --- a/eclass/python-any-r1.eclass +++ b/eclass/python-any-r1.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # Based on work of: Krzysztof Pawlik <nelchael@gentoo.org> -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: An eclass for packages having build-time dependency on Python. # @DESCRIPTION: # A minimal eclass for packages which need any Python interpreter @@ -39,7 +39,7 @@ case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - [6-7]) ;; + [6-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; esac @@ -144,7 +144,7 @@ EXPORT_FUNCTIONS pkg_setup # # Example value: # @CODE -# python_targets_python3_7(-),-python_single_target_python3_7(-) +# python_targets_python3_7(-) # @CODE # @ECLASS-VARIABLE: PYTHON_SINGLE_USEDEP @@ -239,14 +239,14 @@ if [[ ! ${_PYTHON_ANY_R1} ]]; then # ( # dev-lang/python:3.7 # dev-python/foo[python_single_target_python3_7(-)] -# || ( dev-python/bar[python_targets_python3_7(-),-python_single_target_python3_7(-)] -# dev-python/baz[python_targets_python3_7(-),-python_single_target_python3_7(-)] ) +# || ( dev-python/bar[python_targets_python3_7(-) +# dev-python/baz[python_targets_python3_7(-) ) # ) # ( # dev-lang/python:3.8 # dev-python/foo[python_single_target_python3_8(-)] -# || ( dev-python/bar[python_targets_python3_8(-),-python_single_target_python3_8(-)] -# dev-python/baz[python_targets_python3_8(-),-python_single_target_python3_8(-)] ) +# || ( dev-python/bar[python_targets_python3_8(-)] +# dev-python/baz[python_targets_python3_8(-)] ) # ) # ) # @CODE @@ -258,7 +258,7 @@ python_gen_any_dep() { local i PYTHON_PKG_DEP out= for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do - local PYTHON_USEDEP="python_targets_${i}(-),-python_single_target_${i}(-)" + local PYTHON_USEDEP="python_targets_${i}(-)" local PYTHON_SINGLE_USEDEP="python_single_target_${i}(-)" _python_export "${i}" PYTHON_PKG_DEP @@ -294,7 +294,7 @@ _python_EPYTHON_supported() { if has "${i}" "${_PYTHON_SUPPORTED_IMPLS[@]}"; then if python_is_installed "${i}"; then if declare -f python_check_deps >/dev/null; then - local PYTHON_USEDEP="python_targets_${i}(-),-python_single_target_${i}(-)" + local PYTHON_USEDEP="python_targets_${i}(-)" local PYTHON_SINGLE_USEDEP="python_single_target_${i}(-)" python_check_deps return ${?} @@ -345,22 +345,6 @@ python_setup() { fi fi - # then, try eselect-python - local variant i - for variant in '' '--python2' '--python3'; do - i=$(eselect python --show ${variant} 2>/dev/null) - - if [[ ! ${i} ]]; then - # no eselect-python? - break - elif _python_EPYTHON_supported "${i}"; then - _python_export "${i}" EPYTHON PYTHON - _python_wrapper_setup - einfo "Using ${EPYTHON} to build" - return - fi - done - # fallback to best installed impl. # (reverse iteration over _PYTHON_SUPPORTED_IMPLS) for (( i = ${#_PYTHON_SUPPORTED_IMPLS[@]} - 1; i >= 0; i-- )); do diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass index 1eb68270a0b3..3a4d257036c8 100644 --- a/eclass/python-r1.eclass +++ b/eclass/python-r1.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # Based on work of: Krzysztof Pawlik <nelchael@gentoo.org> -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: A common, simple eclass for Python packages. # @DESCRIPTION: # A common eclass providing helper functions to build and install @@ -33,7 +33,7 @@ case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - [6-7]) + [6-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" @@ -203,15 +203,6 @@ _python_set_globals() { local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" ) local optflags=${flags[@]/%/(-)?} - - # A nice QA trick here. Since a python-single-r1 package has to have - # at least one PYTHON_SINGLE_TARGET enabled (REQUIRED_USE), - # the following check will always fail on those packages. Therefore, - # it should prevent developers from mistakenly depending on packages - # not supporting multiple Python implementations. - - local flags_st=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/-python_single_target_}" ) - optflags+=,${flags_st[@]/%/(-)} local requse="|| ( ${flags[*]} )" local usedep=${optflags// /,} @@ -304,11 +295,10 @@ _python_validate_useflags() { # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # This is an internal function used to implement python_gen_cond_dep # and deprecated python_gen_usedep. @@ -322,7 +312,6 @@ _python_gen_usedep() { if _python_impl_matches "${impl}" "${@}"; then matches+=( "python_targets_${impl}(-)?" - "-python_single_target_${impl}(-)" ) fi done @@ -342,11 +331,10 @@ _python_gen_usedep() { # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # When all implementations are requested, please use ${PYTHON_USEDEP} # instead. Please also remember to set an appropriate REQUIRED_USE @@ -370,6 +358,7 @@ python_gen_usedep() { if [[ ${EBUILD_PHASE} == setup ]]; then eqawarn "python_gen_usedep() is deprecated. Please use python_gen_cond_dep instead." fi + [[ ${EAPI} == [67] ]] || die "${FUNCNAME} banned in EAPI ${EAPI}" _python_gen_usedep "${@}" } @@ -380,11 +369,10 @@ python_gen_usedep() { # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # Example: # @CODE @@ -418,11 +406,10 @@ python_gen_useflags() { # of Python implementations which are both in PYTHON_COMPAT and match # any of the patterns passed as the remaining parameters. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # In order to enforce USE constraints on the packages, verbatim # '${PYTHON_USEDEP}' (quoted!) may be placed in the dependency @@ -477,11 +464,10 @@ python_gen_cond_dep() { # patterns are passed, the output dependencies will be generated only # for the implementations matching them. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # Use this function when you need to request different USE flags # on the Python interpreter depending on package's USE flags. If you @@ -534,11 +520,10 @@ python_gen_impl_dep() { # # Optionally, patterns may be specified to restrict the dependency to # a subset of Python implementations supported by the ebuild. -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # This should be used along with an appropriate python_check_deps() # that checks which of the any-of blocks were matched, and python_setup @@ -578,8 +563,8 @@ python_gen_impl_dep() { # ( # dev-lang/python:3.8 # dev-python/foo[python_single_target_python3_8(-)] -# || ( dev-python/bar[python_targets_python3_8(-),-python_single_target_python3_8(-)] -# dev-python/baz[python_targets_python3_8(-),-python_single_target_python3_8(-)] ) +# || ( dev-python/bar[python_targets_python3_8(-)] +# dev-python/baz[python_targets_python3_8(-)] ) # ) # ) # @CODE @@ -593,7 +578,7 @@ python_gen_any_dep() { _python_verify_patterns "${@}" for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do if _python_impl_matches "${i}" "${@}"; then - local PYTHON_USEDEP="python_targets_${i}(-),-python_single_target_${i}(-)" + local PYTHON_USEDEP="python_targets_${i}(-)" local PYTHON_SINGLE_USEDEP="python_single_target_${i}(-)" _python_export "${i}" PYTHON_PKG_DEP @@ -725,11 +710,10 @@ python_foreach_impl() { # The python_check_deps() function in the any-of mode needs to be # accompanied by appropriate any-of dependencies. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # This function needs to be used when Python is being called outside # of python_foreach_impl calls (e.g. for shared processes like doc @@ -806,7 +790,7 @@ python_setup() { # first check if the interpreter is installed python_is_installed "${impl}" || continue # then run python_check_deps - local PYTHON_USEDEP="python_targets_${impl}(-),-python_single_target_${impl}(-)" + local PYTHON_USEDEP="python_targets_${impl}(-)" local PYTHON_SINGLE_USEDEP="python_single_target_${impl}(-)" python_check_deps || continue fi @@ -862,7 +846,9 @@ python_replicate_script() { # install the wrappers local f for f; do - _python_ln_rel "${ED%/}/usr/lib/python-exec/python-exec2" "${f}" || die + local dosym=dosym + [[ ${EAPI} == [67] ]] && dosym=dosym8 + "${dosym}" -r /usr/lib/python-exec/python-exec2 "${f#${ED}}" done } diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass index 07db2d762ded..da0113b6d57b 100644 --- a/eclass/python-single-r1.eclass +++ b/eclass/python-single-r1.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # Based on work of: Krzysztof Pawlik <nelchael@gentoo.org> -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: An eclass for Python packages not installed for multiple implementations. # @DESCRIPTION: # An extension of the python-r1 eclass suite for packages which @@ -40,7 +40,7 @@ case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - [6-7]) + [6-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" @@ -179,12 +179,6 @@ EXPORT_FUNCTIONS pkg_setup # python_targets_python3_4(-) # @CODE -# @ECLASS-VARIABLE: PYTHON_MULTI_USEDEP -# @OUTPUT_VARIABLE -# @DESCRIPTION: -# This is a backwards-compatibility placeholder. Use PYTHON_USEDEP -# instead. - # @ECLASS-VARIABLE: PYTHON_REQUIRED_USE # @OUTPUT_VARIABLE # @DESCRIPTION: @@ -278,11 +272,10 @@ if [[ ! ${_PYTHON_SINGLE_R1} ]]; then # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # This is an internal function used to implement python_gen_cond_dep. _python_gen_usedep() { @@ -312,11 +305,10 @@ _python_gen_usedep() { # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # Example: # @CODE @@ -350,11 +342,10 @@ python_gen_useflags() { # of Python implementations which are both in PYTHON_COMPAT and match # any of the patterns passed as the remaining parameters. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # In order to enforce USE constraints on the packages, verbatim # '${PYTHON_SINGLE_USEDEP}' and '${PYTHON_USEDEP}' (quoted!) may @@ -395,6 +386,12 @@ python_gen_cond_dep() { fi local multi_usedep="python_targets_${impl}(-)" + if [[ ${EAPI} != [67] ]]; then + if [[ ${dep} == *\$\{PYTHON_MULTI_USEDEP\}* ]]; then + die "Replace PYTHON_MULTI_USEDEP with PYTHON_USEDEP in EAPI ${EAPI}" + fi + fi + local subdep=${dep//\$\{PYTHON_MULTI_USEDEP\}/${multi_usedep}} matches+=( "python_single_target_${impl}? ( ${subdep//\$\{PYTHON_USEDEP\}/${multi_usedep}} )" ) @@ -413,11 +410,10 @@ python_gen_cond_dep() { # patterns are passed, the output dependencies will be generated only # for the implementations matching them. # -# The patterns can be either fnmatch-style patterns (matched via bash -# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate -# appropriately all enabled Python 2/3 implementations (alike -# python_is_python3). Remember to escape or quote the fnmatch patterns -# to prevent accidental shell filename expansion. +# The patterns are fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values). Remember to escape +# or quote the fnmatch patterns to prevent accidental shell filename +# expansion. # # Use this function when you need to request different USE flags # on the Python interpreter depending on package's USE flags. If you diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 3dbf221eac5d..d43311762f9f 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # Based on work of: Krzysztof Pawlik <nelchael@gentoo.org> -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Utility functions for packages with Python parts. # @DESCRIPTION: # A utility eclass providing functions to query Python implementations, @@ -24,7 +24,7 @@ # See bug #704286, bug #781878 case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - [6-7]) ;; + [6-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; esac @@ -34,6 +34,7 @@ fi if [[ ! ${_PYTHON_UTILS_R1} ]]; then +[[ ${EAPI} == [67] ]] && inherit eapi8-dosym inherit toolchain-funcs # @ECLASS-VARIABLE: _PYTHON_ALL_IMPLS @@ -188,11 +189,8 @@ _python_set_impls() { # of the patterns following it. Return 0 if it does, 1 otherwise. # Matches if no patterns are provided. # -# <impl> can be in PYTHON_COMPAT or EPYTHON form. The patterns can be -# either: -# a) fnmatch-style patterns, e.g. 'python2*', 'pypy'... -# b) '-2' to indicate all Python 2 variants (= !python_is_python3) -# c) '-3' to indicate all Python 3 variants (= python_is_python3) +# <impl> can be in PYTHON_COMPAT or EPYTHON form. The patterns +# are fnmatch-style. _python_impl_matches() { [[ ${#} -ge 1 ]] || die "${FUNCNAME}: takes at least 1 parameter" [[ ${#} -eq 1 ]] && return 0 @@ -201,15 +199,30 @@ _python_impl_matches() { shift for pattern; do - if [[ ${pattern} == -2 ]]; then - python_is_python3 "${impl}" || return 0 - elif [[ ${pattern} == -3 ]]; then - python_is_python3 "${impl}" && return 0 - return - # unify value style to allow lax matching - elif [[ ${impl/./_} == ${pattern/./_} ]]; then - return 0 - fi + case ${pattern} in + -2|python2*|pypy) + if [[ ${EAPI} != [67] ]]; then + eerror + eerror "Python 2 is no longer supported in Gentoo, please remove Python 2" + eerror "${FUNCNAME[1]} calls." + die "Passing ${pattern} to ${FUNCNAME[1]} is banned in EAPI ${EAPI}" + fi + ;; + -3) + # NB: "python3*" is fine, as "not pypy3" + if [[ ${EAPI} != [67] ]]; then + eerror + eerror "Python 2 is no longer supported in Gentoo, please remove Python 2" + eerror "${FUNCNAME[1]} calls." + die "Passing ${pattern} to ${FUNCNAME[1]} is banned in EAPI ${EAPI}" + fi + return 0 + ;; + *) + # unify value style to allow lax matching + [[ ${impl/./_} == ${pattern/./_} ]] && return 0 + ;; + esac done return 1 @@ -265,6 +278,8 @@ python_export() { eqawarn "python_export() is part of private eclass API." eqawarn "Please call python_get*() instead." + [[ ${EAPI} == [67] ]] || die "${FUNCNAME} banned in EAPI ${EAPI}" + _python_export "${@}" } @@ -534,46 +549,6 @@ python_get_scriptdir() { echo "${PYTHON_SCRIPTDIR}" } -# @FUNCTION: _python_ln_rel -# @USAGE: <from> <to> -# @INTERNAL -# @DESCRIPTION: -# Create a relative symlink. -_python_ln_rel() { - debug-print-function ${FUNCNAME} "${@}" - - local target=${1} - local symname=${2} - - local tgpath=${target%/*}/ - local sympath=${symname%/*}/ - local rel_target= - - while [[ ${sympath} ]]; do - local tgseg= symseg= - - while [[ ! ${tgseg} && ${tgpath} ]]; do - tgseg=${tgpath%%/*} - tgpath=${tgpath#${tgseg}/} - done - - while [[ ! ${symseg} && ${sympath} ]]; do - symseg=${sympath%%/*} - sympath=${sympath#${symseg}/} - done - - if [[ ${tgseg} != ${symseg} ]]; then - rel_target=../${rel_target}${tgseg:+${tgseg}/} - fi - done - rel_target+=${tgpath}${target##*/} - - debug-print "${FUNCNAME}: ${symname} -> ${target}" - debug-print "${FUNCNAME}: rel_target = ${rel_target}" - - ln -fs "${rel_target}" "${symname}" -} - # @FUNCTION: python_optimize # @USAGE: [<directory>...] # @DESCRIPTION: @@ -622,18 +597,14 @@ python_optimize() { instpath=/${instpath##/} case "${EPYTHON}" in - python2.7|python3.[34]) - "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}" - "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}" - ;; python*|pypy3) - # both levels of optimization are separate since 3.5 + # both levels of optimization are separate since py3.5 "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}" "${PYTHON}" -O -m compileall -q -f -d "${instpath}" "${d}" "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}" ;; *) - "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}" + die "Unknown impl for python_optimize: ${EPYTHON}" ;; esac done @@ -659,7 +630,7 @@ python_optimize() { python_scriptinto() { debug-print-function ${FUNCNAME} "${@}" - python_scriptroot=${1} + _PYTHON_SCRIPTROOT=${1} } # @FUNCTION: python_doexe @@ -694,7 +665,7 @@ python_newexe() { [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).' [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <path> <new-name>" - local wrapd=${python_scriptroot:-/usr/bin} + local wrapd=${_PYTHON_SCRIPTROOT:-/usr/bin} local f=${1} local newfn=${2} @@ -710,8 +681,9 @@ python_newexe() { ) # install the wrapper - _python_ln_rel "${ED%/}"/usr/lib/python-exec/python-exec2 \ - "${ED%/}/${wrapd}/${newfn}" || die + local dosym=dosym + [[ ${EAPI} == [67] ]] && dosym=dosym8 + "${dosym}" -r /usr/lib/python-exec/python-exec2 "${wrapd}/${newfn}" # don't use this at home, just call python_doscript() instead if [[ ${_PYTHON_REWRITE_SHEBANG} ]]; then @@ -797,7 +769,7 @@ python_newscript() { python_moduleinto() { debug-print-function ${FUNCNAME} "${@}" - python_moduleroot=${1} + _PYTHON_MODULEROOT=${1} } # @FUNCTION: python_domodule @@ -821,13 +793,13 @@ python_domodule() { [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).' local d - if [[ ${python_moduleroot} == /* ]]; then + if [[ ${_PYTHON_MODULEROOT} == /* ]]; then # absolute path - d=${python_moduleroot} + d=${_PYTHON_MODULEROOT} else # relative to site-packages local sitedir=$(python_get_sitedir) - d=${sitedir#${EPREFIX}}/${python_moduleroot//.//} + d=${sitedir#${EPREFIX}}/${_PYTHON_MODULEROOT//.//} fi ( @@ -878,6 +850,8 @@ python_wrapper_setup() { eqawarn "python_wrapper_setup() is part of private eclass API." eqawarn "Please call python_setup() instead." + [[ ${EAPI} == [67] ]] || die "${FUNCNAME} banned in EAPI ${EAPI}" + _python_wrapper_setup "${@}" } @@ -917,7 +891,7 @@ _python_wrapper_setup() { _python_export "${impl}" EPYTHON PYTHON local pyver pyother - if python_is_python3; then + if [[ ${EPYTHON} != python2* ]]; then pyver=3 pyother=2 else @@ -996,6 +970,9 @@ _python_wrapper_setup() { # # Returns 0 (true) if it is, 1 (false) otherwise. python_is_python3() { + eqawarn "${FUNCNAME} is deprecated, as Python 2 is not supported anymore" + [[ ${EAPI} == [67] ]] || die "${FUNCNAME} banned in EAPI ${EAPI}" + local impl=${1:-${EPYTHON}} [[ ${impl} ]] || die "python_is_python3: no impl nor EPYTHON" @@ -1094,32 +1071,31 @@ python_fix_shebang() { if [[ ${i} == *python2 ]]; then from=python2 if [[ ! ${force} ]]; then - python_is_python3 "${EPYTHON}" && error=1 + error=1 fi elif [[ ${i} == *python3 ]]; then from=python3 - if [[ ! ${force} ]]; then - python_is_python3 "${EPYTHON}" || error=1 - fi else from=python fi break ;; - *python[23].[0123456789]|*pypy|*pypy3|*jython[23].[0123456789]) + *python[23].[0-9]|*python3.[1-9][0-9]|*pypy|*pypy3|*jython[23].[0-9]) # Explicit mismatch. if [[ ! ${force} ]]; then error=1 else case "${i}" in - *python[23].[0123456789]) - from="python[23].[0123456789]";; + *python[23].[0-9]) + from="python[23].[0-9]";; + *python3.[1-9][0-9]) + from="python3.[1-9][0-9]";; *pypy) from="pypy";; *pypy3) from="pypy3";; - *jython[23].[0123456789]) - from="jython[23].[0123456789]";; + *jython[23].[0-9]) + from="jython[23].[0-9]";; *) die "${FUNCNAME}: internal error in 2nd pattern match";; esac diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh index 85a6a53654d3..63a94c90b715 100755 --- a/eclass/tests/python-utils-r1.sh +++ b/eclass/tests/python-utils-r1.sh @@ -5,6 +5,10 @@ EAPI=7 source tests-common.sh +eqawarn() { + : # stub +} + test_var() { local var=${1} local impl=${2} diff --git a/x11-libs/goffice/Manifest b/x11-libs/goffice/Manifest index e13f7eba6d6f..b0d8c82983da 100644 --- a/x11-libs/goffice/Manifest +++ b/x11-libs/goffice/Manifest @@ -1 +1,2 @@ DIST goffice-0.10.49.tar.xz 2430256 BLAKE2B 64ef27ab729f02b42742b2ae8da43c59b560d016caa707c6dccb3dc6f23eaab13b40367f145b83b1c728c9884dff164118f4a4d6f9ac5accb07596173b127271 SHA512 a185f9fc814ecd2a6e69d026ac150c38e30e1a440f7640bcfc3bfd1939b924621eabf2faafa2837e2d1835418f5481a0d0d7980f4a669e7ca1b93907b17a303a +DIST goffice-0.10.50.tar.xz 2430608 BLAKE2B 0b06da8d58c4407465266f8c5421331d5d05731038bca191afdd1823950dde07439d458c0ddb93e0641ff81e727f055313be3c8af29bdf32214ed8b2c2cafc0b SHA512 1117540d9162d45059150281b03941ff9b6df1929dcbd7e5aa6e28010d3bb5a46902c30b6f1d35fd5b60f9afe73b58f132aa686aa1712332ea18635d5a79bd0c diff --git a/x11-libs/goffice/goffice-0.10.50.ebuild b/x11-libs/goffice/goffice-0.10.50.ebuild new file mode 100644 index 000000000000..33a766b3e012 --- /dev/null +++ b/x11-libs/goffice/goffice-0.10.50.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit gnome.org libtool + +DESCRIPTION="A library of document-centric objects and utilities" +HOMEPAGE="https://gitlab.gnome.org/GNOME/goffice/" + +LICENSE="GPL-2" +SLOT="0.10" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +IUSE="+introspection" + +# FIXME: add lasem to tree +RDEPEND=" + >=app-text/libspectre-0.2.6:= + >=dev-libs/glib-2.40.0:2 + >=dev-libs/libxml2-2.4.12:2 + dev-libs/libxslt + >=gnome-base/librsvg-2.22:2 + >=gnome-extra/libgsf-1.14.24:=[introspection?] + >=x11-libs/cairo-1.10:=[svg] + >=x11-libs/gdk-pixbuf-2.22:2 + >=x11-libs/gtk+-3.20:3 + >=x11-libs/pango-1.24:= + x11-libs/libXext:= + x11-libs/libXrender:= + introspection? ( + >=dev-libs/gobject-introspection-1:= + >=gnome-extra/libgsf-1.14.23:= + )" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/perl + dev-util/glib-utils + >=dev-util/gtk-doc-am-1.12 + >=dev-util/intltool-0.35 + virtual/perl-Compress-Raw-Zlib + virtual/perl-Getopt-Long + virtual/perl-IO-Compress + virtual/pkgconfig" + +src_prepare() { + default + elibtoolize +} + +src_configure() { + econf \ + --disable-gtk-doc \ + --disable-maintainer-mode \ + --without-lasem \ + --with-gtk \ + --with-config-backend=gsettings \ + $(use_enable introspection) +} + +src_install() { + default + dodoc MAINTAINERS + + find "${ED}" -name '*.la' -delete || die +} |