iigs
2024-03-03 1db15946f3a57cc138e57c90ad291e3077b31faa
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
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
 
#
# Copyright 2017 Alexander Pyhalov
# Copyright 2020 Michal Nowak
# Copyright 2021 Klaus Ziegler
# Copyright 2023 Friedrich Kink
#
 
USE_PARALLEL_BUILD = yes
BUILD_STYLE=        cmake
include ../../../make-rules/shared-macros.mk
 
COMPONENT_NAME=        webkitgtk
COMPONENT_VERSION=    2.42.5
COMPONENT_SUMMARY=    Web content engine library for GTK+
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_HASH= sha256:b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749
COMPONENT_ARCHIVE_URL=    https://webkitgtk.org/releases/$(COMPONENT_ARCHIVE)
COMPONENT_PROJECT_URL=    https://webkitgtk.org
COMPONENT_FMRI=        library/desktop/webkitgtk2
COMPONENT_CLASSIFICATION= System/Libraries
COMPONENT_LICENSE=    BSD,LGPLv2,CCASA3.0
COMPONENT_LICENSE_FILE=    webkitgtk.license
 
UNIFDEF_VER= 2.12
UNIFDEF_DIR= unifdef-$(UNIFDEF_VER)
UNIFDEF_ARCHIVE= $(UNIFDEF_DIR).tar.gz
UNIFDEF_URL= https://dotat.at/prog/unifdef/$(UNIFDEF_ARCHIVE)
UNIFDEF_HASH= sha256:fba564a24db7b97ebe9329713ac970627b902e5e9e8b14e19e024eb6e278d10b
 
ifeq ($(MACH), sparc)
ADDITIONAL_PATCHES += patches/mapfile.$(MACH)
endif
ifeq ($(MACH), i386)
ADDITIONAL_PATCHES += patches/mapfile.$(MACH)
endif
 
TEST_TARGET= $(NO_TESTS)
include $(WS_MAKE_RULES)/common.mk
include $(WS_MAKE_RULES)/ninja.mk
 
PATH= $(PATH.gnu)
 
COMPONENT_PRE_BUILD_ACTION += $(GSED) -i -e 's:/usr/bin/unifdef:$(COMPONENT_DIR)/$(UNIFDEF_DIR)/unifdef:' $(@D)/build.ninja
 
# build with the distribution preferred libjpeg implementation
CFLAGS   += $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)
CXXFLAGS += $(JPEG_CPPFLAGS) $(JPEG_CXXFLAGS)
LDFLAGS  += $(JPEG_LDFLAGS)
 
LDFLAGS += -lm -lsocket
 
CMAKE_OPTIONS += -DPORT=GTK
CMAKE_OPTIONS += -GNinja
CMAKE_OPTIONS += -DENABLE_INTROSPECTION=on
CMAKE_OPTIONS += -DENABLE_WEB_RTC=off
CMAKE_OPTIONS += -DENABLE_GEOLOCATION=on
CMAKE_OPTIONS += -DENABLE_SAMPLING_PROFILER=off
CMAKE_OPTIONS += -DENABLE_WEB_AUDIO=on
CMAKE_OPTIONS += -DENABLE_2022_GLIB_API=off
CMAKE_OPTIONS += -DENABLE_JOURNALD_LOG=off
CMAKE_OPTIONS += -DUSE_LIBHYPHEN=off
CMAKE_OPTIONS += -DENABLED_UNIFIED_BUILDS=OFF
CMAKE_OPTIONS += -DUSE_GBM=off
CMAKE_OPTIONS += -DUSE_GTK4=off
CMAKE_OPTIONS += -DUSE_JPEGXL=off
CMAKE_OPTIONS += -DUSE_GSTREAMER_GL=ON
CMAKE_OPTIONS += -DENABLE_ENCRYPTED_MEDIA=ON
CMAKE_OPTIONS += -DUSE_AVIF=off
CMAKE_OPTIONS += -DUSE_GSTREAMER_TRANSCODER=off
CMAKE_OPTIONS += -DUSE_GSTREAMER_WEBRTC=off
CMAKE_OPTIONS += -DUSE_SYSTEM_MALLOC=on
CMAKE_OPTIONS += -DCMAKE_INSTALL_LIBEXECDIR:PATH=lib
CMAKE_OPTIONS += -DUSE_WPE_RENDERER=off
CMAKE_OPTIONS += -DENABLE_GAMEPAD=off
CMAKE_OPTIONS += -DUSE_WOFF2=off
CMAKE_OPTIONS += -DCMAKE_BUILD_TYPE=Release
CMAKE_OPTIONS += -DJPEG_INCLUDE_DIR=$(JPEG_INCDIR)
CMAKE_OPTIONS += -DJPEG_LIBRARY=$(JPEG_LIBDIR)/libjpeg.so
 
# Tell g-ir-scanner not to cache results in homedir of user running the build
COMPONENT_BUILD_ENV += GI_SCANNER_DISABLE_CACHE=""
 
COMPONENT_INSTALL_ARGS = 
 
download:: $(UNIFDEF_DIR)/unifdef
 
$(UNIFDEF_ARCHIVE):
    $(FETCH) --file $(UNIFDEF_ARCHIVE) --url $(UNIFDEF_URL) --hash $(UNIFDEF_HASH)
 
$(UNIFDEF_DIR)/unifdef: $(UNIFDEF_ARCHIVE)
    $(GTAR) xzf $(UNIFDEF_ARCHIVE)
    $(RM) -r $(UNIFDEF_ARCHIVE)
    ( cd $(UNIFDEF_DIR); CC=$(CC) gmake )
    test -x $(UNIFDEF_DIR)/unifdef || exit 1
 
CLEAN_PATHS += $(UNIFDEF_DIR)
 
# Buld time dependencies
REQUIRED_PACKAGES += developer/icu
REQUIRED_PACKAGES += developer/gperf
REQUIRED_PACKAGES += library/gnutls-3
 
# Auto-generated dependencies
REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
REQUIRED_PACKAGES += $(ICU_LIBRARY_PKG)
REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
REQUIRED_PACKAGES += database/sqlite-3
REQUIRED_PACKAGES += image/library/libpng16
REQUIRED_PACKAGES += image/library/openjpeg
REQUIRED_PACKAGES += library/audio/gstreamer1
REQUIRED_PACKAGES += library/audio/gstreamer1/plugin/base
REQUIRED_PACKAGES += library/c++/harfbuzz
REQUIRED_PACKAGES += library/desktop/atk
REQUIRED_PACKAGES += library/desktop/cairo
REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
REQUIRED_PACKAGES += library/desktop/gtk3
REQUIRED_PACKAGES += library/desktop/pango
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += library/lcms2
REQUIRED_PACKAGES += library/libsecret
REQUIRED_PACKAGES += library/libsoup3
REQUIRED_PACKAGES += library/libtasn1
REQUIRED_PACKAGES += library/libwebp
REQUIRED_PACKAGES += library/libxml2
REQUIRED_PACKAGES += library/libxslt
REQUIRED_PACKAGES += library/spell-checking/enchant
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/fontconfig
REQUIRED_PACKAGES += system/library/freetype-2
REQUIRED_PACKAGES += system/library/math
REQUIRED_PACKAGES += system/library/security/libgcrypt
REQUIRED_PACKAGES += x11/library/libepoxy
REQUIRED_PACKAGES += x11/library/libx11
REQUIRED_PACKAGES += x11/library/libxcomposite
REQUIRED_PACKAGES += x11/library/libxdamage