fritzkink
2023-11-26 2adf6d65c3b4c4bc18dc880c52f14cbd3599258e
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
149
150
151
152
153
154
155
156
157
#
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
 
# Copyright (c) 2011, 2023, Oracle and/or its affiliates.
# Copyright (c) 2018, Michal Nowak
# Copyright (c) 2022, Friedrich Kink
# Copyright (c) 2023, Andreas Wacknitz
#
BUILD_BITS = 64
 
include ../../../make-rules/shared-macros.mk
 
COMPONENT_NAME=         ghostscript
COMPONENT_VERSION=      10.2.1
HUMAN_VERSION=        10.02.1
NUMERICAL_VERSION=    $(subst .,,$(HUMAN_VERSION))
COMPONENT_SUMMARY=    Ghostscript is an interpreter for the PostScript language and PDF files
COMPONENT_PROJECT_URL=    https://ghostscript.com
COMPONENT_SRC=          $(COMPONENT_NAME)-$(HUMAN_VERSION)
COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_HASH= sha256:8c58c948b0721becefcd0029c8db95f9bb3268affc25ea01d4c5a6b07fa1ab08
COMPONENT_DOWNLOAD_URL= https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download
COMPONENT_ARCHIVE_URL=  $(COMPONENT_DOWNLOAD_URL)/gs$(NUMERICAL_VERSION)/$(COMPONENT_ARCHIVE)
COMPONENT_FMRI=     print/filter/ghostscript
COMPONENT_CLASSIFICATION= System/Printing
COMPONENT_LICENSE=      AGPLv3, GPL, BSD, MIT, IJG, Apache 2.0
 
COMPONENT_NAME_1= tessdata_best
COMPONENT_VERSION_1= 4.1.0
COMPONENT_SRC_1= $(COMPONENT_NAME_1)-$(COMPONENT_VERSION_1)
COMPONENT_ARCHIVE_1= $(COMPONENT_VERSION_1).tar.gz
COMPONENT_ARCHIVE_URL_1= https://github.com/tesseract-ocr/$(COMPONENT_NAME_1)/archive/refs/tags/$(COMPONENT_ARCHIVE_1)
COMPONENT_ARCHIVE_HASH_1= sha256:bb05b738298ae73e7130e2913ed002b49d94cd1cea508e63be1928fe47770b32
 
include $(WS_MAKE_RULES)/common.mk
 
COMPONENT_POST_UNPACK_ACTION= ( \
    $(RM) $(COMPONENT_LICENSE_FILE) && \
    $(TOUCH) $(COMPONENT_LICENSE_FILE) && \
    for l in $(SOURCE_DIR)/LICENSE $(SOURCE_DIR)/jbig2dec/LICENSE $(SOURCE_DIR)/openjpeg/LICENSE \
     $(SOURCE_DIR)/libpng/LICENSE $(SOURCE_DIR)/libpng/contrib/gregbook/LICENSE  $(SOURCE_DIR)/zlib/LICENSE \
     $(SOURCE_DIR)/doc/COPYING $(SOURCE_DIR)/extract/COPYING $(SOURCE_DIR)/lcms2mt/COPYING \
     $(SOURCE_DIR)/contrib/lxm3200-tweaked/LICENSE  $(SOURCE_DIR)/tesseract/LICENSE ; do \
        $(CAT) $$l >> $(COMPONENT_LICENSE_FILE) ; \
        echo "------------------------------------------------------------" >> $(COMPONENT_LICENSE_FILE) ; \
    done ; )
 
PATH= $(PATH.gnu)
 
CFLAGS += $(XPG6MODE)
 
# build with the distribution preferred libjpeg implementation
CFLAGS   += $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)
CXXFLAGS += $(JPEG_CPPFLAGS) $(JPEG_CXXFLAGS)
LDFLAGS  += $(JPEG_LDFLAGS)
 
