Package: libreoffice / 1:6.1.5-3

allow-opensymbol-rebuild.diff Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
diff --git a/Makefile.fetch b/Makefile.fetch
index fce291d2c3ac..44f5031aac4a 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -52,7 +52,7 @@ $(filter 32,$(words $(shell echo $(1) | sed -e 's/./& /g')))
 endef
 
 define fetch_Download__subst_var
-$(subst _DLL,_SHA256SUM,$(subst _TARBALL,_SHA256SUM,$(subst _PACK,_SHA256SUM,$(subst _JAR,_SHA256SUM,$(1)))))
+$(subst _TTF,_SHA256SUM,$(subst _DLL,_SHA256SUM,$(subst _TARBALL,_SHA256SUM,$(subst _PACK,_SHA256SUM,$(subst _JAR,_SHA256SUM,$(1))))))
 endef
 
 # fetch_Download_item url variable-name
@@ -224,6 +224,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S
 	,$(call fetch_Download_item,https://dev-www.libreoffice.org/src,$(item)))
 	$(foreach item, \
 		$(call fetch_Optional,ODK,UNOWINREG_DLL) \
+		$(call fetch_Optional,OPENSYMBOL,OPENSYMBOL_TTF) \
 		$(call fetch_Optional,ODFVALIDATOR,ODFVALIDATOR_JAR) \
 		$(call fetch_Optional,OFFICEOTRON,OFFICEOTRON_JAR) \
 	,$(call fetch_Download_item,https://dev-www.libreoffice.org/extern,$(item)))
diff --git a/config_host.mk.in b/config_host.mk.in
index 4a864c745424..0e3ba4864755 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -188,6 +188,7 @@ export FLEX=@FLEX@
 export FLUTE_JAR=@FLUTE_JAR@
 export FONTCONFIG_CFLAGS=$(gb_SPACE)@FONTCONFIG_CFLAGS@
 export FONTCONFIG_LIBS=$(gb_SPACE)@FONTCONFIG_LIBS@
+export FONTFORGE=@FONTFORGE@
 export FREEHAND_CFLAGS=$(gb_SPACE)@FREEHAND_CFLAGS@
 export FREEHAND_LIBS=$(gb_SPACE)@FREEHAND_LIBS@
 export FREETYPE_CFLAGS=$(gb_SPACE)@FREETYPE_CFLAGS@
@@ -432,6 +433,7 @@ export OOO_JUNIT_JAR=@OOO_JUNIT_JAR@
 export OOO_VENDOR=@OOO_VENDOR@
 export OPENSSL_CFLAGS=$(gb_SPACE)@OPENSSL_CFLAGS@
 export OPENSSL_LIBS=$(gb_SPACE)@OPENSSL_LIBS@
+export OPENSYMBOL_TTF=@OPENSYMBOL_TTF@
 export ORCUS_CFLAGS=$(gb_SPACE)@ORCUS_CFLAGS@
 export ORCUS_LIBS=$(gb_SPACE)@ORCUS_LIBS@
 export OS=@OS@
diff --git a/configure.ac b/configure.ac
index 21218f46e41c..73e3384cf1ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1315,6 +1315,12 @@ AC_ARG_ENABLE(build-unowinreg,
          compiler is needed on Linux.]),
 ,)
 
+AC_ARG_ENABLE(build-opensymbol,
+    AS_HELP_STRING([--enable-build-opensymbol],
+        [Do not use the prebuilt opens___.ttf. Build it instead. This needs
+         fontforge installed.]),
+,)
+
 AC_ARG_ENABLE(dependency-tracking,
     AS_HELP_STRING([--enable-dependency-tracking],
         [Do not reject slow dependency extractors.])[
@@ -11297,6 +11303,21 @@ if test "x$with_java" != "xno"; then
     libo_CHECK_EXTENSION([LanguageTool],[LANGUAGETOOL],[languagetool],[languagetool],[])
 fi
 
+AC_MSG_CHECKING([whether to build opens___.ttf])
+if test "$enable_build_opensymbol" = "yes"; then
+    AC_MSG_RESULT([yes])
+    AC_PATH_PROG(FONTFORGE, fontforge)
+    if test -z "$FONTFORGE"; then
+	AC_MSG_ERROR([fontforge not installed])
+    fi
+else
+    AC_MSG_RESULT([no])
+    OPENSYMBOL_TTF=49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf
+    BUILD_TYPE="$BUILD_TYPE OPENSYMBOL"
+fi
+AC_SUBST(OPENSYMBOL_TTF)
+AC_SUBST(FONTFORGE)
+
 TEST_FONTS_MISSING=0
 
 # $1  = font family
diff --git a/download.lst b/download.lst
index 1a5e697767b6..492b90b6b82c 100644
--- a/download.lst
+++ b/download.lst
@@ -256,3 +256,4 @@ export ZMF_TARBALL := libzmf-0.0.2.tar.xz
 
 NUMBERTEXT_EXTENSION_SHA256SUM := 1568ed1d2feb8210bb5de61d69574a165cded536cfa17c6953c9064076469de2
 UNOWINREG_SHA256SUM := eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6
+OPENSYMBOL_SHA256SUM := 49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63
diff --git a/extras/CustomTarget_opensymbol.mk b/extras/CustomTarget_opensymbol.mk
new file mode 100644
index 000000000000..a27718feb377
--- /dev/null
+++ b/extras/CustomTarget_opensymbol.mk
@@ -0,0 +1,23 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,extras/fonts))
+
+$(eval $(call gb_CustomTarget_register_targets,extras/fonts,opens___.ttf))
+
+ifneq (,$(FONTFORGE))
+$(call gb_CustomTarget_get_workdir,extras/fonts)/opens___.ttf : \
+		$(SRCDIR)/extras/source/truetype/symbol/OpenSymbol.sfd
+	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),FNT,1)
+	$(FONTFORGE) -lang=ff -c 'Open($$1); Generate($$2)' $< $@
+else
+$(call gb_CustomTarget_get_workdir,extras/fonts)/opens___.ttf : \
+		$(TARFILE_LOCATION)/$(OPENSYMBOL_TTF)
+	cp $< $@
+endif
diff --git a/extras/Module_extras.mk b/extras/Module_extras.mk
index 2aa41bda3901..164d38aefd1c 100644
--- a/extras/Module_extras.mk
+++ b/extras/Module_extras.mk
@@ -68,4 +68,8 @@ $(eval $(call gb_Module_add_targets,extras,\
 ))
 endif
 
+$(eval $(call gb_Module_add_targets,extras,\
+	CustomTarget_opensymbol \
+))
+
 # vim: set noet sw=4 ts=4:
diff --git a/extras/Package_fonts.mk b/extras/Package_fonts.mk
index 952c8286a5e7..8d2d23cbed6b 100644
--- a/extras/Package_fonts.mk
+++ b/extras/Package_fonts.mk
@@ -7,8 +7,10 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_Package_Package,extras_fonts,$(SRCDIR)/extras))
+$(eval $(call gb_Package_Package,extras_fonts,$(call gb_CustomTarget_get_workdir,extras/fonts)))
 
-$(eval $(call gb_Package_add_file,extras_fonts,$(LIBO_SHARE_FOLDER)/fonts/truetype/opens___.ttf,source/truetype/symbol/opens___.ttf))
+$(eval $(call gb_Package_use_customtarget,extras_fonts,extras/fonts))
+
+$(eval $(call gb_Package_add_file,extras_fonts,$(LIBO_SHARE_FOLDER)/fonts/truetype/opens___.ttf,opens___.ttf))
 
 # vim: set noet sw=4 ts=4: