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

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

webkit-gtk: Bump to 1.10.2

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