1SUMMARY="A library for processing spreadsheet documents"
2DESCRIPTION="Orcus is a library that provides a collection of standalone file \
3processing filters. It is currently focused on providing filters for \
4spreadsheet documents."
5HOMEPAGE="https://gitlab.com/orcus/orcus"
6COPYRIGHT="Kohei Yoshida et al."
7LICENSE="MPL v2.0"
8REVISION="4"
9SOURCE_URI="https://gitlab.com/orcus/orcus/-/archive/$portVersion/orcus-$portVersion.tar.bz2"
10CHECKSUM_SHA256="79fcc2998191fe5853a05edafe97a04d73e45d95d38237ad03500fe266f03503"
11
12ARCHITECTURES="all !x86_gcc2"
13SECONDARY_ARCHITECTURES="x86"
14
15boostMinimumVersion=1.83.0
16
17commandBinDir=$binDir
18commandSuffix=$secondaryArchSuffix
19if [ "$targetArchitecture" = x86_gcc2 ]; then
20	commandSuffix=
21	commandBinDir=$prefix/bin
22fi
23
24soVersion="${portVersion%.*}"
25ixionSoVersion=$soVersion
26
27PROVIDES="
28	orcus$secondaryArchSuffix = $portVersion
29	lib:liborcus_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
30	lib:liborcus_mso_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
31	lib:liborcus_parser_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
32	lib:liborcus_spreadsheet_model_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
33	"
34REQUIRES="
35	haiku$secondaryArchSuffix
36	lib:libboost_date_time$secondaryArchSuffix
37	lib:libboost_system$secondaryArchSuffix
38	lib:libboost_filesystem$secondaryArchSuffix
39	lib:libboost_iostreams$secondaryArchSuffix
40	lib:libboost_program_options$secondaryArchSuffix
41	lib:libixion_$ixionSoVersion$secondaryArchSuffix
42	lib:libz$secondaryArchSuffix
43	"
44
45PROVIDES_devel="
46	orcus${secondaryArchSuffix}_devel = $portVersion
47	devel:liborcus_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
48	devel:liborcus_mso_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
49	devel:liborcus_parser_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
50	devel:liborcus_spreadsheet_model_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
51	"
52REQUIRES_devel="
53	orcus$secondaryArchSuffix == $portVersion base
54	devel:libixion_$ixionSoVersion$secondaryArchSuffix
55	"
56
57PROVIDES_tools="
58	orcus${secondaryArchSuffix}_tools = $portVersion
59	cmd:orcus_css_dump$commandSuffix = $portVersion
60	cmd:orcus_csv$commandSuffix = $portVersion
61	cmd:orcus_detect$commandSuffix = $portVersion
62	cmd:orcus_gnumeric$commandSuffix = $portVersion
63	cmd:orcus_json$commandSuffix = $portVersion
64	cmd:orcus_mso_encryption$commandSuffix = $portVersion
65	cmd:orcus_ods$commandSuffix = $portVersion
66	cmd:orcus_styles_ods$commandSuffix = $portVersion
67	cmd:orcus_xls_xml$commandSuffix = $portVersion
68	cmd:orcus_xlsx$commandSuffix = $portVersion
69	cmd:orcus_xml$commandSuffix = $portVersion
70	cmd:orcus_xml_dump$commandSuffix = $portVersion
71	cmd:orcus_yaml$commandSuffix = $portVersion
72	cmd:orcus_zip_dump$commandSuffix = $portVersion
73	"
74REQUIRES_tools="
75	orcus$secondaryArchSuffix == $portVersion base
76	$REQUIRES
77	"
78
79BUILD_REQUIRES="
80	haiku${secondaryArchSuffix}_devel
81	devel:libboost_date_time$secondaryArchSuffix >= $boostMinimumVersion
82	devel:libboost_system$secondaryArchSuffix >= $boostMinimumVersion
83	devel:libboost_filesystem$secondaryArchSuffix >= $boostMinimumVersion
84	devel:libboost_iostreams$secondaryArchSuffix >= $boostMinimumVersion
85	devel:libboost_program_options$secondaryArchSuffix >= $boostMinimumVersion
86	devel:libixion_$ixionSoVersion$secondaryArchSuffix
87	devel:libz$secondaryArchSuffix
88	devel:mdds >= 2
89	"
90BUILD_PREREQUIRES="
91	cmd:aclocal
92	cmd:autoconf
93	cmd:automake
94	cmd:gcc$secondaryArchSuffix
95	cmd:ld$secondaryArchSuffix
96	cmd:libtoolize$secondaryArchSuffix
97	cmd:make
98	cmd:pkg_config$secondaryArchSuffix
99	"
100
101defineDebugInfoPackage orcus$secondaryArchSuffix \
102	$(getPackagePrefix tools)/bin/orcus-css-dump \
103	$(getPackagePrefix tools)/bin/orcus-csv \
104	$(getPackagePrefix tools)/bin/orcus-detect \
105	$(getPackagePrefix tools)/bin/orcus-gnumeric \
106	$(getPackagePrefix tools)/bin/orcus-json \
107	$(getPackagePrefix tools)/bin/orcus-mso-encryption \
108	$(getPackagePrefix tools)/bin/orcus-ods \
109	$(getPackagePrefix tools)/bin/orcus-styles-ods \
110	$(getPackagePrefix tools)/bin/orcus-xls-xml \
111	$(getPackagePrefix tools)/bin/orcus-xlsx \
112	$(getPackagePrefix tools)/bin/orcus-xml \
113	$(getPackagePrefix tools)/bin/orcus-yaml \
114	$(getPackagePrefix tools)/bin/orcus-zip-dump \
115	$libDir/liborcus-$soVersion.so.0.0.0 \
116	$libDir/liborcus-mso-$soVersion.so.0.0.0 \
117	$libDir/liborcus-parser-$soVersion.so.0.0.0 \
118	$libDir/liborcus-spreadsheet-model-$soVersion.so.0.0.0
119
120PATCH()
121{
122	sed -i 's/-pthread//g' configure.ac src/parser/Makefile.am
123	sed -i 's#$with_boost/include#$with_boost/headers#g' m4/boost.m4
124}
125
126BUILD()
127{
128	autoreconf -fi
129	BOOST_ROOT=$portPackageLinksDir/devel~libboost_program_options/develop
130	runConfigure --omit-dirs binDir ./configure \
131		--bindir=$commandBinDir \
132		--disable-python \
133		--disable-static
134	make $jobArgs
135}
136
137INSTALL()
138{
139	make install
140
141	for la in "" -mso -parser -spreadsheet-model; do
142		library=liborcus$la-$soVersion
143		rm $libDir/$library.la
144		prepareInstalledDevelLib $library
145	done
146	fixPkgconfig
147
148	packageEntries devel \
149		$developDir
150
151	packageEntries tools \
152		"$commandBinDir"
153}
154
155TEST()
156{
157	make check
158}
159