diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/armv6/include.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/armv6/include.gypi new file mode 100644 index 000000000..2c882713b --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/armv6/include.gypi @@ -0,0 +1,8 @@ +{ + 'variables': { + # Configure for armv6 compilation + 'target_arch': 'arm', + 'armv7': 0, + 'arm_neon': 0, + } +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/armv6/oe-defaults.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/armv6/oe-defaults.gypi new file mode 100644 index 000000000..27e1cfe08 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/armv6/oe-defaults.gypi @@ -0,0 +1,15 @@ +{ + 'variables': { + 'use_system_bzip2': 1, + 'disable_nacl': 1, + 'proprietary_codecs': 1, + 'v8_use_snapshot': 1, + 'use_system_ffmpeg': 0, + 'linux_use_tcmalloc': 0, + 'linux_link_kerberos': 0, + 'use_kerberos': 0, + 'use_cups': 0, + 'use_gnome_keyring': 0, + 'linux_link_gnome_keyring': 0 + }, +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/include.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/include.gypi new file mode 100644 index 000000000..316cf4879 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/include.gypi @@ -0,0 +1,9 @@ +{ + 'variables': { + # Configure for armv7 compilation + 'target_arch': 'arm', + 'armv7': 1, + 'arm_thumb': 1, + 'arm_neon': 1, + }, +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/oe-defaults.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/oe-defaults.gypi new file mode 100644 index 000000000..27e1cfe08 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/armv7a/oe-defaults.gypi @@ -0,0 +1,15 @@ +{ + 'variables': { + 'use_system_bzip2': 1, + 'disable_nacl': 1, + 'proprietary_codecs': 1, + 'v8_use_snapshot': 1, + 'use_system_ffmpeg': 0, + 'linux_use_tcmalloc': 0, + 'linux_link_kerberos': 0, + 'use_kerberos': 0, + 'use_cups': 0, + 'use_gnome_keyring': 0, + 'linux_link_gnome_keyring': 0 + }, +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/glib-2.16-use-siginfo_t.patch b/recipes-browser/chromium/chromium-24.0.1312.52/glib-2.16-use-siginfo_t.patch new file mode 100644 index 000000000..f4ee9fb54 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/glib-2.16-use-siginfo_t.patch @@ -0,0 +1,35 @@ +diff -upr chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +--- chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-10 10:48:31.000000000 +0300 ++++ chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-11 23:44:11.000000000 +0300 +@@ -243,14 +243,13 @@ struct kernel_rusage { + long ru_nivcsw; + }; + +-struct siginfo; + #if defined(__i386__) || defined(__arm__) || defined(__PPC__) + + /* include/asm-{arm,i386,mips,ppc}/signal.h */ + struct kernel_old_sigaction { + union { + void (*sa_handler_)(int); +- void (*sa_sigaction_)(int, struct siginfo *, void *); ++ void (*sa_sigaction_)(int, siginfo_t *, void *); + }; + unsigned long sa_mask; + unsigned long sa_flags; +@@ -287,13 +286,13 @@ struct kernel_sigaction { + unsigned long sa_flags; + union { + void (*sa_handler_)(int); +- void (*sa_sigaction_)(int, struct siginfo *, void *); ++ void (*sa_sigaction_)(int, siginfo_t *, void *); + }; + struct kernel_sigset_t sa_mask; + #else + union { + void (*sa_handler_)(int); +- void (*sa_sigaction_)(int, struct siginfo *, void *); ++ void (*sa_sigaction_)(int, siginfo_t *, void *); + }; + unsigned long sa_flags; + void (*sa_restorer)(void); diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/i586/include.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/i586/include.gypi new file mode 100644 index 000000000..69f3a0860 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/i586/include.gypi @@ -0,0 +1,5 @@ +{ + 'variables': { + 'target_arch': 'ia32', + } +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/i586/oe-defaults.gypi b/recipes-browser/chromium/chromium-24.0.1312.52/i586/oe-defaults.gypi new file mode 100644 index 000000000..0a6e8e86a --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/i586/oe-defaults.gypi @@ -0,0 +1,15 @@ +{ + 'variables': { + 'use_system_bzip2': 1, + 'disable_nacl': 1, + 'proprietary_codecs': 0, + 'v8_use_snapshot': 1, + 'use_system_ffmpeg': 0, + 'linux_use_tcmalloc': 1, + 'linux_link_kerberos': 0, + 'use_kerberos': 0, + 'use_cups': 0, + 'use_gnome_keyring': 0, + 'linux_link_gnome_keyring': 0, + }, +} diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/ui-gl-no-narrowing.patch b/recipes-browser/chromium/chromium-24.0.1312.52/ui-gl-no-narrowing.patch new file mode 100644 index 000000000..d48befb00 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/ui-gl-no-narrowing.patch @@ -0,0 +1,20 @@ +diff --git a/ui/gl/gl.gyp b/ui/gl/gl.gyp +index 3d0ffb8..d38e87a 100644 +--- a/ui/gl/gl.gyp ++++ b/ui/gl/gl.gyp +@@ -36,6 +36,15 @@ + '<(gl_binding_output_dir)', + ], + }, ++ # Disable narrowing-conversion-in-initialization-list warnings in that we ++ # do not want to fix ++ # ../../ui/gl/gl_image_glx.cc: In member function 'virtual bool gfx::GLImageGLX::Initialize()' ++ # ../../ui/gl/gl_image_glx.cc:90:3: error: narrowing conversion of ++ # 'visinfo.scoped_ptr_malloc::operator->()->XVisualInfo::visualid' ++ # from 'VisualID {aka long unsigned int}' to 'int' inside { } is ill-formed in C++11 [-Werror=narrowing] ++ 'cflags+': ['-Wno-narrowing'], ++ 'cflags_cc+': ['-Wno-narrowing'], + 'sources': [ + 'gl_bindings.h', + 'gl_bindings_skia_in_process.cc', diff --git a/recipes-browser/chromium/chromium-24.0.1312.52/unistd-2.patch b/recipes-browser/chromium/chromium-24.0.1312.52/unistd-2.patch new file mode 100644 index 000000000..6b5018b48 --- /dev/null +++ b/recipes-browser/chromium/chromium-24.0.1312.52/unistd-2.patch @@ -0,0 +1,27 @@ +diff --git a/chrome/browser/memory_details_linux.cc b/chrome/browser/memory_details_linux.cc +index bee24ce..299f237 100644 +--- a/chrome/browser/memory_details_linux.cc ++++ b/chrome/browser/memory_details_linux.cc +@@ -7,6 +7,10 @@ + #include + #include + ++#if defined(OS_POSIX) ++#include ++#endif ++ + #include "base/bind.h" + #include "base/process_util.h" + #include "base/string_util.h" +diff --git a/ipc/ipc_channel.h b/ipc/ipc_channel.h +index 14c375b..345f9eb 100644 +--- a/ipc/ipc_channel.h ++++ b/ipc/ipc_channel.h +@@ -10,6 +10,7 @@ + + #if defined(OS_POSIX) + #include ++#include + #endif + + #include "base/compiler_specific.h" diff --git a/recipes-browser/chromium/chromium_21.0.1168.0.bb b/recipes-browser/chromium/chromium_21.0.1168.0.bb new file mode 100644 index 000000000..157d2fd4d --- /dev/null +++ b/recipes-browser/chromium/chromium_21.0.1168.0.bb @@ -0,0 +1,141 @@ +DESCRIPTION = "Chromium browser" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0750f191c9bbf46869b70508e7eb455b" +DEPENDS = "xextproto cairo nss gtk+-native zlib-native libav libxi libgnome-keyring libxss cups" + +SRC_URI = "http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2 \ + file://include.gypi \ + file://unistd-2.patch \ +" + +PR="r1" + +# include.gypi exists only for armv6 and armv7a and there isn't something like COMPATIBLE_ARCH afaik +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE_armv6 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "(.*)" + +SRC_URI[md5sum] = "e214d3c888659ad9b2e0b1f5675c8cb2" +SRC_URI[sha256sum] = "f38416fdfb96fafb684cdbeb110497254b9691f456997a0b86142e181cb33013" + +inherit gettext + +EXTRA_OEGYP = " \ + -Duse_system_bzip2=1 \ + \ + -Dproprietary_codecs=1 \ + \ + -Dtarget_arch=${TARGET_ARCH} \ + -Ddisable_nacl=1 \ + -Dlinux_use_tcmalloc=0 \ + \ + -Dlinux_link_kerberos=0 \ + -Duse_kerberos=0 \ + -Duse_cups=1 \ + -Duse_gnome_keyring=1 \ + -Dlinux_link_gnome_keyring=1 \ + \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_binary=0', d)} \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_flags=0', d)} \ +" + +EXTRA_OEGYP_append_armv7a = " \ + -Darmv7=1 \ + -Darm_neon=1 \ +" + +do_configure() { + cd ${WORKDIR} + export GYP_GENERATORS=make + rm -f ${S}/tools/gyp/pylib/gyp/__init__.pyc + rm -f ${S}/tools/gyp/pylib/gyp/__init__.pyo + sed -e 's|__PATH__TO_BE_REPLACED__|"${WORKDIR}/include.gypi"|' -i ${S}/tools/gyp/pylib/gyp/__init__.py + sed -e "s|__PATH__TO_BE_REPLACED__||" -i ${WORKDIR}/include.gypi + + cd ${S} + build/gyp_chromium --depth=. ${EXTRA_OEGYP} +} + +EXTRA_OEMAKE = "-r ${PARALLEL_MAKE} LDFLAGS.host=-L${STAGING_LIBDIR_NATIVE} V=1 BUILDTYPE=Release chrome" + +TARGET_CFLAGS += "-I${STAGING_INCDIR}/mozilla/nss -I${STAGING_INCDIR}/dst" +TARGET_CXXFLAGS += "-I${STAGING_INCDIR}/mozilla/nss -I${STAGING_INCDIR}/dst" + +TARGET_CC_ARCH += " -Wno-error=deprecated-declarations -Wno-error=c++0x-compat " + +do_compile_prepend() { + export CROSSTOOL=${TARGET_PREFIX} + export AR=${CROSSTOOL}ar + export AS=${CROSSTOOL}as + export RANLIB=${CROSSTOOL}ranlib + # host tools are supposed to be linked with gold so we hack the + # makefiles to use gold which must be present on the host and named + # ld.gold. + # -fuse-ld=gold could be an option but that actually fails on Fedora + ln -sf `which ld.gold` ${WORKDIR}/ld + sed -i "s#LDFLAGS.host ?=#LDFLAGS.host = -B${WORKDIR}/#g" Makefile + for i in `find . -iname *.host*.mk`; do + sed -i "s#-B\$(builddir)/../../third_party/gold#-B${WORKDIR}/#g" $i + done + # chromium seems to force the usage of its internal copy of a binary + # gold linker so remove this setting + for i in `find . -iname *.target*.mk`; do + sed -i "s#-B\$(builddir)/../../third_party/gold# #g" $i + done +} + +do_install() { + install -d ${D}${bindir} + install -d ${D}${bindir}/chrome/ + install -m 0755 ${S}/out/Release/chrome ${D}${bindir}/chrome/chrome + install -m 0644 ${S}/out/Release/chrome.pak ${D}${bindir}/chrome/ + install -m 0644 ${S}/out/Release/resources.pak ${D}${bindir}/chrome/ + install -m 0644 ${S}/out/Release/product_logo_48.png ${D}${bindir}/chrome/ + install -d ${D}${bindir}/chrome/locales/ + install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales + cp -a ${S}/out/Release/obj ${D}${bindir}/chrome/ + cp -a ${S}/out/Release/obj.target ${D}${bindir}/chrome/ + cp -a ${S}/out/Release/resources ${D}${bindir}/chrome/ + + mv ${D}${bindir}/chrome/obj.target/third_party/ffmpeg/libffmpegsumo.so ${D}/${bindir}/chrome/libffmpegsumo.so + + find ${D}${bindir}/chrome/ -name "*.d" -delete + find ${D}${bindir}/chrome/ -name "*.o" -delete + find ${D}${bindir}/chrome/ -name "*.a" -delete + find ${D}${bindir}/chrome/ -name "*.cpp" -delete + find ${D}${bindir}/chrome/ -name "*.h" -delete + find ${D}${bindir}/chrome/ -name "*.cc" -delete +} + +# FIXME : hundred of WARNINGs +FILES_${PN} = "/usr/bin/chrome/" +FILES_${PN}-dbg = " \ + ${bindir}/chrome/.debug \ + ${bindir}/chrome/obj.target/third_party/WebKit/Source/WebKit/chromium/.debug \ + ${bindir}/chrome/obj.target/third_party/ffmpeg/.debug \ + ${bindir}/chrome/obj.target/third_party/angle/src/.debug \ + ${bindir}/chrome/obj.target/third_party/icu/.debug \ + ${bindir}/chrome/obj.target/third_party/icu/.debug \ + ${bindir}/chrome/obj.target/content/.debug \ + ${bindir}/chrome/obj.target/webkit/support/.debug \ + ${bindir}/chrome/obj.target/webkit/support/.debug \ + ${bindir}/chrome/obj.target/webkit/support/.debug \ + ${bindir}/chrome/obj.target/ui/gfx/surface/.debug \ + ${bindir}/chrome/obj.target/ui/gfx/gl/.debug \ + ${bindir}/chrome/obj.target/ui/.debug \ + ${bindir}/chrome/obj.target/sql/.debug \ + ${bindir}/chrome/obj.target/v8/tools/gyp/.debug \ + ${bindir}/chrome/obj.target/printing/.debug \ + ${bindir}/chrome/obj.target/crypto/.debug \ + ${bindir}/chrome/obj.target/net/.debug \ + ${bindir}/chrome/obj.target/base/.debug \ + ${bindir}/chrome/obj.target/base/.debug \ + ${bindir}/chrome/obj.target/ipc/.debug \ + ${bindir}/chrome/obj.target/media/.debug \ + ${bindir}/chrome/obj.target/skia/.debug \ + ${bindir}/chrome/obj.target/gpu/command_buffer/.debug \ + ${bindir}/chrome/obj.target/gpu/.debug \ + ${bindir}/chrome/obj.target/ppapi/.debug \ + ${bindir}/chrome/obj.target/ppapi/.debug \ + ${bindir}/chrome/obj.target/build/temp_gyp/.debug \ +" diff --git a/recipes-browser/chromium/chromium_24.0.1312.52.bb b/recipes-browser/chromium/chromium_24.0.1312.52.bb new file mode 100644 index 000000000..8fcf1a8a8 --- /dev/null +++ b/recipes-browser/chromium/chromium_24.0.1312.52.bb @@ -0,0 +1,67 @@ +DESCRIPTION = "Chromium browser" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0750f191c9bbf46869b70508e7eb455b" +DEPENDS = "xextproto cairo nss gtk+-native zlib-native libav libxi libgnome-keyring libxss cups ninja-native" + +SRC_URI = "http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2 \ + file://include.gypi \ + file://oe-defaults.gypi \ + file://unistd-2.patch;patch=1 \ + file://glib-2.16-use-siginfo_t.patch;patch=1 \ + file://ui-gl-no-narrowing.patch;patch=1 \ +" + +PR="r1" + +# include.gypi exists only for armv6 and armv7a and there isn't something like COMPATIBLE_ARCH afaik +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE_i586 = "(.*)" +COMPATIBLE_MACHINE_armv6 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "(.*)" + +SRC_URI[md5sum] = "ed027b16b20e673af6dcf1831a6d8652" +SRC_URI[sha256sum] = "f30df8b0f4c999185bb11d873f0caa5d8bc581eb4f37ce0fe85fb7900a01d711" + +inherit gettext + +EXTRA_OEGYP = " \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_binary=0', d)} \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_flags=0', d)} \ + -I ${WORKDIR}/oe-defaults.gypi \ + -I ${WORKDIR}/include.gypi \ + -f ninja \ +" + +do_configure() { + + cd ${S} + # replace LD with CXX, to workaround a possible gyp issue? + LD="${CXX}" export LD + CC="${CC}" export CC + CXX="${CXX}" export CXX + CC_host="gcc" export CC_host + CXX_host="g++" export CXX_host + build/gyp_chromium --depth=. ${EXTRA_OEGYP} +} + +do_compile() { + # build with ninja + ninja -C ${S}/out/Release chrome +} + +do_install() { + install -d ${D}${bindir} + install -d ${D}${bindir}/chrome/ + install -m 0755 ${S}/out/Release/chrome ${D}${bindir}/chrome/chrome + install -m 0644 ${S}/out/Release/chrome.pak ${D}${bindir}/chrome/ + install -m 0644 ${S}/out/Release/resources.pak ${D}${bindir}/chrome/ + install -m 0644 ${S}/out/Release/chrome_100_percent.pak ${D}${bindir}/chrome/ + install -m 0644 ${S}/out/Release/product_logo_48.png ${D}${bindir}/chrome/ + install -m 0755 ${S}/out/Release/libffmpegsumo.so ${D}${bindir}/chrome/ + + install -d ${D}${bindir}/chrome/locales/ + install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales +} + +FILES_${PN} = "${bindir}/chrome/" +FILES_${PN}-dbg = "${bindir}/chrome/.debug/" diff --git a/recipes-devtools/ninja/ninja-native_1.1.0.bb b/recipes-devtools/ninja/ninja-native_1.1.0.bb new file mode 100644 index 000000000..d6eb16bfd --- /dev/null +++ b/recipes-devtools/ninja/ninja-native_1.1.0.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Ninja is a small build system with a focus on speed." +LICENSE = "Apache-2" + +inherit native + +LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" + +PR = "r1" + +SRCREV="2c953d1501de5195e2485185fa24a2ebfd76bbb5" + +SRC_URI = "git://github.com/martine/ninja.git;protocol=https \ +" + +S="${WORKDIR}/git" + +do_compile() { + python ${S}/bootstrap.py +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/ninja ${D}${bindir}/ninja +} + diff --git a/recipes-support/nss/nss-3.13.3/nss.pc.in b/recipes-support/nss/nss-3.13.3/nss.pc.in index 2c02ae73a..abbc850a0 100644 --- a/recipes-support/nss/nss-3.13.3/nss.pc.in +++ b/recipes-support/nss/nss-3.13.3/nss.pc.in @@ -8,4 +8,4 @@ Description: Mozilla Network Security Services Version: @VERSION@ Requires: nspr Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3 -Cflags: -I${includedir} +Cflags: -I${includedir} -I${includedir}/mozilla/nss diff --git a/recipes-support/nss/nss_3.13.3.bb b/recipes-support/nss/nss_3.13.3.bb index 8b5c66384..7519be5fb 100644 --- a/recipes-support/nss/nss_3.13.3.bb +++ b/recipes-support/nss/nss_3.13.3.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Mozilla's SSL and TLS implementation" HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" -PR = "r2" +PR = "r3" LICENSE = "MPL1.1 GPL LGPL" LIC_FILES_CHKSUM = "file://security/nss/manifest.mn;md5=d71978748f23eae3156c38ac2a691924"