diff options
Diffstat (limited to 'media-gfx/inkscape/inkscape-9999.ebuild')
-rw-r--r-- | media-gfx/inkscape/inkscape-9999.ebuild | 144 |
1 files changed, 96 insertions, 48 deletions
diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild index 1cc566e61354..94b4d2fb3a70 100644 --- a/media-gfx/inkscape/inkscape-9999.ebuild +++ b/media-gfx/inkscape/inkscape-9999.ebuild @@ -1,76 +1,88 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7,8} ) -PYTHON_REQ_USE="xml" -MY_P="${P/_/}" -inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 git-r3 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="xml(+)" + +inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 +MY_P="${P/_/}" DESCRIPTION="SVG based generic vector-drawing program" -HOMEPAGE="https://inkscape.org/" -EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git" +HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/" + +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git" +else + SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +S="${WORKDIR}/${MY_P}" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="" -IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms -openmp postscript spell static-libs svg2 visio wpg" - +IUSE="cdr dia exif graphicsmagick imagemagick inkjar jpeg openmp postscript readline sourceview spell svg2 test visio wpg X" REQUIRED_USE="${PYTHON_REQUIRED_USE}" +# Lots of test failures which need investigating, bug #871621 +RESTRICT="!test? ( test ) test" BDEPEND=" dev-util/glib-utils - >=dev-util/intltool-0.40 >=sys-devel/gettext-0.17 virtual/pkgconfig + test? ( virtual/imagemagick-tools ) " COMMON_DEPEND="${PYTHON_DEPS} >=app-text/poppler-0.57.0:=[cairo] - >=dev-cpp/cairomm-1.12 - >=dev-cpp/glibmm-2.54.1 + >=dev-cpp/cairomm-1.12:0 + >=dev-cpp/glibmm-2.54.1:2 dev-cpp/gtkmm:3.0 - >=dev-cpp/pangomm-2.40 + >=dev-cpp/pangomm-2.40:1.4 >=dev-libs/boehm-gc-7.1:= + dev-libs/boost:=[stacktrace(-)] dev-libs/double-conversion:= >=dev-libs/glib-2.41 - >=dev-libs/libsigc++-2.8 + >=dev-libs/libsigc++-2.8:2 >=dev-libs/libxml2-2.7.4 >=dev-libs/libxslt-1.1.25 - dev-libs/gdl:3 dev-libs/popt media-gfx/potrace + media-libs/libepoxy media-libs/fontconfig media-libs/freetype:2 + media-libs/lcms:2 media-libs/libpng:0= - net-libs/libsoup + net-libs/libsoup:2.4 sci-libs/gsl:= - x11-libs/libX11 - >=x11-libs/pango-1.37.2 - x11-libs/gtk+:3 + >=x11-libs/pango-1.44 + x11-libs/gtk+:3[X?] + X? ( x11-libs/libX11 ) $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - media-gfx/scour[${PYTHON_MULTI_USEDEP}] + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/cachecontrol[${PYTHON_USEDEP}] + dev-python/cssselect[${PYTHON_USEDEP}] + dev-python/lockfile[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] + media-gfx/scour[${PYTHON_USEDEP}] ') cdr? ( app-text/libwpg:0.3 dev-libs/librevenge media-libs/libcdr ) - dbus? ( dev-libs/dbus-glib ) exif? ( media-libs/libexif ) imagemagick? ( !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( virtual/jpeg:0 ) - lcms? ( media-libs/lcms:2 ) - spell? ( - app-text/aspell - app-text/gtkspell:3 - ) + jpeg? ( media-libs/libjpeg-turbo:= ) + readline? ( sys-libs/readline:= ) + sourceview? ( x11-libs/gtksourceview:4 ) + spell? ( app-text/gspell ) visio? ( app-text/libwpg:0.3 dev-libs/librevenge @@ -87,23 +99,31 @@ COMMON_DEPEND="${PYTHON_DEPS} # on that. RDEPEND="${COMMON_DEPEND} $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_MULTI_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] ') dia? ( app-office/dia ) postscript? ( app-text/ghostscript-gpl ) " DEPEND="${COMMON_DEPEND} - >=dev-libs/boost-1.65 + test? ( dev-cpp/gtest ) " -RESTRICT="test" +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} -S="${WORKDIR}/${MY_P}" +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + python-single-r1_pkg_setup +} -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] && use openmp; then - tc-has-openmp || die "Please switch to an openmp compatible compiler" +src_unpack() { + if [[ ${PV} = 9999* ]]; then + git-r3_src_unpack + else + default fi + [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P}_202"?-??-* "${S}" || die } src_prepare() { @@ -112,7 +132,9 @@ src_prepare() { } src_configure() { - # aliasing unsafe wrt #310393 + # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628) + filter-lto + # Aliasing unsafe (bug #310393) append-flags -fno-strict-aliasing local mycmakeargs=( @@ -121,35 +143,61 @@ src_configure() { -DENABLE_POPPLER=ON -DENABLE_POPPLER_CAIRO=ON -DWITH_PROFILING=OFF + -DWITH_INTERNAL_2GEOM=ON + -DBUILD_TESTING=$(usex test) -DWITH_LIBCDR=$(usex cdr) - -DWITH_DBUS=$(usex dbus) -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick - -DWITH_JEMALLOC=$(usex jemalloc) - -DENABLE_LCMS=$(usex lcms) + -DWITH_GNU_READLINE=$(usex readline) + -DWITH_GSPELL=$(usex spell) + -DWITH_JEMALLOC=OFF + -DENABLE_LCMS=ON -DWITH_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=$(usex !static-libs) + -DBUILD_SHARED_LIBS=ON + -DWITH_GSOURCEVIEW=$(usex sourceview) -DWITH_SVG2=$(usex svg2) -DWITH_LIBVISIO=$(usex visio) -DWITH_LIBWPG=$(usex wpg) + -DWITH_X11=$(usex X) ) cmake_src_configure } +src_test() { + CMAKE_SKIP_TESTS=( + # render_text*: needs patched Cairo / maybe upstream changes + # not yet in a release. + # test_lpe/test_lpe64: precision differences b/c of new GCC? + # cli_export-png-color-mode-gray-8_png_check_output: ditto? + render_test-use + render_test-glyph-y-pos + render_text-glyphs-combining + render_text-glyphs-vertical + render_test-rtl-vertical + test_lpe + test_lpe64 + cli_export-png-color-mode-gray-8_png_check_output + ) + + # bug #871621 + cmake_src_compile tests + cmake_src_test -j1 +} + src_install() { cmake_src_install find "${ED}" -type f -name "*.la" -delete || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die - # No extensions are present in beta1 local extdir="${ED}"/usr/share/${PN}/extensions - if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then + python_fix_shebang "${ED}"/usr/share/${PN}/extensions python_optimize "${ED}"/usr/share/${PN}/extensions fi + + # Empty directory causes sandbox issues, see bug #761915 + rm -r "${ED}/usr/share/inkscape/fonts" || die "Failed to remove fonts directory." } |