1SUMMARY="A library to render SVG files using cairo"
2DESCRIPTION="libRSVG is a a high performance SVG rendering library associated \
3with the Gnome Project."
4HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg"
5COPYRIGHT="2009-2010 Raph Levien"
6LICENSE="GNU GPL v2
7	GNU LGPL v2"
8REVISION="4"
9SOURCE_URI="https://download.gnome.org/sources/librsvg/2.50/librsvg-$portVersion.tar.xz"
10CHECKSUM_SHA256="fffb61b08cd5282aaae147a02b305166a7426fad22a8b9427708f0f2fc426ebc"
11PATCHES="librsvg-$portVersion.patchset"
12ADDITIONAL_FILES="
13	update_loaders_cache.sh
14	"
15
16ARCHITECTURES="all !x86_gcc2"
17SECONDARY_ARCHITECTURES="x86"
18
19POST_INSTALL_SCRIPTS="
20	$relativePostInstallDir/update_loaders_cache.sh
21	"
22
23commandSuffix=$secondaryArchSuffix
24commandBinDir=$binDir
25if [ "$targetArchitecture" = x86_gcc2 ]; then
26	commandSuffix=
27	commandBinDir=$prefix/bin
28fi
29
30libVersion="2.47.0"
31libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
32
33PROVIDES="
34	librsvg$secondaryArchSuffix = $portVersion
35	cmd:rsvg_convert$commandSuffix = $portVersion
36	lib:librsvg_2$secondaryArchSuffix = $libVersionCompat
37	"
38REQUIRES="
39	haiku$secondaryArchSuffix
40	lib:libcairo$secondaryArchSuffix
41	lib:libcroco_0.6$secondaryArchSuffix
42	lib:libfontconfig$secondaryArchSuffix
43	lib:libfreetype$secondaryArchSuffix
44	lib:libfribidi$secondaryArchSuffix
45	lib:libgdk_pixbuf_2.0$secondaryArchSuffix
46	lib:libgio_2.0$secondaryArchSuffix
47	lib:libgirepository_1.0$secondaryArchSuffix
48	lib:libglib_2.0$secondaryArchSuffix
49	lib:libharfbuzz$secondaryArchSuffix
50	lib:libintl$secondaryArchSuffix
51	lib:libpango_1.0$secondaryArchSuffix
52	lib:libpng16$secondaryArchSuffix
53	lib:libuuid$secondaryArchSuffix
54	lib:libxml2$secondaryArchSuffix
55	lib:libz$secondaryArchSuffix
56	"
57
58PROVIDES_devel="
59	librsvg${secondaryArchSuffix}_devel = $portVersion
60	devel:librsvg_2$secondaryArchSuffix = $libVersionCompat
61	"
62REQUIRES_devel="
63	librsvg$secondaryArchSuffix == $portVersion base
64	devel:libcairo$secondaryArchSuffix
65	devel:libffi$secondaryArchSuffix
66	devel:libfontconfig$secondaryArchSuffix
67	devel:libfreetype$secondaryArchSuffix
68	devel:libgdk_pixbuf_2.0$secondaryArchSuffix
69	devel:libglib_2.0$secondaryArchSuffix
70	devel:libgraphite2$secondaryArchSuffix
71	devel:libharfbuzz$secondaryArchSuffix
72	devel:libpcre$secondaryArchSuffix
73	devel:libpixman_1$secondaryArchSuffix
74	devel:libpng16$secondaryArchSuffix
75	devel:libxml2$secondaryArchSuffix
76	devel:libz$secondaryArchSuffix
77	"
78
79BUILD_REQUIRES="
80	haiku${secondaryArchSuffix}_devel
81	shared_mime_info$secondaryArchSuffix
82	devel:libcairo$secondaryArchSuffix
83	devel:libcroco_0.6$secondaryArchSuffix
84	devel:libfontconfig$secondaryArchSuffix
85	devel:libfreetype$secondaryArchSuffix
86	devel:libfribidi$secondaryArchSuffix
87	devel:libgdk_pixbuf_2.0$secondaryArchSuffix
88	devel:libgio_2.0$secondaryArchSuffix
89	devel:libgirepository_1.0$secondaryArchSuffix
90	devel:libglib_2.0$secondaryArchSuffix
91	devel:libintl$secondaryArchSuffix
92	devel:libpango_1.0$secondaryArchSuffix
93	devel:libpng16$secondaryArchSuffix
94	devel:libuuid$secondaryArchSuffix >= 1.3.1
95	devel:libxml2$secondaryArchSuffix
96	devel:libz$secondaryArchSuffix
97	"
98BUILD_PREREQUIRES="
99	cmd:aclocal
100	cmd:autoreconf
101	cmd:awk
102	cmd:cargo$secondaryArchSuffix >= 0.64
103	cmd:gcc$secondaryArchSuffix
104	cmd:gtkdocize
105	cmd:libtoolize$secondaryArchSuffix
106	cmd:make
107	cmd:pkg_config$secondaryArchSuffix
108	cmd:sed
109	cmd:valac
110	cmd:vapigen
111	"
112
113defineDebugInfoPackage librsvg$secondaryArchSuffix \
114	$commandBinDir/rsvg-convert \
115	$libDir/librsvg-2.so.$libVersion
116
117BUILD()
118{
119	autoreconf -vfi
120	runConfigure --omit-dirs binDir ./configure \
121		--bindir=$commandBinDir \
122		--disable-static \
123		--enable-introspection=yes \
124		--enable-vala=yes
125	make $jobArgs
126}
127
128INSTALL()
129{
130	# fix path for gdk-pixbuf loaders
131	mkdir -p $settingsDir/gdk-pixbuf-2.0
132	touch $settingsDir/gdk-pixbuf-2.0/loaders.cache
133
134	local gdk_pixbuf_version="`pkg-config --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0`"
135
136	sed -i -e "s|gdk_pixbuf_binarydir = .*|gdk_pixbuf_binarydir = \"$libDir/gdk-pixbuf-2.0/$gdk_pixbuf_version\"/|" \
137		$sourceDir/gdk-pixbuf-loader/Makefile
138	sed -i -e "s|gdk_pixbuf_cache_file = .*|gdk_pixbuf_cache_file = \"$settingsDir/gdk-pixbuf-2.0/loaders.cache\"|" \
139		$sourceDir/gdk-pixbuf-loader/Makefile
140	sed -i -e "s|gdk_pixbuf_moduledir = .*|gdk_pixbuf_moduledir = \"$libDir/gdk-pixbuf-2.0/$gdk_pixbuf_version/loaders\"|" \
141		$sourceDir/gdk-pixbuf-loader/Makefile
142	sed -i -e "s|libdir=.*|libdir='$libDir/gdk-pixbuf-2.0/$gdk_pixbuf_version/loaders\'|" \
143		$sourceDir/gdk-pixbuf-loader/libpixbufloader-svg.la
144
145	make install
146
147	rm $libDir/*.la \
148		$libDir/gdk-pixbuf-2.0/$gdk_pixbuf_version/loaders/*.la
149	rm -rf $dataDir/pixmaps \
150		$settingsDir/gdk-pixbuf-2.0
151
152	# postinstall script for rebuild loaders.cache
153	mkdir -p $postInstallDir
154	cp $portDir/additional-files/update_loaders_cache.sh $postInstallDir
155	chmod +x $postInstallDir/update_loaders_cache.sh
156
157	prepareInstalledDevelLib librsvg-2
158	fixPkgconfig
159
160	packageEntries devel \
161		$developDir
162}
163
164TEST()
165{
166	make check
167}
168