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

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

webkit-gtk: Remove an invalid assert for ppc (#35989)

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