+2012-03-17 Dominik Röttsches <dominik.rottsches@linux.intel.com>
+
+ [EFL] Add and use run-with-jhbuild and update-webkitefl-libs scripts for EFL
+ https://bugs.webkit.org/show_bug.cgi?id=79904
+
+ build-webkit --efl will use jhbuild for fetching and building dependencies.
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * Scripts/update-webkitefl-libs: Added.
+ * Scripts/webkitdirs.pm:
+ (jhbuildWrapperPrefixIfNeeded):
+ (generateBuildSystemFromCMakeProject):
+ (buildCMakeGeneratedProject):
+ * efl/common.py: Added.
+ (script_path):
+ (top_level_path):
+ (number_of_cpus):
+ * efl/jhbuild.modules: Added.
+ * efl/jhbuildrc: Added.
+ * efl/run-with-jhbuild: Added.
+
2012-03-16 Stephanie Lewis <slewis@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=81065
--- /dev/null
+#!/usr/bin/perl -w
+# Copyright (C) 2012 Intel Corporation
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+use FindBin;
+use lib $FindBin::Bin;
+use webkitdirs;
+
+my $scriptsDir = relativeScriptsDir();
+system("perl", "$scriptsDir/update-webkit-libs-jhbuild", "--efl", sys.argv) == 0 or die $!;
return 0;
}
+sub jhbuildWrapperPrefixIfNeeded()
+{
+ if (isEfl()) {
+ return File::Spec->catfile(sourceDir(), "Tools", "efl", "run-with-jhbuild");
+ }
+ return "";
+}
+
sub generateBuildSystemFromCMakeProject
{
my ($port, $prefixPath, @cmakeArgs, $additionalCMakeArgs) = @_;
# We call system("cmake @args") instead of system("cmake", @args) so that @args is
# parsed for shell metacharacters.
- my $returnCode = system("cmake @args");
+ my $wrapper = jhbuildWrapperPrefixIfNeeded() . " ";
+ my $returnCode = system($wrapper . "cmake @args");
chdir($originalWorkingDirectory);
return $returnCode;
# We call system("cmake @args") instead of system("cmake", @args) so that @args is
# parsed for shell metacharacters. In particular, $makeArgs may contain such metacharacters.
- return system("cmake @args");
+ my $wrapper = jhbuildWrapperPrefixIfNeeded() . " ";
+ return system($wrapper . "cmake @args");
}
sub cleanCMakeGeneratedProject()
--- /dev/null
+#!/usr/bin/env python
+# Copyright (C) 2011 Igalia S.L.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+import os
+import subprocess
+import sys
+
+script_dir = None
+
+
+def script_path(*args):
+ global script_dir
+ if not script_dir:
+ script_dir = os.path.join(os.path.dirname(__file__), '..', 'Scripts')
+ return os.path.join(*(script_dir,) + args)
+
+
+def top_level_path(*args):
+ return os.path.join(*((script_path('..', '..'),) + args))
+
+
+def number_of_cpus():
+ process = subprocess.Popen([script_path('num-cpus')], stdout=subprocess.PIPE)
+ stdout = process.communicate()[0]
+ return int(stdout)
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
+<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
+<moduleset>
+
+ <metamodule id="webkitefl-testing-dependencies">
+ <dependencies>
+ <dep package="cairo"/>
+ <dep package="fonts"/>
+ <dep package="fontconfig"/>
+ <dep package="freetype6"/>
+ <dep package="glib"/>
+ <dep package="glib-networking"/>
+ <dep package="libsoup"/>
+ <dep package="edje"/>
+ </dependencies>
+ </metamodule>
+
+ <repository type="tarball" name="github.com"
+ href="https://github.com"/>
+ <repository type="tarball" name="sourceware.org"
+ href="ftp://sourceware.org"/>
+ <repository type="tarball" name="gnupg.org"
+ href="ftp://ftp.gnupg.org"/>
+ <repository type="tarball" name="p11-glue.freedesktop.org"
+ href="http://p11-glue.freedesktop.org"/>
+ <repository type="tarball" name="ftp.gnome.org"
+ href="http://ftp.gnome.org"/>
+ <repository type="git" name="git.gnome.org"
+ href="git://git.gnome.org/"/>
+ <repository type="tarball" name="gnu.org"
+ href="http://ftp.gnu.org/"/>
+ <repository type="tarball" name="cairographics.org"
+ href="http://cairographics.org"/>
+ <repository type="tarball" name="freedesktop.org"
+ href="http://www.freedesktop.org"/>
+ <repository type="svn" name="enlightenment.org"
+ href="http://svn.enlightenment.org/svn/e/trunk/"
+ trunk-template="%(module)s/"/>
+
+ <autotools id="cairo" autogen-sh="configure">
+ <dependencies>
+ <dep package="pixman"/>
+ </dependencies>
+ <branch module="releases/cairo-1.10.2.tar.gz" version="1.10.2"
+ repo="cairographics.org"
+ hash="sha256:32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41"
+ md5sum="f101a9e88b783337b20b2e26dfd26d5f">
+ </branch>
+ </autotools>
+
+ <autotools id="pixman" autogen-sh="configure">
+ <branch module="releases/pixman-0.24.0.tar.gz" version="0.24.0"
+ repo="cairographics.org"
+ hash="sha256:a5647c7158f103eedff5fba799018f4169f6b26b573ab7685812ebc9a1c5d2e4"
+ md5sum="a2d0b120509bdccb10aa7f4bec3730e4">
+ </branch>
+ </autotools>
+
+
+ <autotools id="fonts"
+ skip-autogen="true">
+ <branch module="downloads/mrobinson/webkitgtk-test-fonts/webkitgtk-test-fonts-0.0.1.tar.gz" version="0.0.1"
+ repo="github.com"
+ hash="sha256:df40960ec98bd23de2f6ea8f5135ffc9485929aeddb4f08be5144881a1fd3887"
+ md5sum="2c752a694f41f3ff7aed6e3015250f69" size="6635293">
+ </branch>
+ </autotools>
+
+ <autotools id="libffi" autogen-sh="configure">
+ <branch module="/pub/libffi/libffi-3.0.10.tar.gz" version="3.0.10"
+ repo="sourceware.org"
+ hash="sha256:f01eb9027e9eb56aeaeef636649877756d475d714ef8b47f627f65bc5f3b492f"
+ md5sum="79390673f5d07a8fb342bc09b5055b6f"/>
+ </autotools>
+
+ <tarball id="freetype6">
+ <source href="download.savannah.gnu.org/releases/freetype/freetype-2.4.2.tar.bz2" version="2.4.2"
+ hash="sha256:9a987aef8c50d9bcfdfdc9f012f8bd0de6095cc1a5524e62c1a037deb8dacbfe"
+ md5sum="647ee8ed266f9a4117c8d0a4855b3d3e"/>
+ </tarball>
+
+ <autotools id="p11-kit">
+ <branch module="/releases/p11-kit-0.12.tar.gz" version="0.12"
+ repo="p11-glue.freedesktop.org"
+ hash="sha256:4db792def545a3c8ae12e7e4ef166d7620cb445c00a5a984ab7c4a3b35f0be00"
+ md5sum="029aa2a3a103e7eb81b4aa731b93539e"/>
+ </autotools>
+
+ <autotools id="libgpg-error" autogen-sh="configure">
+ <branch module="/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2" version="1.10"
+ repo="gnupg.org"
+ hash="sha256:520629b4568b5c29b1991c8ffc267c8bdee5f223c7333c42a651b56f9b1c5431"
+ md5sum="736a03daa9dc5873047d4eb4a9c22a16"/>
+ </autotools>
+
+ <autotools id="libgcrypt" autogen-sh="./autogen.sh; configure">
+ <dependencies>
+ <dep package="libgpg-error"/>
+ </dependencies>
+ <branch module="/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2" version="1.5.0"
+ repo="gnupg.org"
+ hash="sha256:4b62fc516004940a0571025401a0581d49199f1a76dfb5ce6fd63f50db8173fa"
+ md5sum="693f9c64d50c908bc4d6e01da3ff76d8"/>
+ </autotools>
+
+ <autotools id="glib">
+ <dependencies>
+ <dep package="libffi"/>
+ </dependencies>
+ <branch module="/pub/GNOME/sources/glib/2.31/glib-2.31.2.tar.xz" version="2.31.2"
+ repo="ftp.gnome.org"
+ hash="sha256:19d7921671a487c3c5759a57df7b8508afdbadd7764d62a47a82fff7b399032b"
+ md5sum="1cbdf314d7c87916a0c3dce83ac0285f"/>
+ </autotools>
+
+ <autotools id="glib-networking">
+ <dependencies>
+ <dep package="gnutls"/>
+ </dependencies>
+ <branch module="/pub/GNOME/sources/glib-networking/2.31/glib-networking-2.31.2.tar.xz" version="2.31.2"
+ repo="ftp.gnome.org"
+ hash="sha256:03e3a2881d2626d1206e72972531661037fe0d32e745bf9b2f63c0d6f5e32a9c"
+ md5sum="b649b457bd9fd5e0e9b9c4dcb1a74a37"/>
+ </autotools>
+
+ <autotools id="gnutls"
+ autogenargs="--enable-ld-version-script --enable-cxx --without-lzo --with-libgcrypt">
+ <dependencies>
+ <dep package="libgcrypt"/>
+ <dep package="p11-kit"/>
+ </dependencies>
+ <branch module="/gnu/gnutls/gnutls-2.12.14.tar.bz2" version="2.12.14"
+ repo="gnu.org"
+ hash="sha256:5ee72ba6de7a23cf315792561954451e022dac8730149ca95f93c61e95be2ce3"
+ md5sum="555687a7ffefba0bd9de1e71cb61402c"/>
+ </autotools>
+
+ <autotools id="libsoup" autogenargs="--without-gnome">
+ <dependencies>
+ <dep package="glib-networking"/>
+ </dependencies>
+ <branch module="libsoup" version="2.37.2.1+git"
+ repo="git.gnome.org"
+ tag="5cbfc48caf76ced2e28ee06c9e40523273601dc6"/>
+ </autotools>
+
+ <autotools id="fontconfig" autogen-sh="configure">
+ <branch module="software/fontconfig/release/fontconfig-2.8.0.tar.gz" version="2.8.0"
+ repo="freedesktop.org"
+ hash="sha256:fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335"
+ md5sum="77e15a92006ddc2adbb06f840d591c0e">
+ </branch>
+ </autotools>
+
+ <autotools id="eina" >
+ <branch module="eina"
+ repo="enlightenment.org"
+ revision="68629"/>
+ </autotools>
+
+ <autotools id="embryo">
+ <branch module="embryo"
+ repo="enlightenment.org"
+ revision="68629"/>
+ <dependencies>
+ <dep package="eina"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="evas">
+ <branch module="evas"
+ repo="enlightenment.org"
+ revision="68629"/>
+ </autotools>
+
+ <autotools id="ecore">
+ <branch module="ecore"
+ repo="enlightenment.org"
+ revision="68629"/>
+ <dependencies>
+ <dep package="eina"/>
+ <dep package="evas"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="eet">
+ <branch module="eet"
+ repo="enlightenment.org"
+ revision="68629"/>
+ <dependencies>
+ <dep package="eina"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="edje">
+ <branch module="edje"
+ repo="enlightenment.org"
+ revision="68629"/>
+ <dependencies>
+ <dep package="eet"/>
+ <dep package="ecore"/>
+ <dep package="evas"/>
+ <dep package="embryo"/>
+ </dependencies>
+ </autotools>
+
+</moduleset>
--- /dev/null
+#!/usr/bin/env python
+# Copyright (C) 2011 Igalia S.L.
+# Copyright (C) 2012 Intel Corporation
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+import sys
+
+__efl_tools_directory = os.path.abspath(os.path.dirname(__file__))
+sys.path.append(__efl_tools_directory)
+import common
+
+build_policy = 'updated'
+
+# FIXME: move shared parts into ../jhbuild folder.
+
+__moduleset_file_uri = 'file://' + os.path.join(__efl_tools_directory, 'jhbuild.modules')
+__extra_modulesets = os.environ.get("WEBKIT_EXTRA_MODULESETS", "").split(",")
+moduleset = [ __moduleset_file_uri, ]
+if __extra_modulesets != ['']:
+ moduleset.extend(__extra_modulesets)
+
+__extra_modules = os.environ.get("WEBKIT_EXTRA_MODULES", "").split(",")
+modules = [ 'webkitefl-testing-dependencies', ]
+if __extra_modules != ['']:
+ modules.extend(__extra_modules)
+
+checkoutroot = os.path.abspath(common.top_level_path('WebKitBuild','Dependencies', 'Source'))
+prefix = os.path.abspath(common.top_level_path('WebKitBuild','Dependencies', 'Root'))
+
+nonotify = True
+notrayicon = True
+if ('MAKEFLAGS' not in os.environ):
+ os.environ['MAKEFLAGS'] = '-j' + str(common.number_of_cpus())
+
+# Use system libraries while building.
+if use_lib64:
+ _libdir = 'lib64'
+else:
+ _libdir = 'lib'
+addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', _libdir, 'pkgconfig'))
+addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'share', 'pkgconfig'))
+
+partial_build = False
--- /dev/null
+#!/usr/bin/env python
+# Copyright (C) 2011 Igalia S.L.
+# Copyright (C) 2012 Intel Corporation
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+import common
+import subprocess
+import sys
+
+jhbuild_wrapper = common.top_level_path('Tools', 'jhbuild', 'jhbuild-wrapper')
+process = subprocess.Popen([jhbuild_wrapper, '--efl'] + sys.argv[1:])
+process.wait()
+sys.exit(process.returncode)