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

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

webkit-gtk: Fix the +quartz variant (#36786)

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