# configure(1) options to use
CONFIGURE_OPTIONS += --with-drivers=ALL
CONFIGURE_OPTIONS += --with-system-libtiff
CONFIGURE_OPTIONS += --with-ijs
CONFIGURE_OPTIONS += --with-jbig2dec
CONFIGURE_OPTIONS += --enable-cups
CONFIGURE_OPTIONS += --with-libiconv=native
CONFIGURE_OPTIONS += --enable-dynamic
CONFIGURE_OPTIONS += --disable-compile-inits
CONFIGURE_OPTIONS += --disable-hidden-visibility
CONFIGURE_OPTIONS += --enable-freetype
CONFIGURE_OPTIONS += --with-fontpath=/usr/share/ghostscript/$(HUMAN_VERSION)/Resource:/usr/share/ghostscript/$(HUMAN_VERSION)/Resource/Font:/usr/share/ghostscript/fonts:/usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/TrueType:/usr/openwin/lib/X11/fonts/Type3:/usr/X11/lib/X11/fonts/Type1:/usr/X11/lib/fonts/TrueType:/usr/X11/lib/X11/fonts/Type3:/usr/X11/lib/X11/fonts/Resource:/usr/X11/lib/X11/Resource/Font:/usr/share/fonts/TrueType
 
# config env
CONFIGURE_ENV += LDFLAGS_SO="-shared "
CONFIGURE_ENV += CUPSCONFIG=/usr/bin/cups-config
 
GS_VARIANT_64 = $(BUILD_DIR)/$(MACH64)
IJS_VARIANT_64 = $(BUILD_DIR)/$(MACH64)/ijs
 
VARIANTS = $(GS_VARIANT) $(IJS_VARIANT) $(GS_VARIANT_64) $(IJS_VARIANT_64)
 
# autoconf - Generate configuration scripts
COMPONENT_PREP_ACTION = \
     (cd $(@D); $(RM) -r libpng zlib jpeg ; autoconf)
 
$(GS_VARIANT)/.configured: COMPONENT_PRE_CONFIGURE_ACTION = \
    ($(CLONEY) $(SOURCE_DIR) $(@D))
 
$(GS_VARIANT)/.installed: COMPONENT_INSTALL_TARGETS += \
    install-exec install-so install-scripts install-data \
    install-contrib-extras
 
$(GS_VARIANT_64)/.configured: COMPONENT_PRE_CONFIGURE_ACTION = \
    ($(CLONEY) $(SOURCE_DIR) $(@D))
 
$(GS_VARIANT_64)/.installed: COMPONENT_INSTALL_TARGETS += \
    install-exec install-so install-scripts install-data \
    install-contrib-extras
 
$(IJS_VARIANT_64)/.configured: BITS=64
    COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR)/ijs $(@D); \
    cd $(@D) ; $(ENV) $(CONFIGURE_ENV) ./autogen.sh )
 
CONFIGURE_SCRIPT = ./configure
 
# build gs and ijs
build: $(VARIANTS:%=%/.built)
 
# install gs and ijs
install: $(VARIANTS:%=%/.installed)
 
# the license file is dynamically build, thus we need to remove it:
clean::
    $(RM) $(COMPONENT_LICENSE_FILE)
 
COMPONENT_TEST_CMD = sh $(COMPONENT_DIR)/tests/run
COMPONENT_TEST_ENV += TESSDATA_PREFIX="$(SOURCE_DIR_1)"
COMPONENT_TEST_TRANSFORMS += "-e '/^Using/d'"
COMPONENT_TEST_TRANSFORMS += "-e '/ differ: /d'"
COMPONENT_TEST_TRANSFORMS += "-e '/extract.c:.*:extract_subpage_free/d'"
 
# Auto-generated dependencies
REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
REQUIRED_PACKAGES += image/library/libpng16
REQUIRED_PACKAGES += image/library/libtiff
REQUIRED_PACKAGES += library/desktop/cairo
REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
REQUIRED_PACKAGES += library/desktop/gtk3
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += library/libidn
REQUIRED_PACKAGES += library/libpaper
REQUIRED_PACKAGES += library/print/cups-libs
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/fontconfig
REQUIRED_PACKAGES += system/library/math
REQUIRED_PACKAGES += x11/library/libx11
REQUIRED_PACKAGES += x11/library/toolkit/libxt