1SUMMARY="An outline font editor"
2DESCRIPTION="An outline font editor that lets you create your own OpenType, \
3TrueType, CID-keyed, multi-master fonts and more... or simply edit existing \
4ones."
5HOMEPAGE="https://fontforge.github.io/"
6COPYRIGHT="2000-2018 George Williams
7	The FontForge Project"
8LICENSE="GNU GPL v3
9	BSD (3-clause)"
10REVISION="1"
11SOURCE_URI="https://github.com/fontforge/fontforge/releases/download/$portVersion/fontforge-$portVersion.tar.xz"
12CHECKSUM_SHA256="ca82ec4c060c4dda70ace5478a41b5e7b95eb035fe1c4cf85c48f996d35c60f8"
13PATCHES="fontforge-$portVersion.patchset"
14ADDITIONAL_FILES="fontforge.rdef.in"
15
16ARCHITECTURES="all !x86_gcc2"
17SECONDARY_ARCHITECTURES="x86"
18
19# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
20commandSuffix=$secondaryArchSuffix
21commandBinDir=$binDir
22if [ "$targetArchitecture" = x86_gcc2 ]; then
23	commandSuffix=
24	commandBinDir=$prefix/bin
25fi
26
27PROVIDES="
28	fontforge$secondaryArchSuffix = $portVersion
29	cmd:fontforge$commandSuffix
30	cmd:fontimage$commandSuffix
31	cmd:fontlint$commandSuffix
32	cmd:sfddiff$commandSuffix
33	lib:libfontforge$secondaryArchSuffix = 4 compat >= 4
34	"
35REQUIRES="
36	haiku$secondaryArchSuffix
37	lib:libbrotlienc$secondaryArchSuffix
38	lib:libbrotlidec$secondaryArchSuffix
39#	lib:libcairo$secondaryArchSuffix
40#	lib:libcairo_gobject$secondaryArchSuffix
41	lib:libfreetype$secondaryArchSuffix
42#	lib:libgdk_3$secondaryArchSuffix
43#	lib:libgdk_pixbuf_2.0$secondaryArchSuffix
44	lib:libgif$secondaryArchSuffix
45	lib:libgio_2.0$secondaryArchSuffix
46	lib:libglib_2.0$secondaryArchSuffix
47	lib:libgobject_2.0$secondaryArchSuffix
48#	lib:libharfbuzz$secondaryArchSuffix
49	lib:libiconv$secondaryArchSuffix
50	lib:libintl$secondaryArchSuffix
51	lib:libjpeg$secondaryArchSuffix
52#	lib:libpango_1.0$secondaryArchSuffix
53#	lib:libpangocairo_1.0$secondaryArchSuffix
54	lib:libpng16$secondaryArchSuffix
55	lib:libpython3.10$secondaryArchSuffix
56	lib:libreadline$secondaryArchSuffix
57	lib:libspiro$secondaryArchSuffix
58	lib:libtiff$secondaryArchSuffix
59	lib:libwoff2enc$secondaryArchSuffix
60	lib:libwoff2dec$secondaryArchSuffix
61	lib:libxml2$secondaryArchSuffix
62	lib:libz$secondaryArchSuffix
63	"
64
65PROVIDES_devel="
66	fontforge${secondaryArchSuffix}_devel = $portVersion
67	devel:libfontforge$secondaryArchSuffix = 4 compat >= 4
68	"
69REQUIRES_devel="
70	fontforge$secondaryArchSuffix == $portVersion base
71	"
72
73BUILD_REQUIRES="
74	haiku${secondaryArchSuffix}_devel
75	devel:libbrotlienc$secondaryArchSuffix
76	devel:libbrotlidec$secondaryArchSuffix
77#	devel:libbz2$secondaryArchSuffix
78#	devel:libcairo$secondaryArchSuffix
79#	devel:libcairo_gobject$secondaryArchSuffix
80	devel:libexecinfo$secondaryArchSuffix
81	devel:libfreetype$secondaryArchSuffix
82#	devel:libgdk_3$secondaryArchSuffix
83#	devel:libgdk_pixbuf_2.0$secondaryArchSuffix
84	devel:libgif$secondaryArchSuffix
85	devel:libgio_2.0$secondaryArchSuffix
86	devel:libglib_2.0$secondaryArchSuffix
87	devel:libgobject_2.0$secondaryArchSuffix
88#	devel:libharfbuzz$secondaryArchSuffix
89	devel:libiconv$secondaryArchSuffix
90	devel:libintl$secondaryArchSuffix
91	devel:libjpeg$secondaryArchSuffix
92#	devel:libpango_1.0$secondaryArchSuffix
93#	devel:libpangocairo_1.0$secondaryArchSuffix
94	devel:libpng16$secondaryArchSuffix
95	devel:libpython3.10$secondaryArchSuffix
96	devel:libreadline$secondaryArchSuffix
97	devel:libspiro$secondaryArchSuffix
98	devel:libtiff$secondaryArchSuffix
99	devel:libwoff2enc$secondaryArchSuffix
100	devel:libwoff2dec$secondaryArchSuffix
101	devel:libxml2$secondaryArchSuffix
102	devel:libz$secondaryArchSuffix
103	"
104BUILD_PREREQUIRES="
105	cmd:cmake
106	cmd:g++$secondaryArchSuffix
107	cmd:make
108	cmd:pkg_config$secondaryArchSuffix
109	cmd:python3
110	cmd:realpath
111	"
112
113BUILD()
114{
115	cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
116		$cmakeDirArgs \
117		-DCMAKE_INSTALL_BINDIR=$commandBinDir \
118		-DFONTFORGE_DEFAULT_CFLAGS="-Wno-maybe-uninitialized" \
119		-DENABLE_GUI=OFF \
120		-DENABLE_X11=OFF \
121		-DENABLE_WOFF2=ON \
122		-DPYHOOK_INSTALL_DIR=$prefix/lib/pythonn3.10/vendor-packages
123	make -C build $jobArgs
124}
125
126INSTALL()
127{
128	make -C build install
129
130	# we are not linux
131	rm -rf $dataDir/{applications,icons,metainfo,mime}
132
133	prepareInstalledDevelLib libfontforge
134	fixPkgconfig
135
136	local APP_SIGNATURE="application/vnd.font-fontforge-sfd"
137	local MAJOR="2023"
138	local MIDDLE="01"
139	local MINOR="01"
140	local LONG_INFO="$SUMMARY"
141	sed \
142		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
143		-e "s|@MAJOR@|$MAJOR|" \
144		-e "s|@MIDDLE@|$MIDDLE|" \
145		-e "s|@MINOR@|$MINOR|" \
146		-e "s|@LONG_INFO@|$LONG_INFO|" \
147		$portDir/additional-files/fontforge.rdef.in > fontforge.rdef
148
149	addResourcesToBinaries fontforge.rdef $commandBinDir/fontforge
150#	addAppDeskbarSymlink $commandBinDir/fontforge FontForge
151
152	# devel package
153	packageEntries devel \
154		$developDir
155}
156
157TEST()
158{
159	make -C build check
160}
161