# -*- 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 # $Id: Portfile 101964 2013-01-23 07:07:33Z ryandesign@macports.org $ PortSystem 1.0 PortGroup conflicts_build 1.0 PortGroup muniversal 1.0 name webkit-gtk epoch 1 version 1.10.2 description Apple's WebKit HTML rendering library for GTK+ long_description ${description} maintainers jeremyhu devans categories www gnome platforms darwin freebsd license LGPL-2+ BSD homepage http://webkitgtk.org/ master_sites http://webkitgtk.org/releases/ use_xz yes distname webkitgtk-${version} checksums sha1 733ca23157eb8dd072d57becf325799c00bde630 \ rmd160 91e6b8bcd4bb8234271dd6c6ebdba63dd1c0840e \ sha256 19234f8e4edfaefe91ed06471a2aa8c71d26dd55d33787eede1dcfc9a3a96d9c depends_lib \ port:gtk2 \ port:libsoup \ port:icu \ port:libxslt \ port:libpng \ port:sqlite3 \ port:enchant \ port:xorg-libXt \ port:geoclue \ port:mesa depends_build \ port:pkgconfig \ port:gtk-doc # case-insensitive.patch: https://bugs.webkit.org/show_bug.cgi?id=65811 # our-icu.patch: No upstream bug report, probably not wanted # xrender-check.patch: https://bugs.webkit.org/show_bug.cgi?id=84095 # bison-2.6.patch: No upstream bug (?) # tiger.patch: No upstream bug, http://trac.macports.org/ticket/35923 # bison-2.6.patch \ patchfiles \ case-insensitive.patch \ our-icu.patch \ xrender-check.patch \ ruby-1.8.patch \ tiger.patch conflicts_build google-test # https://trac.macports.org/ticket/36329 configure.python /usr/bin/python configure.args \ --with-gtk=2.0 \ --disable-webkit2 \ --disable-introspection \ --enable-link-prefetch \ --enable-image-resizer \ --disable-video \ --enable-media-statistics \ --enable-media-stream \ --enable-svg \ --enable-geolocation \ --enable-webgl \ --enable-page-visibility-api \ --enable-datagrid \ --enable-mathml \ --enable-web-timing \ --enable-mhtml \ --enable-microdata \ --enable-mutation-observers # https://bugs.webkit.org/show_bug.cgi?id=94488 configure.universal_args-delete --disable-dependency-tracking # Not enabled because marked as expirimental # --with-accelerated-compositing \ # --enable-animation-api \ # --enable-register-protocol-handler \ # In 1.10.1: # https://bugs.webkit.org/show_bug.cgi?id=99732 configure.args-append --disable-jit # In 1.8.2: # ./Source/WebCore/workers/WorkerContext.h:225: error: 'IDBFactoryBackendInterface' was not declared in this scope # https://bugs.webkit.org/show_bug.cgi?id=94495 # --enable-indexed-database \ # In 1.8.2: # Source/WebCore/platform/gtk/ClipboardGtk.h:46: error: cannot allocate an object of abstract type 'WebCore::ClipboardGtk' # https://bugs.webkit.org/show_bug.cgi?id=94496 # --enable-data-transfer-items \ # In 1.8.2: # AsyncFileSystemCallbacks.h is missing # https://bugs.webkit.org/show_bug.cgi?id=94413 # --enable-file-system \ # In 1.8.2: # Source/WebKit/gtk/webkit/webkitwebview.cpp: In function 'void webkit_web_view_init(WebKitWebView*)': # Source/WebKit/gtk/webkit/webkitwebview.cpp:3422: error: cannot allocate an object of abstract type 'WebKit::ChromeClient' # ./Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:43: note: because the following virtual functions are pure within 'WebKit::ChromeClient': # ./Source/WebCore/page/ChromeClient.h:232: note: virtual void WebCore::ChromeClient::enumerateChosenDirectory(WebCore::FileChooser*) # https://bugs.webkit.org/show_bug.cgi?id=94497 # --enable-directory-upload \ # In 1.8.2: # ./DerivedSources/webkit/WebKitDOMHTMLMediaElement.h:101: error: 'WebKitDOMUint8Array' has not been declared # --enable-media-source \ # In 1.8.2: # ./DerivedSources/webkit/WebKitDOMDOMWindow.h:843: error: expected constructor, destructor, or type conversion before '*' token # https://bugs.webkit.org/show_bug.cgi?id=94498 # https://bugs.webkit.org/show_bug.cgi?id=66477 # --enable-notifications \ # In 1.10.1: # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp: In constructor 'WebCore::FFTFrame::FFTFrame(unsigned int)': # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: 'm_complexData' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: 'GstFFTF32Complex' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:48: error: no matching function for call to 'fastNewArray(size_t)' # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:50: error: 'gst_fft_next_fast_length' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'm_fft' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'FALSE' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:51: error: 'gst_fft_f32_new' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:52: error: 'm_inverseFft' was not declared in this scope # Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:52: error: 'TRUE' was not declared in this scope # --enable-web-audio \ # In 1.8.2: # Source/WebCore/html/ColorInputType.cpp: In member function 'virtual void WebCore::ColorInputType::createShadowSubtree()': # Source/WebCore/html/ColorInputType.cpp:119: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot' # Source/WebCore/html/ColorInputType.cpp: In member function 'WebCore::HTMLElement* WebCore::ColorInputType::shadowColorSwatch() const': # Source/WebCore/html/ColorInputType.cpp:188: error: 'class WebCore::HTMLInputElement' has no member named 'shadowRoot' # https://bugs.webkit.org/show_bug.cgi?id=94499 # --enable-input-color \ pre-configure { # https://bugs.webkit.org/show_bug.cgi?id=106170 configure.cppflags-append -I${prefix}/include/pango-1.0 } # We don't want to use the headers from the installed WebKit configure.cppflags-delete -I${prefix}/include autoreconf.env-append ACLOCAL="aclocal -I Source/autotools" use_autoreconf yes autoreconf.args -fvi # https://trac.macports.org/ticket/34044 if {[vercmp ${xcodeversion} 3.0] >= 0} { compiler.blacklist-append gcc-4.0 } # BUILD FIX TODO: clang C++ # # 1.10.1: # HTMLPropertiesCollection.h:52:42: error: 'namedItem' marked 'override' but does not override any member functions # https://bugs.webkit.org/show_bug.cgi?id=100618 compiler.blacklist-append clang #if {[string match "*clang*" ${configure.compiler}]} { # configure.cxxflags-append -std=c++11 -Wno-error=c++11-narrowing #} post-patch { # https://bugs.webkit.org/show_bug.cgi?id=88407 reinplace "s:echo -n:/bin/echo -n:g" \ ${worksrcpath}/Source/WebCore/GNUmakefile.am # https://bugs.webkit.org/show_bug.cgi?id=99679 # https://bugs.webkit.org/show_bug.cgi?id=99683 reinplace "s:PLATFORM(MAC):OS(DARWIN):g" \ ${worksrcpath}/Source/WTF/wtf/InlineASM.h \ ${worksrcpath}/Source/JavaScriptCore/heap/VTableSpectrum.cpp \ ${worksrcpath}/Source/JavaScriptCore/jit/ThunkGenerators.cpp \ ${worksrcpath}/Source/JavaScriptCore/tools/CodeProfile.cpp # https://bugs.webkit.org/show_bug.cgi?id=58737 reinplace "s:OS(MAC_OS_X):PLATFORM(MAC):" \ ${worksrcpath}/Source/WTF/wtf/ThreadingPthreads.cpp } # TODO: fix this for muniversal # keep it for debug #post-destroot { # file copy ${worksrcpath}/Programs/.libs/GtkLauncher ${destroot}${prefix}/bin #} build.args-append V=1 # see bug #24622 variant quartz { configure.args-append --with-target=quartz # TODO: See if this will build with OpenGL.framework configure.args-delete --enable-webgl depends_lib-delete \ port:mesa \ port:xorg-libXt patchfiles-append quartz-duplicate-symbols.patch } variant pango description {Use the pango font backend instead of freetype} { configure.args-append --with-font-backend=pango } variant video description {Enable HTML5 video support using gstreamer} { depends_lib-append port:gst-plugins-base configure.args-delete --disable-video configure.args-append --enable-video-track } variant gnome_keyring description {Enable support for gnomekeyring} { depends_lib-append port:libgnome-keyring configure.args-append --enable-gnomekeyring } default_variants +video platform darwin { if {${os.major} < 10} { depends_build-append port:python27 # https://trac.macports.org/ticket/35793 configure.python ${prefix}/bin/python2.7 } if {[string match "*10.5*" ${configure.sdkroot}] || (${os.major} == 9 && ${configure.sdkroot} == "")} { # https://trac.macports.org/ticket/37418 configure.cppflags-append -D__MAC_OS_X_VERSION_MAX_ALLOWED=1050 } } livecheck.type regex livecheck.url http://webkitgtk.org/?page=download livecheck.regex webkitgtk-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)