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

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

webkit-gtk: Add a reference to the upstream bug report for quartz.patch

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.3 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 96888 2012-08-20 22:29:25Z jeremyhu@macports.org $
3
4PortSystem      1.0
5PortGroup       muniversal 1.0
6
7name            webkit-gtk
8epoch           1
9version         1.8.2
10revision    1
11description     Apple's WebKit HTML rendering library for GTK+
12long_description ${description}
13maintainers     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        webkit-${version}
22
23checksums       sha1    138f86894e0a7ed0a41c18c4ac30fcaf961d8d79 \
24                rmd160  e8b3b77143ba8a0711b9ff68872223b7a39af6ce \
25                sha256  0cd69b7c4bf4af3442a5e6777a1487cabf14db15baeeed96d0865419f69b81e6
26
27depends_lib     \
28        port:gtk2 \
29        port:libsoup \
30        port:icu \
31        port:libxslt \
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# quartz.patch: https://bugs.webkit.org/show_bug.cgi?id=84423
43
44patchfiles \
45        case-insensitive.patch \
46        our-icu.patch \
47        xrender-check.patch \
48        quartz.patch \
49        bison-2.6.patch
50
51configure.args  \
52        --with-gtk=2.0 \
53        --disable-introspection \
54        --enable-link-prefetch \
55        --enable-image-resizer \
56        --disable-video \
57        --enable-svg \
58        --enable-geolocation \
59        --enable-webgl \
60        --enable-page-visibility-api \
61        --enable-datagrid \
62        --enable-mathml \
63        --enable-web-timing \
64        --enable-mhtml \
65        --enable-microdata \
66        --enable-mutation-observers
67
68# https://bugs.webkit.org/show_bug.cgi?id=94488
69configure.universal_args-delete --disable-dependency-tracking
70
71# Not enabled because marked as expirimental
72#        --with-accelerated-compositing \
73#        --enable-animation-api \
74#        --enable-register-protocol-handler \
75
76# In 1.8.2:
77# ./Source/WebCore/workers/WorkerContext.h:225: error: 'IDBFactoryBackendInterface' was not declared in this scope
78# https://bugs.webkit.org/show_bug.cgi?id=94495
79#        --enable-indexed-database \
80
81# In 1.8.2:
82# Source/WebCore/platform/gtk/ClipboardGtk.h:46: error: cannot allocate an object of abstract type 'WebCore::ClipboardGtk'
83# https://bugs.webkit.org/show_bug.cgi?id=94496
84#        --enable-data-transfer-items \
85
86# In 1.8.2:
87# AsyncFileSystemCallbacks.h is missing
88# https://bugs.webkit.org/show_bug.cgi?id=94413
89#        --enable-file-system \
90
91# In 1.8.2:
92# Source/WebKit/gtk/webkit/webkitwebview.cpp: In function 'void webkit_web_view_init(WebKitWebView*)':
93# Source/WebKit/gtk/webkit/webkitwebview.cpp:3422: error: cannot allocate an object of abstract type 'WebKit::ChromeClient'
94# ./Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:43: note:   because the following virtual functions are pure within 'WebKit::ChromeClient':
95# ./Source/WebCore/page/ChromeClient.h:232: note:       virtual void WebCore::ChromeClient::enumerateChosenDirectory(WebCore::FileChooser*)
96# https://bugs.webkit.org/show_bug.cgi?id=94497
97#        --enable-directory-upload \
98
99# In 1.8.2:
100# ./DerivedSources/webkit/WebKitDOMHTMLMediaElement.h:101: error: 'WebKitDOMUint8Array' has not been declared
101#        --enable-media-source \
102#        --enable-media-statistics \
103#        --enable-media-stream \
104
105# In 1.8.2:
106# ./DerivedSources/webkit/WebKitDOMDOMWindow.h:843: error: expected constructor, destructor, or type conversion before '*' token
107# https://bugs.webkit.org/show_bug.cgi?id=94498
108#        --enable-notifications \
109
110# In 1.8.2:
111# AudioBufferCallback.h is missing
112#        --enable-web-audio \
113
114# In 1.8.2:
115# Source/WebCore/html/ColorInputType.cpp: In member function 'virtual void WebCore::ColorInputType::createShadowSubtree()':
116# Source/WebCore/html/ColorInputType.cpp:119: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot'
117# Source/WebCore/html/ColorInputType.cpp: In member function 'WebCore::HTMLElement* WebCore::ColorInputType::shadowColorSwatch() const':
118# Source/WebCore/html/ColorInputType.cpp:188: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot'
119# https://bugs.webkit.org/show_bug.cgi?id=94499
120#        --enable-input-color \
121
122# In 1.8.2
123# DerivedSources/WebCore/JSDOMWindow.cpp:6255: error: no matching function for call to 'toJS(JSC::ExecState*&, WebCore::JSDOMGlobalObject*, WebCore::StorageInfo*)'
124# https://bugs.webkit.org/show_bug.cgi?id=94500
125#       --enable-quota \
126
127# We don't want to use the headers from the installed WebKit
128configure.cppflags-delete -I${prefix}/include
129
130autoreconf.env-append ACLOCAL="aclocal -I Source/autotools"
131use_autoreconf  yes
132autoreconf.args -fvi
133
134# BUILD FIX TODO: clang C++
135# clang has trouble with webkit-1.6.3's C++ as of 2012.04.19
136#
137# 1.8.2:
138# ./Source/WebCore/editing/Editor.h:388:18: error: 'willDetachPage' marked 'override' but does not override any member functions
139if {${configure.compiler} == "clang"} {
140    configure.compiler llvm-gcc-4.2
141}
142
143# https://trac.macports.org/ticket/34044
144if {${configure.compiler} == "gcc-4.0" && [vercmp ${xcodeversion} 3.0] >= 0} {
145    configure.compiler gcc-4.2
146}
147
148post-patch {
149    # https://bugs.webkit.org/show_bug.cgi?id=88407
150    reinplace "s:echo -n:/bin/echo -n:g" \
151        ${worksrcpath}/Source/WebCore/GNUmakefile.am
152}
153
154# TODO: fix this for muniversal
155# keep it for debug
156#post-destroot {
157#    file copy ${worksrcpath}/Programs/.libs/GtkLauncher ${destroot}${prefix}/bin
158#}
159
160# see bug #24622
161variant quartz {
162    configure.args-append --with-target=quartz
163
164    # TODO: See if this will build with OpenGL.framework
165    configure.args-delete --enable-webgl
166    depends_lib-delete \
167        port:mesa \
168        port:xorg-libXt
169}
170
171variant pango description {Use the pango font backend instead of freetype} {
172    configure.args-append --with-font-backend=pango
173}
174
175variant video description {Enable HTML5 video support using gstreamer} {
176        depends_lib-append      port:gst-plugins-base
177        configure.args-delete   --disable-video
178        configure.args-append   --enable-video-track
179}
180
181variant gnome_keyring description {Enable support for gnomekeyring} {
182        depends_lib-append      port:libgnome-keyring
183        configure.args-append   --enable-gnomekeyring
184}
185
186default_variants +video
187
188livecheck.type  regex
189livecheck.url   http://webkitgtk.org/?page=download
190livecheck.regex webkit-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)
Note: See TracBrowser for help on using the repository browser.