*/*: Switch graphics proj packages to cmake.eclass
[gentoo.git] / media-gfx / inkscape / inkscape-9999.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 PYTHON_COMPAT=( python3_{5,6,7} )
7 PYTHON_REQ_USE="xml"
8 MY_P="${P/_/}"
9 inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 git-r3
10
11 DESCRIPTION="SVG based generic vector-drawing program"
12 HOMEPAGE="https://inkscape.org/"
13 EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
14
15 LICENSE="GPL-2 LGPL-2.1"
16 SLOT="0"
17 KEYWORDS=""
18 IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms nls
19 openmp postscript spell static-libs svg2 visio wpg"
20
21 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
22
23 BDEPEND="
24         dev-util/glib-utils
25         >=dev-util/intltool-0.40
26         >=sys-devel/gettext-0.17
27         virtual/pkgconfig
28 "
29 COMMON_DEPEND="${PYTHON_DEPS}
30         >=app-text/poppler-0.57.0:=[cairo]
31         >=dev-cpp/cairomm-1.12
32         >=dev-cpp/glibmm-2.54.1
33         dev-cpp/gtkmm:3.0
34         >=dev-cpp/pangomm-2.40
35         >=dev-libs/boehm-gc-7.1:=
36         dev-libs/double-conversion:=
37         >=dev-libs/glib-2.41
38         >=dev-libs/libsigc++-2.8
39         >=dev-libs/libxml2-2.7.4
40         >=dev-libs/libxslt-1.1.25
41         dev-libs/gdl:3
42         dev-libs/popt
43         dev-python/lxml[${PYTHON_USEDEP}]
44         media-gfx/potrace
45         media-gfx/scour[${PYTHON_USEDEP}]
46         media-libs/fontconfig
47         media-libs/freetype:2
48         media-libs/libpng:0=
49         net-libs/libsoup
50         sci-libs/gsl:=
51         x11-libs/libX11
52         >=x11-libs/pango-1.37.2
53         x11-libs/gtk+:3
54         cdr? (
55                 app-text/libwpg:0.3
56                 dev-libs/librevenge
57                 media-libs/libcdr
58         )
59         dbus? ( dev-libs/dbus-glib )
60         exif? ( media-libs/libexif )
61         imagemagick? (
62                 !graphicsmagick? ( <media-gfx/imagemagick-7:=[cxx] )
63                 graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
64         )
65         jemalloc? ( dev-libs/jemalloc )
66         jpeg? ( virtual/jpeg:0 )
67         lcms? ( media-libs/lcms:2 )
68         spell? (
69                 app-text/aspell
70                 app-text/gtkspell:3
71         )
72         visio? (
73                 app-text/libwpg:0.3
74                 dev-libs/librevenge
75                 media-libs/libvisio
76         )
77         wpg? (
78                 app-text/libwpg:0.3
79                 dev-libs/librevenge
80         )
81 "
82 # These only use executables provided by these packages
83 # See share/extensions for more details. inkscape can tell you to
84 # install these so we could of course just not depend on those and rely
85 # on that.
86 RDEPEND="${COMMON_DEPEND}
87         dev-python/numpy[${PYTHON_USEDEP}]
88         dia? ( app-office/dia )
89         postscript? ( app-text/ghostscript-gpl )
90 "
91 DEPEND="${COMMON_DEPEND}
92         >=dev-libs/boost-1.65
93 "
94
95 S="${WORKDIR}/${MY_P}"
96
97 RESTRICT="test"
98
99 PATCHES=(
100         "${FILESDIR}"/${PN}-1.0_beta1-detect-imagemagick.patch
101         "${FILESDIR}"/${PN}-1.0_beta1-do-not-compress-man.patch
102 )
103
104 pkg_pretend() {
105         if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
106                 tc-has-openmp || die "Please switch to an openmp compatible compiler"
107         fi
108 }
109
110 src_prepare() {
111         cmake_src_prepare
112         sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die
113 }
114
115 src_configure() {
116         # aliasing unsafe wrt #310393
117         append-flags -fno-strict-aliasing
118
119         local mycmakeargs=(
120                 # -DWITH_LPETOOL   # Compile with LPE Tool and experimental LPEs enabled
121                 -DENABLE_POPPLER=ON
122                 -DENABLE_POPPLER_CAIRO=ON
123                 -DWITH_PROFILING=OFF
124                 -DWITH_LIBCDR=$(usex cdr)
125                 -DWITH_DBUS=$(usex dbus)
126                 -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled
127                 -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick
128                 -DWITH_JEMALLOC=$(usex jemalloc)
129                 -DENABLE_LCMS=$(usex lcms)
130                 -DWITH_NLS=$(usex nls)
131                 -DWITH_OPENMP=$(usex openmp)
132                 -DBUILD_SHARED_LIBS=$(usex !static-libs)
133                 -DWITH_SVG2=$(usex svg2)
134                 -DWITH_LIBVISIO=$(usex visio)
135                 -DWITH_LIBWPG=$(usex wpg)
136         )
137
138         cmake_src_configure
139 }
140
141 src_install() {
142         cmake_src_install
143
144         find "${ED}" -type f -name "*.la" -delete || die
145
146         # No extensions are present in beta1
147         local extdir="${ED}"/usr/share/${PN}/extensions
148
149         if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then
150                 python_optimize "${ED}"/usr/share/${PN}/extensions
151         fi
152 }