diff options
author | jperkin <jperkin@pkgsrc.org> | 2018-06-26 09:37:09 +0000 |
---|---|---|
committer | jperkin <jperkin@pkgsrc.org> | 2018-06-26 09:37:09 +0000 |
commit | 3f3a8b07dbd18092648919e22a08fa9e06d78713 (patch) | |
tree | 13b401fe006346055826c8b9d5ce37caee855361 | |
parent | 847b5cd0d853960a5c2ada6adb37253b7482c4b8 (diff) | |
download | pkgsrc-3f3a8b07dbd18092648919e22a08fa9e06d78713.tar.gz |
firefox: Add SunOS support.
With stock pkgsrc this still fails to build due to lang/clang, but using
joyent/clang6 produces a working build that appears to function well.
10 files changed, 154 insertions, 5 deletions
diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 8185d0855d4..405bc72c585 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.318 2018/06/10 04:09:05 ryoon Exp $ +$NetBSD: distinfo,v 1.319 2018/06/26 09:37:09 jperkin Exp $ SHA1 (firefox-60.0.2.source.tar.xz) = 44e60ed14ada854af8a978a9bc46c22a601356e8 RMD160 (firefox-60.0.2.source.tar.xz) = 448ef6236799c190df4fa1f0f9c84ceb8eba3e30 @@ -9,26 +9,34 @@ SHA1 (patch-browser_app_profile_firefox.js) = 9a43095d94f83f315b9a3ce4a7b0a4301e SHA1 (patch-build_moz.configure_old.configure) = 1df6867eaf73a350fbe8fcd5bd34e1fcab09d707 SHA1 (patch-dom_fetch_FetchConsumer.cpp) = a164b68b968633e2f2e29c1c3917a77ac55a886b SHA1 (patch-dom_media_CubebUtils.cpp) = 3632cd0dd4b95f53f01050b8898b33fe198916b6 +SHA1 (patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp) = f1d0adae2873545818072adb4e8599267bc4e6c5 SHA1 (patch-gfx_webrender_src_query.rs) = 6434b0fc1d6441ddb555a2a3b199564b488ec336 SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ed86c3fbb3aef753eec6f6a97940594aac5f3f2f SHA1 (patch-ipc_chromium_src_base_lock__impl__posix.cc) = 16e37fe54ba1d8d233f6b04dbd06e248305d7f6e SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 99b9f3f9dd88f1c8008d2fb6058450695394f5cf -SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 937a843a7acf3085056e309ea5ab047bd9b95088 +SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 5b0bfe78e105cc3f395d5afda25a50afc6289f03 SHA1 (patch-ipc_glue_CrossProcessSemaphore.h) = 778a569887d8ad082abc2fa2fe89a0a943e84d64 SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 3052338871447cedaeafe8369afe82233183c884 SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836 +SHA1 (patch-js_src_gc_Memory.cpp) = 40d8285d3f5a060e68a2884dd81b39950f45ff95 +SHA1 (patch-js_src_threading_posix_Thread.cpp) = 47e612a676e614fd6dd43b8a3140218a3fbdc7fa +SHA1 (patch-js_src_util_NativeStack.cpp) = c02781c07942d2aa037d5123cc09cb73d5e73316 +SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 1c665a9383638774c00f6c5fead5d786b6c7944a SHA1 (patch-media_libcubeb_gtest_moz.build) = 921a001726cda9e9782df5e59ae02b19d76ef47e SHA1 (patch-media_libcubeb_src_cubeb.c) = 1b1b8d57eb710cad13518ded79a0ddee2681881b SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 3ee36f58bb525767c7d2b9e814ba4ccaa4868717 SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = ccd7ad6f09977dab358632107cfd9078b4649f99 SHA1 (patch-media_libcubeb_src_moz.build) = f243068c8908dcb16434221edef8c65db3bb0c83 SHA1 (patch-media_libcubeb_update.sh) = 3a322de06bbe9aafba9da349954ef022bd094992 +SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc SHA1 (patch-media_libyuv_libyuv_source_mjpeg__decoder.cc) = 8a264c439fa4749cd7c5acf96e1ae3f9bae0a886 SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__device_linux_audio__device__alsa__linux.cc) = 91e8ce496c1f4dbbd0a463d83cb033afd1de3f49 SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 0141dd1372c13ea1fce6e2f5ffb65e0cb0f3a13e SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = a69bc7b7096b410582e725f9dbec57fee90d6686 SHA1 (patch-modules_pdfium_update.sh) = b0bf091325c9322c54880de067871354cd689038 SHA1 (patch-servo_components_style_build__gecko.rs) = fca2260a70b496fc010f165ff4d68788b7e28632 +SHA1 (patch-third__party_rust_libloading_.cargo-checksum.json) = 00bb69b7e72911de1658f97b338d1d77e9d11cdb +SHA1 (patch-third__party_rust_libloading_build.rs) = 279b0381546d9e2868d4a6e20a8bd195792fc034 SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 5b6d2e5c9f685d32894898d3ef3aec09a1a1e5ce SHA1 (patch-toolkit_library_moz.build) = ecb6125e996d5496335c58ecd3433ad3214f29f0 SHA1 (patch-toolkit_moz.configure) = 40ee147cc1d2c62dd6c83b3f67ce9e61f758ea57 diff --git a/www/firefox/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp b/www/firefox/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp new file mode 100644 index 00000000000..acc57714515 --- /dev/null +++ b/www/firefox/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Fix build where _LITTLE_ENDIAN is not an integer. + +--- gfx/angle/checkout/src/common/third_party/smhasher/src/PMurHash.cpp.orig 2018-06-05 19:47:29.000000000 +0000 ++++ gfx/angle/checkout/src/common/third_party/smhasher/src/PMurHash.cpp +@@ -91,7 +91,7 @@ on big endian machines, or a byte-by-byt + /* gcc 'may' define __LITTLE_ENDIAN__ or __BIG_ENDIAN__ to 1 (Note the trailing __), + * or even _LITTLE_ENDIAN or _BIG_ENDIAN (Note the single _ prefix) */ + #if !defined(__BYTE_ORDER) +- #if defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__==1 || defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN==1 ++ #if defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__-0==1 || defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN-0==1 + #define __BYTE_ORDER __LITTLE_ENDIAN + #elif defined(__BIG_ENDIAN__) && __BIG_ENDIAN__==1 || defined(_BIG_ENDIAN) && _BIG_ENDIAN==1 + #define __BYTE_ORDER __BIG_ENDIAN diff --git a/www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc b/www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc index 9d69f6b4563..d02c91b9ae9 100644 --- a/www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc +++ b/www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc @@ -1,9 +1,9 @@ -$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.9 2017/08/10 14:46:15 ryoon Exp $ +$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.10 2018/06/26 09:37:10 jperkin Exp $ * Support NetBSD -* Support Solaris +* Support Solaris (we can't rely on pthread_setname_np so ignore it). ---- ipc/chromium/src/base/platform_thread_posix.cc.orig 2017-07-31 16:20:47.000000000 +0000 +--- ipc/chromium/src/base/platform_thread_posix.cc.orig 2018-06-05 19:47:29.000000000 +0000 +++ ipc/chromium/src/base/platform_thread_posix.cc @@ -12,7 +12,9 @@ #if defined(OS_MACOSX) @@ -15,3 +15,12 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.9 2017/08/10 #elif defined(OS_LINUX) #include <sys/syscall.h> #include <sys/prctl.h> +@@ -103,7 +105,7 @@ void PlatformThread::SetName(const char* + pthread_setname_np(pthread_self(), "%s", (void *)name); + #elif defined(OS_BSD) && !defined(__GLIBC__) + pthread_set_name_np(pthread_self(), name); +-#elif defined(OS_SOLARIS) ++#elif defined(notOS_SOLARIS) + pthread_setname_np(pthread_self(), name); + #else + #endif diff --git a/www/firefox/patches/patch-js_src_gc_Memory.cpp b/www/firefox/patches/patch-js_src_gc_Memory.cpp new file mode 100644 index 00000000000..7deaa70c7eb --- /dev/null +++ b/www/firefox/patches/patch-js_src_gc_Memory.cpp @@ -0,0 +1,23 @@ +$NetBSD: patch-js_src_gc_Memory.cpp,v 1.4 2018/06/26 09:37:10 jperkin Exp $ + +Support SunOS/x86_64. + +--- js/src/gc/Memory.cpp.orig 2018-06-05 19:47:29.000000000 +0000 ++++ js/src/gc/Memory.cpp +@@ -504,6 +504,7 @@ MapMemoryAt(void* desired, size_t length + { + + #if defined(__ia64__) || defined(__aarch64__) || \ ++ (defined(__sun) && defined(__x86_64__)) || \ + (defined(__sparc__) && defined(__arch64__) && (defined(__NetBSD__) || defined(__linux__))) + MOZ_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) == 0); + #endif +@@ -554,7 +555,7 @@ MapMemory(size_t length, int prot = PROT + return nullptr; + } + return region; +-#elif defined(__aarch64__) || (defined(__sparc__) && defined(__arch64__) && defined(__linux__)) ++#elif defined(__aarch64__) || (defined(__sparc__) && defined(__arch64__) && defined(__linux__)) || (defined(__sun) && defined(__x86_64__)) + /* + * There might be similar virtual address issue on arm64 which depends on + * hardware and kernel configurations. But the work around is slightly diff --git a/www/firefox/patches/patch-js_src_threading_posix_Thread.cpp b/www/firefox/patches/patch-js_src_threading_posix_Thread.cpp new file mode 100644 index 00000000000..fba29d692e0 --- /dev/null +++ b/www/firefox/patches/patch-js_src_threading_posix_Thread.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-js_src_threading_posix_Thread.cpp,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Support SunOS. + +--- js/src/threading/posix/Thread.cpp.orig 2018-06-05 19:47:32.000000000 +0000 ++++ js/src/threading/posix/Thread.cpp +@@ -194,6 +194,8 @@ js::ThisThread::SetName(const char* name + rv = 0; + #elif defined(__NetBSD__) + rv = pthread_setname_np(pthread_self(), "%s", (void*)name); ++#elif defined(__sun) ++ rv = 0; + #else + rv = pthread_setname_np(pthread_self(), name); + #endif diff --git a/www/firefox/patches/patch-js_src_util_NativeStack.cpp b/www/firefox/patches/patch-js_src_util_NativeStack.cpp new file mode 100644 index 00000000000..bcf8fd6d853 --- /dev/null +++ b/www/firefox/patches/patch-js_src_util_NativeStack.cpp @@ -0,0 +1,23 @@ +$NetBSD: patch-js_src_util_NativeStack.cpp,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Support SunOS. + +--- js/src/util/NativeStack.cpp.orig 2018-06-05 19:47:32.000000000 +0000 ++++ js/src/util/NativeStack.cpp +@@ -32,7 +32,7 @@ js::GetNativeStackBaseImpl() + return static_cast<void*>(pTib->StackBase); + } + +-#elif defined(SOLARIS) ++#elif defined(__sun) + + #include <ucontext.h> + +@@ -78,6 +78,7 @@ js::GetNativeStackBaseImpl() + # elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD) + /* e.g. on FreeBSD 4.8 or newer, neundorf@kde.org */ + pthread_attr_get_np(thread, &sattr); ++# elif defined(__sun) + # else + /* + * FIXME: this function is non-portable; diff --git a/www/firefox/patches/patch-js_src_wasm_WasmSignalHandlers.cpp b/www/firefox/patches/patch-js_src_wasm_WasmSignalHandlers.cpp new file mode 100644 index 00000000000..d95af382323 --- /dev/null +++ b/www/firefox/patches/patch-js_src_wasm_WasmSignalHandlers.cpp @@ -0,0 +1,14 @@ +$NetBSD: patch-js_src_wasm_WasmSignalHandlers.cpp,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Support SunOS. + +--- js/src/wasm/WasmSignalHandlers.cpp.orig 2018-06-05 19:47:32.000000000 +0000 ++++ js/src/wasm/WasmSignalHandlers.cpp +@@ -135,6 +135,7 @@ struct AutoSignalHandler + # define EBP_sig(p) ((p)->uc_mcontext.gregs[REG_EBP]) + # define ESP_sig(p) ((p)->uc_mcontext.gregs[REG_ESP]) + # else ++# include <sys/regset.h> + # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs.fp_reg_set.fpchip_state.xmm[i]) + # define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_PC]) + # define EBP_sig(p) ((p)->uc_mcontext.gregs[REG_EBP]) diff --git a/www/firefox/patches/patch-media_libpng_pngpriv.h b/www/firefox/patches/patch-media_libpng_pngpriv.h new file mode 100644 index 00000000000..318b160f3d4 --- /dev/null +++ b/www/firefox/patches/patch-media_libpng_pngpriv.h @@ -0,0 +1,17 @@ +$NetBSD: patch-media_libpng_pngpriv.h,v 1.6 2018/06/26 09:37:10 jperkin Exp $ + +Fix _POSIX_SOURCE on SunOS. + +--- media/libpng/pngpriv.h.orig 2018-06-05 19:47:32.000000000 +0000 ++++ media/libpng/pngpriv.h +@@ -36,8 +36,10 @@ + * still required (as of 2011-05-02.) + */ + #ifndef _POSIX_SOURCE ++#if !defined(__sun) || (__STDC_VERSION__-0 < 199901L) + # define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */ + #endif ++#endif + + #ifndef PNG_VERSION_INFO_ONLY + /* Standard library headers not required by png.h: */ diff --git a/www/firefox/patches/patch-third__party_rust_libloading_.cargo-checksum.json b/www/firefox/patches/patch-third__party_rust_libloading_.cargo-checksum.json new file mode 100644 index 00000000000..0796d7fa283 --- /dev/null +++ b/www/firefox/patches/patch-third__party_rust_libloading_.cargo-checksum.json @@ -0,0 +1,10 @@ +$NetBSD: patch-third__party_rust_libloading_.cargo-checksum.json,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Update checksum for build.rs patch. + +--- third_party/rust/libloading/.cargo-checksum.json.orig 2018-06-05 19:47:39.000000000 +0000 ++++ third_party/rust/libloading/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{".travis.yml":"3c9d7103068d644d68f5d0f9dd6a9ba00eb86bfb4cfc2c2c14c8a853144fcf09","Cargo.toml":"538efc8b4fd54f900e4706d6904b7696dbf071578d16fe76df1db8c82566635b","LICENSE":"b29f8b01452350c20dd1af16ef83b598fea3053578ccc1c7a0ef40e57be2620f","README.mkd":"34dc610b01f8c3e56d95de1972120ca0d53cee787f636a3ce96526ab343878b5","appveyor.yml":"8382c7f1769f6cf78029a221058c4d73f35a48308b5dfc38d875facabec1c139","build.rs":"dd767f79832741a368fd46a846b7d53cdd05337becad6f7addad71e9618c2769","src/changelog.rs":"b1cbfc5b62c13693e06ca9b3196b359661a0c27d4bdc5eb093554ff86ce34a72","src/lib.rs":"665c5eeecdf77afc0dbe7de4232b2d5f5da5e19a5fd851ac433c89d600b801ee","src/os/mod.rs":"51d733e5522dacd6069642ad66aa6d7acf6c82950c934eb040e8dfd112e6d610","src/os/unix/mod.rs":"1cd2b6f51a34e492b7c88d054f25d89b825037bd81e62a2950ca13720e760061","src/os/windows/mod.rs":"2ed3564e9b88a601cd93b13affb286af7beee165b710279d55c953c74b783310","src/test_helpers.rs":"3a55052e8cd5231e97d9282b43398c2f144c57ced2d2df64bde7f482f5c778e7","src/util.rs":"0b0155448a26db4b00b2a6ca129e0e1f6f75870c56c9777d262941818c7581b7","tests/functions.rs":"dbed3ad32d6a31c8c0df5943f686ca328f020c5d49a9111281458971caa40e62","tests/markers.rs":"8e9c1b883404d9190e4f23ed39b3d6cbbccb3a07883f733b04aed4357b9c6aca","tests/nagisa32.dll":"5c69b2bd9c8a6ad04165c221075fc9fade1dd66ca697399ace528a5a62328e36","tests/nagisa64.dll":"e20b95e3036f3289421abd100760874d4f455afd33c3b5b64fec56b191f7d477","tests/statics.rs":"8fd0955d38cdf3d56d1ece03ad159192702dbc049aa1af146f28fb10f1cf2fcc","tests/windows.rs":"7711dfe19062d91356cd127546542b1b6e13aeef76ad3098f32c8a6ae319b66a"},"package":"be99f814beb3e9503a786a592c909692bb6d4fc5a695f6ed7987223acfbd5194"} +\ No newline at end of file ++{"files":{".travis.yml":"3c9d7103068d644d68f5d0f9dd6a9ba00eb86bfb4cfc2c2c14c8a853144fcf09","Cargo.toml":"538efc8b4fd54f900e4706d6904b7696dbf071578d16fe76df1db8c82566635b","LICENSE":"b29f8b01452350c20dd1af16ef83b598fea3053578ccc1c7a0ef40e57be2620f","README.mkd":"34dc610b01f8c3e56d95de1972120ca0d53cee787f636a3ce96526ab343878b5","appveyor.yml":"8382c7f1769f6cf78029a221058c4d73f35a48308b5dfc38d875facabec1c139","build.rs":"d029e3041872d444ebea63f452d06ecbf8e9bd030bf448a63b138de05275ba49","src/changelog.rs":"b1cbfc5b62c13693e06ca9b3196b359661a0c27d4bdc5eb093554ff86ce34a72","src/lib.rs":"665c5eeecdf77afc0dbe7de4232b2d5f5da5e19a5fd851ac433c89d600b801ee","src/os/mod.rs":"51d733e5522dacd6069642ad66aa6d7acf6c82950c934eb040e8dfd112e6d610","src/os/unix/mod.rs":"1cd2b6f51a34e492b7c88d054f25d89b825037bd81e62a2950ca13720e760061","src/os/windows/mod.rs":"2ed3564e9b88a601cd93b13affb286af7beee165b710279d55c953c74b783310","src/test_helpers.rs":"3a55052e8cd5231e97d9282b43398c2f144c57ced2d2df64bde7f482f5c778e7","src/util.rs":"0b0155448a26db4b00b2a6ca129e0e1f6f75870c56c9777d262941818c7581b7","tests/functions.rs":"dbed3ad32d6a31c8c0df5943f686ca328f020c5d49a9111281458971caa40e62","tests/markers.rs":"8e9c1b883404d9190e4f23ed39b3d6cbbccb3a07883f733b04aed4357b9c6aca","tests/nagisa32.dll":"5c69b2bd9c8a6ad04165c221075fc9fade1dd66ca697399ace528a5a62328e36","tests/nagisa64.dll":"e20b95e3036f3289421abd100760874d4f455afd33c3b5b64fec56b191f7d477","tests/statics.rs":"8fd0955d38cdf3d56d1ece03ad159192702dbc049aa1af146f28fb10f1cf2fcc","tests/windows.rs":"7711dfe19062d91356cd127546542b1b6e13aeef76ad3098f32c8a6ae319b66a"},"package":"be99f814beb3e9503a786a592c909692bb6d4fc5a695f6ed7987223acfbd5194"} diff --git a/www/firefox/patches/patch-third__party_rust_libloading_build.rs b/www/firefox/patches/patch-third__party_rust_libloading_build.rs new file mode 100644 index 00000000000..8066894b326 --- /dev/null +++ b/www/firefox/patches/patch-third__party_rust_libloading_build.rs @@ -0,0 +1,15 @@ +$NetBSD: patch-third__party_rust_libloading_build.rs,v 1.1 2018/06/26 09:37:10 jperkin Exp $ + +Support SunOS. + +--- third_party/rust/libloading/build.rs.orig 2018-06-05 19:47:45.000000000 +0000 ++++ third_party/rust/libloading/build.rs +@@ -9,7 +9,7 @@ fn main(){ + // netbsd claims dl* will be available to any dynamically linked binary, but I haven’t + // found any libraries that have to be linked to on other platforms. + // What happens if the executable is not linked up dynamically? +- Ok("openbsd") | Ok("bitrig") | Ok("netbsd") | Ok("macos") | Ok("ios") => {} ++ Ok("openbsd") | Ok("bitrig") | Ok("netbsd") | Ok("macos") | Ok("ios") | Ok("solaris") => {} + // dependencies come with winapi + Ok("windows") => {} + tos => { |