source: trunk/dports/www/webkit-gtk/Portfile @ 99449

Last change on this file since 99449 was 99449, checked in by ryandesign@…, 7 years ago

webkit-gtk: enforce use of system python (#36329)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 8.6 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 99449 2012-11-05 16:05:53Z ryandesign@macports.org $
3
4PortSystem      1.0
5PortGroup       muniversal 1.0
6
7name            webkit-gtk
8epoch           1
9version         1.10.1
10description     Apple's WebKit HTML rendering library for GTK+
11long_description ${description}
12maintainers     jeremyhu devans
13categories      www gnome
14platforms       darwin freebsd
15license         LGPL-2+ BSD
16homepage        http://webkitgtk.org/
17master_sites    http://webkitgtk.org/releases/
18
19use_xz          yes
20distname        webkitgtk-${version}
21
22checksums       sha1    3a2df2eb42ffdd7f3b39873d5461c347a6330493 \
23                rmd160  ea246d29a1def4993d592d8464b527b2c9ed1bdc \
24                sha256  8a2c59c7fdd2c011bdb6ca479aebdf892220d6caf484ddb17ed97fd2575fc7f4
25
26depends_lib     \
27        port:gtk2 \
28        port:libsoup \
29        port:icu \
30        port:libxslt \
31        port:libpng \
32        port:sqlite3 \
33        port:enchant \
34        port:xorg-libXt \
35        port:geoclue \
36        port:mesa
37       
38depends_build   \
39        port:pkgconfig \
40        port:gtk-doc
41
42# case-insensitive.patch: https://bugs.webkit.org/show_bug.cgi?id=65811
43# our-icu.patch: No upstream bug report, probably not wanted
44# xrender-check.patch: https://bugs.webkit.org/show_bug.cgi?id=84095
45# bison-2.6.patch: No upstream bug (?)
46# tiger.patch: No upstream bug, http://trac.macports.org/ticket/35923
47
48#        bison-2.6.patch \
49
50patchfiles \
51        case-insensitive.patch \
52        our-icu.patch \
53        xrender-check.patch \
54        tiger.patch
55
56# https://trac.macports.org/ticket/36329
57configure.python    /usr/bin/python
58
59configure.args  \
60        --with-gtk=2.0 \
61        --disable-webkit2 \
62        --disable-introspection \
63        --enable-link-prefetch \
64        --enable-image-resizer \
65        --disable-video \
66        --enable-media-statistics \
67        --enable-media-stream \
68        --enable-svg \
69        --enable-geolocation \
70        --enable-webgl \
71        --enable-page-visibility-api \
72        --enable-datagrid \
73        --enable-mathml \
74        --enable-web-timing \
75        --enable-mhtml \
76        --enable-microdata \
77        --enable-mutation-observers
78
79# https://bugs.webkit.org/show_bug.cgi?id=94488
80configure.universal_args-delete --disable-dependency-tracking
81
82# Not enabled because marked as expirimental
83#        --with-accelerated-compositing \
84#        --enable-animation-api \
85#        --enable-register-protocol-handler \
86
87# In 1.10.1:
88# https://bugs.webkit.org/show_bug.cgi?id=99732
89configure.args-append --disable-jit
90
91# In 1.8.2:
92# ./Source/WebCore/workers/WorkerContext.h:225: error: 'IDBFactoryBackendInterface' was not declared in this scope
93# https://bugs.webkit.org/show_bug.cgi?id=94495
94#        --enable-indexed-database \
95
96# In 1.8.2:
97# Source/WebCore/platform/gtk/ClipboardGtk.h:46: error: cannot allocate an object of abstract type 'WebCore::ClipboardGtk'
98# https://bugs.webkit.org/show_bug.cgi?id=94496
99#        --enable-data-transfer-items \
100
101# In 1.8.2:
102# AsyncFileSystemCallbacks.h is missing
103# https://bugs.webkit.org/show_bug.cgi?id=94413
104#        --enable-file-system \
105
106# In 1.8.2:
107# Source/WebKit/gtk/webkit/webkitwebview.cpp: In function 'void webkit_web_view_init(WebKitWebView*)':
108# Source/WebKit/gtk/webkit/webkitwebview.cpp:3422: error: cannot allocate an object of abstract type 'WebKit::ChromeClient'
109# ./Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:43: note:   because the following virtual functions are pure within 'WebKit::ChromeClient':
110# ./Source/WebCore/page/ChromeClient.h:232: note:       virtual void WebCore::ChromeClient::enumerateChosenDirectory(WebCore::FileChooser*)
111# https://bugs.webkit.org/show_bug.cgi?id=94497
112#        --enable-directory-upload \
113
114# In 1.8.2:
115# ./DerivedSources/webkit/WebKitDOMHTMLMediaElement.h:101: error: 'WebKitDOMUint8Array' has not been declared
116#        --enable-media-source \
117
118# In 1.8.2:
119# ./DerivedSources/webkit/WebKitDOMDOMWindow.h:843: error: expected constructor, destructor, or type conversion before '*' token
120# https://bugs.webkit.org/show_bug.cgi?id=94498
121# https://bugs.webkit.org/show_bug.cgi?id=66477
122#        --enable-notifications \
123
124# In 1.10.1:
125# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp: In constructor 'WebCore::FFTFrame::FFTFrame(unsigned int)':
126# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: 'm_complexData' was not declared in this scope
127# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: 'GstFFTF32Complex' was not declared in this scope
128# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: no matching function for call to 'fastNewArray(size_t)'
129# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:50: error: 'gst_fft_next_fast_length' was not declared in this scope
130# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'm_fft' was not declared in this scope
131# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'FALSE' was not declared in this scope
132# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'gst_fft_f32_new' was not declared in this scope
133# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:52: error: 'm_inverseFft' was not declared in this scope
134# Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:52: error: 'TRUE' was not declared in this scope
135#        --enable-web-audio \
136
137# In 1.8.2:
138# Source/WebCore/html/ColorInputType.cpp: In member function 'virtual void WebCore::ColorInputType::createShadowSubtree()':
139# Source/WebCore/html/ColorInputType.cpp:119: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot'
140# Source/WebCore/html/ColorInputType.cpp: In member function 'WebCore::HTMLElement* WebCore::ColorInputType::shadowColorSwatch() const':
141# Source/WebCore/html/ColorInputType.cpp:188: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot'
142# https://bugs.webkit.org/show_bug.cgi?id=94499
143#        --enable-input-color \
144
145# We don't want to use the headers from the installed WebKit
146configure.cppflags-delete -I${prefix}/include
147
148autoreconf.env-append ACLOCAL="aclocal -I Source/autotools"
149use_autoreconf  yes
150autoreconf.args -fvi
151
152# https://trac.macports.org/ticket/34044
153if {[vercmp ${xcodeversion} 3.0] >= 0} {
154    compiler.blacklist-append gcc-4.0
155}
156
157# BUILD FIX TODO: clang C++
158#
159# 1.10.1:
160# HTMLPropertiesCollection.h:52:42: error: 'namedItem' marked 'override' but does not override any member functions
161# https://bugs.webkit.org/show_bug.cgi?id=100618
162compiler.blacklist-append clang
163
164#if {[string match "*clang*" ${configure.compiler}]} {
165#    configure.cxxflags-append -std=c++11 -Wno-error=c++11-narrowing
166#}
167
168post-patch {
169    # https://bugs.webkit.org/show_bug.cgi?id=88407
170    reinplace "s:echo -n:/bin/echo -n:g" \
171        ${worksrcpath}/Source/WebCore/GNUmakefile.am
172
173    # https://bugs.webkit.org/show_bug.cgi?id=99679
174    # https://bugs.webkit.org/show_bug.cgi?id=99683
175    reinplace "s:PLATFORM(MAC):OS(DARWIN):g" \
176        ${worksrcpath}/Source/WTF/wtf/InlineASM.h \
177        ${worksrcpath}/Source/JavaScriptCore/heap/VTableSpectrum.cpp \
178        ${worksrcpath}/Source/JavaScriptCore/jit/ThunkGenerators.cpp \
179        ${worksrcpath}/Source/JavaScriptCore/tools/CodeProfile.cpp
180
181    # https://bugs.webkit.org/show_bug.cgi?id=58737
182    reinplace "s:OS(MAC_OS_X):PLATFORM(MAC):" \
183        ${worksrcpath}/Source/WTF/wtf/ThreadingPthreads.cpp
184}
185
186# TODO: fix this for muniversal
187# keep it for debug
188#post-destroot {
189#    file copy ${worksrcpath}/Programs/.libs/GtkLauncher ${destroot}${prefix}/bin
190#}
191
192build.args-append V=1
193
194# see bug #24622
195variant quartz {
196    configure.args-append --with-target=quartz
197
198    # TODO: See if this will build with OpenGL.framework
199    configure.args-delete --enable-webgl
200    depends_lib-delete \
201        port:mesa \
202        port:xorg-libXt
203
204    patchfiles-append quartz-duplicate-symbols.patch
205}
206
207variant pango description {Use the pango font backend instead of freetype} {
208    configure.args-append --with-font-backend=pango
209}
210
211variant video description {Enable HTML5 video support using gstreamer} {
212        depends_lib-append      port:gst-plugins-base
213        configure.args-delete   --disable-video
214        configure.args-append   --enable-video-track
215}
216
217variant gnome_keyring description {Enable support for gnomekeyring} {
218        depends_lib-append      port:libgnome-keyring
219        configure.args-append   --enable-gnomekeyring
220}
221
222default_variants +video
223
224platform darwin {
225    if {${os.major} < 10} {
226        depends_build-append      port:python27
227        # https://trac.macports.org/ticket/35793
228        configure.python          ${prefix}/bin/python2.7
229    }
230}
231
232livecheck.type  regex
233livecheck.url   http://webkitgtk.org/?page=download
234livecheck.regex webkitgtk-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)
Note: See TracBrowser for help on using the repository browser.