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

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

webkit-gtk: Add support for additional WebKit features, remove svg and filters variants.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.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 96734 2012-08-17 23:38:29Z jeremyhu@macports.org $
3
4PortSystem      1.0
5PortGroup       muniversal 1.0
6
7name            webkit-gtk
8epoch           1
9version         1.6.3
10revision        5
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       md5     c476d9335419df061510d31e21175df1 \
24                sha1    7df69608ef2ce9dd7328353b4ee34f69271cd43b \
25                rmd160  cc319ffe4c2810663ae05b90e69d9495f5c3f0aa
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:libgeoip \
36        port:geoclue
37       
38depends_build   \
39        port:pkgconfig \
40        port:gtk-doc
41
42patchfiles \
43        case-insensitive.patch \
44        our-icu.patch \
45        xrender-check.patch \
46        pango.patch \
47        quartz.patch \
48        glib-2.32.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-client-based-geolocation \
60        --enable-webgl \
61        --enable-page-visibility-api \
62        --enable-datagrid \
63        --enable-mathml \
64        --enable-web-timing
65
66# Not enabled because marked as expirimental
67#        --enable-3d-rendering \
68#        --enable-animation-api \
69
70
71# In 1.6.3:
72# Source/WebCore/bindings/js/JSDOMBinding.h:242: error: no matching function for call to 'toJS(JSC::ExecState*&, WebCore::JSDOMGlobalObject*&, WebCore::IDBDatabaseException*)'
73#        --enable-indexed-database \
74
75# In 1.6.3:
76# Source/WebCore/platform/gtk/ClipboardGtk.h:46: error: cannot allocate an object of abstract type 'WebCore::ClipboardGtk'
77#        --enable-data-transfer-items \
78
79# In 1.6.3:
80# Source/WebCore/bindings/js/JSEntrySyncCustom.cpp:53: error: 'getDOMObjectWrapper' was not declared in this scope
81#        --enable-file-system \
82
83# In 1.6.3:
84# Source/WebKit/gtk/webkit/webkitwebview.cpp:3397: error: cannot allocate an object of abstract type 'WebKit::ChromeClient'
85#        --enable-directory-upload \
86
87# In 1.6.3:
88# ./DerivedSources/webkit/WebKitDOMHTMLMediaElement.h:101: error: 'WebKitDOMUint8Array' has not been declared
89#        --enable-media-source \
90#        --enable-media-statistics \
91#        --enable-media-stream \
92
93# In 1.6.3:
94# Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:762: error: 'fatal' was not declared in this scope
95#        --enable-xhtmlmp \
96
97# In 1.6.3:
98# ./DerivedSources/webkit/WebKitDOMDOMWindow.h:821: error: expected constructor, destructor, or type conversion before '*' token
99#        --enable-notifications \
100
101# In 1.6.3:
102# AudioSourceProvider.h is missing.  It is present in 1.9.6, so we should try again when a newer version is working
103#        --enable-web-audio \
104
105# In 1.6.3:
106# Source/WebCore/html/ColorInputType.cpp:124: error: declaration of 'virtual void WebCore::ColorInputType::setValue(const WTF::String&, bool, bool)' outside of class is not definition
107# Source/WebCore/html/ColorInputType.cpp:125: error: expected unqualified-id before '{' token
108# Source/WebCore/html/ColorInputType.cpp:211: error: expected `}' at end of input
109#        --enable-input-color \
110
111# In 1.6.3:
112# Source/WebCore/html/HTMLInputElement.cpp:1698: error: '((const WebCore::HTMLInputElement*)this)->WebCore::HTMLInputElement::m_maxInputCharsAllowed' cannot be used as a function
113#       --enable-wcss \
114
115# In 1.6.3
116# DerivedSources/WebCore/JSStorageInfoQuotaCallback.cpp:67: error: no matching function for call to 'toJS(JSC::ExecState*&, WebCore::JSDOMGlobalObject*, long long unsigned int&)'
117#       --enable-quota \
118
119# We don't want to use the headers from the installed WebKit
120configure.cppflags-delete -I${prefix}/include
121
122autoreconf.env-append ACLOCAL="aclocal -I Source/autotools"
123use_autoreconf  yes
124autoreconf.args -fvi
125
126# BUILD FIX TODO: clang C++
127# clang has trouble with webkit-1.6.3's C++ as of 2012.04.19
128if {${configure.compiler} == "clang"} {
129    configure.compiler llvm-gcc-4.2
130}
131
132# https://trac.macports.org/ticket/34044
133if {${configure.compiler} == "gcc-4.0" && [vercmp ${xcodeversion} 3.0] >= 0} {
134    configure.compiler gcc-4.2
135}
136
137post-patch {
138    # Fix for newer autotools:
139    # http://www.gnu.org/software/automake/manual/html_node/Obsolete-Macros.html
140    reinplace "s/mkdir_p/MKDIR_P/" \
141        ${worksrcpath}/GNUmakefile.am \
142        ${worksrcpath}/Source/WebKit/gtk/po/GNUmakefile.am
143}
144
145# TODO: fix this for muniversal
146# keep it for debug
147#post-destroot {
148#    file copy ${worksrcpath}/Programs/.libs/GtkLauncher ${destroot}${prefix}/bin
149#}
150
151# see bug #24622
152variant quartz {
153    configure.args-append --with-target=quartz
154    depends_lib-delete port:xorg-libXt
155}
156
157variant pango description {Use the pango font backend instead of freetype} {
158    configure.args-append --with-font-backend=pango
159}
160
161variant video description {Enable HTML5 video support using gstreamer} {
162        depends_lib-append      port:gst-plugins-base
163        configure.args-delete   --disable-video
164}
165
166variant gnome_keyring description {Enable support for gnomekeyring} {
167        depends_lib-append      port:libgnome-keyring
168        configure.args-append   --enable-gnomekeyring
169}
170
171default_variants +video
172
173livecheck.type  regex
174livecheck.url   http://webkitgtk.org/?page=download
175livecheck.regex webkit-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)
Note: See TracBrowser for help on using the repository browser.