Adding isort
This commit is contained in:
parent
20d0f8b41c
commit
73dd5b7bae
17
dev-lang/rust/Manifest
Normal file
17
dev-lang/rust/Manifest
Normal file
@ -0,0 +1,17 @@
|
||||
AUX 0012-Ignore-broken-and-non-applicable-tests.patch 3387 BLAKE2B 6809f3d5c2cf5698d516ccd74dbbf66cc4265200f75567fa197743672895ddee418367751ac3d99a263ff3417ed89718cd3602c609d0dfac7ba2fd5ac18dce76 SHA512 0c41c238dc0b5a7130398d8c1d6bb6987c9bff704c89875830e9d6ad28d49d9b300c1fe7c982ef9be9a92ed0057f6fc04a604d189d1aec2dc2b014d6d50a7d8d
|
||||
AUX 1.44.0-libressl.patch 8969 BLAKE2B 1ae707140a93fd76ec825e0e8c49f1408cda5a3b290a07c974d8ba8ba9b82e230bc2a4864cdecc744425d77ded819690da9328af2f648c636e8fd9ba3f0bb131 SHA512 81421ce6a0eb89bb51ff6a95be79159fce18be51c341f29aaf9d18e9b4aa1d3324e0c3472f72881c94a053b6dc4490c16b5ca2ac9cece0ea2d01051e3ed28a56
|
||||
DIST rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz 104148868 BLAKE2B ac5db9eb58c502253d001e0c93aef867bc584d045960a1d3c2caf6772a7c1f4fbad7da579d7c72b3376804f61f1332a54e9fc7099ba5f4a65f7e5435df28894a SHA512 b54fad5493344d2370bd77110f0ffb0231f41ab8aa9707e9303304957c5d9067dc83089432eb175605b78dc771dfcf7abfcce63d7fecdbb759dd224c17d12da0
|
||||
DIST rust-1.43.1-arm-unknown-linux-gnueabi.tar.xz 104779424 BLAKE2B 63c05d7403970bd4a237a6b690bcb8e78f310816a953af43da8d258a74102cd560c8674656c2036b1f391dc964ba6d2be2736bc10686c2365cc332b5c76a5502 SHA512 ea2eae6da6c757c07cf9631c706365c743c58f28b514444763ea70fed4c8fcefc5c36d55136afffc2f5e0d25e9b1fdf3243cb9def7e0f57e37b5a4783d44a61b
|
||||
DIST rust-1.43.1-arm-unknown-linux-gnueabihf.tar.xz 103569032 BLAKE2B fc94eeb777a72fcb1b2821b5d10bb9eaca535d76e8caee3d06aed989107460e00146516c5be5714e9739c49d5170809fc132624f9a035afba146db883346c57a SHA512 1c523dafceb29f916a192261f673048c8f781453bcee237e0e333d694d7d7b71735544906f2edea9e0a8a48fc66a478645ae8ae865a171f4f9a94f0d8e6800c1
|
||||
DIST rust-1.43.1-armv7-unknown-linux-gnueabihf.tar.xz 108430484 BLAKE2B a3c57930b4e7096f409a2129abef60fbdfadad59f29e428296f3151187eac286e82bdb2d0ca879db87563cdc707dbcabbb5e9048b54303653209b98268ab9cf3 SHA512 0812b3229dd47f1b5cadb49020e68d28b4267ac0489d0c2e448f21e3b0b6519bbf216ac9b20b747e035033842a6eb3b13a98706f2eddca2c088d9396dcb2c21e
|
||||
DIST rust-1.43.1-i686-unknown-linux-gnu.tar.xz 125731548 BLAKE2B 3a3278e409a69f3e8195bab39871b5594571c1c8f2ea2a5f8c9786a739f709381c13c1b2a3209ef62cb7c5b8aec47dd769cf3e658ed57e5037522759fa1a244e SHA512 c7423bccfb15f3df6043ec1d81203c9db9b3229dedd347cab09d3cc3b183f53aa0707f59964efccd63418e1c6ad21e7ee7dcc1495eda8c4ecb55ee8e6b3ac034
|
||||
DIST rust-1.43.1-mips-unknown-linux-gnu.tar.xz 95924004 BLAKE2B fc1da442dfaa535b81029ed40a85cd0d55766d84c34f0d97bf36376c44e44fd5305b429854b9c964515e10f83a06b36a6ad9daae5714e142491d99e58b1d0a07 SHA512 fe3b11e586d506dc917f0e04009a994a16575ac534a2716b49e66a0344060a26ee6c7e912b6cd7b5f010a97f59604515f899bc1b6c38f0ea86e8cecc20152dd6
|
||||
DIST rust-1.43.1-mips64-unknown-linux-gnuabi64.tar.xz 100980364 BLAKE2B 12439df511c3ad43ed24cb0e648a212314a747e203680929ed3e136505eb29af3dcb007162aaa337fbac56a9b1b8f1c405217756ec712c400bc0f4d9aefd64b8 SHA512 6c0d7f172e76e21596d305df7b1a38fde66a946972765de92ccc139cf8f2e8755864b7bd94328b9639023df6be51af08428f41ed78de4ba8d43620673b9f7ecb
|
||||
DIST rust-1.43.1-mipsel-unknown-linux-gnu.tar.xz 98512180 BLAKE2B b5e8cdf2b8d65cc39bfb325afda9ae75a360967a4f6f413f3b01257bc34130fcc873dc128a4e48bbcad774d69b9a4aae0d4a8182819a4411809af6a0c636b403 SHA512 cb01eac951384fbf2ead5b7d4acbf92485de0bbaa7e3a272a46a8934066d720d248a19a67ffc88b7b239c15478e8691b94302807dc7652e042c9b8edded6da12
|
||||
DIST rust-1.43.1-powerpc-unknown-linux-gnu.tar.xz 105007576 BLAKE2B 8392f36025ca91742fad9755c945b42e616272cc97c33087090c6462a5ba9f1de82a0167ed53568b5cdd4c593464ed2858811fd0c9ae8559a1cba37be6db5305 SHA512 d10da49f19b79f843ae369bdff3e5040b93934dc50dac3c09bd346c24dfa7394364da647c08206d5cef4c853b7e59d1062c16e6eeba0ffc01736eeba63dd3eb6
|
||||
DIST rust-1.43.1-powerpc64-unknown-linux-gnu.tar.xz 107189572 BLAKE2B ba561d45b8f9a7f446b17313d92db31b30a07d657dbc59667076ee216d66e4b2ec3811821bc6d1fde6bba811d2c46473c6e3bc06162fe4e1ffe040ad23542742 SHA512 695591807892c8f08801cd145ebc6a91ee4222000210baaaa0d6c8acf1ac6a96f4bf2566871def04d15a9965b7e3ea4287e37d7851fb14010518694d8ede75e6
|
||||
DIST rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz 112921244 BLAKE2B 9fa67664fc90c1f6095d98b756cae747be2ad863b894b393d4e9ecc3a1bd527b0d26f1bae2988981b98d4d582d2b60a18c62b3db3b5fa017439e034f576e7582 SHA512 da447ec44ebf998290a73420437c8d434a6c196cfe1c3331a9adf40abf7acd97a231e352a8626bbfa961da8e0c4f450aa59d573254257f72cce4068eeb8112a1
|
||||
DIST rust-1.43.1-s390x-unknown-linux-gnu.tar.xz 119547480 BLAKE2B 8ce0d64e2d47f23cb927f3ea3a0f469e3cafc191ac1d47e580bce6cf0b35887484542f7d1b857d9bace5f696a072adb7e17e8c5f64af9bf1fbcc305707a15f9f SHA512 f087e50a91b1cc4a12bf15aea1cefbda9b89518febcecc0d56ea7d0a6a682be06cff7777d0a0b4812e96f3fb3295e7799bf200c1599c88cb7083a78d5002f14a
|
||||
DIST rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz 112817212 BLAKE2B c6153889d9872ed5a60bfc43bc8c98e71654fffdd79ce775c3eb4376ed4714c5532e6aaecb769e447f3ae0bb7a11aed75754a5e879404742cb0813080dcf67eb SHA512 2fc573ca2826d9f03044f746ae4d7715b4e31b9ac933289607aa3449a538bb4dfd519540576a1d0d286c0d754a7ba6ce38beef6aded1090d3af3091b6ba2a9ee
|
||||
DIST rustc-1.44.1-src.tar.xz 94756856 BLAKE2B 60f536c3ba0fa1fec4b6333ee57809ee5226090ad5041c14a136b4356ff3b898062e06c3fe54effe873e27931ac8fcb902cd48a38615a8de7eebc6ecb3bdc2bd SHA512 1c17002edae844a710db9b144c17171416330dc565343c65af8a6e112fb61555e2025bb4cf33cac1229d7df689e6ff8858b91ae00552400ccacafaf1de11849b
|
||||
EBUILD rust-1.44.1.ebuild 14912 BLAKE2B 107391d3f6cbd0974c06398f7b9fec061cca9dd24ffd72ca903d5b9758edc630070b841a5973b0688ea17dc5afe95141874734bd365fa6d9fb283b97df7bf27e SHA512 78456cbe534f7735d3b2400f52ad07cd1a1dd3db5ae8c834d62f8744e4b4f5205d04b83d462d0a25a82f53158c19c7f625792d8c2cfbbdb63bc41f373b2ebf8f
|
@ -0,0 +1,89 @@
|
||||
From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 16 Sep 2018 16:38:48 +0000
|
||||
Subject: [PATCH 12/15] Ignore broken and non-applicable tests
|
||||
|
||||
c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
|
||||
env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
|
||||
long-linker-command-lines: takes >10 minutes to run (but still passes)
|
||||
simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
|
||||
sparc-struct-abi: no sparc target
|
||||
sysroot-crates-are-unstable: can't run rustc without RPATH
|
||||
---
|
||||
src/test/codegen/sparc-struct-abi.rs | 1 +
|
||||
src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
|
||||
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
|
||||
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
|
||||
src/test/ui/env-funky-keys.rs | 1 +
|
||||
src/test/ui/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
|
||||
6 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
|
||||
index 78e5b14a212..6f93e93286b 100644
|
||||
--- a/src/test/codegen/sparc-struct-abi.rs
|
||||
+++ b/src/test/codegen/sparc-struct-abi.rs
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
// only-sparc64
|
||||
// compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
|
||||
+// ignore-test
|
||||
#![feature(no_core, lang_items)]
|
||||
#![no_core]
|
||||
|
||||
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
index f124ca2ab61..363b18f0985 100644
|
||||
--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
|
||||
@@ -1,3 +1,5 @@
|
||||
+# ignore-aarch64
|
||||
+
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
index 5876fbc94bc..5f167ece1a2 100644
|
||||
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
|
||||
@@ -1,3 +1,5 @@
|
||||
+# ignore-test
|
||||
+
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
index 9e770706857..6d92ec5cec8 100644
|
||||
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
|
||||
@@ -1,1 +1,3 @@
|
||||
+# ignore-test
|
||||
+
|
||||
all:
|
||||
python2.7 test.py
|
||||
diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
|
||||
index c5c824ac58d..f3fe047a79c 100644
|
||||
--- a/src/test/ui/env-funky-keys.rs
|
||||
+++ b/src/test/ui/env-funky-keys.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// run-pass
|
||||
// Ignore this test on Android, because it segfaults there.
|
||||
|
||||
+// ignore-test
|
||||
// ignore-android
|
||||
// ignore-windows
|
||||
// ignore-cloudabi no execve
|
||||
diff --git a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
|
||||
index b28f742a92e..3ee4ccce731 100644
|
||||
--- a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
|
||||
+++ b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
|
||||
@@ -2,6 +2,8 @@
|
||||
#![allow(non_camel_case_types)]
|
||||
|
||||
// ignore-emscripten
|
||||
+// ignore-powerpc
|
||||
+// ignore-powerpc64
|
||||
|
||||
// Test that the simd_bitmask intrinsic produces correct results.
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
45
dev-lang/rust/files/1.44.0-libressl.patch
Normal file
45
dev-lang/rust/files/1.44.0-libressl.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 3d1be8d8981a0f847e935312a78bd2ba5129f90e Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Strogin <steils@gentoo.org>
|
||||
Date: Fri, 5 Jun 2020 06:37:06 +0300
|
||||
Subject: [PATCH] Support LibreSSL 3.2.x
|
||||
|
||||
Signed-off-by: Stefan Strogin <steils@gentoo.org>
|
||||
---
|
||||
vendor/openssl-sys/.cargo-checksum.json | 2 +-
|
||||
vendor/openssl-sys/build/main.rs | 5 ++++-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
|
||||
index 7f63bae3d..76025fe7f 100644
|
||||
--- a/vendor/openssl-sys/.cargo-checksum.json
|
||||
+++ b/vendor/openssl-sys/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"CHANGELOG.md":"ffd4bbaeec2740afbcab5a6828f9e65523aaff8638e3d5d13c93a3241fb8ed2f","Cargo.toml":"3eb2f65dda1aa74c8b47814878b56bf4999b4d01bc5864fc9f3c0ece9a5694a7","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"56cee620b082d87b1c9cdeba7c6c022e6aa7d3a99e2b66ec18a534ceaf2e2bb7","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"6e800f4dc5c2cbbd54d1b1b995a2915ff941e17e11300d7091858210d3ce788d","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"5afdfc0ab87259b13a55375c178ae3af934b3281240aa24ca27afac7acccea42","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"13bf789702e37dc4b9f74f3a0e61ae6e5602e4dedf45c05d884c41257b32d76c","src/pem.rs":"4427060f543ae9e6745d9a8f7f76cb72acfb06afacaf396b011afff6a221714b","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"34ad7d5413d77f9052815cfd7344d5a21868b5ae0d38dadd6f4ed3b5c4b33760","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"CHANGELOG.md":"ffd4bbaeec2740afbcab5a6828f9e65523aaff8638e3d5d13c93a3241fb8ed2f","Cargo.toml":"3eb2f65dda1aa74c8b47814878b56bf4999b4d01bc5864fc9f3c0ece9a5694a7","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"56cee620b082d87b1c9cdeba7c6c022e6aa7d3a99e2b66ec18a534ceaf2e2bb7","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"049f7020b6a1f8bb831cb750054fbc0f408e048e34c0817644696ec9d0cfb06e","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"5afdfc0ab87259b13a55375c178ae3af934b3281240aa24ca27afac7acccea42","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"13bf789702e37dc4b9f74f3a0e61ae6e5602e4dedf45c05d884c41257b32d76c","src/pem.rs":"4427060f543ae9e6745d9a8f7f76cb72acfb06afacaf396b011afff6a221714b","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"34ad7d5413d77f9052815cfd7344d5a21868b5ae0d38dadd6f4ed3b5c4b33760","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"}
|
||||
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
|
||||
index 162e11a66..6754ddeef 100644
|
||||
--- a/vendor/openssl-sys/build/main.rs
|
||||
+++ b/vendor/openssl-sys/build/main.rs
|
||||
@@ -204,6 +204,9 @@ See rust-openssl README for more information:
|
||||
(3, 0, 0) => ('3', '0', '0'),
|
||||
(3, 0, 1) => ('3', '0', '1'),
|
||||
(3, 0, _) => ('3', '0', 'x'),
|
||||
+ (3, 1, 0) => ('3', '1', '0'),
|
||||
+ (3, 1, _) => ('3', '1', 'x'),
|
||||
+ (3, 2, _) => ('3', '2', 'x'),
|
||||
_ => version_error(),
|
||||
};
|
||||
|
||||
@@ -244,7 +247,7 @@ fn version_error() -> ! {
|
||||
"
|
||||
|
||||
This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
|
||||
-through 3.0.x, but a different version of OpenSSL was found. The build is now aborting
|
||||
+through 3.2.x, but a different version of OpenSSL was found. The build is now aborting
|
||||
due to this version mismatch.
|
||||
|
||||
"
|
||||
--
|
||||
2.27.0
|
||||
|
502
dev-lang/rust/rust-1.44.1.ebuild
Normal file
502
dev-lang/rust/rust-1.44.1.ebuild
Normal file
@ -0,0 +1,502 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="amd64 arm arm64 ppc64 x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="
|
||||
https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
|
||||
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
|
||||
"
|
||||
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 11.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 10.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
|
||||
sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
|
||||
)
|
||||
<sys-devel/llvm-11:=
|
||||
wasm? ( sys-devel/lld )
|
||||
"
|
||||
LLVM_MAX_SLOT=10
|
||||
|
||||
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
|
||||
|
||||
# libgit2 should be at least same as bundled into libgit-sys #707746
|
||||
COMMON_DEPEND="
|
||||
>=dev-libs/libgit2-0.99:=
|
||||
net-libs/libssh2:=
|
||||
net-libs/http-parser:=
|
||||
net-misc/curl:=[ssl]
|
||||
sys-libs/zlib:=
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
elibc_musl? ( sys-libs/libunwind )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
|
||||
!system-llvm? (
|
||||
dev-util/cmake
|
||||
dev-util/ninja
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-eselect/eselect-rust-20190311
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
miri? ( nightly )
|
||||
parallel-compiler? ( nightly )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
|
||||
QA_FLAGS_IGNORED="
|
||||
usr/bin/.*-${PV}
|
||||
usr/lib.*/lib.*.so
|
||||
usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
|
||||
usr/lib/rustlib/.*/lib/lib.*.so
|
||||
"
|
||||
|
||||
QA_SONAME="
|
||||
usr/lib.*/lib.*.so
|
||||
usr/lib.*/librustc_macros.*.s
|
||||
"
|
||||
|
||||
# tests need a bit more work, currently they are causing multiple
|
||||
# re-compilations and somewhat fragile.
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
|
||||
"${FILESDIR}"/1.44.0-libressl.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
CHECKREQS_DISK_BUILD="9G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="15G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
|
||||
# required to link agains system libs, otherwise
|
||||
# crates use bundled sources and compile own static version
|
||||
export LIBGIT2_SYS_USE_PKG_CONFIG=1
|
||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
|
||||
if use system-llvm; then
|
||||
llvm_pkg_setup
|
||||
|
||||
local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
|
||||
|
||||
export LLVM_LINK_SHARED=1
|
||||
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if ! use system-bootstrap; then
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
|
||||
--destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
if use system-llvm; then
|
||||
# un-hardcode rust-lld linker for this target
|
||||
# https://bugs.gentoo.org/715348
|
||||
sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
|
||||
fi
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use miri; then
|
||||
tools="\"miri\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root
|
||||
if use system-bootstrap; then
|
||||
rust_stage0_root="$(rustc --print sysroot)"
|
||||
else
|
||||
rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
fi
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- EOF > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
ninja = true
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
compiler-docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = true
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
cargo-native-static = false
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr"
|
||||
libdir = "lib"
|
||||
docdir = "share/doc/${PF}"
|
||||
mandir = "share/man"
|
||||
[rust]
|
||||
optimize = true
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
debuginfo-level-rustc = 0
|
||||
backtrace = true
|
||||
incremental = false
|
||||
default-linker = "$(tc-getCC)"
|
||||
parallel-compiler = $(toml_usex parallel-compiler)
|
||||
channel = "$(usex nightly nightly stable)"
|
||||
rpath = false
|
||||
verbose-tests = true
|
||||
optimize-tests = $(toml_usex !debug)
|
||||
codegen-tests = true
|
||||
dist-src = false
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
backtrace-on-ice = true
|
||||
jemalloc = false
|
||||
[dist]
|
||||
src-tarball = false
|
||||
EOF
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
EOF
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
EOF
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
EOF
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
if use wasm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then #whitespace intentionally shifted below
|
||||
# experimental cross support
|
||||
# discussion: https://bugs.gentoo.org/679878
|
||||
# TODO: c*flags, clang, system-llvm, cargo.eclass target support
|
||||
# it would be much better if we could split out stdlib
|
||||
# complilation to separate ebuild and abuse CATEGORY to
|
||||
# just install to /usr/lib/rustlib/<target>
|
||||
|
||||
# extra targets defined as a bash array
|
||||
# spec format: <LLVM target>:<rust-target>:<CTARGET>
|
||||
# best place would be /etc/portage/env/dev-lang/rust
|
||||
# Example:
|
||||
# RUST_CROSS_TARGETS=(
|
||||
# "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
|
||||
# )
|
||||
# no extra hand holding is done, no target transformations, all
|
||||
# values are passed as-is with just basic checks, so it's up to user to supply correct values
|
||||
# valid rust targets can be obtained with
|
||||
# rustc --print target-list
|
||||
# matching cross toolchain has to be installed
|
||||
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
|
||||
# only gcc toolchains installed with crossdev are checked for now.
|
||||
|
||||
# BUG: we can't pass host flags to cross compiler, so just filter for now
|
||||
# BUG: this should be more fine-grained.
|
||||
filter-flags '-mcpu=*' '-march=*' '-mtune=*'
|
||||
|
||||
local cross_target_spec
|
||||
for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
|
||||
# extracts first element form <LLVM target>:<rust-target>:<CTARGET>
|
||||
local cross_llvm_target="${cross_target_spec%%:*}"
|
||||
# extracts toolchain triples, <rust-target>:<CTARGET>
|
||||
local cross_triples="${cross_target_spec#*:}"
|
||||
# extracts first element after before : separator
|
||||
local cross_rust_target="${cross_triples%%:*}"
|
||||
# extracts last element after : separator
|
||||
local cross_toolchain="${cross_triples##*:}"
|
||||
use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
|
||||
command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${cross_rust_target}]
|
||||
cc = "${cross_toolchain}-gcc"
|
||||
cxx = "${cross_toolchain}-g++"
|
||||
linker = "${cross_toolchain}-gcc"
|
||||
ar = "${cross_toolchain}-ar"
|
||||
EOF
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# append cross target to "normal" target list
|
||||
# example 'target = ["powerpc64le-unknown-linux-gnu"]'
|
||||
# becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
|
||||
|
||||
rust_targets="${rust_targets},\"${cross_rust_target}\""
|
||||
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
|
||||
|
||||
ewarn
|
||||
ewarn "Enabled ${rust_target} rust target"
|
||||
ewarn "Using ${cross_toolchain} cross toolchain"
|
||||
ewarn
|
||||
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
|
||||
ewarn "'sys-devel/binutils[multitarget]' is not installed"
|
||||
ewarn "'strip' will be unable to strip cross libraries"
|
||||
ewarn "cross targets will be installed with full debug information"
|
||||
ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
|
||||
ewarn
|
||||
ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
|
||||
ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
|
||||
ewarn
|
||||
fi
|
||||
done
|
||||
fi # I_KNOW_WHAT_I_AM_DOING_CROSS
|
||||
|
||||
einfo "Rust configured with the following settings:"
|
||||
cat "${S}"/config.toml || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
|
||||
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \
|
||||
src/test/codegen \
|
||||
src/test/codegen-units \
|
||||
src/test/compile-fail \
|
||||
src/test/incremental \
|
||||
src/test/mir-opt \
|
||||
src/test/pretty \
|
||||
src/test/run-fail \
|
||||
src/test/run-make \
|
||||
src/test/run-make-fulldeps \
|
||||
src/test/ui \
|
||||
src/test/ui-fulldeps || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
env $(cat "${S}"/config.env) DESTDIR="${D}" \
|
||||
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
|
||||
|
||||
# bug #689562, #689160
|
||||
rm "${D}/etc/bash_completion.d/cargo" || die
|
||||
rmdir "${D}"/etc{/bash_completion.d,} || die
|
||||
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
|
||||
|
||||
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
|
||||
if use clippy; then
|
||||
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
|
||||
fi
|
||||
if use miri; then
|
||||
mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
|
||||
fi
|
||||
if use rls; then
|
||||
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
|
||||
fi
|
||||
if use rustfmt; then
|
||||
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
|
||||
fi
|
||||
|
||||
# Move public shared libs to abi specific libdir
|
||||
# Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
|
||||
if [[ $(get_libdir) != lib ]]; then
|
||||
dodir /usr/$(get_libdir)
|
||||
mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
|
||||
fi
|
||||
|
||||
dodoc COPYRIGHT
|
||||
rm "${ED}/usr/share/doc/${P}"/*.old || die
|
||||
rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
|
||||
rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/cargo
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use miri; then
|
||||
echo /usr/bin/miri >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
17
dev-libs/nspr/Manifest
Normal file
17
dev-libs/nspr/Manifest
Normal file
@ -0,0 +1,17 @@
|
||||
AUX nspr-4.10.6-solaris.patch 973 BLAKE2B 8370bedb05c718d7b73d57b5ac5c720ca62499d6d7b7a039da608a9c514996c2d987ba0135b7dcac509d1b9363908f0c0cff6fe47e1f7ca94b7efbd8c19aeeca SHA512 d4e4c44d02be7aafe09e633f2ee747c323036f7438cb87864d91bcd9bb8ac072065353aa4e8a785e38724d33bfdc8adb0e460dbf44ff7fbd8c8dd32b569074f1
|
||||
AUX nspr-4.21-ipv6-musl-support.patch 1645 BLAKE2B 0b383804d5e66037041b91dcb7ddd52dd4533384ca5671ed1d36a71740b130863dd2b531867edab804fbb8cfab112282e17d607d7e298eb249ead620f99a55be SHA512 f241e607491d1192272221023d5f3e84b3e88957e7b66ce4d9ba1bcf2ab6639facc08eeb838a0e6753456f41dde4ced4fe99f923e0889030d844c23c62fad4e2
|
||||
AUX nspr-4.23-prtime.patch 814 BLAKE2B 2106a841b34445310cef07e15cb77ae4c9465cca9a7dc68acd68408a66383c90bee1fafeaaa144e1b8344d1edae27407714f193a452ffc3d425212e3b2c40fc5 SHA512 9f51a03852f0b3d4352c14ee849ec8af9b3dbef68eaa2755cb5a630018f91e3a2a4fce5742078b8be51e76995218a0cfc7ef8b0c013e8c47f746a61185795eae
|
||||
AUX nspr-4.7.0-prtime.patch 859 BLAKE2B d7869ee8e46f34e53546c28e7f9032497744d31b82d0fb47edb8c2ff5787392423698353e1374ebb5f9ed11470dff5ca62995e8f44f310756799bc9eae55ada5 SHA512 d8421bc11de5ec5e116c7eba3f31fcdde27796a64948d16aa1fb1822a29a92d8810056719ca60bcb96b1734b0e84c95250075c18acbcb631786249af7d679492
|
||||
AUX nspr-4.7.1-solaris.patch 411 BLAKE2B 0c1f0e621aec9e150bd8c279f46c18256c451b2555b9f264f0da7432fb0e7d5d69e1bbbb7adc9a448d88ca269be41943f2ee60e1cc8e115542e300c1d7c61185 SHA512 11bd4ab3f98cbad2586f999370291d387fe7a817bab9feda9f5493f284410a73318e90072c0052a8216d9ae1cdc5b2a862a99315e09b72560d9bad6ebc16eb79
|
||||
AUX nspr-4.8.4-darwin-install_name.patch 1046 BLAKE2B 1182149b03bd2c03fc4051bf98c61cdd4245da21a51d5f9b10149e12f5326992d587f0fe04bab79c26acee4aa2e4dded5ddf8c697b5cd4f2e34ea730c6ca7fe0 SHA512 dd00bc2108d6c7a64945afeaf97f31189250c90c3d63c86fa2b2b091ef812cc7c5f8c0f17211a02b497f50efc1c3668c840e21a45f514ff1103e22c659e820f2
|
||||
AUX nspr-4.8.9-link-flags.patch 931 BLAKE2B 6aa6aa1cf3b856a95b7baa20f58e9ed83b8b29ccce37bab39e10e0e76c433ae5c79839b5f7f9bdaf8b2475c8e3692ff4a57c246dfa4e1fed6866ab284826ee0d SHA512 0bb61dc09d287f1324749c983404e1f03fdf7014fbbd32cc5abe452fc2f32b90b759d8f18d964a61da044b5a7221f5ba274d94c93c07c8a7359e3c937e44b975
|
||||
AUX nspr-4.9.5_nspr_config.patch 251 BLAKE2B 65ae8b981e758e2955b7a3358f24b7b17dc1ef59f0e78f9fd9ddee740a4da3825bafea34f3900200b3f6edefed7d0797c194cb0339d4e36551615d599156108d SHA512 3f118b7142a19dcc7e26b348cec6029c78d585a57cc2bfc2ab7ca13d2ef953e576dab0ac044316e3165d0201bf27253afa732109f914da6f7a39f19facff8310
|
||||
DIST nspr-4.22.tar.gz 1078701 BLAKE2B 8b37031ffebf79320c91ce674d7c3a0cfbef25bfb006cb9aaff44f090110b35ea2768f83dae4a793723f8e2f3aecabc1a4b8042cd1b0ab0aade30781e43f9d62 SHA512 d34271f0692905162f71b02cf6f62a8ebf779159335e4ed286ee8d51faaad633a61c9392bada86d976bca2b5aa47c8760085de30dbd13c9cfa423582c31db37b
|
||||
DIST nspr-4.24.tar.gz 1078825 BLAKE2B 3a773768c31334fa4f3f406d838d430dccfbcf5f7bd34dca422b199265f17fc08ef3d5d1e6df5468efeeeace8b5f8a38ece518e6bdbcdf811c2642d43be80c6c SHA512 b020031ed7a8997099c11e0772779c7b10d15b4f6b14e2b1832732943e8b8224afa952ce04a1914c1553af9d3973a6d9cacf08058ee6fff35102e3b2ec0943c1
|
||||
DIST nspr-4.25.tar.gz 1079633 BLAKE2B 377e5ec0e60cca13f1ee988adb10870bbb6cb9e4eb61e4434152418d4f8d446741a192d7019298ec2669b8e190cacb6a1ca9c4b2838e9b14dd3590ed40facdd2 SHA512 b9aa576e0da37e8729088fe559d94030cf18f277c1f7a30104d3088a804913343ed884645c0adb62144da475e20934b359f897bf3ae9a6ebb5f9daf283d5a562
|
||||
DIST nspr-4.26.tar.gz 1079778 BLAKE2B db83afa5e3ab2e0ef92aa236db6d9f25e963b77df7c71400e691dc3e882ec6d63cbf13996eb1ae1a03a294def419e1669e38fe42990c66efedce03f121087e6c SHA512 d6632cde3570ee386ee1459257eba99f91dd62fa905fd82679222c83d63c185b76d8dca0422d4349de2dfce603472ae52bc0dcced0f142acb733374c74155d3c
|
||||
EBUILD nspr-4.22.ebuild 3892 BLAKE2B 5633707738207a3a7b2dfcbb8798f2ad134f95f8a39e6f8619685e33b1acd5bcc3fa4784cceaf8225f7d5973caab467d79a4378c7399c8ec64bb08e6932d729c SHA512 0021005fde55f4c02782ad4f0ee5528e7df231e84e040503a1055fa42d4c09fb1db396108ae283a0096f4ddd34b24c16b4419c44fd9ed19d7a4878425a2337f4
|
||||
EBUILD nspr-4.24.ebuild 3758 BLAKE2B 456721c50f3e99ebf0b13408df92a3e41bfa270b1f521025f5d2929c3a0a33f2a4ad81d8dc59cb907ce28611c91a64e2a25bfabdc9e5d81c00f7fdc0622c4c9d SHA512 4f64f4628fe87661a0a01cc0bc189fd3b5f18796f2fb000511d038757751ee59044d8d04bd5bdedbffdc222d1bdb60548e84fd408c73aa45e7398a2c88fc6f18
|
||||
EBUILD nspr-4.25.ebuild 3758 BLAKE2B 456721c50f3e99ebf0b13408df92a3e41bfa270b1f521025f5d2929c3a0a33f2a4ad81d8dc59cb907ce28611c91a64e2a25bfabdc9e5d81c00f7fdc0622c4c9d SHA512 4f64f4628fe87661a0a01cc0bc189fd3b5f18796f2fb000511d038757751ee59044d8d04bd5bdedbffdc222d1bdb60548e84fd408c73aa45e7398a2c88fc6f18
|
||||
EBUILD nspr-4.26.ebuild 3930 BLAKE2B 93e41000e906be98a34555fa1970189139db9d4b0c23dafac29ec4e5db93965981d614e15886333665db3d255ef3545a48efe7819755e973497d22367681d292 SHA512 b6edf7eb6685ec60f549c4ca542146fc02673c59369d6c691dbfe98106e319b7c0bc2817629296a447bfce720467f64c290106356b5eb26348227169d0841919
|
||||
MISC metadata.xml 250 BLAKE2B 9e6643b2a0b90fc083246090047db38d3b9a3b71db8542051307b7e87394135d3337e1ea54b83a0c7474661a0fd07d950385b44cbed6ee95f6e6ad718bd0b062 SHA512 ba5e7c1f6ee117471a3804bc54211e7f89c75e965a865f45f85015a0a28ec7d511ef9bbc196eef8245dc9259f54b04eb3563d83811a293bb946cf0977563892b
|
32
dev-libs/nspr/files/nspr-4.10.6-solaris.patch
Normal file
32
dev-libs/nspr/files/nspr-4.10.6-solaris.patch
Normal file
@ -0,0 +1,32 @@
|
||||
* drop Solaris linker stuff
|
||||
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1988,26 +1988,14 @@
|
||||
CPU_ARCH=`uname -p`
|
||||
MDCPUCFG_H=_solaris.cfg
|
||||
PR_MD_CSRCS=solaris.c
|
||||
- LD=/usr/ccs/bin/ld
|
||||
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
RESOLVE_LINK_SYMBOLS=1
|
||||
- case "${OS_RELEASE}" in
|
||||
- 5.8|5.9)
|
||||
- ;;
|
||||
- *)
|
||||
- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
|
||||
- USE_B_DIRECT=1
|
||||
- ;;
|
||||
- esac
|
||||
if test -n "$GNU_CC"; then
|
||||
DSO_CFLAGS=-fPIC
|
||||
if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
|
||||
GCC_USE_GNU_LD=1
|
||||
fi
|
||||
- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
|
||||
- if test -n "$USE_B_DIRECT"; then
|
||||
- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
|
||||
- fi
|
||||
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
|
||||
else
|
||||
DSO_CFLAGS=-KPIC
|
||||
DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
|
53
dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
Normal file
53
dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From 8c57451f44d7ceb37bfb4ae6e457fc70b1f58d0a Mon Sep 17 00:00:00 2001
|
||||
From: Moritz Kick <gentoo@blackphoenix.de>
|
||||
Date: Wed, 20 Mar 2019 13:36:06 -0500
|
||||
Subject: [PATCH] Added IPv6 compatibility for musl libc
|
||||
|
||||
Signed-off-by: Moritz Kick <gentoo@blackphoenix.de>
|
||||
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
|
||||
---
|
||||
pr/include/md/_linux.h | 13 +------------
|
||||
1 file changed, 1 insertion(+), 12 deletions(-)
|
||||
|
||||
diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
|
||||
index 2370ab8..612184c 100644
|
||||
--- a/pr/include/md/_linux.h
|
||||
+++ b/pr/include/md/_linux.h
|
||||
@@ -289,33 +289,22 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
|
||||
#endif /* __arm__ */
|
||||
|
||||
#define USE_SETJMP
|
||||
-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID)
|
||||
#define _PR_POLL_AVAILABLE
|
||||
-#endif
|
||||
#undef _PR_USE_POLL
|
||||
#define _PR_STAT_HAS_ONLY_ST_ATIME
|
||||
#if defined(__alpha) || defined(__ia64__)
|
||||
#define _PR_HAVE_LARGE_OFF_T
|
||||
-#elif (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
|
||||
- || defined(ANDROID)
|
||||
-#define _PR_HAVE_OFF64_T
|
||||
#else
|
||||
-#define _PR_NO_LARGE_FILES
|
||||
+#define _PR_HAVE_OFF64_T
|
||||
#endif
|
||||
-#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
|
||||
- || defined(ANDROID)
|
||||
#define _PR_INET6
|
||||
#define _PR_HAVE_INET_NTOP
|
||||
#define _PR_HAVE_GETHOSTBYNAME2
|
||||
#define _PR_HAVE_GETADDRINFO
|
||||
#define _PR_INET6_PROBE
|
||||
-#endif
|
||||
#ifndef ANDROID
|
||||
#define _PR_HAVE_SYSV_SEMAPHORES
|
||||
#define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
|
||||
-#endif
|
||||
-/* Android has gethostbyname_r but not gethostbyaddr_r or gethostbyname2_r. */
|
||||
-#if (__GLIBC__ >= 2) && defined(_PR_PTHREADS)
|
||||
#define _PR_HAVE_GETHOST_R
|
||||
#define _PR_HAVE_GETHOST_R_INT
|
||||
#endif
|
||||
--
|
||||
2.21.0
|
||||
|
26
dev-libs/nspr/files/nspr-4.23-prtime.patch
Normal file
26
dev-libs/nspr/files/nspr-4.23-prtime.patch
Normal file
@ -0,0 +1,26 @@
|
||||
--- a/pr/src/misc/prtime.c
|
||||
+++ b/pr/src/misc/prtime.c
|
||||
@@ -1621,7 +1621,7 @@
|
||||
case TT_EET: zone_offset = 2 * 60; break;
|
||||
case TT_JST: zone_offset = 9 * 60; break;
|
||||
default:
|
||||
- PR_ASSERT (0);
|
||||
+ return PR_FAILURE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1677,11 +1677,12 @@
|
||||
struct tm localTime;
|
||||
time_t secs;
|
||||
|
||||
- PR_ASSERT(result->tm_month > -1 &&
|
||||
+ if (!(result->tm_month > -1 &&
|
||||
result->tm_mday > 0 &&
|
||||
result->tm_hour > -1 &&
|
||||
result->tm_min > -1 &&
|
||||
- result->tm_sec > -1);
|
||||
+ result->tm_sec > -1))
|
||||
+ return PR_FAILURE;
|
||||
|
||||
/*
|
||||
* To obtain time_t from a tm structure representing the local
|
26
dev-libs/nspr/files/nspr-4.7.0-prtime.patch
Normal file
26
dev-libs/nspr/files/nspr-4.7.0-prtime.patch
Normal file
@ -0,0 +1,26 @@
|
||||
--- a/pr/src/misc/prtime.c
|
||||
+++ b/pr/src/misc/prtime.c
|
||||
@@ -1536,7 +1536,7 @@
|
||||
case TT_EET: zone_offset = 2 * 60; break;
|
||||
case TT_JST: zone_offset = 9 * 60; break;
|
||||
default:
|
||||
- PR_ASSERT (0);
|
||||
+ return PR_FAILURE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1578,11 +1578,12 @@
|
||||
struct tm localTime;
|
||||
time_t secs;
|
||||
|
||||
- PR_ASSERT(result->tm_month > -1 &&
|
||||
+ if (!(result->tm_month > -1 &&
|
||||
result->tm_mday > 0 &&
|
||||
result->tm_hour > -1 &&
|
||||
result->tm_min > -1 &&
|
||||
- result->tm_sec > -1);
|
||||
+ result->tm_sec > -1))
|
||||
+ return PR_FAILURE;
|
||||
|
||||
/*
|
||||
* To obtain time_t from a tm structure representing the local
|
14
dev-libs/nspr/files/nspr-4.7.1-solaris.patch
Normal file
14
dev-libs/nspr/files/nspr-4.7.1-solaris.patch
Normal file
@ -0,0 +1,14 @@
|
||||
Same magic as haubi did for glib compilation, which works again here
|
||||
resolving a linker problem on Solaris with GNU ld. Bug #222625
|
||||
|
||||
--- a/pr/src/Makefile.in
|
||||
+++ b/pr/src/Makefile.in
|
||||
@@ -95,7 +95,7 @@
|
||||
endif
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
-OS_LIBS = -lpthread ${LIBRT} -lsocket -lnsl -ldl -lc
|
||||
+OS_LIBS = -pthread ${LIBRT} -lsocket -lnsl -ldl -lc
|
||||
else
|
||||
ifdef LOCAL_THREADS_ONLY
|
||||
OS_LIBS = -lsocket -lnsl -ldl -lc
|
25
dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
Normal file
25
dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
Normal file
@ -0,0 +1,25 @@
|
||||
Don't use @executable_path, it messed up linking against nspr from e.g.
|
||||
nss.
|
||||
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1007,7 +1007,7 @@
|
||||
;;
|
||||
esac
|
||||
DSO_CFLAGS=-fPIC
|
||||
- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
|
||||
+ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
|
||||
_OPTIMIZE_FLAGS=-O2
|
||||
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
STRIP="$STRIP -x -S"
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -1007,7 +1007,7 @@
|
||||
;;
|
||||
esac
|
||||
DSO_CFLAGS=-fPIC
|
||||
- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
|
||||
+ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
|
||||
_OPTIMIZE_FLAGS=-O2
|
||||
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
STRIP="$STRIP -x -S"
|
28
dev-libs/nspr/files/nspr-4.8.9-link-flags.patch
Normal file
28
dev-libs/nspr/files/nspr-4.8.9-link-flags.patch
Normal file
@ -0,0 +1,28 @@
|
||||
Use CFLAGS when linking. Some flags can add functionality to generated
|
||||
code that requires extra libs to be linked in (eg. libgomp when using
|
||||
autoparallelization). Other flags are required when building and linking
|
||||
(eg. -flto).
|
||||
|
||||
https://bugs.gentoo.org/365975
|
||||
|
||||
--- a/config/autoconf.mk.in
|
||||
+++ b/config/autoconf.mk.in
|
||||
@@ -81,6 +81,7 @@ OS_DLLFLAGS = @OS_DLLFLAGS@
|
||||
DLLFLAGS = @DLLFLAGS@
|
||||
EXEFLAGS = @EXEFLAGS@
|
||||
OPTIMIZER = @OPTIMIZER@
|
||||
+LD_CFLAGS = @CFLAGS@
|
||||
|
||||
PROFILE_GEN_CFLAGS = @PROFILE_GEN_CFLAGS@
|
||||
PROFILE_GEN_LDFLAGS = @PROFILE_GEN_LDFLAGS@
|
||||
--- a/config/config.mk
|
||||
+++ b/config/config.mk
|
||||
@@ -72,7 +72,7 @@ NOMD_CFLAGS = $(CC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
|
||||
NOMD_CCFLAGS = $(CCC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
|
||||
$(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
|
||||
-LDFLAGS = $(OS_LDFLAGS)
|
||||
+LDFLAGS = $(LD_CFLAGS) $(OS_LDFLAGS)
|
||||
|
||||
# Enable profile-guided optimization
|
||||
ifdef MOZ_PROFILE_GENERATE
|
11
dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch
Normal file
11
dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/config/nspr-config.in
|
||||
+++ b/config/nspr-config.in
|
||||
@@ -126,7 +126,7 @@
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
- libdirs=-L$libdir
|
||||
+ libdirs=""
|
||||
if test -n "$lib_plds"; then
|
||||
libdirs="$libdirs -lplds${major_version}"
|
||||
fi
|
8
dev-libs/nspr/metadata.xml
Normal file
8
dev-libs/nspr/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>mozilla@gentoo.org</email>
|
||||
<name>Gentoo Mozilla Team</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
120
dev-libs/nspr/nspr-4.22.ebuild
Normal file
120
dev-libs/nspr/nspr-4.22.ebuild
Normal file
@ -0,0 +1,120 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.7.0-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
122
dev-libs/nspr/nspr-4.24.ebuild
Normal file
122
dev-libs/nspr/nspr-4.24.ebuild
Normal file
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.23-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
else
|
||||
elog "configure.in rename logic can be removed from ebuild."
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
122
dev-libs/nspr/nspr-4.25.ebuild
Normal file
122
dev-libs/nspr/nspr-4.25.ebuild
Normal file
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.23-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
else
|
||||
elog "configure.in rename logic can be removed from ebuild."
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
122
dev-libs/nspr/nspr-4.26.ebuild
Normal file
122
dev-libs/nspr/nspr-4.26.ebuild
Normal file
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.23-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
else
|
||||
elog "configure.in rename logic can be removed from ebuild."
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
7
dev-libs/nss/Manifest
Normal file
7
dev-libs/nss/Manifest
Normal file
@ -0,0 +1,7 @@
|
||||
AUX nss-3.21-gentoo-fixup-warnings.patch 178 BLAKE2B b51f80310db3db416d8aeaf9117ef801389b5b2df47c04aff51bf0759dd5bff41b09d1e9011f99b345d5769a3aab19acb943ee97f8437465518115f6902a0da1 SHA512 7667a020311ca11e8f1836bc146e4a3c94ff2a489882dbe87debcccfeaafeb50e6607574c64254a826b4b6f0bb436b310a3386fff4a58324f0e5e58debaa9d51
|
||||
AUX nss-3.23-hppa-byte_order.patch 460 BLAKE2B 97358cc8fbea0b0d3beee0697833e48ef01039ceb08fd00792a7f7ef68409eb076022c03764ab079fdaa971a0358130002fa11c0c182ebeb33dcdf660be26408 SHA512 ad0097bb6cf409d61eb28202d7460c87e983d6db977aba38ff9ef2749b3f7bb8fdadce4174f5bf806350ae33733097a1f444792d31cc43574b28341893642e5a
|
||||
AUX nss-3.53-fix-building-on-ppc.patch 1206 BLAKE2B e6189802769197b290fd332ee2b7d074c0bacf47313998117734dafd1eb6a536db19bc8a329944d9fad51a6f9f90f81d98181272e0068bf852fea7ca928d2713 SHA512 859162070aa3c5e6e8be259f5e6648d37a5194a02958310f8caf56ff772dcaa4ebb26e4d754c99608fc7a45b641c5088cccd9e2c7d9c92c5ccc85c6b47320720
|
||||
AUX nss-3.53-gentoo-fixups.patch 6886 BLAKE2B 1c605d8db02ebe0492c41955207368197a79990e43e219a71962cb28ac0cecd9e0acc2b76e16f5b116fdb8bf8790d96046cb4f376df9b8634ac48e54924589f8 SHA512 51031f92519f57d4b57a547cf549f2d5da1c5a7212d4b304fb0d71d6a85a5aefd64724ec9075c14c9b49c1e99c3ffe91cbec501c3504985aa9b16eacf2aa15ed
|
||||
DIST nss-3.55.tar.gz 81759883 BLAKE2B 5b663d2b1861eb74cf070f2711b4db1afbfbc40b08e1f117e6b4a62e9f997de06889de3afc654cf6547c371ab2a1183904a1a014d1dc4b3e94f734107c81e1cf SHA512 acae7b803a3219cd4b78216cb8a6352805741e42eca6a42a5e6289ebbabc6189c7c6bc138cbd8a93d8631d06175c4d34e72957d49fe726adada6aaa2566e399e
|
||||
DIST nss-cacert-class1-class3.patch 22950 BLAKE2B 9d5e60df5f161a3c27c41e5a9419440a54f888eda454e3cde5ebe626d4075b65cf9938b5144d0fb022377f4bd415bff5e5c67d104409860aa9391b3eb8872c68 SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0
|
||||
EBUILD nss-3.55.ebuild 8992 BLAKE2B 45d0ef7e3ecac0a19c75b5193cf3f21aad28fce9ee03d30785cd133c0357e3b71e62800154ce22df775e168a0eb5f99601db55f90bc3271d2ea5a8faee2a580f SHA512 8bbcd696bfd436eb76d4eee53db228c2d8c1351217ae9e171fd1e9a38e7c4903ff303c6931be733f3e2153e474f65668567bf720d6840f7325145b179d99b14f
|
10
dev-libs/nss/files/nss-3.21-gentoo-fixup-warnings.patch
Normal file
10
dev-libs/nss/files/nss-3.21-gentoo-fixup-warnings.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- nss/coreconf/Linux.mk
|
||||
+++ nss/coreconf/Linux.mk
|
||||
@@ -130,6 +130,7 @@
|
||||
OPTIMIZER += -gdwarf-2
|
||||
endif
|
||||
endif
|
||||
+OPTIMIZER += -fno-strict-aliasing
|
||||
endif
|
||||
|
||||
ifndef COMPILER_TAG
|
16
dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
Normal file
16
dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- nss/lib/dbm/include/mcom_db.h
|
||||
+++ nss/lib/dbm/include/mcom_db.h
|
||||
@@ -110,11 +110,13 @@
|
||||
#endif /* !BYTE_ORDER */
|
||||
#endif /* __sun */
|
||||
|
||||
+#ifndef BYTE_ORDER
|
||||
#if defined(__hpux) || defined(__hppa)
|
||||
#define BYTE_ORDER BIG_ENDIAN
|
||||
#define BIG_ENDIAN 4321
|
||||
#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax, all NT risc */
|
||||
#endif
|
||||
+#endif /* !BYTE_ORDER */
|
||||
|
||||
#if defined(AIXV3) || defined(AIX)
|
||||
/* BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN are all defined here */
|
39
dev-libs/nss/files/nss-3.53-fix-building-on-ppc.patch
Normal file
39
dev-libs/nss/files/nss-3.53-fix-building-on-ppc.patch
Normal file
@ -0,0 +1,39 @@
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1642174
|
||||
|
||||
From a7a862bab5e4aae4615ddae3cbe230345f92ed0d Mon Sep 17 00:00:00 2001
|
||||
From: Lauri Kasanen <cand@gmx.com>
|
||||
Date: Mon, 1 Jun 2020 12:11:45 +0300
|
||||
Subject: [PATCH v3] Bug 1642174 /usr/bin/ld: OBJS/Linux_SINGLE_SHLIB/sha512-p8.o:
|
||||
ABI version 2 is not compatible with ABI version 1 output
|
||||
|
||||
Don't try to build the SHA-2 accelerated asm on old-ABI ppc.
|
||||
|
||||
Currently make only, I don't have enough gyp-fu to do that side.
|
||||
However, the reporters of 1642174 and 1635625 both used make, not gyp.
|
||||
|
||||
Signed-off-by: Lauri Kasanen <cand@gmx.com>
|
||||
---
|
||||
lib/freebl/Makefile | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/freebl/Makefile b/lib/freebl/Makefile
|
||||
index 5f7384429..e0461c7d3 100644
|
||||
--- a/lib/freebl/Makefile
|
||||
+++ b/lib/freebl/Makefile
|
||||
@@ -267,9 +267,12 @@ ifeq ($(CPU_ARCH),arm)
|
||||
endif
|
||||
ifeq ($(CPU_ARCH),ppc)
|
||||
EXTRA_SRCS += gcm-ppc.c
|
||||
- ASFILES += sha512-p8.s
|
||||
ifdef USE_64
|
||||
DEFINES += -DNSS_NO_INIT_SUPPORT
|
||||
+ PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | awk '$$2 == "_CALL_ELF" {print $$3}')
|
||||
+ ifeq ($(PPC_ABI),2)
|
||||
+ ASFILES += sha512-p8.s
|
||||
+ endif
|
||||
endif # USE_64
|
||||
endif # ppc
|
||||
endif # Linux
|
||||
--
|
||||
2.19.1
|
||||
|
290
dev-libs/nss/files/nss-3.53-gentoo-fixups.patch
Normal file
290
dev-libs/nss/files/nss-3.53-gentoo-fixups.patch
Normal file
@ -0,0 +1,290 @@
|
||||
From 1b3c48499abb000d708abe5f05413c1f4155e086 Mon Sep 17 00:00:00 2001
|
||||
From: Jory Pratt <anarchy@gentoo.org>
|
||||
Date: Mon, 8 Jun 2020 12:22:29 -0500
|
||||
Subject: [PATCH] Add pkg-config and nss-config for Gentoo
|
||||
|
||||
---
|
||||
Makefile | 15 +----
|
||||
config/Makefile | 40 ++++++++++++
|
||||
config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++
|
||||
config/nss.pc.in | 12 ++++
|
||||
manifest.mn | 2 +-
|
||||
5 files changed, 200 insertions(+), 14 deletions(-)
|
||||
create mode 100644 config/Makefile
|
||||
create mode 100644 config/nss-config.in
|
||||
create mode 100644 config/nss.pc.in
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index eb4ed1a..f979d90 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -4,6 +4,8 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
+default: nss_build_all
|
||||
+
|
||||
#######################################################################
|
||||
# (1) Include initial platform-independent assignments (MANDATORY). #
|
||||
#######################################################################
|
||||
@@ -48,12 +50,9 @@ include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
#######################################################################
|
||||
|
||||
nss_build_all:
|
||||
- $(MAKE) build_nspr
|
||||
$(MAKE) all
|
||||
- $(MAKE) latest
|
||||
|
||||
nss_clean_all:
|
||||
- $(MAKE) clobber_nspr
|
||||
$(MAKE) clobber
|
||||
|
||||
NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status
|
||||
@@ -138,16 +137,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
|
||||
--prefix='$(NSS_GYP_PREFIX)'
|
||||
endif
|
||||
|
||||
-build_nspr: $(NSPR_CONFIG_STATUS)
|
||||
- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
|
||||
- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/pr/tests
|
||||
-
|
||||
-install_nspr: build_nspr
|
||||
- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
|
||||
-
|
||||
-clobber_nspr: $(NSPR_CONFIG_STATUS)
|
||||
- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
|
||||
-
|
||||
build_docs:
|
||||
$(MAKE) -C $(CORE_DEPTH)/doc
|
||||
|
||||
diff --git a/config/Makefile b/config/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..aaf1991
|
||||
--- /dev/null
|
||||
+++ b/config/Makefile
|
||||
@@ -0,0 +1,40 @@
|
||||
+CORE_DEPTH = ..
|
||||
+DEPTH = ..
|
||||
+
|
||||
+include $(CORE_DEPTH)/coreconf/config.mk
|
||||
+
|
||||
+NSS_MAJOR_VERSION = $(shell grep -F "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}')
|
||||
+NSS_MINOR_VERSION = $(shell grep -F "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}')
|
||||
+NSS_PATCH_VERSION = $(shell grep -F "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}')
|
||||
+PREFIX = /usr
|
||||
+
|
||||
+all: export libs
|
||||
+
|
||||
+export:
|
||||
+ # Create the nss.pc file
|
||||
+ mkdir -p $(DIST)/lib/pkgconfig
|
||||
+ sed -e "s,@prefix@,$(PREFIX)," \
|
||||
+ -e "s,@exec_prefix@,\$${prefix}," \
|
||||
+ -e "s,@libdir@,\$${prefix}/lib64," \
|
||||
+ -e "s,@includedir@,\$${prefix}/include/nss," \
|
||||
+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
|
||||
+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
|
||||
+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
|
||||
+ nss.pc.in > nss.pc
|
||||
+ chmod 0644 nss.pc
|
||||
+ ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
|
||||
+
|
||||
+ # Create the nss-config script
|
||||
+ mkdir -p $(DIST)/bin
|
||||
+ sed -e "s,@prefix@,$(PREFIX)," \
|
||||
+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
|
||||
+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
|
||||
+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
|
||||
+ nss-config.in > nss-config
|
||||
+ chmod 0755 nss-config
|
||||
+ ln -sf ../../../config/nss-config $(DIST)/bin
|
||||
+
|
||||
+libs:
|
||||
+
|
||||
+dummy: all export libs
|
||||
+
|
||||
diff --git a/config/nss-config.in b/config/nss-config.in
|
||||
new file mode 100644
|
||||
index 0000000..3a957b8
|
||||
--- /dev/null
|
||||
+++ b/config/nss-config.in
|
||||
@@ -0,0 +1,145 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+prefix=@prefix@
|
||||
+
|
||||
+major_version=@NSS_MAJOR_VERSION@
|
||||
+minor_version=@NSS_MINOR_VERSION@
|
||||
+patch_version=@NSS_PATCH_VERSION@
|
||||
+
|
||||
+usage()
|
||||
+{
|
||||
+ cat <<EOF
|
||||
+Usage: nss-config [OPTIONS] [LIBRARIES]
|
||||
+Options:
|
||||
+ [--prefix[=DIR]]
|
||||
+ [--exec-prefix[=DIR]]
|
||||
+ [--includedir[=DIR]]
|
||||
+ [--libdir[=DIR]]
|
||||
+ [--version]
|
||||
+ [--libs]
|
||||
+ [--cflags]
|
||||
+Dynamic Libraries:
|
||||
+ nss
|
||||
+ ssl
|
||||
+ smime
|
||||
+ nssutil
|
||||
+EOF
|
||||
+ exit $1
|
||||
+}
|
||||
+
|
||||
+if test $# -eq 0; then
|
||||
+ usage 1 1>&2
|
||||
+fi
|
||||
+
|
||||
+lib_ssl=yes
|
||||
+lib_smime=yes
|
||||
+lib_nss=yes
|
||||
+lib_nssutil=yes
|
||||
+
|
||||
+while test $# -gt 0; do
|
||||
+ case "$1" in
|
||||
+ -*=*) optarg=$(echo "$1" | sed 's/[-_a-zA-Z0-9]*=//') ;;
|
||||
+ *) optarg= ;;
|
||||
+ esac
|
||||
+
|
||||
+ case $1 in
|
||||
+ --prefix=*)
|
||||
+ prefix=${optarg}
|
||||
+ ;;
|
||||
+ --prefix)
|
||||
+ echo_prefix=yes
|
||||
+ ;;
|
||||
+ --exec-prefix=*)
|
||||
+ exec_prefix=${optarg}
|
||||
+ ;;
|
||||
+ --exec-prefix)
|
||||
+ echo_exec_prefix=yes
|
||||
+ ;;
|
||||
+ --includedir=*)
|
||||
+ includedir=${optarg}
|
||||
+ ;;
|
||||
+ --includedir)
|
||||
+ echo_includedir=yes
|
||||
+ ;;
|
||||
+ --libdir=*)
|
||||
+ libdir=${optarg}
|
||||
+ ;;
|
||||
+ --libdir)
|
||||
+ echo_libdir=yes
|
||||
+ ;;
|
||||
+ --version)
|
||||
+ echo ${major_version}.${minor_version}.${patch_version}
|
||||
+ ;;
|
||||
+ --cflags)
|
||||
+ echo_cflags=yes
|
||||
+ ;;
|
||||
+ --libs)
|
||||
+ echo_libs=yes
|
||||
+ ;;
|
||||
+ ssl)
|
||||
+ lib_ssl=yes
|
||||
+ ;;
|
||||
+ smime)
|
||||
+ lib_smime=yes
|
||||
+ ;;
|
||||
+ nss)
|
||||
+ lib_nss=yes
|
||||
+ ;;
|
||||
+ nssutil)
|
||||
+ lib_nssutil=yes
|
||||
+ ;;
|
||||
+ *)
|
||||
+ usage 1 1>&2
|
||||
+ ;;
|
||||
+ esac
|
||||
+ shift
|
||||
+done
|
||||
+
|
||||
+# Set variables that may be dependent upon other variables
|
||||
+if test -z "${exec_prefix}"; then
|
||||
+ exec_prefix=$(pkg-config --variable=exec_prefix nss)
|
||||
+fi
|
||||
+if test -z "${includedir}"; then
|
||||
+ includedir=$(pkg-config --variable=includedir nss)
|
||||
+fi
|
||||
+if test -z "${libdir}"; then
|
||||
+ libdir=$(pkg-config --variable=libdir nss)
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_prefix}" = "yes"; then
|
||||
+ echo ${prefix}
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_exec_prefix}" = "yes"; then
|
||||
+ echo ${exec_prefix}
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_includedir}" = "yes"; then
|
||||
+ echo ${includedir}
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_libdir}" = "yes"; then
|
||||
+ echo ${libdir}
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_cflags}" = "yes"; then
|
||||
+ echo -I${includedir}
|
||||
+fi
|
||||
+
|
||||
+if test "${echo_libs}" = "yes"; then
|
||||
+ libdirs=""
|
||||
+ if test -n "${lib_ssl}"; then
|
||||
+ libdirs="${libdirs} -lssl${major_version}"
|
||||
+ fi
|
||||
+ if test -n "${lib_smime}"; then
|
||||
+ libdirs="${libdirs} -lsmime${major_version}"
|
||||
+ fi
|
||||
+ if test -n "${lib_nss}"; then
|
||||
+ libdirs="${libdirs} -lnss${major_version}"
|
||||
+ fi
|
||||
+ if test -n "${lib_nssutil}"; then
|
||||
+ libdirs="${libdirs} -lnssutil${major_version}"
|
||||
+ fi
|
||||
+ echo ${libdirs}
|
||||
+fi
|
||||
+
|
||||
diff --git a/config/nss.pc.in b/config/nss.pc.in
|
||||
new file mode 100644
|
||||
index 0000000..03f1e39
|
||||
--- /dev/null
|
||||
+++ b/config/nss.pc.in
|
||||
@@ -0,0 +1,12 @@
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+
|
||||
+Name: NSS
|
||||
+Description: Network Security Services
|
||||
+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
|
||||
+Requires: nspr >= 4.25
|
||||
+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
|
||||
+Cflags: -I${includedir}
|
||||
+
|
||||
diff --git a/manifest.mn b/manifest.mn
|
||||
index dada8ab..72dc9b3 100644
|
||||
--- a/manifest.mn
|
||||
+++ b/manifest.mn
|
||||
@@ -10,7 +10,7 @@ IMPORTS = nspr20/v4.8 \
|
||||
|
||||
RELEASE = nss
|
||||
|
||||
-DIRS = coreconf lib cmd cpputil gtests
|
||||
+DIRS = coreconf lib cmd cpputil config
|
||||
|
||||
lib: coreconf
|
||||
cmd: lib
|
||||
--
|
||||
2.26.2
|
||||
|
351
dev-libs/nss/nss-3.55.ebuild
Normal file
351
dev-libs/nss/nss-3.55.ebuild
Normal file
@ -0,0 +1,351 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
|
||||
|
||||
NSPR_VER="4.26"
|
||||
RTM_NAME="NSS_${PV//./_}_RTM"
|
||||
|
||||
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
|
||||
cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="cacert utils"
|
||||
# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
|
||||
RDEPEND="
|
||||
>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
|
||||
>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
S="${WORKDIR}/${P}/${PN}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nss-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
# Custom changes for gentoo
|
||||
"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
|
||||
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
|
||||
"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
|
||||
"${FILESDIR}/${PN}-3.53-fix-building-on-ppc.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if use cacert ; then #521462
|
||||
PATCHES+=(
|
||||
"${DISTDIR}/${PN}-cacert-class1-class3.patch"
|
||||
)
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
pushd coreconf >/dev/null || die
|
||||
# hack nspr paths
|
||||
echo 'INCLUDES += -I$(DIST)/include/dbm' \
|
||||
>> headers.mk || die "failed to append include"
|
||||
|
||||
# modify install path
|
||||
sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
|
||||
-i source.mk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
|
||||
popd >/dev/null || die
|
||||
|
||||
# Fix pkgconfig file for Prefix
|
||||
sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
|
||||
config/Makefile || die
|
||||
|
||||
# use host shlibsign if need be #436216
|
||||
if tc-is-cross-compiler ; then
|
||||
sed -i \
|
||||
-e 's:"${2}"/shlibsign:shlibsign:' \
|
||||
cmd/shlibsign/sign.sh || die
|
||||
fi
|
||||
|
||||
# dirty hack
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
|
||||
lib/ssl/config.mk || die
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
|
||||
cmd/platlibs.mk || die
|
||||
|
||||
multilib_copy_sources
|
||||
|
||||
strip-flags
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Ensure we stay multilib aware
|
||||
sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
|
||||
}
|
||||
|
||||
nssarch() {
|
||||
# Most of the arches are the same as $ARCH
|
||||
local t=${1:-${CHOST}}
|
||||
case ${t} in
|
||||
aarch64*)echo "aarch64";;
|
||||
hppa*) echo "parisc";;
|
||||
i?86*) echo "i686";;
|
||||
x86_64*) echo "x86_64";;
|
||||
*) tc-arch ${t};;
|
||||
esac
|
||||
}
|
||||
|
||||
nssbits() {
|
||||
local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
|
||||
if [[ ${1} == BUILD_ ]]; then
|
||||
cc=$(tc-getBUILD_CC)
|
||||
else
|
||||
cc=$(tc-getCC)
|
||||
fi
|
||||
echo > "${T}"/test.c || die
|
||||
${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
|
||||
case $(file "${T}/${1}test.o") in
|
||||
*32-bit*x86-64*) echo USE_X32=1;;
|
||||
*64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# use ABI to determine bit'ness, or fallback if unset
|
||||
local buildbits mybits
|
||||
case "${ABI}" in
|
||||
n32) mybits="USE_N32=1";;
|
||||
x32) mybits="USE_X32=1";;
|
||||
s390x|*64) mybits="USE_64=1";;
|
||||
${DEFAULT_ABI})
|
||||
einfo "Running compilation test to determine bit'ness"
|
||||
mybits=$(nssbits)
|
||||
;;
|
||||
esac
|
||||
# bitness of host may differ from target
|
||||
if tc-is-cross-compiler; then
|
||||
buildbits=$(nssbits BUILD_)
|
||||
fi
|
||||
|
||||
local makeargs=(
|
||||
CC="$(tc-getCC)"
|
||||
CCC="$(tc-getCXX)"
|
||||
AR="$(tc-getAR) rc \$@"
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
OPTIMIZER=
|
||||
${mybits}
|
||||
)
|
||||
|
||||
# Take care of nspr settings #436216
|
||||
local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
|
||||
unset NSPR_INCLUDE_DIR
|
||||
|
||||
export NSS_ALLOW_SSLKEYLOGFILE=1
|
||||
export NSS_ENABLE_WERROR=0 #567158
|
||||
export BUILD_OPT=1
|
||||
export NSS_USE_SYSTEM_SQLITE=1
|
||||
export NSDISTMODE=copy
|
||||
export FREEBL_NO_DEPEND=1
|
||||
export FREEBL_LOWHASH=1
|
||||
export NSS_SEED_ONLY_DEV_URANDOM=1
|
||||
export USE_SYSTEM_ZLIB=1
|
||||
export ZLIB_LIBS=-lz
|
||||
export ASFLAGS=""
|
||||
|
||||
local d
|
||||
|
||||
# Build the host tools first.
|
||||
LDFLAGS="${BUILD_LDFLAGS}" \
|
||||
XCFLAGS="${BUILD_CFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 -C coreconf \
|
||||
CC="$(tc-getBUILD_CC)" \
|
||||
${buildbits-${mybits}}
|
||||
makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
|
||||
|
||||
# Then build the target tools.
|
||||
for d in . lib/dbm ; do
|
||||
CPPFLAGS="${myCPPFLAGS}" \
|
||||
XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
|
||||
done
|
||||
}
|
||||
|
||||
# Altering these 3 libraries breaks the CHK verification.
|
||||
# All of the following cause it to break:
|
||||
# - stripping
|
||||
# - prelink
|
||||
# - ELF signing
|
||||
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
|
||||
# Either we have to NOT strip them, or we have to forcibly resign after
|
||||
# stripping.
|
||||
#local_libdir="$(get_libdir)"
|
||||
#export STRIP_MASK="
|
||||
# */${local_libdir}/libfreebl3.so*
|
||||
# */${local_libdir}/libnssdbm3.so*
|
||||
# */${local_libdir}/libsoftokn3.so*"
|
||||
|
||||
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
|
||||
|
||||
generate_chk() {
|
||||
local shlibsign="$1"
|
||||
local libdir="$2"
|
||||
einfo "Resigning core NSS libraries for FIPS validation"
|
||||
shift 2
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libname=lib${i}.so
|
||||
local chkname=lib${i}.chk
|
||||
"${shlibsign}" \
|
||||
-i "${libdir}"/${libname} \
|
||||
-o "${libdir}"/${chkname}.tmp \
|
||||
&& mv -f \
|
||||
"${libdir}"/${chkname}.tmp \
|
||||
"${libdir}"/${chkname} \
|
||||
|| die "Failed to sign ${libname}"
|
||||
done
|
||||
}
|
||||
|
||||
cleanup_chk() {
|
||||
local libdir="$1"
|
||||
shift 1
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libfname="${libdir}/lib${i}.so"
|
||||
# If the major version has changed, then we have old chk files.
|
||||
[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
|
||||
&& rm -f "${libfname}.chk"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
pushd dist >/dev/null || die
|
||||
|
||||
dodir /usr/$(get_libdir)
|
||||
cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
|
||||
local i
|
||||
for i in crmf freebl nssb nssckfw ; do
|
||||
cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
|
||||
done
|
||||
|
||||
# Install nss-config and pkgconfig file
|
||||
dodir /usr/bin
|
||||
cp -L */bin/nss-config "${ED}"/usr/bin || die
|
||||
dodir /usr/$(get_libdir)/pkgconfig
|
||||
cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
|
||||
|
||||
# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
|
||||
# bug 517266
|
||||
sed -e 's#Libs:#Libs: -lfreebl#' \
|
||||
-e 's#Cflags:#Cflags: -I${includedir}/private#' \
|
||||
*/lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
|
||||
|| die "could not create nss-softokn.pc"
|
||||
|
||||
# all the include files
|
||||
insinto /usr/include/nss
|
||||
doins public/nss/*.{h,api}
|
||||
insinto /usr/include/nss/private
|
||||
doins private/nss/{blapi,alghmac,cmac}.h
|
||||
|
||||
popd >/dev/null || die
|
||||
|
||||
local f nssutils
|
||||
# Always enabled because we need it for chk generation.
|
||||
nssutils=( shlibsign )
|
||||
|
||||
if multilib_is_native_abi ; then
|
||||
if use utils; then
|
||||
# The tests we do not need to install.
|
||||
#nssutils_test="bltest crmftest dbtest dertimetest
|
||||
#fipstest remtest sdrtest"
|
||||
# checkcert utils has been removed in nss-3.22:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
|
||||
# https://hg.mozilla.org/projects/nss/rev/df1729d37870
|
||||
# certcgi has been removed in nss-3.36:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
|
||||
nssutils+=(
|
||||
addbuiltin
|
||||
atob
|
||||
baddbdir
|
||||
btoa
|
||||
certutil
|
||||
cmsutil
|
||||
conflict
|
||||
crlutil
|
||||
derdump
|
||||
digest
|
||||
makepqg
|
||||
mangle
|
||||
modutil
|
||||
multinit
|
||||
nonspr10
|
||||
ocspclnt
|
||||
oidcalc
|
||||
p7content
|
||||
p7env
|
||||
p7sign
|
||||
p7verify
|
||||
pk11mode
|
||||
pk12util
|
||||
pp
|
||||
rsaperf
|
||||
selfserv
|
||||
signtool
|
||||
signver
|
||||
ssltap
|
||||
strsclnt
|
||||
symkeyutil
|
||||
tstclnt
|
||||
vfychain
|
||||
vfyserv
|
||||
)
|
||||
# install man-pages for utils (bug #516810)
|
||||
doman doc/nroff/*.1
|
||||
fi
|
||||
pushd dist/*/bin >/dev/null || die
|
||||
for f in ${nssutils[@]}; do
|
||||
dobin ${f}
|
||||
done
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# Prelink breaks the CHK files. We don't have any reliable way to run
|
||||
# shlibsign after prelink.
|
||||
dodir /etc/prelink.conf.d
|
||||
printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
|
||||
> "${ED}"/etc/prelink.conf.d/nss.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
multilib_pkg_postinst() {
|
||||
# We must re-sign the libraries AFTER they are stripped.
|
||||
local shlibsign="${EROOT}/usr/bin/shlibsign"
|
||||
# See if we can execute it (cross-compiling & such). #436216
|
||||
"${shlibsign}" -h >&/dev/null
|
||||
if [[ $? -gt 1 ]] ; then
|
||||
shlibsign="shlibsign"
|
||||
fi
|
||||
generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
multilib_pkg_postrm() {
|
||||
cleanup_chk "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
}
|
1
dev-libs/wayland/Manifest
Normal file
1
dev-libs/wayland/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST wayland-1.17.0.tar.xz 437680 BLAKE2B 2f4eb54c5ded90453b4e2812f7b5086aa211196ec9f7333d316cdb829269d55db570ccb45a67ee07a039633245e630ab54da6403ff4754d59366f3c13fb87549 SHA512 c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946
|
8
dev-libs/wayland/metadata.xml
Normal file
8
dev-libs/wayland/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>x11@gentoo.org</email>
|
||||
<name>X11</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
62
dev-libs/wayland/wayland-1.17.0.ebuild
Normal file
62
dev-libs/wayland/wayland-1.17.0.ebuild
Normal file
@ -0,0 +1,62 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
|
||||
|
||||
inherit autotools libtool toolchain-funcs out-of-source
|
||||
|
||||
DESCRIPTION="Wayland protocol libraries"
|
||||
HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="doc static-libs"
|
||||
KEYWORDS="*"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
>=app-doc/doxygen-1.6[dot]
|
||||
app-text/xmlto
|
||||
>=media-gfx/graphviz-2.26.0
|
||||
sys-apps/grep[pcre]
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
>=dev-libs/expat-2.1.0-r3:=
|
||||
dev-libs/libxml2:=
|
||||
>=virtual/libffi-3.0.13-r1:=
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
!<media-libs/mesa-18.1.1-r1
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
[[ $PV = 9999* ]] && eautoreconf || elibtoolize
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
local myeconfargs=(
|
||||
--disable-static
|
||||
$(use_enable doc documentation)
|
||||
$(use_enable doc dtd-validation)
|
||||
)
|
||||
tc-is-cross-compiler && myeconfargs+=( --with-host-scanner )
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
my_src_install_all() {
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# We set it on purpose to only a short subdir name, as socket paths are
|
||||
# created in there, which are 108 byte limited. With this it hopefully
|
||||
# barely fits to the limit with /var/tmp/portage/$CAT/$PF/temp/xdr
|
||||
export XDG_RUNTIME_DIR="${T}"/xdr
|
||||
mkdir "${XDG_RUNTIME_DIR}" || die
|
||||
chmod 0700 "${XDG_RUNTIME_DIR}" || die
|
||||
}
|
73
dev-libs/wayland/wayland-9999.ebuild
Normal file
73
dev-libs/wayland/wayland-9999.ebuild
Normal file
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGIT_REPO_URI="https://anongit.freedesktop.org/git/wayland/wayland.git"
|
||||
|
||||
if [[ ${PV} = 9999* ]]; then
|
||||
GIT_ECLASS="git-r3"
|
||||
fi
|
||||
|
||||
inherit autotools libtool ltprune multilib-minimal toolchain-funcs $GIT_ECLASS
|
||||
|
||||
DESCRIPTION="Wayland protocol libraries"
|
||||
HOMEPAGE="https://wayland.freedesktop.org/"
|
||||
|
||||
if [[ $PV = 9999* ]]; then
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
|
||||
>=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxml2:=
|
||||
!!<media-libs/mesa-18.1.1-r1"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? (
|
||||
>=app-doc/doxygen-1.6[dot]
|
||||
app-text/xmlto
|
||||
>=media-gfx/graphviz-2.26.0
|
||||
sys-apps/grep[pcre]
|
||||
)
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
[[ $PV = 9999* ]] && eautoreconf || elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf
|
||||
if tc-is-cross-compiler ; then
|
||||
myconf+=' --with-host-scanner '
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--disable-static \
|
||||
$(multilib_native_use_enable doc documentation) \
|
||||
$(multilib_native_enable dtd-validation) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
prune_libtool_files
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# We set it on purpose to only a short subdir name, as socket paths are
|
||||
# created in there, which are 108 byte limited. With this it hopefully
|
||||
# barely fits to the limit with /var/tmp/portage/$CAT/$PF/temp/xdr
|
||||
export XDG_RUNTIME_DIR="${T}"/xdr
|
||||
mkdir "${XDG_RUNTIME_DIR}" || die
|
||||
chmod 0700 "${XDG_RUNTIME_DIR}" || die
|
||||
|
||||
multilib-minimal_src_test
|
||||
}
|
3
dev-python/isort/Manifest
Normal file
3
dev-python/isort/Manifest
Normal file
@ -0,0 +1,3 @@
|
||||
AUX 0001-no-setup.patch 337 BLAKE2B ab8c5e068ad379165571c150ec64cc774c536558f384b579ab0c605512a6def2f4f8a5623079485b69dc3e6567c391c545d351d5a6740e5a0abf58733e2ead45 SHA512 71986adb4307bb7615c80a10875e286e699dafc12526b2864695f44a6f4773617ba23f1f35e99c57cc31f6ea21fd16057093e7fd828028234f1feb183e18462a
|
||||
DIST isort-5.5.2.tar.gz 145020 BLAKE2B 718c3e748333e17a29b19a46779c40b21a674efb3b3358851973f383719a64fda44ab352bd005e368e0bec3d5c20472c27dba8f0e62ef53c7fd80785a4cc0228 SHA512 687e523073b671f7144027ce05b388566809673ffa36bc5890a51eb38f3a85c40d9861e6d2ee70e70710725579fe63a28ca45c0a8bc902761ad02bfe4656e5d2
|
||||
EBUILD isort-5.5.2.ebuild 511 BLAKE2B e6e5fb31d5829a81cff2f3d9015357e172bf838db184d0f1d105ac90cd12c7dd16789e4e6f5ac258903e68a0e45d69835af8278a73c807b30782fb0cce6da67f SHA512 5721ce2d38b6d4edb08d427998b4f272c386d8adddc6e7cafdc1955211716cf9411d4f3426c3afb3c9f3097992c4d99a5695f27d5ab27507a6d8ffcdad6b2aca
|
15
dev-python/isort/files/0001-no-setup.patch
Normal file
15
dev-python/isort/files/0001-no-setup.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/setup.py 2020-09-15 10:50:44.048973353 +0200
|
||||
+++ b/setup.py 2020-09-15 10:50:50.498973117 +0200
|
||||
@@ -6,11 +6,7 @@
|
||||
'isort._future',
|
||||
'isort._vendored.toml',
|
||||
'isort.deprecated',
|
||||
- 'isort.stdlibs',
|
||||
- 'tests',
|
||||
- 'tests.integration',
|
||||
- 'tests.unit',
|
||||
- 'tests.unit.profiles']
|
||||
+ 'isort.stdlibs']
|
||||
|
||||
package_data = \
|
||||
{'': ['*']}
|
24
dev-python/isort/isort-5.5.2.ebuild
Normal file
24
dev-python/isort/isort-5.5.2.ebuild
Normal file
@ -0,0 +1,24 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3+ pypy3 )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A python utility/library to sort imports"
|
||||
HOMEPAGE="https://pypi.org/project/isort/"
|
||||
SRC_URI="https://files.pythonhosted.org/packages/49/af/6dc35623937fe93a6bccfd95a7b6fc295b34aca75c0d676a765ddb026dc1/isort-5.5.2.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
|
||||
BDEPEND="dev-python/setuptools"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0001-no-setup.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
}
|
1
dev-util/cargo/Manifest
Normal file
1
dev-util/cargo/Manifest
Normal file
@ -0,0 +1 @@
|
||||
EBUILD cargo-1.44.1.ebuild 203 BLAKE2B 519296c1f49182c41d92fdbfbe86bdbdca04ab9c84e01fbb709150c3d2dd000a4372eb2cc005f9a9914432f47e354f25421ce0041977d7e8a07c50aec725638e SHA512 c1ae8e4d284daea75640d3bb7c98dd3ebacd9e3a8e0876d77961a23465d9c30664608bc40bddd2f45d490be37a252b6ae526beeb415a1aceaa3ed05e852f7c7c
|
13
dev-util/cargo/cargo-1.44.1.ebuild
Normal file
13
dev-util/cargo/cargo-1.44.1.ebuild
Normal file
@ -0,0 +1,13 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Package manager for Rust"
|
||||
HOMEPAGE=""
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
|
||||
RDEPEND="=virtual/rust-${PV}"
|
41
dev-util/cbindgen/Manifest
Normal file
41
dev-util/cbindgen/Manifest
Normal file
@ -0,0 +1,41 @@
|
||||
DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
|
||||
DIST atty-0.2.13.crate 4764 BLAKE2B 673eea1d377fc3aca792a3a8bd2a5c058f3041abc76a8760dd6acab7f19fa610f812c57d81a4dbf773675cad3df483904c66e66b45d83393402f747c6db60d89 SHA512 4554ca7dedb4c2e8693e5847ef1fe66161ed4cb2c19156bb03f41ce7e7ea21838369dabaf447a60d1468de8bfbb7087438c12934c4569dde63df074f168569ad
|
||||
DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
|
||||
DIST c2-chacha-0.2.3.crate 13336 BLAKE2B 0b548907ce4c9ee502ec96307ca003d168e8bcf9007ec667661d158f33de36fc2e832cb3c36cadc2523f6ba8b9aeff4dcb16e7f95a9a34ae02e8bd5d00f65cf2 SHA512 302498f75d1befdb8bf8b61d0eff2762f0e86000c3909d819a377be2fec72e830bfb4530e24059906b499cef17ab56229f5627fb998ad9ba34a7c6c0de748538
|
||||
DIST cbindgen-0.14.3.crate 165874 BLAKE2B 0155bccbacc70a2f8173117dde46c3bb48e07d0a0616b53ea56cade436cb6da1aa7106a82bf4ac55954cafbea1790f9200bdd3132032d3306ec755be0bb2f05c SHA512 abce798aff93260c28b0717df5fd25cf24b3eb89c9d05df4832d06169ec30db8e1c17a300f88087c6fbd4414a6aae6788e162dde838aac01c499afcb145c8461
|
||||
DIST cbindgen-0.14.4.crate 172123 BLAKE2B e86fe619d824b25884570c7a34bdb6ceb3d4906b2309a3c16b29b46284f7bd855991910000a54605eaf2786ce4f570b647a469a2d02831919d9c0a17feda694f SHA512 1d1dfbb159aad25ecbe77368ced803a0cf219a00238364d95b1866f371912e10932e9a6ccda7acd8541b270b1880bda4a29af095a8d83b79a792e31d1ce2bd78
|
||||
DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
|
||||
DIST clap-2.33.0.crate 196458 BLAKE2B 3bb62d817afc77b421a6282746b9b61367d224de6b614c7ed66bde452ce1046728077dab3368a46635b5c74d82ba3196586d87c0201478ce5b89638910dadb1a SHA512 f1075031414d48e4340bfe308904a95a31b72460724773c52a0bc8c004e625a04c904a39fc5420cb8c26a633321f9b5f4f69019c7aae5ed89900b63ed8c21a91
|
||||
DIST getrandom-0.1.13.crate 24581 BLAKE2B a61df4369526f860eef6952a021c3f473562cc4171c373c105d8944c305370592cd98a6c28cc0f8d00496f6b47cb900a4498dad942d0b6f60b4d8163d8904f14 SHA512 534b01d28bc9e69a5ad1e84f34aa4154939c27d70c5f557f15e669fa8894c375486ee945a6a6d8adaf1b6b7accda0e24963f70e77dd51ee0638a6ae6daa38925
|
||||
DIST heck-0.3.1.crate 54666 BLAKE2B 99f7ceb44ea6af445749989730ce1e14156018ff046a136be2e6474b285088e1d90d6f8af9352affbbde5bac7e5a32971dd99f249f968105e9793b7de76def07 SHA512 134722192c46fd64b38d2fbec3a2511c560916e906491a72c4ec9d99b9f716dc58942fb99cac99b9a6ef2de5b5ad1d1c1155f292d091401b6873347d80c086d6
|
||||
DIST itoa-0.4.4.crate 11147 BLAKE2B bb6f1caf1e58dc313bd3cfa2cf81252cb2ebc15e1f4c9adfcdedf46c5fa79811d5b0cbd58f1e91d1f62bf85d7b941b0dba535814fb43b5b70a38db791b45717c SHA512 f5e04bd908457e7592243ce64a99c5283428b767f4cc17d77946770411b06fccb0250625263c3e84a02a018ea7e8a0e4216e1929a71988bab8e1dbf603d3801d
|
||||
DIST libc-0.2.66.crate 457815 BLAKE2B 5da379ea738b75189e106d4be821c999394043303b8bb6a9caecdb1b53e449f11a58edc4589193611b76e7baf00e155ba1077bcca4d0cfae30826e946a0075f0 SHA512 5bf5645a7cbe626108cd71e1d189286ed161fcd3ea12cd34f4e392be4cf93bf78feb6128b1101bedc41a71091398f26771f3efd3880f779ee0be00f706914975
|
||||
DIST log-0.4.8.crate 31297 BLAKE2B 31037fdc2fc94f4ab8a6e89a251b0bc29975027dc7efb7cc86a8e848dfc8e2ae50acdb177b7ba9f7c1f20ec01e50798f89abb772d67a33f1b060ac617cf9a8ab SHA512 0b71f97d5964134b5eea1332347e177806b2f171d0be5c410c0ff1539470b242ba9f0933fafd853e4171a43b5e373a150af18918924be431c7216022553a8a3b
|
||||
DIST ppv-lite86-0.2.6.crate 20522 BLAKE2B 6e1e4f3d0daa02148df390be19d3575626e66f6a78dbf27c1275f097c4307b80d8182f7795a270aa2c34d8c31c8c3eecc88e9507a6c9def0e91af11233aba90b SHA512 b9764a841364eb89157c828a183fdf6aeeb63d1d35e4f5dcba79e5d8e20eee8f22c845636c5c7bc980da1d141d838528d5f190546b23aa5e4e51e626a0ddce3d
|
||||
DIST proc-macro2-1.0.6.crate 35414 BLAKE2B abec56bdf8bf2109337e007c59c7c9c78ff0af3848c9b45567b2ee1d5120ace78fdf327c61becf917ef64366e5947792608631f197d182753eeeaf81ffd2a1cd SHA512 d0a6358eb6f9334128a5b47c096bfc57452e13d603c9514df433409069c00468fa2b3c76761d7f3696abb061c1c3ba24150e0cf9be2c5d571d580238d2d27853
|
||||
DIST quote-1.0.2.crate 23023 BLAKE2B 4091809b4fc9b8d0b56be814b127d6ffd7c1507becba85dc905606cbe85f46233dc4b429c1e865e7c7de336cb936d956169ceb5dd45b489b7722022ccf818a3a SHA512 67778dff9dc5c4edcdd6454b74ad9353bb6c0c4e51c16cb82f2e393a7d7a0cde084d3c93279b718a8398c40af0a9377ebfae5321e69e635efd8390c125b75ce4
|
||||
DIST rand-0.7.2.crate 111438 BLAKE2B c9e81a0b2bcf5a3d425865dad2babd90187da55b9c70fce4aea4ed2e2ffe9cfe4e66bb280f1acee11e1f1ad17d3a73e906ac6cd35e6a2124852b66093293bd48 SHA512 d29d10e9788f0f44b56b2981aca01a115eca1018e6afe2428fca088cc9432f27d014c6f1f0c819317052f4c64a9c54cee8834eb08e081f292ad65160dcdd014c
|
||||
DIST rand_chacha-0.2.1.crate 11475 BLAKE2B 698f830845e24b85fe52b11e9a1c621dcdbe4232bc22f3dc0b1d2fcd4427045f302f74134d9b451fc5b4f9ac559fb2bc06f3d0eec5eddb6fd6cf3e6d3030855e SHA512 30933fdb94ca8d4bf040a7e08a42944a0d7c2f3f6a9a3d547e74bc32f922b0eb79d85afb1f6c85c78dc115170e70bdf96b36f0478d61ba5651876d5350ad18f6
|
||||
DIST rand_core-0.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
|
||||
DIST rand_hc-0.2.0.crate 11670 BLAKE2B 55fd048f2524cecd4f0e17927a81111e3070a8cc6a5b0234a46445400ad5527194edf8c91fb5ad6538f4958d53044ab02424f61a38adb2931e2cb7568c458ee8 SHA512 bca185612bed5cee4da76fb68fe854105da276f5bf2da464e596d586b925df798cc692ed881e276ab77c36b4b0551930966c93656be122ad05899d87853533b0
|
||||
DIST redox_syscall-0.1.56.crate 17117 BLAKE2B 57b1b01ef3cbc6f55def6c9a0dcde16bd98e83badcef993e26ae3ce849abcd1b1c10f4da931c605970d77f92471734764a537e7329291a221343fde23f3591eb SHA512 17a3044327aa733c830dd74e210d6bda32622617d1c5af9d70d7647232d8569ad0b04ccb14042cbabb5d97ad98e3f1f5a9968a75387354ffb4d175e9577115a1
|
||||
DIST remove_dir_all-0.5.2.crate 8907 BLAKE2B 585f49f83db3ace90dd0b4fc77aab7525844194c82d36cc33ab8999aaa6226d24a130c30f55e2c46a08273cc554d9d4c8bc51958aa7dbf1045085b2e22639e4e SHA512 d19a45398a93adbcef9f233f6b3eaf4a63ae95f5bbae00c880b40c5edd34449e7f798ebcd4d11843c68ddfa15e11bed21d434b224e4a175dcb64ae011c13c8cd
|
||||
DIST ryu-1.0.2.crate 42001 BLAKE2B c25f0454bfac40de3150b8c263c6d2842e64f86f441a69ab5e5722a2383a9a07c7539837f6e50996619eb0c4a5da212556a4dd21a761a250785fe0a9c4e18a3c SHA512 c681e037f1eea488bad7fb5ecc79af52377bd4b9eeed95eb213201219d7f100702000f81947aff8f18641235fb62c138a30eb20c1f93ae518a4d9960a598bb64
|
||||
DIST serde-1.0.104.crate 73258 BLAKE2B 98d63f91c61ac4693e17e0b137379cffd6608933b84d2211509be6b3b25b181592d5e907549fac6ae2e4a45255b8003e1bfd0db683429ac3e78d8ee097d3d79c SHA512 638a1dacc158d69658a005e599adc19d6bc80d0c663f527b1ff906f729e70e027eacc4ea5b9b2c675ac990d5997f50f9d46d614ba95b0c73bb9606aba46b053a
|
||||
DIST serde_derive-1.0.104.crate 49658 BLAKE2B d4a9ecb4a8df87776a83d645778dc050803b16fd5c9889f28e231238223d424dd25b101412e89741fb47be624d1773acf97f6e38809c81110b696701975168df SHA512 303c3d126ca56b0a7126a87e9e1be8bd60bdb212ed21b5e1aee015313fd769f1d260869c41b0335bd467fd4e3fc6bb26f428c7c4b35e9a55c009797cfa745d1e
|
||||
DIST serde_json-1.0.44.crate 70325 BLAKE2B c8f5836e3448bbf5fd666b30e747b90f84eb7dbaaf078026456082b5403bbcc1931c70528abbf0e605872271861c1e7dabfe1f42d5a13c2b02f5abb28b342e61 SHA512 ce1c68bfd2ceaa8b7f45cd34cfbc71dcfe3905b06fa47032403c54aa9eed0e618cd526938eb78dbc201e9480dbd64b4bfb405f2119478229f5cea12056dcf5e4
|
||||
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
|
||||
DIST syn-1.0.11.crate 193782 BLAKE2B 17e0b40ee69575efea77249343af2fa67af0990f08ac8efced152ebb88ad1301211306a2317ec163219d485a097878f8552ca353f43f35ffd5d172e6c92da0df SHA512 6b361c6cb27aebb3da5e81db270e7cd0fe8bfb11289c25ce46127214e222c2b64f53164c8869de41b77e9b780f967454ed5d7c5b73442ae292eadc4dea77494c
|
||||
DIST tempfile-3.1.0.crate 25823 BLAKE2B a34721369923771d5f9a2fc64adaff2bff41da97a0ce79e01aaedb8d6670867220c671c0d23f7a8a9c71b09c0559efe4e7c9bab1f7f9d890866be1de1ce050a9 SHA512 a87ee51c36a81a8a8eb8f091eb57926682f38b707f7f641332d8752170e6c139a656ae49c6861f51e07c2fab5c86cc9b2ac158f5d89c6bff15d18934dd4e7ba5
|
||||
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
|
||||
DIST toml-0.5.5.crate 54805 BLAKE2B 2b319f37165164793866bc4a470ed99447fdccb59242c94e5311906dc764f54131f2bc14921caab56bf84706d12800fb26a58210e3e58728f4076edc9a66e771 SHA512 8f6a04dc24ea775a9a28cc948039f20540ec983c46b287ebfa820e29cc5867803765ce099283f79d3b4a22c513b386603dbd8130808cb3354bc63b5d4706cb33
|
||||
DIST unicode-segmentation-1.6.0.crate 90703 BLAKE2B b7d63bb8b62cabc604084957aaff021df24a1291f0ebdcddc424cceefe10ad399ed53152211c3e7557e39e21255166f922256f9f8e1fb488d3bae368b49a378e SHA512 80c6f92d9b39602a05809dc63a7cb05a305441689b6056801097a882a36c9795aabd660f884f707daa7e7fe6ad4983f6e245c226962cc982dbfeea2ddfddf41e
|
||||
DIST unicode-width-0.1.7.crate 16644 BLAKE2B 8cc5ee2dfeeda8ffe3405a0d4f1576d2b3b8ede1a42cbefb0ba3bd0d71b53a92ceade86c4a06e9d5b31382955dc6e1152ae5cd279dc26dbc51f478dad1d0f64d SHA512 39b8a539c9009d0421f54ae68b139f21456c9cb03d743b58535a977f98bc9655cf42eaacfadbcff796c187a6f315ae16259ee22be9c2da5aa042172c6b464d84
|
||||
DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042d780d2158a171dbb5e7dedad0b3d2522f5401ae5d215f89ab8be4f5c371b046e4845693a65554c2a6eedc5d1e28 SHA512 590f727d8d8354023062ae5fe7ac5bed1bcf79d86b883effd7f33b3ea3b1c8922998a63d621ca6962a969e890fa6edd009871f21cd57b1969264f41ba3f78359
|
||||
DIST vec_map-0.8.1.crate 14959 BLAKE2B f5c179ccb4349d543747d5e3bb3edfca4bc9f3f64ba3c2d40fb1d9cba98433b7a0641387aafda6347c9b3603592c64bd820b217b46fbfcd37f802f298e5793ab SHA512 026cf10dc7ba98ae51dd312fc847cbaea41c25f0da5db6e0e22c2ecf75584bbf876d7bd96035fbbcf6696d702d5a3f25977e02a2d77cf519aa21e3ed05710e40
|
||||
DIST wasi-0.7.0.crate 33941 BLAKE2B de1e4e577a1237a233f81ff1a3bd7f888020a42d93a807187a154a3ae0593397358a8667a065f0cdd5497dd2a89889e418d33a0d42ab1631b3f99677e9ebd665 SHA512 1950e78df7f0ba21b917680633d092704f1fb906bd973de4ddc43cedb7bf449f6e881d50e3aa0d5595e8d58796915d582b69c116ef536f819b6f035affea18f0
|
||||
DIST winapi-0.3.8.crate 1128308 BLAKE2B e0e8ef6121f222b0500525192ebb69b26b71cc16f9ba92186f8ad6acc9de4cb8cc7c738f9c31f5bd223d2e34c93c496e8448c973d69797776004670c70abf69c SHA512 5a899ee5f09f30d742b8b8eba78da05cd9f4c664408fdeb9370373f8756a962a23e3f1c07619e745b3270138606c9a369076c02c3f5353f657df09d203d9a736
|
||||
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
|
||||
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
|
||||
EBUILD cbindgen-0.14.3.ebuild 970 BLAKE2B ebc12682113ef7cd06974b72bb5d45ad3005475e3bac615d061efe7a3b3493a2964633f3a77d2691ce0587835f552b924572fdc7803fdd33e67ae44ac9647ab8 SHA512 aaf99043f26afaac6bb138bc0cf5dd66c6f4eaf2568c17988f77e9ed93a5ff3ee4e36fcdb3ce71897b00b7d94a1f012b53faf86ef342a10fc2b6fc5a7befab15
|
||||
EBUILD cbindgen-0.14.4.ebuild 973 BLAKE2B d4b703a2fa4022ee6e8c683c73a6c29ef9b4de3aca7bebbe36f97deb8d7165b79dcce230ad0cdc9a1cddf14c0d933464e33c4d1b3a07378d0434765c4f96254d SHA512 f73de464787bba6289cf8eb24c0a77714b20de3fc3d5d4af36a00f39d5bc9f4a76f1d763811fd63afd9ff3a9b07abdc3a5b0b9f1cef6bca2a1a6584d8aec9023
|
54
dev-util/cbindgen/cbindgen-0.14.3.ebuild
Normal file
54
dev-util/cbindgen/cbindgen-0.14.3.ebuild
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright 2017-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
CRATES="
|
||||
ansi_term-0.11.0
|
||||
atty-0.2.13
|
||||
bitflags-1.2.1
|
||||
c2-chacha-0.2.3
|
||||
cbindgen-0.14.3
|
||||
cfg-if-0.1.10
|
||||
clap-2.33.0
|
||||
getrandom-0.1.13
|
||||
heck-0.3.1
|
||||
itoa-0.4.4
|
||||
libc-0.2.66
|
||||
log-0.4.8
|
||||
ppv-lite86-0.2.6
|
||||
proc-macro2-1.0.6
|
||||
quote-1.0.2
|
||||
rand-0.7.2
|
||||
rand_chacha-0.2.1
|
||||
rand_core-0.5.1
|
||||
rand_hc-0.2.0
|
||||
redox_syscall-0.1.56
|
||||
remove_dir_all-0.5.2
|
||||
ryu-1.0.2
|
||||
serde-1.0.104
|
||||
serde_derive-1.0.104
|
||||
serde_json-1.0.44
|
||||
strsim-0.8.0
|
||||
syn-1.0.11
|
||||
tempfile-3.1.0
|
||||
textwrap-0.11.0
|
||||
toml-0.5.5
|
||||
unicode-segmentation-1.6.0
|
||||
unicode-width-0.1.7
|
||||
unicode-xid-0.2.0
|
||||
vec_map-0.8.1
|
||||
wasi-0.7.0
|
||||
winapi-0.3.8
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
"
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="A tool for generating C bindings to Rust code"
|
||||
HOMEPAGE="https://github.com/eqrion/cbindgen/"
|
||||
SRC_URI="$(cargo_crate_uris ${CRATES})"
|
||||
LICENSE="MIT MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
|
54
dev-util/cbindgen/cbindgen-0.14.4.ebuild
Normal file
54
dev-util/cbindgen/cbindgen-0.14.4.ebuild
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright 2017-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
CRATES="
|
||||
ansi_term-0.11.0
|
||||
atty-0.2.13
|
||||
bitflags-1.2.1
|
||||
c2-chacha-0.2.3
|
||||
cbindgen-0.14.4
|
||||
cfg-if-0.1.10
|
||||
clap-2.33.0
|
||||
getrandom-0.1.13
|
||||
heck-0.3.1
|
||||
itoa-0.4.4
|
||||
libc-0.2.66
|
||||
log-0.4.8
|
||||
ppv-lite86-0.2.6
|
||||
proc-macro2-1.0.6
|
||||
quote-1.0.2
|
||||
rand-0.7.2
|
||||
rand_chacha-0.2.1
|
||||
rand_core-0.5.1
|
||||
rand_hc-0.2.0
|
||||
redox_syscall-0.1.56
|
||||
remove_dir_all-0.5.2
|
||||
ryu-1.0.2
|
||||
serde-1.0.104
|
||||
serde_derive-1.0.104
|
||||
serde_json-1.0.44
|
||||
strsim-0.8.0
|
||||
syn-1.0.11
|
||||
tempfile-3.1.0
|
||||
textwrap-0.11.0
|
||||
toml-0.5.5
|
||||
unicode-segmentation-1.6.0
|
||||
unicode-width-0.1.7
|
||||
unicode-xid-0.2.0
|
||||
vec_map-0.8.1
|
||||
wasi-0.7.0
|
||||
winapi-0.3.8
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
"
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="A tool for generating C bindings to Rust code"
|
||||
HOMEPAGE="https://github.com/eqrion/cbindgen/"
|
||||
SRC_URI="$(cargo_crate_uris ${CRATES})"
|
||||
LICENSE="MIT MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
7
media-libs/harfbuzz/Manifest
Normal file
7
media-libs/harfbuzz/Manifest
Normal file
@ -0,0 +1,7 @@
|
||||
DIST harfbuzz-2.5.3.tar.xz 5685712 BLAKE2B a9d8a46b6a0667c598ea011f020b09d8fd795105483a8b307ee2a9399de2b84bf3b29659f9a3f7500250879bbb412003ee6f68aaba01b68824bd489615f737e6 SHA512 a2e6cedbe0e505fa31b540e0d0bc6c0b07080bd39879c27e04d351103e21201d75a809dd2fad559bf994b82b311f67ad85778cbbfb670d7e2580beafa09e93ff
|
||||
DIST harfbuzz-2.6.4.tar.xz 5967468 BLAKE2B 24d215324a408a724f47a901c4a56605144d15373518bd52643ece83705d0c63582a80635ecef6a6d8d2f5f39c750076d553fb39aaa8c0dd41702ee910c32f24 SHA512 d8664bb64fda11ff7646693070637e3827f8b3d1de50e11ecf108ce4d19c878b26b2ba4cff278da6e6cc0cb431e1630d9eaa7c32a9bebb9655a7aa8dabf7114f
|
||||
DIST harfbuzz-2.6.8.tar.xz 8976516 BLAKE2B 46401ae06ec70172621d2aa354901f03173a273abdb0db909332946643e82b4286be690ac717a29304e9db121dd7f693b4ce19522de772f5d140986d6333e7ce SHA512 651b23d7d4fab6fef472ee57db39bbaebc31c2f40ea3a482c1499ad1a7b549b86a2bccbe9da191c8e9ecdf464191dd3c9a7485546b51695ad8ab3c0329732d9d
|
||||
EBUILD harfbuzz-2.5.3-r1.ebuild 3033 BLAKE2B fe45f37cd4e9b419188d38603aa8b83c2af8c67175ec350cc6e34f6f8e7f7b18b6aff0c0c6adbfb67661f18432687ee09386ca4e5bb6b4c63579c6b74826a6cf SHA512 29832f1637d6f3c09786831601ada4fe763538201d1143fdea9ad97a36362ad1a1c30eddd23ec220d15e15bf88996fb6764c6fcf8eecef8f3bb3bf832686b038
|
||||
EBUILD harfbuzz-2.6.4.ebuild 2261 BLAKE2B 7781e96662022e898341482977d14125c87b2ea379e6913b4c34a2be12ff7155f7fa7098221af659f80eac7a3dbbb1d3852c189fad93bc1015c68c611ec65cab SHA512 10e977d1273df060436361b89d8f9daee3c9bb23637409b070f49c2af5fbc35bf91e2b6985173bd2d797ebd5530271972a0491f1ce515bd03d4b8ab5e5af6e19
|
||||
EBUILD harfbuzz-2.6.8.ebuild 3172 BLAKE2B 232619df1e95eb0caa3cb4c04697ed49b30f4a7703d71f42f23eea057537eac686217e64ec91db04b1cfa24bab37ea265d40523ddb41adf7e9da3f099073a042 SHA512 1142604a0975cd202231b58261d689bba20f4c38f13c50e81ce3d7c22f717530c8dece6c8e10824cf9c446d02096042d6caac071945115b36272aec9b2779540
|
||||
MISC metadata.xml 645 BLAKE2B aadcef9412392874d361b5c09e7450bf88db64fa704558553861cf16ffd1a5b5715291fefc0624e3ad0d86a537cdbd2b810fa093b289428e68a19c82049188ef SHA512 645e451768a5dba2e16d18b51ece20fa28172450bf22e29fe73ed29748f712187f997ce2f6f0a24c725f0cb10434b4a65c6de9a5fd1aa7d820e00b7dca8b8b63
|
110
media-libs/harfbuzz/harfbuzz-2.5.3-r1.ebuild
Normal file
110
media-libs/harfbuzz/harfbuzz-2.5.3-r1.ebuild
Normal file
@ -0,0 +1,110 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_7 )
|
||||
|
||||
inherit flag-o-matic libtool multilib-minimal python-any-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="An OpenType text shaping engine"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
|
||||
|
||||
if [[ ${PV} = 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://anongit.freedesktop.org/git/harfbuzz.git"
|
||||
inherit git-r3 autotools
|
||||
else
|
||||
SRC_URI="https://www.freedesktop.org/software/${PN}/release/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="Old-MIT ISC icu"
|
||||
SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
|
||||
|
||||
IUSE="+cairo debug +glib +graphite icu +introspection static-libs test +truetype"
|
||||
REQUIRED_USE="introspection? ( glib )"
|
||||
|
||||
RDEPEND="
|
||||
cairo? ( x11-libs/cairo:= )
|
||||
glib? ( >=dev-libs/glib-2.38:2[${MULTILIB_USEDEP}] )
|
||||
graphite? ( >=media-gfx/graphite2-1.2.1:=[${MULTILIB_USEDEP}] )
|
||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.34:= )
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/gtk-doc-am
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# eautoreconf requires gobject-introspection-common
|
||||
# ragel needed if regenerating *.hh files from *.rl
|
||||
if [[ ${PV} = 9999 ]] ; then
|
||||
DEPEND+="
|
||||
>=dev-libs/gobject-introspection-common-1.34
|
||||
dev-util/ragel
|
||||
"
|
||||
fi
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
if ! use debug ; then
|
||||
append-cppflags -DHB_NDEBUG
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
xdg_environment_reset
|
||||
|
||||
if [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] ; then
|
||||
# on Darwin/Solaris we need to link with g++, like automake defaults
|
||||
# to, but overridden by upstream because on Linux this is not
|
||||
# necessary, bug #449126
|
||||
sed -i \
|
||||
-e 's/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.am || die
|
||||
sed -i \
|
||||
-e '/libharfbuzz_la_LINK = /s/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.in || die
|
||||
sed -i \
|
||||
-e '/AM_V_CCLD/s/\<LINK\>/CXXLINK/' \
|
||||
test/api/Makefile.in || die
|
||||
fi
|
||||
|
||||
[[ ${PV} == 9999 ]] && eautoreconf
|
||||
elibtoolize # for Solaris
|
||||
|
||||
# bug 618772
|
||||
append-cxxflags -std=c++14
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# harfbuzz-gobject only used for instrospection, bug #535852
|
||||
local myeconfargs=(
|
||||
--without-coretext
|
||||
--without-fontconfig #609300
|
||||
--without-uniscribe
|
||||
$(use_enable static-libs static)
|
||||
$(multilib_native_use_with cairo)
|
||||
$(use_with glib)
|
||||
$(use_with introspection gobject)
|
||||
$(use_with graphite graphite2)
|
||||
$(use_with icu)
|
||||
$(multilib_native_use_enable introspection)
|
||||
$(use_with truetype freetype)
|
||||
)
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
ln -s "${S}"/docs/html docs/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
}
|
95
media-libs/harfbuzz/harfbuzz-2.6.4.ebuild
Normal file
95
media-libs/harfbuzz/harfbuzz-2.6.4.ebuild
Normal file
@ -0,0 +1,95 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8} )
|
||||
|
||||
inherit flag-o-matic libtool python-any-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="An OpenType text shaping engine"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
|
||||
|
||||
SRC_URI="https://www.freedesktop.org/software/${PN}/release/${P}.tar.xz"
|
||||
KEYWORDS="*"
|
||||
|
||||
LICENSE="Old-MIT ISC icu"
|
||||
SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
|
||||
|
||||
IUSE="+cairo debug +glib +graphite icu +introspection static-libs test +truetype"
|
||||
REQUIRED_USE="introspection? ( glib )"
|
||||
|
||||
RDEPEND="
|
||||
cairo? ( >=x11-libs/cairo-1.8.0:= )
|
||||
glib? ( >=dev-libs/glib-2.38:2 )
|
||||
graphite? ( >=media-gfx/graphite2-1.2.0:= )
|
||||
icu? ( >=dev-libs/icu-51.2-r1:= )
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.34:= )
|
||||
truetype? ( >=media-libs/freetype-2.4.2:2= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/gtk-doc-am
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
if ! use debug ; then
|
||||
append-cppflags -DHB_NDEBUG
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
xdg_environment_reset
|
||||
|
||||
if [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] ; then
|
||||
# on Darwin/Solaris we need to link with g++, like automake defaults
|
||||
# to, but overridden by upstream because on Linux this is not
|
||||
# necessary, bug #449126
|
||||
sed -i \
|
||||
-e 's/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.am || die
|
||||
sed -i \
|
||||
-e '/libharfbuzz_la_LINK = /s/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.in || die
|
||||
sed -i \
|
||||
-e '/AM_V_CCLD/s/\<LINK\>/CXXLINK/' \
|
||||
test/api/Makefile.in || die
|
||||
fi
|
||||
|
||||
[[ ${PV} == 9999 ]] && eautoreconf
|
||||
elibtoolize # for Solaris
|
||||
|
||||
# bug 618772
|
||||
append-cxxflags -std=c++14
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# harfbuzz-gobject only used for instrospection, bug #535852
|
||||
local myeconfargs=(
|
||||
--without-coretext
|
||||
--without-fontconfig #609300
|
||||
--without-uniscribe
|
||||
$(use_enable static-libs static)
|
||||
$(use_with cairo)
|
||||
$(use_with glib)
|
||||
$(use_with introspection gobject)
|
||||
$(use_with graphite graphite2)
|
||||
$(use_with icu)
|
||||
$(use_enable introspection)
|
||||
$(use_with truetype freetype)
|
||||
)
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
|
||||
ln -s "${S}"/docs/html docs/html
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
einstalldocs
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
}
|
116
media-libs/harfbuzz/harfbuzz-2.6.8.ebuild
Normal file
116
media-libs/harfbuzz/harfbuzz-2.6.8.ebuild
Normal file
@ -0,0 +1,116 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit autotools flag-o-matic libtool multilib-minimal python-any-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="An OpenType text shaping engine"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
|
||||
|
||||
if [[ ${PV} = 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/harfbuzz/harfbuzz.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="Old-MIT ISC icu"
|
||||
SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
|
||||
|
||||
IUSE="+cairo debug +glib +graphite icu +introspection static-libs test +truetype"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="introspection? ( glib )"
|
||||
|
||||
RDEPEND="
|
||||
cairo? ( x11-libs/cairo:= )
|
||||
glib? ( >=dev-libs/glib-2.38:2[${MULTILIB_USEDEP}] )
|
||||
graphite? ( >=media-gfx/graphite2-1.2.1:=[${MULTILIB_USEDEP}] )
|
||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.34:= )
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/gtk-doc-am
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# eautoreconf requires gobject-introspection-common
|
||||
# ragel needed if regenerating *.hh files from *.rl
|
||||
if [[ ${PV} = 9999 ]] ; then
|
||||
DEPEND+="
|
||||
>=dev-libs/gobject-introspection-common-1.34
|
||||
dev-util/ragel
|
||||
"
|
||||
fi
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
if ! use debug ; then
|
||||
append-cppflags -DHB_NDEBUG
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
xdg_environment_reset
|
||||
|
||||
if [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] ; then
|
||||
# on Darwin/Solaris we need to link with g++, like automake defaults
|
||||
# to, but overridden by upstream because on Linux this is not
|
||||
# necessary, bug #449126
|
||||
sed -i \
|
||||
-e 's/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.am || die
|
||||
sed -i \
|
||||
-e '/libharfbuzz_la_LINK = /s/\<LINK\>/CXXLINK/' \
|
||||
src/Makefile.in || die
|
||||
sed -i \
|
||||
-e '/AM_V_CCLD/s/\<LINK\>/CXXLINK/' \
|
||||
test/api/Makefile.in || die
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e 's:tests/macos.tests::' \
|
||||
test/shaping/data/in-house/Makefile.sources \
|
||||
test/shaping/data/in-house/Makefile.in || die # bug 726120
|
||||
|
||||
eautoreconf
|
||||
elibtoolize # for Solaris
|
||||
|
||||
# bug 618772
|
||||
append-cxxflags -std=c++14
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# harfbuzz-gobject only used for instrospection, bug #535852
|
||||
local myeconfargs=(
|
||||
--without-coretext
|
||||
--without-fontconfig #609300
|
||||
--without-uniscribe
|
||||
$(use_enable static-libs static)
|
||||
$(multilib_native_use_with cairo)
|
||||
$(use_with glib)
|
||||
$(use_with introspection gobject)
|
||||
$(use_with graphite graphite2)
|
||||
$(use_with icu)
|
||||
$(multilib_native_use_enable introspection)
|
||||
$(use_with truetype freetype)
|
||||
)
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
ln -s "${S}"/docs/html docs/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
20
media-libs/harfbuzz/metadata.xml
Normal file
20
media-libs/harfbuzz/metadata.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>polynomial-c@gentoo.org</email>
|
||||
<name>Lars Wendler</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>office@gentoo.org</email>
|
||||
<name>Gentoo Office project</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="glib">Compile with GLib Unicode support</flag>
|
||||
<flag name="graphite">Use graphite to render complex non-Roman writing systems</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,2 +1,10 @@
|
||||
AUX libvpx-1.3.0-sparc-configure.patch 406 BLAKE2B 02b1f0484a9659fdc90eb567db517a8b63f679521ae9ab510bfaa88b9fd5e1430d0eceeb8e4a138b00cb43ac4a1db6451dd29a808367973dc885fe5b9eacd665 SHA512 159ba5577fc0eee3e958740d8607a7570f374a8f64a36f1e7832a126482ec0bb96ba2be451eefdf50d84a412a2be73ae75da3d69da78ec13dfe0e24a14685035
|
||||
AUX libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch 8035 BLAKE2B 785a8769741e5af10ce0f18f6ef9f091d1335ca1c8515c9b653d3a177a620a8b3360b7df03f058b63e42259d6e4ccb6863e0ec9acd69886627a222ea3b8beb2d SHA512 b5af677b7f8fc6c61ea1c99c094103549cbe1a0163da70f51d4c34eec40b507a7bf8f84f97ee141a15c33bfaf2a6cb36c572a08465407fb17eb9b6a1364a3819
|
||||
DIST libvpx-1.7.0.tar.gz 2679797 BLAKE2B de7992adb517e375c5be2a9facf2b4a73174adcaef11185ed6d3102c2f6b73f378b0d415c5e3a4d915b3a6889bd8b31ba3e8c007a87a433a345ef7696a1dd899 SHA512 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0
|
||||
DIST libvpx-1.8.2.tar.gz 5312988 BLAKE2B 4d27eb457c20e70f5b68b589962692d4938cf69e889009cd6aa74cbefb3afd53ba2733420e5a8feb1388558969d95d5a26e1fc60b9b8ef6a0be8dade7d54ee0b SHA512 da2ab0775a28ddd78654bbe46886e833d4ef7ba91867fc1427dceced735b6177eff06b24f204c075c50c3a5cadc5be6a1fb213c44df189218a543b52554f3a38
|
||||
DIST libvpx-1.9.0.tar.gz 5326239 BLAKE2B 6403a5d8326235a8d27ca3727f45398556cbe72cd125ae358c22f729cc01d6a81917cca8a6e97ad0ed01e7fc04ca4212baf21f371323b93ccc8830c4a11acf91 SHA512 8d544552b35000ea5712aec220b78bb5f7dc210704b2f609365214cb95a4f5a0e343b362723d829cb4a9ac203b10d5443700ba84b28fd6b2fefbabb40663e298
|
||||
DIST libvpx-testdata-1.8.2.tar.xz 422945340 BLAKE2B 117c26e77b9cda30ca083382981fd88139905fec756e362c6c8497adee26796cd9adab752b197b1eedb9f5e26970100c08fd0e3bd42184fd3e12afe927acad3e SHA512 a1616d1c199983d47157c2e99b409e781df86804048f9a7345f2e682ffc2c6d79ab95f5cf3ccb01c0db498e79686086d9c7aa2c2c07e53cb7f642afd1e38ea35
|
||||
DIST libvpx-testdata-1.9.0.tar.xz 450868860 BLAKE2B aaed7f2ef4f70ff352e39be2630e3a5cd803e8d2408c4fd5c3e06e040a75d2f593a10bc267a497aa91eaceb64286e81f69e86ca0940160e4f34b62c08e91df7b SHA512 bcc89062a436d652d15d5852a842cb4985c4783855b943ab11667c022b5082887129fd9579b8da3af209a3031f95ff8dc625c380f79559db160501cd676736ea
|
||||
EBUILD libvpx-1.7.0.ebuild 4063 BLAKE2B 4712537cf3ebaa5bffb0af30fa5100e3b5f20c016f8a4d9f68cb2c43317b393a00af19028f4fde48f38e1f66248da5713d653a5c27a87e1f52f29f935c951e9c SHA512 5bdce3f25d09c925de12e986294684a03209def39d630732efb12eda411f3e13a5c64c54d5f9fe51b8cad695dd43c5474eb4bd06a4c59d4dc284b5eb3be5d7d4
|
||||
EBUILD libvpx-1.8.2.ebuild 3436 BLAKE2B 5c78fa513348cad6d6a1560a72fc4d0c15c746ea6f52843182f3b30d8d71e1f76ee245c95291ba9356a147de1f73f65f5a7a147aa1cd6d861fdaf5831ec7fe62 SHA512 2fc98db752426b5530a3c42b9a4a03a4e38e79d2746d42be3d5ffce155c9aa5e49f6d17a28c2535bb5fbdae8bea31fd90e0e15fa74ee51dface9b90a2357ae1a
|
||||
EBUILD libvpx-1.9.0.ebuild 3464 BLAKE2B 0c9d235a33c0b764ebf7c5dac44cf78083d81d622ea6c939c897360850ec34fd0e46b24994d1a68e5daf7c1f89edcfb8fa31d3cd9d48d373bbab7900baf04595 SHA512 60595a1d6b225caa1e29ee4a22fd8064cf1e537b3610e1a016052c9fd4c1da2a603b7acb183ccf83ff23ef716ad052b8f88a2a9cc7aa11feca7eddf9070936c5
|
||||
|
12
media-libs/libvpx/app.log
Normal file
12
media-libs/libvpx/app.log
Normal file
@ -0,0 +1,12 @@
|
||||
2020-09-07 19:21:43,046 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:21:44,648 [ ERROR]: No Samsung TV found in the network.
|
||||
2020-09-07 19:21:46,489 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:21:48,091 [ ERROR]: No Samsung TV found in the network.
|
||||
2020-09-07 19:21:49,638 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:21:51,240 [ ERROR]: No Samsung TV found in the network.
|
||||
2020-09-07 19:21:51,940 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:21:53,542 [ ERROR]: No Samsung TV found in the network.
|
||||
2020-09-07 19:21:54,019 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:21:55,621 [ ERROR]: No Samsung TV found in the network.
|
||||
2020-09-07 19:21:59,630 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-09-07 19:22:01,232 [ ERROR]: No Samsung TV found in the network.
|
10
media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch
Normal file
10
media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -109,6 +109,7 @@
|
||||
all_platforms="${all_platforms} ppc64-darwin9-gcc"
|
||||
all_platforms="${all_platforms} ppc64-linux-gcc"
|
||||
all_platforms="${all_platforms} sparc-solaris-gcc"
|
||||
+all_platforms="${all_platforms} sparc-linux-gcc"
|
||||
all_platforms="${all_platforms} x86-android-gcc"
|
||||
all_platforms="${all_platforms} x86-darwin8-gcc"
|
||||
all_platforms="${all_platforms} x86-darwin8-icc"
|
@ -0,0 +1,211 @@
|
||||
Backports of
|
||||
|
||||
From 46e17f0cb4a80b36755c84b8bf15731d3386c08f Mon Sep 17 00:00:00 2001
|
||||
From: kyslov <kyslov@google.com>
|
||||
Date: Fri, 4 Jan 2019 17:04:09 -0800
|
||||
Subject: [PATCH] Fix OOB memory access on fuzzed data
|
||||
|
||||
From 0681cff1ad36b3ef8ec242f59b5a6c4234ccfb88 Mon Sep 17 00:00:00 2001
|
||||
From: James Zern <jzern@google.com>
|
||||
Date: Tue, 24 Jul 2018 21:36:50 -0700
|
||||
Subject: [PATCH] vp9: fix OOB read in decoder_peek_si_internal
|
||||
|
||||
From f00890eecdf8365ea125ac16769a83aa6b68792d Mon Sep 17 00:00:00 2001
|
||||
From: James Zern <jzern@google.com>
|
||||
Date: Tue, 11 Dec 2018 18:06:20 -0800
|
||||
Subject: [PATCH] update libwebm to libwebm-1.0.0.27-352-g6ab9fcf
|
||||
|
||||
From 34d54b04e98dd0bac32e9aab0fbda0bf501bc742 Mon Sep 17 00:00:00 2001
|
||||
From: James Zern <jzern@google.com>
|
||||
Date: Tue, 9 Apr 2019 18:37:44 -0700
|
||||
Subject: [PATCH] update libwebm to libwebm-1.0.0.27-358-gdbf1d10
|
||||
|
||||
From 52add5896661d186dec284ed646a4b33b607d2c7 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Jiang <jianj@google.com>
|
||||
Date: Wed, 23 May 2018 15:43:00 -0700
|
||||
Subject: [PATCH] VP8: Fix use-after-free in postproc.
|
||||
|
||||
to address CVE-2019-9232 CVE-2019-9325 CVE-2019-9371 CVE-2019-9433
|
||||
|
||||
|
||||
--- a/test/decode_api_test.cc
|
||||
+++ b/test/decode_api_test.cc
|
||||
@@ -138,8 +138,30 @@ TEST(DecodeAPI, Vp9InvalidDecode) {
|
||||
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
|
||||
}
|
||||
|
||||
-TEST(DecodeAPI, Vp9PeekSI) {
|
||||
+void TestPeekInfo(const uint8_t *const data, uint32_t data_sz,
|
||||
+ uint32_t peek_size) {
|
||||
const vpx_codec_iface_t *const codec = &vpx_codec_vp9_dx_algo;
|
||||
+ // Verify behavior of vpx_codec_decode. vpx_codec_decode doesn't even get
|
||||
+ // to decoder_peek_si_internal on frames of size < 8.
|
||||
+ if (data_sz >= 8) {
|
||||
+ vpx_codec_ctx_t dec;
|
||||
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
|
||||
+ EXPECT_EQ((data_sz < peek_size) ? VPX_CODEC_UNSUP_BITSTREAM
|
||||
+ : VPX_CODEC_CORRUPT_FRAME,
|
||||
+ vpx_codec_decode(&dec, data, data_sz, NULL, 0));
|
||||
+ vpx_codec_iter_t iter = NULL;
|
||||
+ EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
|
||||
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
|
||||
+ }
|
||||
+
|
||||
+ // Verify behavior of vpx_codec_peek_stream_info.
|
||||
+ vpx_codec_stream_info_t si;
|
||||
+ si.sz = sizeof(si);
|
||||
+ EXPECT_EQ((data_sz < peek_size) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_OK,
|
||||
+ vpx_codec_peek_stream_info(codec, data, data_sz, &si));
|
||||
+}
|
||||
+
|
||||
+TEST(DecodeAPI, Vp9PeekStreamInfo) {
|
||||
// The first 9 bytes are valid and the rest of the bytes are made up. Until
|
||||
// size 10, this should return VPX_CODEC_UNSUP_BITSTREAM and after that it
|
||||
// should return VPX_CODEC_CORRUPT_FRAME.
|
||||
@@ -150,24 +172,18 @@ TEST(DecodeAPI, Vp9PeekSI) {
|
||||
};
|
||||
|
||||
for (uint32_t data_sz = 1; data_sz <= 32; ++data_sz) {
|
||||
- // Verify behavior of vpx_codec_decode. vpx_codec_decode doesn't even get
|
||||
- // to decoder_peek_si_internal on frames of size < 8.
|
||||
- if (data_sz >= 8) {
|
||||
- vpx_codec_ctx_t dec;
|
||||
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
|
||||
- EXPECT_EQ(
|
||||
- (data_sz < 10) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_CORRUPT_FRAME,
|
||||
- vpx_codec_decode(&dec, data, data_sz, NULL, 0));
|
||||
- vpx_codec_iter_t iter = NULL;
|
||||
- EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
|
||||
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
|
||||
- }
|
||||
+ TestPeekInfo(data, data_sz, 10);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+TEST(DecodeAPI, Vp9PeekStreamInfoTruncated) {
|
||||
+ // This profile 1 header requires 10.25 bytes, ensure
|
||||
+ // vpx_codec_peek_stream_info doesn't over read.
|
||||
+ const uint8_t profile1_data[10] = { 0xa4, 0xe9, 0x30, 0x68, 0x53,
|
||||
+ 0xe9, 0x30, 0x68, 0x53, 0x04 };
|
||||
|
||||
- // Verify behavior of vpx_codec_peek_stream_info.
|
||||
- vpx_codec_stream_info_t si;
|
||||
- si.sz = sizeof(si);
|
||||
- EXPECT_EQ((data_sz < 10) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_OK,
|
||||
- vpx_codec_peek_stream_info(codec, data, data_sz, &si));
|
||||
+ for (uint32_t data_sz = 1; data_sz <= 10; ++data_sz) {
|
||||
+ TestPeekInfo(profile1_data, data_sz, 11);
|
||||
}
|
||||
}
|
||||
#endif // CONFIG_VP9_DECODER
|
||||
--- a/third_party/libwebm/mkvparser/mkvparser.cc
|
||||
+++ b/third_party/libwebm/mkvparser/mkvparser.cc
|
||||
@@ -5307,8 +5307,8 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
||||
|
||||
const long long stop = pos + s.size;
|
||||
|
||||
- Colour* colour = NULL;
|
||||
- Projection* projection = NULL;
|
||||
+ std::unique_ptr<Colour> colour_ptr;
|
||||
+ std::unique_ptr<Projection> projection_ptr;
|
||||
|
||||
while (pos < stop) {
|
||||
long long id, size;
|
||||
@@ -5357,11 +5357,19 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
||||
if (rate <= 0)
|
||||
return E_FILE_FORMAT_INVALID;
|
||||
} else if (id == libwebm::kMkvColour) {
|
||||
- if (!Colour::Parse(pReader, pos, size, &colour))
|
||||
+ Colour* colour = NULL;
|
||||
+ if (!Colour::Parse(pReader, pos, size, &colour)) {
|
||||
return E_FILE_FORMAT_INVALID;
|
||||
+ } else {
|
||||
+ colour_ptr.reset(colour);
|
||||
+ }
|
||||
} else if (id == libwebm::kMkvProjection) {
|
||||
- if (!Projection::Parse(pReader, pos, size, &projection))
|
||||
+ Projection* projection = NULL;
|
||||
+ if (!Projection::Parse(pReader, pos, size, &projection)) {
|
||||
return E_FILE_FORMAT_INVALID;
|
||||
+ } else {
|
||||
+ projection_ptr.reset(projection);
|
||||
+ }
|
||||
}
|
||||
|
||||
pos += size; // consume payload
|
||||
@@ -5392,8 +5400,8 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
||||
pTrack->m_display_unit = display_unit;
|
||||
pTrack->m_stereo_mode = stereo_mode;
|
||||
pTrack->m_rate = rate;
|
||||
- pTrack->m_colour = colour;
|
||||
- pTrack->m_projection = projection;
|
||||
+ pTrack->m_colour = colour_ptr.release();
|
||||
+ pTrack->m_projection = projection_ptr.release();
|
||||
|
||||
pResult = pTrack;
|
||||
return 0; // success
|
||||
--- a/vp8/common/postproc.c
|
||||
+++ b/vp8/common/postproc.c
|
||||
@@ -65,7 +65,7 @@ void vp8_deblock(VP8_COMMON *cm, YV12_BUFFER_CONFIG *source,
|
||||
double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065;
|
||||
int ppl = (int)(level + .5);
|
||||
|
||||
- const MODE_INFO *mode_info_context = cm->show_frame_mi;
|
||||
+ const MODE_INFO *mode_info_context = cm->mi;
|
||||
int mbr, mbc;
|
||||
|
||||
/* The pixel thresholds are adjusted according to if or not the macroblock
|
||||
--- a/vp8/decoder/dboolhuff.h
|
||||
+++ b/vp8/decoder/dboolhuff.h
|
||||
@@ -76,7 +76,7 @@ static int vp8dx_decode_bool(BOOL_DECODER *br, int probability) {
|
||||
}
|
||||
|
||||
{
|
||||
- register int shift = vp8_norm[range];
|
||||
+ const unsigned char shift = vp8_norm[(unsigned char)range];
|
||||
range <<= shift;
|
||||
value <<= shift;
|
||||
count -= shift;
|
||||
--- a/vp9/vp9_dx_iface.c
|
||||
+++ b/vp9/vp9_dx_iface.c
|
||||
@@ -97,7 +97,7 @@ static vpx_codec_err_t decoder_peek_si_internal(
|
||||
const uint8_t *data, unsigned int data_sz, vpx_codec_stream_info_t *si,
|
||||
int *is_intra_only, vpx_decrypt_cb decrypt_cb, void *decrypt_state) {
|
||||
int intra_only_flag = 0;
|
||||
- uint8_t clear_buffer[10];
|
||||
+ uint8_t clear_buffer[11];
|
||||
|
||||
if (data + data_sz <= data) return VPX_CODEC_INVALID_PARAM;
|
||||
|
||||
@@ -158,6 +158,9 @@ static vpx_codec_err_t decoder_peek_si_internal(
|
||||
if (profile > PROFILE_0) {
|
||||
if (!parse_bitdepth_colorspace_sampling(profile, &rb))
|
||||
return VPX_CODEC_UNSUP_BITSTREAM;
|
||||
+ // The colorspace info may cause vp9_read_frame_size() to need 11
|
||||
+ // bytes.
|
||||
+ if (data_sz < 11) return VPX_CODEC_UNSUP_BITSTREAM;
|
||||
}
|
||||
rb.bit_offset += REF_FRAMES; // refresh_frame_flags
|
||||
vp9_read_frame_size(&rb, (int *)&si->w, (int *)&si->h);
|
||||
--- a/vpx_dsp/bitreader.h
|
||||
+++ b/vpx_dsp/bitreader.h
|
||||
@@ -94,7 +94,7 @@ static INLINE int vpx_read(vpx_reader *r, int prob) {
|
||||
}
|
||||
|
||||
{
|
||||
- register int shift = vpx_norm[range];
|
||||
+ const unsigned char shift = vpx_norm[(unsigned char)range];
|
||||
range <<= shift;
|
||||
value <<= shift;
|
||||
count -= shift;
|
||||
--- a/vpx_dsp/bitreader_buffer.c
|
||||
+++ b/vpx_dsp/bitreader_buffer.c
|
||||
@@ -23,7 +23,7 @@ int vpx_rb_read_bit(struct vpx_read_bit_buffer *rb) {
|
||||
rb->bit_offset = off + 1;
|
||||
return bit;
|
||||
} else {
|
||||
- rb->error_handler(rb->error_handler_data);
|
||||
+ if (rb->error_handler != NULL) rb->error_handler(rb->error_handler_data);
|
||||
return 0;
|
||||
}
|
||||
}
|
118
media-libs/libvpx/libvpx-1.8.2.ebuild
Normal file
118
media-libs/libvpx/libvpx-1.8.2.ebuild
Normal file
@ -0,0 +1,118 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
inherit toolchain-funcs multilib-minimal
|
||||
|
||||
# To create a new testdata tarball:
|
||||
# 1. Unpack source tarbll or checkout git tag
|
||||
# 2. export LIBVPX_TEST_DATA_PATH=libvpx-testdata
|
||||
# 3. configure --enable-unit-tests --enable-vp9-highbitdepth
|
||||
# 4. make testdata
|
||||
# 5. tar -cjf libvpx-testdata-${MY_PV}.tar.xz libvpx-testdata
|
||||
|
||||
LIBVPX_TESTDATA_VER=1.8.2
|
||||
|
||||
DESCRIPTION="WebM VP8 and VP9 Codec SDK"
|
||||
HOMEPAGE="https://www.webmproject.org"
|
||||
SRC_URI="https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
test? ( https://dev.gentoo.org/~whissi/dist/libvpx/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/6"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc +highbitdepth postproc static-libs svc test +threads"
|
||||
|
||||
REQUIRED_USE="test? ( threads )"
|
||||
|
||||
# Disable test phase when USE="-test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="abi_x86_32? ( dev-lang/yasm )
|
||||
abi_x86_64? ( dev-lang/yasm )
|
||||
abi_x86_x32? ( dev-lang/yasm )
|
||||
x86-fbsd? ( dev-lang/yasm )
|
||||
amd64-fbsd? ( dev-lang/yasm )
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-lang/php
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=384585
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=465988
|
||||
# copied from php-pear-r1.eclass
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/ #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
addpredict /session_mm_cli0.sem #nowarn
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
unset CODECS #357487
|
||||
|
||||
# #498364: sse doesn't work without sse2 enabled,
|
||||
local myconfargs=(
|
||||
--prefix="${EPREFIX}"/usr
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
--enable-pic
|
||||
--enable-vp8
|
||||
--enable-vp9
|
||||
--enable-shared
|
||||
--extra-cflags="${CFLAGS}"
|
||||
$(use_enable postproc)
|
||||
$(use_enable svc experimental)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable test unit-tests)
|
||||
$(use_enable threads multithread)
|
||||
$(use_enable highbitdepth vp9-highbitdepth)
|
||||
)
|
||||
|
||||
# let the build system decide which AS to use (it honours $AS but
|
||||
# then feeds it with yasm flags without checking...) #345161
|
||||
tc-export AS
|
||||
case "${CHOST}" in
|
||||
i?86*) export AS=yasm;;
|
||||
x86_64*) export AS=yasm;;
|
||||
esac
|
||||
|
||||
# powerpc toolchain is not recognized anymore, #694368
|
||||
[[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu )
|
||||
|
||||
# Build with correct toolchain.
|
||||
tc-export CC CXX AR NM
|
||||
# Link with gcc by default, the build system should override this if needed.
|
||||
export LD="${CC}"
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) )
|
||||
else
|
||||
# not needed for multilib and will be overwritten anyway.
|
||||
myconfargs+=( --disable-examples --disable-install-docs --disable-docs )
|
||||
fi
|
||||
|
||||
echo "${S}"/configure "${myconfargs[@]}" >&2
|
||||
"${S}"/configure "${myconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# build verbose by default and do not build examples that will not be installed
|
||||
emake verbose=yes GEN_EXAMPLES=
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local -x LD_LIBRARY_PATH="${BUILD_DIR}"
|
||||
local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata"
|
||||
emake verbose=yes GEN_EXAMPLES= test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
|
||||
multilib_is_native_abi && use doc && dodoc -r docs/html
|
||||
}
|
119
media-libs/libvpx/libvpx-1.9.0.ebuild
Normal file
119
media-libs/libvpx/libvpx-1.9.0.ebuild
Normal file
@ -0,0 +1,119 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
inherit toolchain-funcs multilib-minimal
|
||||
|
||||
# To create a new testdata tarball:
|
||||
# 1. Unpack source tarball or checkout git tag
|
||||
# 2. mkdir libvpx-testdata
|
||||
# 3. export LIBVPX_TEST_DATA_PATH=libvpx-testdata
|
||||
# 4. configure --enable-unit-tests --enable-vp9-highbitdepth
|
||||
# 5. make testdata
|
||||
# 6. tar -caf libvpx-testdata-${MY_PV}.tar.xz libvpx-testdata
|
||||
|
||||
LIBVPX_TESTDATA_VER=1.9.0
|
||||
|
||||
DESCRIPTION="WebM VP8 and VP9 Codec SDK"
|
||||
HOMEPAGE="https://www.webmproject.org"
|
||||
SRC_URI="https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
test? ( https://dev.gentoo.org/~whissi/dist/libvpx/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/6"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc +highbitdepth postproc static-libs svc test +threads"
|
||||
|
||||
REQUIRED_USE="test? ( threads )"
|
||||
|
||||
# Disable test phase when USE="-test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="abi_x86_32? ( dev-lang/yasm )
|
||||
abi_x86_64? ( dev-lang/yasm )
|
||||
abi_x86_x32? ( dev-lang/yasm )
|
||||
x86-fbsd? ( dev-lang/yasm )
|
||||
amd64-fbsd? ( dev-lang/yasm )
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-lang/php
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=384585
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=465988
|
||||
# copied from php-pear-r1.eclass
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/ #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
addpredict /session_mm_cli0.sem #nowarn
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
unset CODECS #357487
|
||||
|
||||
# #498364: sse doesn't work without sse2 enabled,
|
||||
local myconfargs=(
|
||||
--prefix="${EPREFIX}"/usr
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
--enable-pic
|
||||
--enable-vp8
|
||||
--enable-vp9
|
||||
--enable-shared
|
||||
--extra-cflags="${CFLAGS}"
|
||||
$(use_enable postproc)
|
||||
$(use_enable svc experimental)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable test unit-tests)
|
||||
$(use_enable threads multithread)
|
||||
$(use_enable highbitdepth vp9-highbitdepth)
|
||||
)
|
||||
|
||||
# let the build system decide which AS to use (it honours $AS but
|
||||
# then feeds it with yasm flags without checking...) #345161
|
||||
tc-export AS
|
||||
case "${CHOST}" in
|
||||
i?86*) export AS=yasm;;
|
||||
x86_64*) export AS=yasm;;
|
||||
esac
|
||||
|
||||
# powerpc toolchain is not recognized anymore, #694368
|
||||
[[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu )
|
||||
|
||||
# Build with correct toolchain.
|
||||
tc-export CC CXX AR NM
|
||||
# Link with gcc by default, the build system should override this if needed.
|
||||
export LD="${CC}"
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) )
|
||||
else
|
||||
# not needed for multilib and will be overwritten anyway.
|
||||
myconfargs+=( --disable-examples --disable-install-docs --disable-docs )
|
||||
fi
|
||||
|
||||
echo "${S}"/configure "${myconfargs[@]}" >&2
|
||||
"${S}"/configure "${myconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# build verbose by default and do not build examples that will not be installed
|
||||
emake verbose=yes GEN_EXAMPLES=
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local -x LD_LIBRARY_PATH="${BUILD_DIR}"
|
||||
local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata"
|
||||
emake verbose=yes GEN_EXAMPLES= test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
|
||||
multilib_is_native_abi && use doc && dodoc -r docs/html
|
||||
}
|
@ -1 +1,4 @@
|
||||
DIST libwebp-1.0.1.tar.gz 4030276 SHA512 44e0c278b4569c03c39a1e047bccd7b4270bda12feae0dadc54f8a61fd6a66be011229f1e7e853f64749bcd9ea9e8146989e2b632459b67a4aaea4a8033a1361
|
||||
DIST libwebp-1.0.1.tar.gz 4030276 BLAKE2B 4ea3b31bac14c61fbedad14ed675adb4cc0deaed83f8c58f8d589ab2453a8cff33d7832acba39c673aa31cbb3d5c6b487151173d162f92a3698115833b03b694 SHA512 44e0c278b4569c03c39a1e047bccd7b4270bda12feae0dadc54f8a61fd6a66be011229f1e7e853f64749bcd9ea9e8146989e2b632459b67a4aaea4a8033a1361
|
||||
DIST libwebp-1.1.0.tar.gz 4033877 BLAKE2B ac6c2267f43ba42079975938c8fecb75237a494ab8a4ca71b68a49c3d219afa92079fd94431ccbcc363a1e6aef890642a658f429b8d75cd90dd5d735fa37dcef SHA512 c8440059a985587d4876a5e7fc2d07523bc7f582a04ee5dab0ef07df32b9635b907224de2cc15246c831dd5d9215569770196626badccc3171fe2832d7cb4549
|
||||
EBUILD libwebp-1.0.1.ebuild 1780 BLAKE2B afaa8d09c4ea4ae4e7c6c9a9f58620518e46b2b9946dbb148291c507c7daa568831063db2ce1dd0e7ae4539114ee3e82ce0a0f4ad1f07a739d8e6409e39c22b7 SHA512 b258c8ab17c12ccf7c5daf68edfb6bbde1fcb32f65949ecdb6ca8df8c48fd437971e4bf4ef6890b4fe4ee5438c7ad96e772fb4f20925f4012b7a6b87d80b5115
|
||||
EBUILD libwebp-1.1.0.ebuild 1852 BLAKE2B a79fb48b5a141d098e38652d4da6f6b195e167faeecc78b7c14b1ff7b448fd8891de4fc10381d8a6ed3f39a6821a9aae35c77b92fa33a67b43a20d8c6f9d980d SHA512 2fbccf21e2ca844f1399a5fd0ef51f726291113708612a9639d4dcfd1f078c70cac5885f0f0c2f01cfbfd592fdfe0ef331272595fd34f4fc499841330d6477b5
|
||||
|
70
media-libs/libwebp/libwebp-1.1.0.ebuild
Normal file
70
media-libs/libwebp/libwebp-1.1.0.ebuild
Normal file
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit autotools libtool multilib-minimal
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="A lossy image compression format"
|
||||
HOMEPAGE="https://developers.google.com/speed/webp/download"
|
||||
SRC_URI="http://downloads.webmproject.org/releases/webp/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/7" # subslot = libwebp soname version
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 gif +jpeg opengl +png static-libs swap-16bit-csp tiff"
|
||||
|
||||
# TODO: dev-lang/swig bindings in swig/ subdirectory
|
||||
RDEPEND="gif? ( media-libs/giflib:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
opengl? (
|
||||
media-libs/freeglut
|
||||
virtual/opengl
|
||||
)
|
||||
png? ( media-libs/libpng:0= )
|
||||
tiff? ( media-libs/tiff:0= )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fix libtool relinking, bug 499270.
|
||||
#elibtoolize
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local args=(
|
||||
--enable-libwebpmux
|
||||
--enable-libwebpdemux
|
||||
--enable-libwebpdecoder
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable swap-16bit-csp)
|
||||
$(use_enable jpeg)
|
||||
$(use_enable png)
|
||||
$(use_enable opengl gl)
|
||||
$(use_enable tiff)
|
||||
|
||||
$(use_enable cpu_flags_x86_sse2 sse2)
|
||||
$(use_enable cpu_flags_x86_sse4_1 sse4.1)
|
||||
$(use_enable cpu_flags_arm_neon neon)
|
||||
|
||||
# Only used for gif2webp binary wrt #486646
|
||||
$(multilib_native_use_enable gif)
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${args[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
dodoc AUTHORS ChangeLog doc/*.txt NEWS README{,.mux}
|
||||
}
|
1
virtual/cargo/Manifest
Normal file
1
virtual/cargo/Manifest
Normal file
@ -0,0 +1 @@
|
||||
EBUILD cargo-1.44.1.ebuild 203 BLAKE2B 519296c1f49182c41d92fdbfbe86bdbdca04ab9c84e01fbb709150c3d2dd000a4372eb2cc005f9a9914432f47e354f25421ce0041977d7e8a07c50aec725638e SHA512 c1ae8e4d284daea75640d3bb7c98dd3ebacd9e3a8e0876d77961a23465d9c30664608bc40bddd2f45d490be37a252b6ae526beeb415a1aceaa3ed05e852f7c7c
|
13
virtual/cargo/cargo-1.44.1.ebuild
Normal file
13
virtual/cargo/cargo-1.44.1.ebuild
Normal file
@ -0,0 +1,13 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Package manager for Rust"
|
||||
HOMEPAGE=""
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
|
||||
RDEPEND="=virtual/rust-${PV}"
|
1
virtual/rust/Manifest
Normal file
1
virtual/rust/Manifest
Normal file
@ -0,0 +1 @@
|
||||
EBUILD rust-1.44.1.ebuild 259 BLAKE2B d6d92a6d0ce4f3aeb04678b38053660c621646aa68fa9e213f5b677af11c10631d4c5278f084806c0658f237335c656ef6f851c44dd343a39195196117c1cbba SHA512 396652f4a4ca721887fc3a28b7ae1a6611bd24ea9f725e9959d63ce30a1cb7979c100409f9922e6037e134fab167d6f2051442a1e0223b7c403d72fc151ba595
|
14
virtual/rust/rust-1.44.1.ebuild
Normal file
14
virtual/rust/rust-1.44.1.ebuild
Normal file
@ -0,0 +1,14 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Virtual for Rust language compiler"
|
||||
HOMEPAGE=""
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="*"
|
||||
|
||||
BDEPEND=""
|
||||
RDEPEND="|| ( =dev-lang/rust-bin-${PV}* =dev-lang/rust-${PV}* )"
|
13
www-client/chromium/Manifest
Normal file
13
www-client/chromium/Manifest
Normal file
@ -0,0 +1,13 @@
|
||||
AUX 01-chromium.conf 967 BLAKE2B d5da500872d5fdca245420942e1a5718ebd1bd4d47d0496306910c5929d4336b69082b48a6190e4617efebdbec68fd5fe8c67be3f8f3a2a943f42b778adafe71 SHA512 e66bc79027cf2311cea810ab02e59ffeac9698f3a83d773ebf96d14e4e95e62a96cf16e416b3638681c0be7d4b72da47091d4f8933dc3388c7f9dc5cafae5505
|
||||
AUX chromium-83-vaapi.patch 8203 BLAKE2B c36a2c695b4ffe00fff585d1f260d06ca0fc686a6d05442e746806b8a1d1a35396f4334ab480d4e3aa851d2d7cfff373606bcd8e15330e51f96d49779a25f98c SHA512 e0e930e4e5713b86ad87c9d5e901ed608dd982ab6cb6c0e8fa2cc7033a6d10dd85968a1e21d377ee35ba4b75068f7aadeda42fc11a85de3121a58e28bffd3cdf
|
||||
AUX chromium-84-mediaalloc.patch 1242 BLAKE2B 3545ea4f8d71a062f71c20f4fa3e1460dbd02d3512ce6445ac4f948582a51bdcbd98829eff9b01cb7b920313d1f849534c46a942eed209a56ca373da8e938b6b SHA512 7799be695afe24844aad35ee4ed2aeb338b36a06e29a7f8d8a9c5d2b2769167469b8cdfa3f8814e6976c26a2731fc73741dc1c0b095695e1a21bfd3db166f7b4
|
||||
AUX chromium-84-pipewire.patch 31734 BLAKE2B 72b756453dd761ad1023e35797bd718ce44ce96eeb91c52478e161f859beb31e11a3167572c2039cdabcf614ef59d1112f0f3315e24c0755470a3b1e74957922 SHA512 da211745e2300f2619997c6a277ebcd103c17eb37d9bad4ced163d5dafb3f67e06f47eadd6415ffde24cfec6754577c93ee0177507fa7b1a98a81f98dc98ebcd
|
||||
AUX chromium-browser.xml 408 BLAKE2B f780619ee2c179c84a5b636f773801c0b9ea718d5b63aac84554bb77cf32e1e59b01156e18d99bd84cd11708c8df4b828a68848348da4c6c9abd3877ad18466b SHA512 12c42129e3146c88264c85abdb0e20281eb36fd62dc4f3626f2534dd21e385acf46e21f7940911ea49182293cbcc72e6e76efde3e0056de3ae9e97064a68252c
|
||||
AUX chromium-launcher-r4.sh 1609 BLAKE2B 77d840d6195a83859539e061f5cc304beccf8a20d1ab947c73cb858b44b3d4bd2930ae7f25c08e972cda18616601a6f5dc66cf3c61988813e99e4d4c9d50c942 SHA512 1d6211bf0703aa8df6ff9e584040470f004d84de9c81d38caee52bb96e38aa2bbd8e495dfcb85105275b53eaf6a4f1de5b89eaab9995e94f8cf313d74061c923
|
||||
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
|
||||
DIST chromium-84-patchset-3.tar.xz 20148 BLAKE2B d910570b43f63bcf4ead90ca4e4005a08d7c85b5b4e7af2a70ec4bc18265cbe8b075523878710075cfee4e0631eb3374e1e6d06251f4bf03377954807b1951e9 SHA512 316db8b0359b10a988242a0d665475d912fa9b610a547478d8c39b337afc02780a54d7024e231eb4fd402063cf439f6e2b4bb92a4968c8e0c3e69d84a2ae1664
|
||||
DIST chromium-84.0.4147.89.tar.xz 845153972 BLAKE2B e8101805af6278fc9c49041071e7cd6d53fe79ba74b83b636584db57f459f003559758a51a1cd155d7fe3d5d0d21c95d37f84e638644c6e08b39ea02cce902be SHA512 cc207a5f09a89e42bc12fd491d5d0ef11c04daaa324aa696d2f8a37679b8f2171d3b265296968c3312e158b0fd2c059e12727a7463d3bd2f640d5bbd43c4f676
|
||||
DIST setuptools-44.1.0.zip 858569 BLAKE2B f59f154e121502a731e51294ccd293d60ffccadacf51e23b53bf7ceba38858948b86783238061136c827ac3373ea7ea8e6253d4bb53f3f1dd69284568ec65a68 SHA512 4dfb0f42d334b835758e865a26ecd1e725711fa2b9c38ddc273b8b3849fba04527bc97436d11ba1e98f1a42922aa0f0b9032e32998273c705fac6e10735eacbf
|
||||
DIST xcb-proto-1.14.tar.xz 143384 BLAKE2B 60212b0f0ce039a64a2e6cbbc78564eeffc57cff20987b37dc780d8d97ae888a7dbfbbaadc6e0e4bedfc5d1e360f16318e3825ad8406de668d9c7c66cf7f4b5d SHA512 de66d568163b6da2be9d6c59984f3afa3acd119a781378638045fd68018665ef5c9af98f024e9962ba3eb7c7a4d85c27ba70ffafceb2324ccc6940f34de16690
|
||||
EBUILD chromium-84.0.4147.89.ebuild 27404 BLAKE2B cd207fc3b0f0164f6142a69769e7a1fab4c2f2706b04f7611659e23e5e988814ae25b663b528915a2e1965784d18d9df163ff64f9be16ece3fa6dc5701fe3ab4 SHA512 198046b4eab1f246f9ab6b9d0e012e0877cfcbadd62ca227bf70f17ff830b98f652a22f1be5e4d0f30fd9c7410b3b1ea69603225f0171afaa4a561fb97805a27
|
||||
MISC metadata.xml 1351 BLAKE2B fb5be12f788385e19aa41ab929c0c0f2744a61cc83b19ed973174cee564043a871f68fadb721ee91d688020aa1daba5fb2bca4535c53630bd88cc0ede527ef53 SHA512 ae812473401017ce399461a829e7182e6e28c56b01c1da926883bd3edf751fa804dc88f429c77a3f533647b2115c960a7bba21572735dcf3d039a6d87fabf51d
|
890
www-client/chromium/chromium-84.0.4147.89.ebuild
Normal file
890
www-client/chromium/chromium-84.0.4147.89.ebuild
Normal file
@ -0,0 +1,890 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
|
||||
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
|
||||
sv sw ta te th tr uk vi zh-CN zh-TW"
|
||||
|
||||
inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="Open-source version of Google Chrome web browser"
|
||||
HOMEPAGE="https://chromium.org/"
|
||||
XCB_PROTO_VERSION="1.14"
|
||||
PATCHSET="3"
|
||||
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
|
||||
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
|
||||
https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
|
||||
https://www.x.org/releases/individual/proto/xcb-proto-${XCB_PROTO_VERSION}.tar.xz
|
||||
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64 ~x86"
|
||||
IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts headless kerberos +memsaver ozone pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc vaapi wayland widevine"
|
||||
RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
|
||||
REQUIRED_USE="
|
||||
component-build? ( !suid )
|
||||
wayland? ( ozone )
|
||||
vaapi? ( !ozone )
|
||||
"
|
||||
|
||||
COMMON_X_DEPEND="
|
||||
media-libs/mesa:=[gbm]
|
||||
x11-libs/libX11:=
|
||||
x11-libs/libXcomposite:=
|
||||
x11-libs/libXcursor:=
|
||||
x11-libs/libXdamage:=
|
||||
x11-libs/libXext:=
|
||||
x11-libs/libXfixes:=
|
||||
>=x11-libs/libXi-1.6.0:=
|
||||
x11-libs/libXrandr:=
|
||||
x11-libs/libXrender:=
|
||||
x11-libs/libXtst:=
|
||||
x11-libs/libXScrnSaver:=
|
||||
x11-libs/libxcb:=
|
||||
"
|
||||
|
||||
COMMON_DEPEND="
|
||||
app-arch/bzip2:=
|
||||
cups? ( >=net-print/cups-1.3.11:= )
|
||||
dev-libs/expat:=
|
||||
dev-libs/glib:2
|
||||
>=dev-libs/libxml2-2.9.4-r3:=[icu]
|
||||
dev-libs/nspr:=
|
||||
>=dev-libs/nss-3.26:=
|
||||
>=media-libs/alsa-lib-1.0.19:=
|
||||
media-libs/fontconfig:=
|
||||
media-libs/freetype:=
|
||||
>=media-libs/harfbuzz-2.4.0:0=[icu(-)]
|
||||
media-libs/libjpeg-turbo:=
|
||||
media-libs/libpng:=
|
||||
system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] )
|
||||
pulseaudio? ( media-sound/pulseaudio:= )
|
||||
system-ffmpeg? (
|
||||
>=media-video/ffmpeg-4:=
|
||||
|| (
|
||||
media-video/ffmpeg[-samba]
|
||||
>=net-fs/samba-4.5.10-r1[-debug(-)]
|
||||
)
|
||||
>=media-libs/opus-1.3.1:=
|
||||
)
|
||||
sys-apps/dbus:=
|
||||
sys-apps/pciutils:=
|
||||
virtual/udev
|
||||
x11-libs/cairo:=
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango:=
|
||||
media-libs/flac:=
|
||||
>=media-libs/libwebp-0.4.0:=
|
||||
sys-libs/zlib:=[minizip]
|
||||
kerberos? ( virtual/krb5 )
|
||||
vaapi? ( x11-libs/libva:= )
|
||||
ozone? (
|
||||
!headless? (
|
||||
${COMMON_X_DEPEND}
|
||||
x11-libs/gtk+:3[wayland?,X]
|
||||
wayland? (
|
||||
dev-libs/wayland:=
|
||||
dev-libs/libffi:=
|
||||
x11-libs/libdrm:=
|
||||
x11-libs/libxkbcommon:=
|
||||
)
|
||||
)
|
||||
)
|
||||
!ozone? (
|
||||
>=app-accessibility/at-spi2-atk-2.26:2
|
||||
>=app-accessibility/at-spi2-core-2.26:2
|
||||
>=dev-libs/atk-2.26
|
||||
x11-libs/gtk+:3[X]
|
||||
${COMMON_X_DEPEND}
|
||||
)
|
||||
"
|
||||
# For nvidia-drivers blocker, see bug #413637 .
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
x11-misc/xdg-utils
|
||||
virtual/opengl
|
||||
virtual/ttf-fonts
|
||||
selinux? ( sec-policy/selinux-chromium )
|
||||
tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
"
|
||||
# dev-vcs/git - https://bugs.gentoo.org/593476
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=app-arch/gzip-1.7
|
||||
app-arch/unzip
|
||||
dev-lang/perl
|
||||
>=dev-util/gn-0.1726
|
||||
dev-vcs/git
|
||||
>=dev-util/gperf-3.0.3
|
||||
>=dev-util/ninja-1.7.2
|
||||
>=net-libs/nodejs-7.6.0[inspector]
|
||||
sys-apps/hwids[usb(+)]
|
||||
>=sys-devel/bison-2.4.3
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
closure-compile? ( virtual/jre )
|
||||
"
|
||||
|
||||
: ${CHROMIUM_FORCE_CLANG=no}
|
||||
: ${CHROMIUM_FORCE_LIBCXX=no}
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
|
||||
BDEPEND+=" >=sys-devel/clang-9"
|
||||
fi
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
RDEPEND+=" >=sys-libs/libcxx-9"
|
||||
DEPEND+=" >=sys-libs/libcxx-9"
|
||||
else
|
||||
COMMON_DEPEND="
|
||||
app-arch/snappy:=
|
||||
dev-libs/libxslt:=
|
||||
>=dev-libs/re2-0.2019.08.01:=
|
||||
>=media-libs/openh264-1.6.0:=
|
||||
system-icu? ( >=dev-libs/icu-67.1:= )
|
||||
"
|
||||
RDEPEND+="${COMMON_DEPEND}"
|
||||
DEPEND+="${COMMON_DEPEND}"
|
||||
fi
|
||||
|
||||
if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
|
||||
EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
Some web pages may require additional fonts to display properly.
|
||||
Try installing some of the following packages if some characters
|
||||
are not displayed properly:
|
||||
- media-fonts/arphicfonts
|
||||
- media-fonts/droid
|
||||
- media-fonts/ipamonafont
|
||||
- media-fonts/noto
|
||||
- media-fonts/ja-ipafonts
|
||||
- media-fonts/takao-fonts
|
||||
- media-fonts/wqy-microhei
|
||||
- media-fonts/wqy-zenhei
|
||||
|
||||
To fix broken icons on the Downloads page, you should install an icon
|
||||
theme that covers the appropriate MIME types, and configure this as your
|
||||
GTK+ icon theme.
|
||||
|
||||
For native file dialogs in KDE, install kde-apps/kdialog.
|
||||
|
||||
To make password storage work with your desktop environment you may
|
||||
have install one of the supported credentials management applications:
|
||||
- app-crypt/libsecret (GNOME)
|
||||
- kde-frameworks/kwallet (KDE)
|
||||
If you have one of above packages installed, but don't want to use
|
||||
them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
|
||||
in /etc/chromium/default.
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/chromium-84-mediaalloc.patch"
|
||||
"${FILESDIR}/chromium-83-vaapi.patch"
|
||||
"${FILESDIR}/chromium-84-pipewire.patch"
|
||||
)
|
||||
|
||||
pre_build_checks() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
local -x CPP="$(tc-getCXX) -E"
|
||||
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
|
||||
die "At least gcc 9.2 is required"
|
||||
fi
|
||||
# component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
|
||||
if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
|
||||
die "Component build with tcmalloc requires FEATURES=-usersandbox."
|
||||
fi
|
||||
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
|
||||
if use component-build; then
|
||||
die "Component build with clang requires fuzzer headers."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check build requirements, bug #541816 and bug #471810 .
|
||||
CHECKREQS_MEMORY="3G"
|
||||
CHECKREQS_DISK_BUILD="7G"
|
||||
if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
|
||||
if use custom-cflags || use component-build; then
|
||||
CHECKREQS_DISK_BUILD="25G"
|
||||
fi
|
||||
if ! use component-build; then
|
||||
CHECKREQS_MEMORY="16G"
|
||||
fi
|
||||
fi
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
|
||||
chromium_suid_sandbox_check_kernel_config
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Calling this here supports resumption via FEATURES=keepwork
|
||||
python_setup
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
default
|
||||
|
||||
mkdir -p third_party/node/linux/node-linux-x64/bin || die
|
||||
ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
|
||||
|
||||
local keeplibs=(
|
||||
base/third_party/cityhash
|
||||
base/third_party/double_conversion
|
||||
base/third_party/dynamic_annotations
|
||||
base/third_party/icu
|
||||
base/third_party/nspr
|
||||
base/third_party/superfasthash
|
||||
base/third_party/symbolize
|
||||
base/third_party/valgrind
|
||||
base/third_party/xdg_mime
|
||||
base/third_party/xdg_user_dirs
|
||||
buildtools/third_party/libc++
|
||||
buildtools/third_party/libc++abi
|
||||
chrome/third_party/mozilla_security_manager
|
||||
courgette/third_party
|
||||
net/third_party/mozilla_security_manager
|
||||
net/third_party/nss
|
||||
net/third_party/quic
|
||||
net/third_party/uri_template
|
||||
third_party/abseil-cpp
|
||||
third_party/angle
|
||||
third_party/angle/src/common/third_party/base
|
||||
third_party/angle/src/common/third_party/smhasher
|
||||
third_party/angle/src/common/third_party/xxhash
|
||||
third_party/angle/src/third_party/compiler
|
||||
third_party/angle/src/third_party/libXNVCtrl
|
||||
third_party/angle/src/third_party/trace_event
|
||||
third_party/angle/src/third_party/volk
|
||||
third_party/angle/third_party/glslang
|
||||
third_party/angle/third_party/spirv-headers
|
||||
third_party/angle/third_party/spirv-tools
|
||||
third_party/angle/third_party/vulkan-headers
|
||||
third_party/angle/third_party/vulkan-loader
|
||||
third_party/angle/third_party/vulkan-tools
|
||||
third_party/angle/third_party/vulkan-validation-layers
|
||||
third_party/apple_apsl
|
||||
third_party/axe-core
|
||||
third_party/blink
|
||||
third_party/boringssl
|
||||
third_party/boringssl/src/third_party/fiat
|
||||
third_party/breakpad
|
||||
third_party/breakpad/breakpad/src/third_party/curl
|
||||
third_party/brotli
|
||||
third_party/cacheinvalidation
|
||||
third_party/catapult
|
||||
third_party/catapult/common/py_vulcanize/third_party/rcssmin
|
||||
third_party/catapult/common/py_vulcanize/third_party/rjsmin
|
||||
third_party/catapult/third_party/beautifulsoup4
|
||||
third_party/catapult/third_party/html5lib-python
|
||||
third_party/catapult/third_party/polymer
|
||||
third_party/catapult/third_party/six
|
||||
third_party/catapult/tracing/third_party/d3
|
||||
third_party/catapult/tracing/third_party/gl-matrix
|
||||
third_party/catapult/tracing/third_party/jpeg-js
|
||||
third_party/catapult/tracing/third_party/jszip
|
||||
third_party/catapult/tracing/third_party/mannwhitneyu
|
||||
third_party/catapult/tracing/third_party/oboe
|
||||
third_party/catapult/tracing/third_party/pako
|
||||
third_party/ced
|
||||
third_party/cld_3
|
||||
third_party/closure_compiler
|
||||
third_party/crashpad
|
||||
third_party/crashpad/crashpad/third_party/lss
|
||||
third_party/crashpad/crashpad/third_party/zlib
|
||||
third_party/crc32c
|
||||
third_party/cros_system_api
|
||||
third_party/dav1d
|
||||
third_party/dawn
|
||||
third_party/depot_tools
|
||||
third_party/devscripts
|
||||
third_party/devtools-frontend
|
||||
third_party/devtools-frontend/src/front_end/third_party/acorn
|
||||
third_party/devtools-frontend/src/front_end/third_party/codemirror
|
||||
third_party/devtools-frontend/src/front_end/third_party/fabricjs
|
||||
third_party/devtools-frontend/src/front_end/third_party/lighthouse
|
||||
third_party/devtools-frontend/src/front_end/third_party/wasmparser
|
||||
third_party/devtools-frontend/src/third_party
|
||||
third_party/dom_distiller_js
|
||||
third_party/emoji-segmenter
|
||||
third_party/flatbuffers
|
||||
third_party/freetype
|
||||
third_party/libgifcodec
|
||||
third_party/glslang
|
||||
third_party/google_input_tools
|
||||
third_party/google_input_tools/third_party/closure_library
|
||||
third_party/google_input_tools/third_party/closure_library/third_party/closure
|
||||
third_party/googletest
|
||||
third_party/harfbuzz-ng/utils
|
||||
third_party/hunspell
|
||||
third_party/iccjpeg
|
||||
third_party/inspector_protocol
|
||||
third_party/jinja2
|
||||
third_party/jsoncpp
|
||||
third_party/jstemplate
|
||||
third_party/khronos
|
||||
third_party/leveldatabase
|
||||
third_party/libXNVCtrl
|
||||
third_party/libaddressinput
|
||||
third_party/libaom
|
||||
third_party/libaom/source/libaom/third_party/vector
|
||||
third_party/libaom/source/libaom/third_party/x86inc
|
||||
third_party/libavif
|
||||
third_party/libjingle
|
||||
third_party/libphonenumber
|
||||
third_party/libsecret
|
||||
third_party/libsrtp
|
||||
third_party/libsync
|
||||
third_party/libudev
|
||||
third_party/libwebm
|
||||
third_party/libxml/chromium
|
||||
third_party/libyuv
|
||||
third_party/llvm
|
||||
third_party/lottie
|
||||
third_party/lss
|
||||
third_party/lzma_sdk
|
||||
third_party/mako
|
||||
third_party/markupsafe
|
||||
third_party/mesa
|
||||
third_party/metrics_proto
|
||||
third_party/modp_b64
|
||||
third_party/nasm
|
||||
third_party/node
|
||||
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
|
||||
third_party/one_euro_filter
|
||||
third_party/openscreen
|
||||
third_party/openscreen/src/third_party/mozilla
|
||||
third_party/openscreen/src/third_party/tinycbor/src/src
|
||||
third_party/ots
|
||||
third_party/pdfium
|
||||
third_party/pdfium/third_party/agg23
|
||||
third_party/pdfium/third_party/base
|
||||
third_party/pdfium/third_party/bigint
|
||||
third_party/pdfium/third_party/freetype
|
||||
third_party/pdfium/third_party/lcms
|
||||
third_party/pdfium/third_party/libopenjpeg20
|
||||
third_party/pdfium/third_party/libpng16
|
||||
third_party/pdfium/third_party/libtiff
|
||||
third_party/pdfium/third_party/skia_shared
|
||||
third_party/perfetto
|
||||
third_party/pffft
|
||||
third_party/ply
|
||||
third_party/polymer
|
||||
third_party/private-join-and-compute
|
||||
third_party/protobuf
|
||||
third_party/protobuf/third_party/six
|
||||
third_party/pyjson5
|
||||
third_party/qcms
|
||||
third_party/rnnoise
|
||||
third_party/s2cellid
|
||||
third_party/schema_org
|
||||
third_party/simplejson
|
||||
third_party/skia
|
||||
third_party/skia/include/third_party/skcms
|
||||
third_party/skia/include/third_party/vulkan
|
||||
third_party/skia/third_party/skcms
|
||||
third_party/skia/third_party/vulkan
|
||||
third_party/smhasher
|
||||
third_party/spirv-headers
|
||||
third_party/SPIRV-Tools
|
||||
third_party/sqlite
|
||||
third_party/swiftshader
|
||||
third_party/swiftshader/third_party/astc-encoder
|
||||
third_party/swiftshader/third_party/llvm-7.0
|
||||
third_party/swiftshader/third_party/llvm-subzero
|
||||
third_party/swiftshader/third_party/marl
|
||||
third_party/swiftshader/third_party/subzero
|
||||
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
|
||||
third_party/unrar
|
||||
third_party/usrsctp
|
||||
third_party/vulkan
|
||||
third_party/web-animations-js
|
||||
third_party/webdriver
|
||||
third_party/webrtc
|
||||
third_party/webrtc/common_audio/third_party/ooura
|
||||
third_party/webrtc/common_audio/third_party/spl_sqrt_floor
|
||||
third_party/webrtc/modules/third_party/fft
|
||||
third_party/webrtc/modules/third_party/g711
|
||||
third_party/webrtc/modules/third_party/g722
|
||||
third_party/webrtc/rtc_base/third_party/base64
|
||||
third_party/webrtc/rtc_base/third_party/sigslot
|
||||
third_party/widevine
|
||||
third_party/woff2
|
||||
third_party/wuffs
|
||||
third_party/zlib/google
|
||||
tools/grit/third_party/six
|
||||
url/third_party/mozilla
|
||||
v8/src/third_party/siphash
|
||||
v8/src/third_party/valgrind
|
||||
v8/src/third_party/utf8-decoder
|
||||
v8/third_party/inspector_protocol
|
||||
v8/third_party/v8
|
||||
|
||||
# gyp -> gn leftovers
|
||||
base/third_party/libevent
|
||||
third_party/adobe
|
||||
third_party/speech-dispatcher
|
||||
third_party/usb_ids
|
||||
third_party/xdg-utils
|
||||
)
|
||||
if ! use system-ffmpeg; then
|
||||
keeplibs+=( third_party/ffmpeg third_party/opus )
|
||||
fi
|
||||
if ! use system-icu; then
|
||||
keeplibs+=( third_party/icu )
|
||||
fi
|
||||
if ! use system-libvpx; then
|
||||
keeplibs+=( third_party/libvpx )
|
||||
keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
|
||||
|
||||
# we need to generate ppc64 stuff because upstream does not ship it yet
|
||||
# it has to be done before unbundling.
|
||||
if use ppc64; then
|
||||
pushd third_party/libvpx >/dev/null || die
|
||||
mkdir -p source/config/linux/ppc64 || die
|
||||
./generate_gni.sh || die
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
fi
|
||||
if use tcmalloc; then
|
||||
keeplibs+=( third_party/tcmalloc )
|
||||
fi
|
||||
if use ozone && use wayland && ! use headless ; then
|
||||
keeplibs+=( third_party/wayland )
|
||||
fi
|
||||
if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
keeplibs+=( third_party/libxml )
|
||||
keeplibs+=( third_party/libxslt )
|
||||
keeplibs+=( third_party/openh264 )
|
||||
keeplibs+=( third_party/re2 )
|
||||
keeplibs+=( third_party/snappy )
|
||||
if use system-icu; then
|
||||
keeplibs+=( third_party/icu )
|
||||
fi
|
||||
fi
|
||||
# Remove most bundled libraries. Some are still needed.
|
||||
build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Calling this here supports resumption via FEATURES=keepwork
|
||||
python_setup
|
||||
|
||||
local myconf_gn=""
|
||||
|
||||
# Make sure the build system will use the right tools, bug #340795.
|
||||
tc-export AR CC CXX NM
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
|
||||
# Force clang since gcc is pretty broken at the moment.
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
if tc-is-clang; then
|
||||
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
|
||||
else
|
||||
if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
die "Compiling with sys-libs/libcxx requires clang."
|
||||
fi
|
||||
myconf_gn+=" is_clang=false"
|
||||
fi
|
||||
|
||||
# Define a custom toolchain for GN
|
||||
myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
tc-export BUILD_{AR,CC,CXX,NM}
|
||||
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
|
||||
myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
|
||||
else
|
||||
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
fi
|
||||
|
||||
# GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
|
||||
myconf_gn+=" is_debug=false"
|
||||
|
||||
# Component build isn't generally intended for use by end users. It's mostly useful
|
||||
# for development and debugging.
|
||||
myconf_gn+=" is_component_build=$(usex component-build true false)"
|
||||
|
||||
myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
|
||||
|
||||
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
|
||||
myconf_gn+=" enable_nacl=false"
|
||||
|
||||
# Use system-provided libraries.
|
||||
# TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
|
||||
# TODO: use_system_hunspell (upstream changes needed).
|
||||
# TODO: use_system_libsrtp (bug #459932).
|
||||
# TODO: use_system_protobuf (bug #525560).
|
||||
# TODO: use_system_ssl (http://crbug.com/58087).
|
||||
# TODO: use_system_sqlite (http://crbug.com/22208).
|
||||
|
||||
# libevent: https://bugs.gentoo.org/593458
|
||||
local gn_system_libraries=(
|
||||
flac
|
||||
fontconfig
|
||||
freetype
|
||||
# Need harfbuzz_from_pkgconfig target
|
||||
#harfbuzz-ng
|
||||
libdrm
|
||||
libjpeg
|
||||
libpng
|
||||
libwebp
|
||||
zlib
|
||||
)
|
||||
if use system-ffmpeg; then
|
||||
gn_system_libraries+=( ffmpeg opus )
|
||||
fi
|
||||
if use system-icu; then
|
||||
gn_system_libraries+=( icu )
|
||||
fi
|
||||
if use system-libvpx; then
|
||||
gn_system_libraries+=( libvpx )
|
||||
fi
|
||||
if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
|
||||
# unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
|
||||
gn_system_libraries+=( libxml )
|
||||
gn_system_libraries+=( libxslt )
|
||||
gn_system_libraries+=( openh264 )
|
||||
gn_system_libraries+=( re2 )
|
||||
gn_system_libraries+=( snappy )
|
||||
fi
|
||||
build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
|
||||
|
||||
# See dependency logic in third_party/BUILD.gn
|
||||
myconf_gn+=" use_system_harfbuzz=true"
|
||||
|
||||
# Disable deprecated libgnome-keyring dependency, bug #713012
|
||||
myconf_gn+=" use_gnome_keyring=false"
|
||||
|
||||
# Optional dependencies.
|
||||
myconf_gn+=" closure_compile=$(usex closure-compile true false)"
|
||||
myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
|
||||
myconf_gn+=" enable_widevine=$(usex widevine true false)"
|
||||
myconf_gn+=" use_cups=$(usex cups true false)"
|
||||
myconf_gn+=" use_kerberos=$(usex kerberos true false)"
|
||||
myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
|
||||
myconf_gn+=" use_vaapi=$(usex vaapi true false)"
|
||||
|
||||
# TODO: link_pulseaudio=true for GN.
|
||||
|
||||
myconf_gn+=" fieldtrial_testing_like_official_build=true"
|
||||
|
||||
# Never use bundled gold binary. Disable gold linker flags for now.
|
||||
# Do not use bundled clang.
|
||||
# Trying to use gold results in linker crash.
|
||||
myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
|
||||
|
||||
# Disable forced lld, bug 641556
|
||||
myconf_gn+=" use_lld=false"
|
||||
|
||||
ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
|
||||
myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
|
||||
myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
|
||||
|
||||
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution,
|
||||
# please get your own set of keys. Feel free to contact chromium@gentoo.org
|
||||
# for more info.
|
||||
local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
myconf_gn+=" google_api_key=\"${google_api_key}\""
|
||||
myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
|
||||
myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
|
||||
local myarch="$(tc-arch)"
|
||||
|
||||
# Avoid CFLAGS problems, bug #352457, bug #390147.
|
||||
if ! use custom-cflags; then
|
||||
replace-flags "-Os" "-O2"
|
||||
strip-flags
|
||||
|
||||
# Debug info section overflows without component build
|
||||
# Prevent linker from running out of address space, bug #471810 .
|
||||
if ! use component-build || use x86; then
|
||||
filter-flags "-g*"
|
||||
fi
|
||||
|
||||
# Prevent libvpx build failures. Bug 530248, 544702, 546984.
|
||||
if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
|
||||
filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
append-flags -stdlib=libc++
|
||||
append-ldflags -stdlib=libc++
|
||||
fi
|
||||
|
||||
if [[ $myarch = amd64 ]] ; then
|
||||
myconf_gn+=" target_cpu=\"x64\""
|
||||
ffmpeg_target_arch=x64
|
||||
elif [[ $myarch = x86 ]] ; then
|
||||
myconf_gn+=" target_cpu=\"x86\""
|
||||
ffmpeg_target_arch=ia32
|
||||
|
||||
# This is normally defined by compiler_cpu_abi in
|
||||
# build/config/compiler/BUILD.gn, but we patch that part out.
|
||||
append-flags -msse2 -mfpmath=sse -mmmx
|
||||
elif [[ $myarch = arm64 ]] ; then
|
||||
myconf_gn+=" target_cpu=\"arm64\""
|
||||
ffmpeg_target_arch=arm64
|
||||
elif [[ $myarch = arm ]] ; then
|
||||
myconf_gn+=" target_cpu=\"arm\""
|
||||
ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
|
||||
elif [[ $myarch = ppc64 ]] ; then
|
||||
myconf_gn+=" target_cpu=\"ppc64\""
|
||||
ffmpeg_target_arch=ppc64
|
||||
else
|
||||
die "Failed to determine target arch, got '$myarch'."
|
||||
fi
|
||||
|
||||
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
|
||||
# Depending on GCC version the warnings are different and we don't want
|
||||
# the build to fail because of that.
|
||||
myconf_gn+=" treat_warnings_as_errors=false"
|
||||
|
||||
# Disable fatal linker warnings, bug 506268.
|
||||
myconf_gn+=" fatal_linker_warnings=false"
|
||||
|
||||
# Bug 491582.
|
||||
export TMPDIR="${WORKDIR}/temp"
|
||||
mkdir -p -m 755 "${TMPDIR}" || die
|
||||
|
||||
# https://bugs.gentoo.org/654216
|
||||
addpredict /dev/dri/ #nowarn
|
||||
|
||||
#if ! use system-ffmpeg; then
|
||||
if false; then
|
||||
local build_ffmpeg_args=""
|
||||
if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
|
||||
build_ffmpeg_args+=" --disable-asm"
|
||||
fi
|
||||
|
||||
# Re-configure bundled ffmpeg. See bug #491378 for example reasons.
|
||||
einfo "Configuring bundled ffmpeg..."
|
||||
pushd third_party/ffmpeg > /dev/null || die
|
||||
chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
|
||||
--branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
|
||||
chromium/scripts/copy_config.sh || die
|
||||
chromium/scripts/generate_gn.py || die
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
# Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
|
||||
append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
|
||||
|
||||
# Explicitly disable ICU data file support for system-icu builds.
|
||||
if use system-icu; then
|
||||
myconf_gn+=" icu_use_data_file=false"
|
||||
fi
|
||||
|
||||
# Use bundled xcb-proto, bug #727000
|
||||
myconf_gn+=" xcbproto_path=\"${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}/src\""
|
||||
|
||||
# Enable ozone support
|
||||
if use ozone; then
|
||||
myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
|
||||
myconf_gn+=" ozone_platform_headless=true"
|
||||
if ! use headless; then
|
||||
myconf_gn+=" use_system_libdrm=true"
|
||||
myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
|
||||
myconf_gn+=" ozone_platform_x11=true"
|
||||
myconf_gn+=" ozone_platform_headless=true"
|
||||
if use wayland; then
|
||||
myconf_gn+=" use_system_minigbm=true use_xkbcommon=true"
|
||||
myconf_gn+=" ozone_platform=\"wayland\""
|
||||
else
|
||||
myconf_gn+=" ozone_platform=\"x11\""
|
||||
fi
|
||||
else
|
||||
myconf_gn+=" ozone_platform=\"headless\""
|
||||
fi
|
||||
fi
|
||||
|
||||
if use screencast; then
|
||||
myconf_gn+=" rtc_use_pipewire=true rtc_link_pipewire=true"
|
||||
myconf_gn+=" rtc_use_pipewire_version=\"0.3\""
|
||||
fi
|
||||
|
||||
einfo "Configuring Chromium..."
|
||||
set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
|
||||
echo "$@"
|
||||
"$@" || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use memsaver; then
|
||||
# limit number of jobs based on available memory:
|
||||
mem=$(grep ^MemTotal /proc/meminfo | awk '{print $2}')
|
||||
jobs=$((mem/2500000))
|
||||
if [ ${jobs} -lt 1 ]; then
|
||||
jobs=-j1
|
||||
else
|
||||
jobs=-j${jobs}
|
||||
fi
|
||||
einfo "Using jobs setting of ${jobs}"
|
||||
else
|
||||
jobs=""
|
||||
einfo "Using default Portage jobs setting."
|
||||
fi
|
||||
# Final link uses lots of file descriptors.
|
||||
ulimit -n 2048
|
||||
|
||||
# Calling this here supports resumption via FEATURES=keepwork
|
||||
python_setup
|
||||
|
||||
# https://bugs.gentoo.org/717456
|
||||
# Use bundled xcb-proto, because system xcb-proto doesn't have Python 2.7 support
|
||||
local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}${PYTHONPATH+:}${PYTHONPATH}"
|
||||
|
||||
#"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
|
||||
|
||||
# Build mksnapshot and pax-mark it.
|
||||
local x
|
||||
for x in mksnapshot v8_context_snapshot_generator; do
|
||||
if tc-is-cross-compiler; then
|
||||
eninja ${jobs} -C out/Release "host/${x}"
|
||||
pax-mark m "out/Release/host/${x}"
|
||||
else
|
||||
eninja ${jobs} -C out/Release "${x}"
|
||||
pax-mark m "out/Release/${x}"
|
||||
fi
|
||||
done
|
||||
|
||||
eninja ${jobs} -C out/Release chrome chromedriver
|
||||
use suid && eninja ${jobs} -C out/Release chrome_sandbox
|
||||
|
||||
pax-mark m out/Release/chrome
|
||||
|
||||
# Build manpage; bug #684550
|
||||
sed -e 's|@@PACKAGE@@|chromium-browser|g;
|
||||
s|@@MENUNAME@@|Chromium|g;' \
|
||||
chrome/app/resources/manpage.1.in > \
|
||||
out/Release/chromium-browser.1 || die
|
||||
|
||||
# Build desktop file; bug #706786
|
||||
sed -e 's|@@MENUNAME@@|Chromium|g;
|
||||
s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
|
||||
s|@@PACKAGE@@|chromium-browser|g;
|
||||
s|\(^Exec=\)/usr/bin/|\1|g;' \
|
||||
chrome/installer/linux/common/desktop.template > \
|
||||
out/Release/chromium-browser-chromium.desktop || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
|
||||
exeinto "${CHROMIUM_HOME}"
|
||||
doexe out/Release/chrome
|
||||
|
||||
if use suid; then
|
||||
newexe out/Release/chrome_sandbox chrome-sandbox
|
||||
fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
|
||||
fi
|
||||
|
||||
doexe out/Release/chromedriver
|
||||
|
||||
ozone_auto_session () {
|
||||
use ozone && use wayland && ! use headless && echo true || echo false
|
||||
}
|
||||
local sedargs=( -e
|
||||
"s:/usr/lib/:/usr/$(get_libdir)/:g;
|
||||
s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
|
||||
)
|
||||
sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r4.sh" > chromium-launcher.sh || die
|
||||
doexe chromium-launcher.sh
|
||||
|
||||
if use vaapi; then
|
||||
insinto /usr/share/drirc.d
|
||||
newins "${FILESDIR}"/01-chromium.conf 01-chromium.conf
|
||||
fi
|
||||
|
||||
# It is important that we name the target "chromium-browser",
|
||||
# xdg-utils expect it; bug #355517.
|
||||
dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
|
||||
# keep the old symlink around for consistency
|
||||
dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
|
||||
|
||||
dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
|
||||
|
||||
# Allow users to override command-line options, bug #357629.
|
||||
insinto /etc/chromium
|
||||
newins "${FILESDIR}/chromium.default" "default"
|
||||
|
||||
pushd out/Release/locales > /dev/null || die
|
||||
chromium_remove_language_paks
|
||||
popd
|
||||
|
||||
insinto "${CHROMIUM_HOME}"
|
||||
doins out/Release/*.bin
|
||||
doins out/Release/*.pak
|
||||
(
|
||||
shopt -s nullglob
|
||||
local files=(out/Release/*.so)
|
||||
[[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
|
||||
)
|
||||
|
||||
if ! use system-icu; then
|
||||
doins out/Release/icudtl.dat
|
||||
fi
|
||||
|
||||
doins -r out/Release/locales
|
||||
doins -r out/Release/resources
|
||||
|
||||
if [[ -d out/Release/swiftshader ]]; then
|
||||
insinto "${CHROMIUM_HOME}/swiftshader"
|
||||
doins out/Release/swiftshader/*.so
|
||||
fi
|
||||
|
||||
# Install icons
|
||||
local branding size
|
||||
for size in 16 24 32 48 64 128 256 ; do
|
||||
case ${size} in
|
||||
16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
|
||||
*) branding="chrome/app/theme/chromium" ;;
|
||||
esac
|
||||
newicon -s ${size} "${branding}/product_logo_${size}.png" \
|
||||
chromium-browser.png
|
||||
done
|
||||
|
||||
# Install desktop entry
|
||||
domenu out/Release/chromium-browser-chromium.desktop
|
||||
|
||||
# Install GNOME default application entry (bug #303100).
|
||||
insinto /usr/share/gnome-control-center/default-apps
|
||||
newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
|
||||
|
||||
# Install manpage; bug #684550
|
||||
doman out/Release/chromium-browser.1
|
||||
dosym chromium-browser.1 /usr/share/man/man1/chromium.1
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
readme.gentoo_print_elog
|
||||
}
|
33
www-client/chromium/files/01-chromium.conf
Normal file
33
www-client/chromium/files/01-chromium.conf
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<!--
|
||||
|
||||
============================================
|
||||
Application bugs worked around in this file:
|
||||
============================================
|
||||
|
||||
* Work around misrendering with Chromium and vaapi on gallium drivers
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE driconf [
|
||||
<!ELEMENT driconf (device+)>
|
||||
<!ELEMENT device (application+)>
|
||||
<!ATTLIST device driver CDATA #IMPLIED>
|
||||
<!ELEMENT application (option+)>
|
||||
<!ATTLIST application name CDATA #REQUIRED
|
||||
executable CDATA #REQUIRED>
|
||||
<!ELEMENT option EMPTY>
|
||||
<!ATTLIST option name CDATA #REQUIRED
|
||||
value CDATA #REQUIRED>
|
||||
]>
|
||||
|
||||
<driconf>
|
||||
<!-- Please always enable app-specific workarounds for all drivers and
|
||||
screens. -->
|
||||
<device>
|
||||
<application name="Chromium" executable="chrome">
|
||||
<option name="allow_rgb10_configs" value="false" />
|
||||
</application>
|
||||
</device>
|
||||
</driconf>
|
||||
|
183
www-client/chromium/files/chromium-83-vaapi.patch
Normal file
183
www-client/chromium/files/chromium-83-vaapi.patch
Normal file
@ -0,0 +1,183 @@
|
||||
From 7cda9be20eedac2f972f4b99d71a7732d87f1b9b Mon Sep 17 00:00:00 2001
|
||||
From: Mike Lothian <mike@fireburn.co.uk>
|
||||
Date: Thu, 23 Apr 2020 09:51:10 +0100
|
||||
Subject: [PATCH] Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only
|
||||
|
||||
This patch contains all the changes necessary to use VA-API along with
|
||||
vaapi-driver to run all media use cases supported with hardware acceleration.
|
||||
|
||||
It is intended to remain as experimental accessible from chrome://flags on linux.
|
||||
It requires libva/intel-vaapi-driver to be installed on the system path where
|
||||
chrome is executed. Other drivers could be tested if available. Flags are
|
||||
kept independent for linux, where this feature has to be enabled before
|
||||
actually using it. This should not change how other OSes use the flags
|
||||
already, the new flags will show at the buttom on the section of unavailable
|
||||
experiments
|
||||
|
||||
The changes cover a range of compiler pre-processor flags to enable the stack.
|
||||
It moves the presandbox operations to the vaapi_wrapper class as the hook function
|
||||
is available there. vaInit will open driver on the correct installed folder.
|
||||
|
||||
chrome flags consolidtation into only two flags for linux. Mjpeg and accelerated
|
||||
video are used. The other flags are kept for ChromeOS and other OSes.
|
||||
|
||||
Developer testing was made on skylake hardware, ChromeOS and Ubuntu.
|
||||
|
||||
BUG=NONE
|
||||
TEST="subjective testing with VAVDA,VAVEA and VAJDA, autotest for encoder"
|
||||
TEST="and decoder hardware accelerated"
|
||||
TEST="have libva/intel-vaapi-driver installed and not installed in the system"
|
||||
TEST="repeat on different hardware families"
|
||||
R=posciak@chromium.org
|
||||
R=kcwu@chromium.org
|
||||
|
||||
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
|
||||
Change-Id: Ifbbf5c9e5221a8b5733fc6d4d0cf984a1f103171
|
||||
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
|
||||
---
|
||||
chrome/browser/about_flags.cc | 8 ++++----
|
||||
chrome/browser/flag_descriptions.cc | 9 ++++++---
|
||||
chrome/browser/flag_descriptions.h | 10 ++++++++--
|
||||
gpu/config/software_rendering_list.json | 3 ++-
|
||||
media/gpu/vaapi/vaapi_video_decode_accelerator.cc | 5 +++++
|
||||
5 files changed, 25 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
index 65f76461ec12..5820726d7ad5 100644
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"disable-accelerated-video-decode",
|
||||
flag_descriptions::kAcceleratedVideoDecodeName,
|
||||
flag_descriptions::kAcceleratedVideoDecodeDescription,
|
||||
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
|
||||
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
|
||||
},
|
||||
{
|
||||
@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
|
||||
MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
|
||||
#endif // ENABLE_VR
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
|
||||
{"disable-accelerated-mjpeg-decode",
|
||||
flag_descriptions::kAcceleratedMjpegDecodeName,
|
||||
- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
|
||||
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
|
||||
-#endif // OS_CHROMEOS
|
||||
+#endif // OS_CHROMEOS | OS_LINUX
|
||||
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
|
||||
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
index e80fab827621..98b36fa0bcca 100644
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -2980,16 +2980,19 @@ const char kMetalDescription[] =
|
||||
|
||||
#endif
|
||||
|
||||
-// Chrome OS -------------------------------------------------------------------
|
||||
-
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+// Chrome OS and Linux -------------------------------------------------------------------
|
||||
|
||||
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
const char kAcceleratedMjpegDecodeName[] =
|
||||
"Hardware-accelerated mjpeg decode for captured frame";
|
||||
const char kAcceleratedMjpegDecodeDescription[] =
|
||||
"Enable hardware-accelerated mjpeg decode for captured frame where "
|
||||
"available.";
|
||||
+#endif
|
||||
|
||||
+// Chrome OS -----------------------------------------------------------------------------
|
||||
+
|
||||
+#if defined(OS_CHROMEOS)
|
||||
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
|
||||
const char kAggregatedMlAppRankingDescription[] =
|
||||
"Use the aggregated ML model to rank the suggested apps.";
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
index 7672b58e6a25..a3baa084c5a0 100644
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[];
|
||||
|
||||
#endif // defined(OS_MACOSX)
|
||||
|
||||
-// Chrome OS ------------------------------------------------------------------
|
||||
+// Chrome OS and Linux ---------------------------------------------------------
|
||||
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
|
||||
extern const char kAcceleratedMjpegDecodeName[];
|
||||
extern const char kAcceleratedMjpegDecodeDescription[];
|
||||
|
||||
+#endif
|
||||
+
|
||||
+// Chrome OS -------------------------------------------------------------------
|
||||
+
|
||||
+#if defined(OS_CHROMEOS)
|
||||
+
|
||||
extern const char kAggregatedMlAppRankingName[];
|
||||
extern const char kAggregatedMlAppRankingDescription[];
|
||||
|
||||
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
|
||||
index 68bed9e49ddf..5e7fe9cf433b 100644
|
||||
--- a/gpu/config/software_rendering_list.json
|
||||
+++ b/gpu/config/software_rendering_list.json
|
||||
@@ -337,11 +337,12 @@
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
- "description": "Accelerated video decode is unavailable on Linux",
|
||||
+ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
|
||||
"cr_bugs": [137247, 1032907],
|
||||
"os": {
|
||||
"type": "linux"
|
||||
},
|
||||
+ "vendor_id": "0x10de",
|
||||
"exceptions": [
|
||||
{
|
||||
"machine_model_name": ["Chromecast"]
|
||||
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
index 5020b2b8bf96..a6f1d681b851 100644
|
||||
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure failure) {
|
||||
VAVDA_DECODER_FAILURES_MAX + 1);
|
||||
}
|
||||
|
||||
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
||||
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
|
||||
// Lake) Cpu platform id's are referenced from the following file in kernel
|
||||
// source arch/x86/include/asm/intel-family.h
|
||||
@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
|
||||
cpuid.model() >= kGeminiLakeModelId;
|
||||
return is_geminilake_or_later;
|
||||
}
|
||||
+#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
|
||||
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
|
||||
return BufferAllocationMode::kNormal;
|
||||
|
||||
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
||||
+ // Move this to chromeOs only as it is causing problem in some intel linux drivers
|
||||
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
|
||||
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
|
||||
// associated format reconciliation copy, avoiding all internal buffer
|
||||
@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
|
||||
num_extra_pics_ = 3;
|
||||
return BufferAllocationMode::kNone;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// If we're here, we have to use the Vpp unit and allocate buffers for
|
||||
// |decoder_|; usually we'd have to allocate the |decoder_|s
|
||||
--
|
||||
2.26.2
|
41
www-client/chromium/files/chromium-84-mediaalloc.patch
Normal file
41
www-client/chromium/files/chromium-84-mediaalloc.patch
Normal file
@ -0,0 +1,41 @@
|
||||
https://bugs.chromium.org/p/chromium/issues/detail?id=1095962
|
||||
|
||||
--- /media/base/media.cc
|
||||
+++ /media/base/media.cc
|
||||
@@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
#include "media/base/media.h"
|
||||
|
||||
#include "base/allocator/buildflags.h"
|
||||
@@ -41,7 +43,7 @@
|
||||
|
||||
#if BUILDFLAG(USE_ALLOCATOR_SHIM)
|
||||
// Remove allocation limit from ffmpeg, so calls go down to shim layer.
|
||||
- av_max_alloc(0);
|
||||
+ av_max_alloc(std::numeric_limits<size_t>::max());
|
||||
#endif // BUILDFLAG(USE_ALLOCATOR_SHIM)
|
||||
|
||||
#endif // BUILDFLAG(ENABLE_FFMPEG)
|
||||
--- /third_party/ffmpeg/chromium/dllmain.cc
|
||||
+++ /third_party/ffmpeg/chromium/dllmain.cc
|
||||
@@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include <intrin.h>
|
||||
+#include <limits>
|
||||
#include <new.h>
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
@@ -28,7 +29,7 @@
|
||||
if (reason == DLL_PROCESS_ATTACH) {
|
||||
DisableThreadLibraryCalls(instance);
|
||||
// Remove allocation limit from ffmpeg, so calls go down to shim layer.
|
||||
- av_max_alloc(0);
|
||||
+ av_max_alloc(std::numeric_limits<size_t>::max());
|
||||
// Enable OOM crashes in the shim for all malloc calls that fail.
|
||||
_set_new_mode(1);
|
||||
_set_new_handler(&OnNoMemory);
|
792
www-client/chromium/files/chromium-84-pipewire.patch
Normal file
792
www-client/chromium/files/chromium-84-pipewire.patch
Normal file
@ -0,0 +1,792 @@
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/BUILD.gn
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/BUILD.gn
|
||||
@@ -196,7 +196,7 @@ if (is_linux) {
|
||||
|
||||
if (rtc_link_pipewire) {
|
||||
pkg_config("pipewire") {
|
||||
- packages = [ "libpipewire-0.2" ]
|
||||
+ packages = [ "libpipewire-${rtc_use_pipewire_version}", "libspa-${rtc_use_spa_version}" ]
|
||||
}
|
||||
} else {
|
||||
# When libpipewire is not directly linked, use stubs to allow for dlopening of
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
@@ -14,8 +14,11 @@
|
||||
#include <glib-object.h>
|
||||
#include <spa/param/format-utils.h>
|
||||
#include <spa/param/props.h>
|
||||
-#include <spa/param/video/raw-utils.h>
|
||||
-#include <spa/support/type-map.h>
|
||||
+
|
||||
+#include <linux/dma-buf.h>
|
||||
+#include <sys/mman.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/syscall.h>
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
@@ -51,31 +54,35 @@ const char kPipeWireLib[] = "libpipewire
|
||||
#endif
|
||||
|
||||
// static
|
||||
-void BaseCapturerPipeWire::OnStateChanged(void* data,
|
||||
- pw_remote_state old_state,
|
||||
- pw_remote_state state,
|
||||
- const char* error_message) {
|
||||
- BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
|
||||
- RTC_DCHECK(that);
|
||||
+void BaseCapturerPipeWire::SyncDmaBuf(int fd, uint64_t start_or_end) {
|
||||
+ struct dma_buf_sync sync = { 0 };
|
||||
|
||||
- switch (state) {
|
||||
- case PW_REMOTE_STATE_ERROR:
|
||||
- RTC_LOG(LS_ERROR) << "PipeWire remote state error: " << error_message;
|
||||
- break;
|
||||
- case PW_REMOTE_STATE_CONNECTED:
|
||||
- RTC_LOG(LS_INFO) << "PipeWire remote state: connected.";
|
||||
- that->CreateReceivingStream();
|
||||
- break;
|
||||
- case PW_REMOTE_STATE_CONNECTING:
|
||||
- RTC_LOG(LS_INFO) << "PipeWire remote state: connecting.";
|
||||
+ sync.flags = start_or_end | DMA_BUF_SYNC_READ;
|
||||
+
|
||||
+ while(true) {
|
||||
+ int ret;
|
||||
+ ret = ioctl (fd, DMA_BUF_IOCTL_SYNC, &sync);
|
||||
+ if (ret == -1 && errno == EINTR) {
|
||||
+ continue;
|
||||
+ } else if (ret == -1) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to synchronize DMA buffer: " << g_strerror(errno);
|
||||
break;
|
||||
- case PW_REMOTE_STATE_UNCONNECTED:
|
||||
- RTC_LOG(LS_INFO) << "PipeWire remote state: unconnected.";
|
||||
+ } else {
|
||||
break;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
+void BaseCapturerPipeWire::OnCoreError(void *data,
|
||||
+ uint32_t id,
|
||||
+ int seq,
|
||||
+ int res,
|
||||
+ const char *message) {
|
||||
+ RTC_LOG(LS_ERROR) << "core error: " << message;
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
void BaseCapturerPipeWire::OnStreamStateChanged(void* data,
|
||||
pw_stream_state old_state,
|
||||
pw_stream_state state,
|
||||
@@ -87,76 +94,54 @@ void BaseCapturerPipeWire::OnStreamState
|
||||
case PW_STREAM_STATE_ERROR:
|
||||
RTC_LOG(LS_ERROR) << "PipeWire stream state error: " << error_message;
|
||||
break;
|
||||
- case PW_STREAM_STATE_CONFIGURE:
|
||||
- pw_stream_set_active(that->pw_stream_, true);
|
||||
- break;
|
||||
- case PW_STREAM_STATE_UNCONNECTED:
|
||||
- case PW_STREAM_STATE_CONNECTING:
|
||||
- case PW_STREAM_STATE_READY:
|
||||
case PW_STREAM_STATE_PAUSED:
|
||||
case PW_STREAM_STATE_STREAMING:
|
||||
+ case PW_STREAM_STATE_UNCONNECTED:
|
||||
+ case PW_STREAM_STATE_CONNECTING:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
-void BaseCapturerPipeWire::OnStreamFormatChanged(void* data,
|
||||
- const struct spa_pod* format) {
|
||||
+void BaseCapturerPipeWire::OnStreamParamChanged(void *data, uint32_t id,
|
||||
+ const struct spa_pod *format) {
|
||||
BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
|
||||
RTC_DCHECK(that);
|
||||
|
||||
- RTC_LOG(LS_INFO) << "PipeWire stream format changed.";
|
||||
+ RTC_LOG(LS_INFO) << "PipeWire stream param changed.";
|
||||
|
||||
- if (!format) {
|
||||
- pw_stream_finish_format(that->pw_stream_, /*res=*/0, /*params=*/nullptr,
|
||||
- /*n_params=*/0);
|
||||
+ if (!format || id != SPA_PARAM_Format) {
|
||||
return;
|
||||
}
|
||||
|
||||
- that->spa_video_format_ = new spa_video_info_raw();
|
||||
- spa_format_video_raw_parse(format, that->spa_video_format_,
|
||||
- &that->pw_type_->format_video);
|
||||
+ spa_format_video_raw_parse(format, &that->spa_video_format_);
|
||||
|
||||
- auto width = that->spa_video_format_->size.width;
|
||||
- auto height = that->spa_video_format_->size.height;
|
||||
+ auto width = that->spa_video_format_.size.width;
|
||||
+ auto height = that->spa_video_format_.size.height;
|
||||
auto stride = SPA_ROUND_UP_N(width * kBytesPerPixel, 4);
|
||||
auto size = height * stride;
|
||||
|
||||
+ that->desktop_size_ = DesktopSize(width, height);
|
||||
+
|
||||
uint8_t buffer[1024] = {};
|
||||
auto builder = spa_pod_builder{buffer, sizeof(buffer)};
|
||||
|
||||
// Setup buffers and meta header for new format.
|
||||
- const struct spa_pod* params[2];
|
||||
- params[0] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
|
||||
- &builder,
|
||||
- // id to enumerate buffer requirements
|
||||
- that->pw_core_type_->param.idBuffers,
|
||||
- that->pw_core_type_->param_buffers.Buffers,
|
||||
- // Size: specified as integer (i) and set to specified size
|
||||
- ":", that->pw_core_type_->param_buffers.size, "i", size,
|
||||
- // Stride: specified as integer (i) and set to specified stride
|
||||
- ":", that->pw_core_type_->param_buffers.stride, "i", stride,
|
||||
- // Buffers: specifies how many buffers we want to deal with, set as
|
||||
- // integer (i) where preferred number is 8, then allowed number is defined
|
||||
- // as range (r) from min and max values and it is undecided (u) to allow
|
||||
- // negotiation
|
||||
- ":", that->pw_core_type_->param_buffers.buffers, "iru", 8,
|
||||
- SPA_POD_PROP_MIN_MAX(1, 32),
|
||||
- // Align: memory alignment of the buffer, set as integer (i) to specified
|
||||
- // value
|
||||
- ":", that->pw_core_type_->param_buffers.align, "i", 16));
|
||||
- params[1] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
|
||||
- &builder,
|
||||
- // id to enumerate supported metadata
|
||||
- that->pw_core_type_->param.idMeta, that->pw_core_type_->param_meta.Meta,
|
||||
- // Type: specified as id or enum (I)
|
||||
- ":", that->pw_core_type_->param_meta.type, "I",
|
||||
- that->pw_core_type_->meta.Header,
|
||||
- // Size: size of the metadata, specified as integer (i)
|
||||
- ":", that->pw_core_type_->param_meta.size, "i",
|
||||
- sizeof(struct spa_meta_header)));
|
||||
-
|
||||
- pw_stream_finish_format(that->pw_stream_, /*res=*/0, params, /*n_params=*/2);
|
||||
+ const struct spa_pod* params[3];
|
||||
+ params[0] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
|
||||
+ SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers,
|
||||
+ SPA_PARAM_BUFFERS_size, SPA_POD_Int(size),
|
||||
+ SPA_PARAM_BUFFERS_stride, SPA_POD_Int(stride),
|
||||
+ SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(8, 1, 32)));
|
||||
+ params[1] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
|
||||
+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
|
||||
+ SPA_PARAM_META_type, SPA_POD_Id(SPA_META_Header),
|
||||
+ SPA_PARAM_META_size, SPA_POD_Int(sizeof(struct spa_meta_header))));
|
||||
+ params[2] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
|
||||
+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
|
||||
+ SPA_PARAM_META_type, SPA_POD_Id (SPA_META_VideoCrop),
|
||||
+ SPA_PARAM_META_size, SPA_POD_Int (sizeof(struct spa_meta_region))));
|
||||
+ pw_stream_update_params(that->pw_stream_, params, 3);
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -164,15 +149,25 @@ void BaseCapturerPipeWire::OnStreamProce
|
||||
BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
|
||||
RTC_DCHECK(that);
|
||||
|
||||
- pw_buffer* buf = nullptr;
|
||||
+ struct pw_buffer *next_buffer;
|
||||
+ struct pw_buffer *buffer = nullptr;
|
||||
|
||||
- if (!(buf = pw_stream_dequeue_buffer(that->pw_stream_))) {
|
||||
+ next_buffer = pw_stream_dequeue_buffer(that->pw_stream_);
|
||||
+ while (next_buffer) {
|
||||
+ buffer = next_buffer;
|
||||
+ next_buffer = pw_stream_dequeue_buffer(that->pw_stream_);
|
||||
+
|
||||
+ if (next_buffer)
|
||||
+ pw_stream_queue_buffer (that->pw_stream_, buffer);
|
||||
+ }
|
||||
+
|
||||
+ if (!buffer) {
|
||||
return;
|
||||
}
|
||||
|
||||
- that->HandleBuffer(buf);
|
||||
+ that->HandleBuffer(buffer);
|
||||
|
||||
- pw_stream_queue_buffer(that->pw_stream_, buf);
|
||||
+ pw_stream_queue_buffer(that->pw_stream_, buffer);
|
||||
}
|
||||
|
||||
BaseCapturerPipeWire::BaseCapturerPipeWire(CaptureSourceType source_type)
|
||||
@@ -183,38 +178,22 @@ BaseCapturerPipeWire::~BaseCapturerPipeW
|
||||
pw_thread_loop_stop(pw_main_loop_);
|
||||
}
|
||||
|
||||
- if (pw_type_) {
|
||||
- delete pw_type_;
|
||||
- }
|
||||
-
|
||||
- if (spa_video_format_) {
|
||||
- delete spa_video_format_;
|
||||
- }
|
||||
-
|
||||
if (pw_stream_) {
|
||||
pw_stream_destroy(pw_stream_);
|
||||
}
|
||||
|
||||
- if (pw_remote_) {
|
||||
- pw_remote_destroy(pw_remote_);
|
||||
+ if (pw_core_) {
|
||||
+ pw_core_disconnect(pw_core_);
|
||||
}
|
||||
|
||||
- if (pw_core_) {
|
||||
- pw_core_destroy(pw_core_);
|
||||
+ if (pw_context_) {
|
||||
+ pw_context_destroy(pw_context_);
|
||||
}
|
||||
|
||||
if (pw_main_loop_) {
|
||||
pw_thread_loop_destroy(pw_main_loop_);
|
||||
}
|
||||
|
||||
- if (pw_loop_) {
|
||||
- pw_loop_destroy(pw_loop_);
|
||||
- }
|
||||
-
|
||||
- if (current_frame_) {
|
||||
- free(current_frame_);
|
||||
- }
|
||||
-
|
||||
if (start_request_signal_id_) {
|
||||
g_dbus_connection_signal_unsubscribe(connection_, start_request_signal_id_);
|
||||
}
|
||||
@@ -284,27 +263,35 @@ void BaseCapturerPipeWire::InitPipeWire(
|
||||
|
||||
pw_init(/*argc=*/nullptr, /*argc=*/nullptr);
|
||||
|
||||
- pw_loop_ = pw_loop_new(/*properties=*/nullptr);
|
||||
- pw_main_loop_ = pw_thread_loop_new(pw_loop_, "pipewire-main-loop");
|
||||
-
|
||||
- pw_core_ = pw_core_new(pw_loop_, /*properties=*/nullptr);
|
||||
- pw_core_type_ = pw_core_get_type(pw_core_);
|
||||
- pw_remote_ = pw_remote_new(pw_core_, nullptr, /*user_data_size=*/0);
|
||||
+ pw_main_loop_ = pw_thread_loop_new("pipewire-main-loop", nullptr);
|
||||
+ pw_context_ = pw_context_new(pw_thread_loop_get_loop(pw_main_loop_), nullptr, 0);
|
||||
+ if (!pw_context_) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to create PipeWire context";
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- InitPipeWireTypes();
|
||||
+ pw_core_ = pw_context_connect(pw_context_, nullptr, 0);
|
||||
+ if (!pw_core_) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to connect PipeWire context";
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
// Initialize event handlers, remote end and stream-related.
|
||||
- pw_remote_events_.version = PW_VERSION_REMOTE_EVENTS;
|
||||
- pw_remote_events_.state_changed = &OnStateChanged;
|
||||
+ pw_core_events_.version = PW_VERSION_CORE_EVENTS;
|
||||
+ pw_core_events_.error = &OnCoreError;
|
||||
|
||||
pw_stream_events_.version = PW_VERSION_STREAM_EVENTS;
|
||||
pw_stream_events_.state_changed = &OnStreamStateChanged;
|
||||
- pw_stream_events_.format_changed = &OnStreamFormatChanged;
|
||||
+ pw_stream_events_.param_changed = &OnStreamParamChanged;
|
||||
pw_stream_events_.process = &OnStreamProcess;
|
||||
|
||||
- pw_remote_add_listener(pw_remote_, &spa_remote_listener_, &pw_remote_events_,
|
||||
- this);
|
||||
- pw_remote_connect_fd(pw_remote_, pw_fd_);
|
||||
+ pw_core_add_listener(pw_core_, &spa_core_listener_, &pw_core_events_, this);
|
||||
+
|
||||
+ pw_stream_ = CreateReceivingStream();
|
||||
+ if (!pw_stream_) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to create PipeWire stream";
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
if (pw_thread_loop_start(pw_main_loop_) < 0) {
|
||||
RTC_LOG(LS_ERROR) << "Failed to start main PipeWire loop";
|
||||
@@ -314,81 +301,131 @@ void BaseCapturerPipeWire::InitPipeWire(
|
||||
RTC_LOG(LS_INFO) << "PipeWire remote opened.";
|
||||
}
|
||||
|
||||
-void BaseCapturerPipeWire::InitPipeWireTypes() {
|
||||
- spa_type_map* map = pw_core_type_->map;
|
||||
- pw_type_ = new PipeWireType();
|
||||
-
|
||||
- spa_type_media_type_map(map, &pw_type_->media_type);
|
||||
- spa_type_media_subtype_map(map, &pw_type_->media_subtype);
|
||||
- spa_type_format_video_map(map, &pw_type_->format_video);
|
||||
- spa_type_video_format_map(map, &pw_type_->video_format);
|
||||
-}
|
||||
-
|
||||
-void BaseCapturerPipeWire::CreateReceivingStream() {
|
||||
+pw_stream* BaseCapturerPipeWire::CreateReceivingStream() {
|
||||
spa_rectangle pwMinScreenBounds = spa_rectangle{1, 1};
|
||||
- spa_rectangle pwScreenBounds =
|
||||
- spa_rectangle{static_cast<uint32_t>(desktop_size_.width()),
|
||||
- static_cast<uint32_t>(desktop_size_.height())};
|
||||
-
|
||||
- spa_fraction pwFrameRateMin = spa_fraction{0, 1};
|
||||
- spa_fraction pwFrameRateMax = spa_fraction{60, 1};
|
||||
-
|
||||
- pw_properties* reuseProps =
|
||||
- pw_properties_new_string("pipewire.client.reuse=1");
|
||||
- pw_stream_ = pw_stream_new(pw_remote_, "webrtc-consume-stream", reuseProps);
|
||||
+ spa_rectangle pwMaxScreenBounds = spa_rectangle{INT32_MAX, INT32_MAX};
|
||||
+ auto stream = pw_stream_new(pw_core_, "webrtc-pipewire-stream", nullptr);
|
||||
+
|
||||
+ if (!stream) {
|
||||
+ RTC_LOG(LS_ERROR) << "Could not create receiving stream.";
|
||||
+ return nullptr;
|
||||
+ }
|
||||
|
||||
uint8_t buffer[1024] = {};
|
||||
- const spa_pod* params[1];
|
||||
- spa_pod_builder builder = spa_pod_builder{buffer, sizeof(buffer)};
|
||||
- params[0] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
|
||||
- &builder,
|
||||
- // id to enumerate formats
|
||||
- pw_core_type_->param.idEnumFormat, pw_core_type_->spa_format, "I",
|
||||
- pw_type_->media_type.video, "I", pw_type_->media_subtype.raw,
|
||||
- // Video format: specified as id or enum (I), preferred format is BGRx,
|
||||
- // then allowed formats are enumerated (e) and the format is undecided (u)
|
||||
- // to allow negotiation
|
||||
- ":", pw_type_->format_video.format, "Ieu", pw_type_->video_format.BGRx,
|
||||
- SPA_POD_PROP_ENUM(2, pw_type_->video_format.RGBx,
|
||||
- pw_type_->video_format.BGRx),
|
||||
- // Video size: specified as rectangle (R), preferred size is specified as
|
||||
- // first parameter, then allowed size is defined as range (r) from min and
|
||||
- // max values and the format is undecided (u) to allow negotiation
|
||||
- ":", pw_type_->format_video.size, "Rru", &pwScreenBounds, 2,
|
||||
- &pwMinScreenBounds, &pwScreenBounds,
|
||||
- // Frame rate: specified as fraction (F) and set to minimum frame rate
|
||||
- // value
|
||||
- ":", pw_type_->format_video.framerate, "F", &pwFrameRateMin,
|
||||
- // Max frame rate: specified as fraction (F), preferred frame rate is set
|
||||
- // to maximum value, then allowed frame rate is defined as range (r) from
|
||||
- // min and max values and it is undecided (u) to allow negotiation
|
||||
- ":", pw_type_->format_video.max_framerate, "Fru", &pwFrameRateMax, 2,
|
||||
- &pwFrameRateMin, &pwFrameRateMax));
|
||||
+ const spa_pod* params[2];
|
||||
+ spa_pod_builder builder = SPA_POD_BUILDER_INIT(buffer, sizeof (buffer));
|
||||
+
|
||||
+ params[0] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
|
||||
+ SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
|
||||
+ SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_video),
|
||||
+ SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw),
|
||||
+ SPA_FORMAT_VIDEO_format, SPA_POD_CHOICE_ENUM_Id(5, SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_RGBx, SPA_VIDEO_FORMAT_RGBA,
|
||||
+ SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_BGRA),
|
||||
+ SPA_FORMAT_VIDEO_size, SPA_POD_CHOICE_RANGE_Rectangle(&pwMinScreenBounds,
|
||||
+ &pwMinScreenBounds,
|
||||
+ &pwMaxScreenBounds),
|
||||
+ 0));
|
||||
+ pw_stream_add_listener(stream, &spa_stream_listener_, &pw_stream_events_, this);
|
||||
|
||||
- pw_stream_add_listener(pw_stream_, &spa_stream_listener_, &pw_stream_events_,
|
||||
- this);
|
||||
pw_stream_flags flags = static_cast<pw_stream_flags>(
|
||||
- PW_STREAM_FLAG_AUTOCONNECT | PW_STREAM_FLAG_INACTIVE |
|
||||
- PW_STREAM_FLAG_MAP_BUFFERS);
|
||||
- if (pw_stream_connect(pw_stream_, PW_DIRECTION_INPUT, /*port_path=*/nullptr,
|
||||
- flags, params,
|
||||
- /*n_params=*/1) != 0) {
|
||||
+ PW_STREAM_FLAG_AUTOCONNECT | PW_STREAM_FLAG_INACTIVE);
|
||||
+
|
||||
+ if (pw_stream_connect(stream, PW_DIRECTION_INPUT, pw_stream_node_id_, PW_STREAM_FLAG_AUTOCONNECT, params, 1) != 0) {
|
||||
RTC_LOG(LS_ERROR) << "Could not connect receiving stream.";
|
||||
portal_init_failed_ = true;
|
||||
- return;
|
||||
}
|
||||
+
|
||||
+ return stream;
|
||||
}
|
||||
|
||||
void BaseCapturerPipeWire::HandleBuffer(pw_buffer* buffer) {
|
||||
+ struct spa_meta_region* video_crop;
|
||||
spa_buffer* spaBuffer = buffer->buffer;
|
||||
- void* src = nullptr;
|
||||
+ uint8_t *map = nullptr;
|
||||
+ uint8_t* src = nullptr;
|
||||
+ uint8_t* dst = nullptr;
|
||||
+
|
||||
+ if (spaBuffer->datas[0].chunk->size == 0) {
|
||||
+ map = nullptr;
|
||||
+ src = nullptr;
|
||||
+ } else if (spaBuffer->datas[0].type == SPA_DATA_MemFd) {
|
||||
+ map = static_cast<uint8_t*>(mmap(
|
||||
+ nullptr, spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
|
||||
+ PROT_READ, MAP_PRIVATE, spaBuffer->datas[0].fd, 0));
|
||||
+
|
||||
+ if (map == MAP_FAILED) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to mmap the memory: " << std::strerror(errno);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- if (!(src = spaBuffer->datas[0].data)) {
|
||||
+ src = SPA_MEMBER(map, spaBuffer->datas[0].mapoffset, uint8_t);
|
||||
+ } else if (spaBuffer->datas[0].type == SPA_DATA_DmaBuf) {
|
||||
+ int fd;
|
||||
+ fd = spaBuffer->datas[0].fd;
|
||||
+
|
||||
+ map = static_cast<uint8_t*>(mmap(
|
||||
+ nullptr, spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
|
||||
+ PROT_READ, MAP_PRIVATE, fd, 0));
|
||||
+
|
||||
+ if (map == MAP_FAILED) {
|
||||
+ RTC_LOG(LS_ERROR) << "Failed to mmap the memory: " << std::strerror(errno);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ SyncDmaBuf(fd, DMA_BUF_SYNC_START);
|
||||
+
|
||||
+ src = SPA_MEMBER(map, spaBuffer->datas[0].mapoffset, uint8_t);
|
||||
+ } else if (spaBuffer->datas[0].type == SPA_DATA_MemPtr) {
|
||||
+ map = nullptr;
|
||||
+ src = static_cast<uint8_t*>(spaBuffer->datas[0].data);
|
||||
+ } else {
|
||||
return;
|
||||
}
|
||||
|
||||
- uint32_t maxSize = spaBuffer->datas[0].maxsize;
|
||||
- int32_t srcStride = spaBuffer->datas[0].chunk->stride;
|
||||
+ if (!src) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ DesktopSize prev_crop_size = DesktopSize(0, 0);
|
||||
+ if (video_crop_size_initialized_) {
|
||||
+ prev_crop_size = video_crop_size_;
|
||||
+ }
|
||||
+
|
||||
+ if ((video_crop = static_cast<struct spa_meta_region*>(
|
||||
+ spa_buffer_find_meta_data(spaBuffer, SPA_META_VideoCrop, sizeof(*video_crop))))) {
|
||||
+ RTC_DCHECK(video_crop->region.size.width <= desktop_size_.width() &&
|
||||
+ video_crop->region.size.height <= desktop_size_.height());
|
||||
+ if ((video_crop->region.size.width != desktop_size_.width() ||
|
||||
+ video_crop->region.size.height != desktop_size_.height()) && video_crop->region.size.width && video_crop->region.size.height) {
|
||||
+ video_crop_size_ = DesktopSize(video_crop->region.size.width, video_crop->region.size.height);
|
||||
+ video_crop_size_initialized_ = true;
|
||||
+ } else {
|
||||
+ video_crop_size_initialized_ = false;
|
||||
+ }
|
||||
+ } else {
|
||||
+ video_crop_size_initialized_ = false;
|
||||
+ }
|
||||
+
|
||||
+ size_t frame_size;
|
||||
+ if (video_crop_size_initialized_) {
|
||||
+ frame_size =
|
||||
+ video_crop_size_.width() * video_crop_size_.height() * kBytesPerPixel;
|
||||
+ } else {
|
||||
+ frame_size =
|
||||
+ desktop_size_.width() * desktop_size_.height() * kBytesPerPixel;
|
||||
+ }
|
||||
+
|
||||
+ if (!current_frame_ ||
|
||||
+ (video_crop_size_initialized_ && !video_crop_size_.equals(prev_crop_size))) {
|
||||
+ current_frame_ = std::make_unique<uint8_t[]>(frame_size);
|
||||
+ }
|
||||
+ RTC_DCHECK(current_frame_ != nullptr);
|
||||
+
|
||||
+ const int32_t dstStride = video_crop_size_initialized_
|
||||
+ ? video_crop_size_.width() * kBytesPerPixel
|
||||
+ : desktop_size_.width() * kBytesPerPixel;
|
||||
+ const int32_t srcStride = spaBuffer->datas[0].chunk->stride;
|
||||
+
|
||||
if (srcStride != (desktop_size_.width() * kBytesPerPixel)) {
|
||||
RTC_LOG(LS_ERROR) << "Got buffer with stride different from screen stride: "
|
||||
<< srcStride
|
||||
@@ -397,21 +434,40 @@ void BaseCapturerPipeWire::HandleBuffer(
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!current_frame_) {
|
||||
- current_frame_ = static_cast<uint8_t*>(malloc(maxSize));
|
||||
+ dst = current_frame_.get();
|
||||
+
|
||||
+ // Adjust source content based on crop video position
|
||||
+ if (video_crop_size_initialized_ &&
|
||||
+ (video_crop->region.position.y + video_crop_size_.height() <= desktop_size_.height())) {
|
||||
+ for (int i = 0; i < video_crop->region.position.y; ++i) {
|
||||
+ src += srcStride;
|
||||
+ }
|
||||
+ }
|
||||
+ const int xOffset =
|
||||
+ video_crop_size_initialized_ && (video_crop->region.position.x + video_crop_size_.width() <=
|
||||
+ desktop_size_.width())
|
||||
+ ? video_crop->region.position.x * kBytesPerPixel
|
||||
+ : 0;
|
||||
+ const int height = video_crop_size_initialized_ ? video_crop_size_.height() : desktop_size_.height();
|
||||
+ for (int i = 0; i < height; ++i) {
|
||||
+ // Adjust source content based on crop video position if needed
|
||||
+ src += xOffset;
|
||||
+ std::memcpy(dst, src, dstStride);
|
||||
+ // If both sides decided to go with the RGBx format we need to convert it to
|
||||
+ // BGRx to match color format expected by WebRTC.
|
||||
+ if (spa_video_format_.format == SPA_VIDEO_FORMAT_RGBx ||
|
||||
+ spa_video_format_.format == SPA_VIDEO_FORMAT_RGBA) {
|
||||
+ ConvertRGBxToBGRx(dst, dstStride);
|
||||
+ }
|
||||
+ src += srcStride - xOffset;
|
||||
+ dst += dstStride;
|
||||
}
|
||||
- RTC_DCHECK(current_frame_ != nullptr);
|
||||
|
||||
- // If both sides decided to go with the RGBx format we need to convert it to
|
||||
- // BGRx to match color format expected by WebRTC.
|
||||
- if (spa_video_format_->format == pw_type_->video_format.RGBx) {
|
||||
- uint8_t* tempFrame = static_cast<uint8_t*>(malloc(maxSize));
|
||||
- std::memcpy(tempFrame, src, maxSize);
|
||||
- ConvertRGBxToBGRx(tempFrame, maxSize);
|
||||
- std::memcpy(current_frame_, tempFrame, maxSize);
|
||||
- free(tempFrame);
|
||||
- } else {
|
||||
- std::memcpy(current_frame_, src, maxSize);
|
||||
+ if (map) {
|
||||
+ if (spaBuffer->datas[0].type == SPA_DATA_DmaBuf) {
|
||||
+ SyncDmaBuf(spaBuffer->datas[0].fd, DMA_BUF_SYNC_END);
|
||||
+ }
|
||||
+ munmap(map, spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -770,10 +826,7 @@ void BaseCapturerPipeWire::OnStartReques
|
||||
g_variant_get(variant, "(u@a{sv})", &stream_id, &options);
|
||||
RTC_DCHECK(options != nullptr);
|
||||
|
||||
- g_variant_lookup(options, "size", "(ii)", &width, &height);
|
||||
-
|
||||
- that->desktop_size_.set(width, height);
|
||||
-
|
||||
+ that->pw_stream_node_id_ = stream_id;
|
||||
g_variant_unref(options);
|
||||
g_variant_unref(variant);
|
||||
}
|
||||
@@ -859,10 +912,15 @@ void BaseCapturerPipeWire::CaptureFrame(
|
||||
return;
|
||||
}
|
||||
|
||||
- std::unique_ptr<DesktopFrame> result(new BasicDesktopFrame(desktop_size_));
|
||||
+ DesktopSize frame_size = desktop_size_;
|
||||
+ if (video_crop_size_initialized_) {
|
||||
+ frame_size = video_crop_size_;
|
||||
+ }
|
||||
+
|
||||
+ std::unique_ptr<DesktopFrame> result(new BasicDesktopFrame(frame_size));
|
||||
result->CopyPixelsFrom(
|
||||
- current_frame_, (desktop_size_.width() * kBytesPerPixel),
|
||||
- DesktopRect::MakeWH(desktop_size_.width(), desktop_size_.height()));
|
||||
+ current_frame_.get(), (frame_size.width() * kBytesPerPixel),
|
||||
+ DesktopRect::MakeWH(frame_size.width(), frame_size.height()));
|
||||
if (!result) {
|
||||
callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr);
|
||||
return;
|
||||
@@ -887,4 +945,22 @@ bool BaseCapturerPipeWire::SelectSource(
|
||||
return true;
|
||||
}
|
||||
|
||||
+// static
|
||||
+std::unique_ptr<DesktopCapturer>
|
||||
+BaseCapturerPipeWire::CreateRawScreenCapturer(
|
||||
+ const DesktopCaptureOptions& options) {
|
||||
+ std::unique_ptr<BaseCapturerPipeWire> capturer =
|
||||
+ std::make_unique<BaseCapturerPipeWire>(BaseCapturerPipeWire::CaptureSourceType::kAny);
|
||||
+ return std::move(capturer);}
|
||||
+
|
||||
+// static
|
||||
+std::unique_ptr<DesktopCapturer>
|
||||
+BaseCapturerPipeWire::CreateRawWindowCapturer(
|
||||
+ const DesktopCaptureOptions& options) {
|
||||
+
|
||||
+ std::unique_ptr<BaseCapturerPipeWire> capturer =
|
||||
+ std::make_unique<BaseCapturerPipeWire>(BaseCapturerPipeWire::CaptureSourceType::kAny);
|
||||
+ return std::move(capturer);
|
||||
+}
|
||||
+
|
||||
} // namespace webrtc
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
|
||||
@@ -16,7 +16,7 @@
|
||||
namespace webrtc {
|
||||
|
||||
WindowCapturerPipeWire::WindowCapturerPipeWire()
|
||||
- : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::Window) {}
|
||||
+ : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::kWindow) {}
|
||||
WindowCapturerPipeWire::~WindowCapturerPipeWire() {}
|
||||
|
||||
// static
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
|
||||
@@ -28,7 +28,7 @@ std::unique_ptr<DesktopCapturer> Desktop
|
||||
const DesktopCaptureOptions& options) {
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
|
||||
- return WindowCapturerPipeWire::CreateRawWindowCapturer(options);
|
||||
+ return BaseCapturerPipeWire::CreateRawWindowCapturer(options);
|
||||
}
|
||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
|
||||
@@ -16,7 +16,7 @@
|
||||
namespace webrtc {
|
||||
|
||||
ScreenCapturerPipeWire::ScreenCapturerPipeWire()
|
||||
- : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::Screen) {}
|
||||
+ : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::kScreen) {}
|
||||
ScreenCapturerPipeWire::~ScreenCapturerPipeWire() {}
|
||||
|
||||
// static
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
|
||||
@@ -28,8 +28,8 @@ std::unique_ptr<DesktopCapturer> Desktop
|
||||
const DesktopCaptureOptions& options) {
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
|
||||
- return ScreenCapturerPipeWire::CreateRawScreenCapturer(options);
|
||||
- }
|
||||
+ return BaseCapturerPipeWire::CreateRawScreenCapturer(options);
|
||||
+}
|
||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
|
||||
@@ -22,17 +22,13 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
-class PipeWireType {
|
||||
- public:
|
||||
- spa_type_media_type media_type;
|
||||
- spa_type_media_subtype media_subtype;
|
||||
- spa_type_format_video format_video;
|
||||
- spa_type_video_format video_format;
|
||||
-};
|
||||
-
|
||||
class BaseCapturerPipeWire : public DesktopCapturer {
|
||||
public:
|
||||
- enum CaptureSourceType { Screen = 1, Window };
|
||||
+ enum CaptureSourceType : uint32_t {
|
||||
+ kScreen = 0b01,
|
||||
+ kWindow = 0b10,
|
||||
+ kAny = 0b11
|
||||
+ };
|
||||
|
||||
explicit BaseCapturerPipeWire(CaptureSourceType source_type);
|
||||
~BaseCapturerPipeWire() override;
|
||||
@@ -43,28 +39,32 @@ class BaseCapturerPipeWire : public Desk
|
||||
bool GetSourceList(SourceList* sources) override;
|
||||
bool SelectSource(SourceId id) override;
|
||||
|
||||
+ static std::unique_ptr<DesktopCapturer> CreateRawScreenCapturer(
|
||||
+ const DesktopCaptureOptions& options);
|
||||
+
|
||||
+ static std::unique_ptr<DesktopCapturer> CreateRawWindowCapturer(
|
||||
+ const DesktopCaptureOptions& options);
|
||||
+
|
||||
private:
|
||||
// PipeWire types -->
|
||||
+ pw_context* pw_context_ = nullptr;
|
||||
pw_core* pw_core_ = nullptr;
|
||||
- pw_type* pw_core_type_ = nullptr;
|
||||
pw_stream* pw_stream_ = nullptr;
|
||||
- pw_remote* pw_remote_ = nullptr;
|
||||
- pw_loop* pw_loop_ = nullptr;
|
||||
pw_thread_loop* pw_main_loop_ = nullptr;
|
||||
- PipeWireType* pw_type_ = nullptr;
|
||||
|
||||
+ spa_hook spa_core_listener_ = {};
|
||||
spa_hook spa_stream_listener_ = {};
|
||||
- spa_hook spa_remote_listener_ = {};
|
||||
|
||||
+ pw_core_events pw_core_events_ = {};
|
||||
pw_stream_events pw_stream_events_ = {};
|
||||
- pw_remote_events pw_remote_events_ = {};
|
||||
|
||||
- spa_video_info_raw* spa_video_format_ = nullptr;
|
||||
+ struct spa_video_info_raw spa_video_format_;
|
||||
|
||||
+ guint32 pw_stream_node_id_ = 0;
|
||||
gint32 pw_fd_ = -1;
|
||||
|
||||
CaptureSourceType capture_source_type_ =
|
||||
- BaseCapturerPipeWire::CaptureSourceType::Screen;
|
||||
+ BaseCapturerPipeWire::CaptureSourceType::kAny;
|
||||
|
||||
// <-- end of PipeWire types
|
||||
|
||||
@@ -79,33 +79,38 @@ class BaseCapturerPipeWire : public Desk
|
||||
guint sources_request_signal_id_ = 0;
|
||||
guint start_request_signal_id_ = 0;
|
||||
|
||||
+ bool video_crop_size_initialized_ = false;
|
||||
+ DesktopSize video_crop_size_;;
|
||||
DesktopSize desktop_size_ = {};
|
||||
DesktopCaptureOptions options_ = {};
|
||||
|
||||
- uint8_t* current_frame_ = nullptr;
|
||||
+ std::unique_ptr<uint8_t[]> current_frame_;
|
||||
Callback* callback_ = nullptr;
|
||||
|
||||
bool portal_init_failed_ = false;
|
||||
|
||||
void InitPortal();
|
||||
void InitPipeWire();
|
||||
- void InitPipeWireTypes();
|
||||
|
||||
- void CreateReceivingStream();
|
||||
+ pw_stream* CreateReceivingStream();
|
||||
void HandleBuffer(pw_buffer* buffer);
|
||||
|
||||
void ConvertRGBxToBGRx(uint8_t* frame, uint32_t size);
|
||||
|
||||
- static void OnStateChanged(void* data,
|
||||
- pw_remote_state old_state,
|
||||
- pw_remote_state state,
|
||||
- const char* error);
|
||||
+ static void SyncDmaBuf(int fd, uint64_t start_or_end);
|
||||
+ static void OnCoreError(void *data,
|
||||
+ uint32_t id,
|
||||
+ int seq,
|
||||
+ int res,
|
||||
+ const char *message);
|
||||
+ static void OnStreamParamChanged(void *data,
|
||||
+ uint32_t id,
|
||||
+ const struct spa_pod *format);
|
||||
static void OnStreamStateChanged(void* data,
|
||||
pw_stream_state old_state,
|
||||
pw_stream_state state,
|
||||
const char* error_message);
|
||||
|
||||
- static void OnStreamFormatChanged(void* data, const struct spa_pod* format);
|
||||
static void OnStreamProcess(void* data);
|
||||
static void OnNewBuffer(void* data, uint32_t id);
|
||||
|
||||
Index: chromium-83.0.4103.116/third_party/webrtc/webrtc.gni
|
||||
===================================================================
|
||||
--- chromium-83.0.4103.116.orig/third_party/webrtc/webrtc.gni
|
||||
+++ chromium-83.0.4103.116/third_party/webrtc/webrtc.gni
|
||||
@@ -114,6 +114,10 @@ declare_args() {
|
||||
# supported Ubuntu and Debian distributions.
|
||||
rtc_use_pipewire = is_desktop_linux && use_sysroot
|
||||
|
||||
+ # Sets the pipewire pkg-config version to use if rtc_use_pipewire is true
|
||||
+ rtc_use_pipewire_version = "0.3"
|
||||
+ rtc_use_spa_version = "0.2"
|
||||
+
|
||||
# Set this to link PipeWire directly instead of using the dlopen.
|
||||
rtc_link_pipewire = false
|
14
www-client/chromium/files/chromium-browser.xml
Normal file
14
www-client/chromium/files/chromium-browser.xml
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
|
||||
<default-apps>
|
||||
<web-browsers>
|
||||
<web-browser>
|
||||
<name>Chromium</name>
|
||||
<executable>chromium-browser</executable>
|
||||
<command>chromium-browser %s</command>
|
||||
<icon-name>chromium-browser</icon-name>
|
||||
<run-in-terminal>false</run-in-terminal>
|
||||
</web-browser>
|
||||
</web-browsers>
|
||||
</default-apps>
|
53
www-client/chromium/files/chromium-launcher-r4.sh
Executable file
53
www-client/chromium/files/chromium-launcher-r4.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Allow the user to override command-line flags, bug #357629.
|
||||
# This is based on Debian's chromium-browser package, and is intended
|
||||
# to be consistent with Debian.
|
||||
for f in /etc/chromium/*; do
|
||||
[[ -f ${f} ]] && source "${f}"
|
||||
done
|
||||
|
||||
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
|
||||
# default CHROMIUM_FLAGS (from /etc/chromium/default).
|
||||
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
|
||||
|
||||
# Let the wrapped binary know that it has been run through the wrapper
|
||||
export CHROME_WRAPPER=$(readlink -f "$0")
|
||||
|
||||
PROGDIR=${CHROME_WRAPPER%/*}
|
||||
|
||||
case ":$PATH:" in
|
||||
*:$PROGDIR:*)
|
||||
# $PATH already contains $PROGDIR
|
||||
;;
|
||||
*)
|
||||
# Append $PROGDIR to $PATH
|
||||
export PATH="$PATH:$PROGDIR"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then
|
||||
# Running as root with HOME owned by root.
|
||||
# Pass --user-data-dir to work around upstream failsafe.
|
||||
CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium
|
||||
${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
|
||||
# Select session type
|
||||
if @@OZONE_AUTO_SESSION@@; then
|
||||
if [[ -z ${XDG_SESSION_TYPE+x} ]]; then
|
||||
if [[ -z ${WAYLAND_DISPLAY+x} ]]; then
|
||||
CHROMIUM_FLAGS="--ozone-platform=x11 ${CHROMIUM_FLAGS}"
|
||||
else
|
||||
CHROMIUM_FLAGS="--ozone-platform=wayland ${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
else
|
||||
CHROMIUM_FLAGS="--ozone-platform=${XDG_SESSION_TYPE} ${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Set the .desktop file name
|
||||
export CHROME_DESKTOP="chromium-browser-chromium.desktop"
|
||||
|
||||
exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
|
||||
|
5
www-client/chromium/files/chromium.default
Normal file
5
www-client/chromium/files/chromium.default
Normal file
@ -0,0 +1,5 @@
|
||||
# Default settings for chromium. This file is sourced by /bin/bash from
|
||||
# the chromium launcher.
|
||||
|
||||
# Options to pass to chromium.
|
||||
#CHROMIUM_FLAGS=""
|
21
www-client/chromium/metadata.xml
Normal file
21
www-client/chromium/metadata.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>chromium@gentoo.org</email>
|
||||
<name>Chromium in Gentoo Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="closure-compile">Enable closure type-checking for Chrome's web technology-based UI. Requires Java.</flag>
|
||||
<flag name="component-build">Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
|
||||
<flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
|
||||
<flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
|
||||
<flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
|
||||
<flag name="suid">Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels</flag>
|
||||
<flag name="system-ffmpeg">Use system ffmpeg instead of the bundled one</flag>
|
||||
<flag name="system-icu">Use system icu instead of the bundled one</flag>
|
||||
<flag name="system-libvpx">Use system libvpx instead of the bundled one</flag>
|
||||
<flag name="tcmalloc">Use bundled tcmalloc instead of system malloc</flag>
|
||||
<flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
94
www-client/firefox/Manifest
Normal file
94
www-client/firefox/Manifest
Normal file
@ -0,0 +1,94 @@
|
||||
DIST firefox-80.0-patches-02.tar.xz 26280 BLAKE2B 11445bae206ed9e8cbadb7f9c2a2ca143c50d4924e663e3b83533f5b6b2aab4e1c760c9c21e1c7ed7d324443ce5df50d1f6b1284184ddaaacbe6c040c5835dee SHA512 51ea389c14757636eea87d9cdb64015072b85ca79e86c68a299568b2a02a8225116c40f0b6306bb15cb73ea9ba18e1767d5e0c21e0aa6dd202cf6ae3d74c304a
|
||||
DIST firefox-80.0.1-ach.xpi 504583 BLAKE2B d885d46f9eafa9e4c390318b4d01a9c3bd6ffe559c5a619fa7fddd8edd17599c61162499e7ef6b24a68e067ac1e5434e428519bb2dcec1d1b288ba22b7547be4 SHA512 ac19b518cc92f39e8fe16eb86f9c1a273db0f7ba4bf9ce001c41dac2b33400ebe3131ad5205009ffe96ff1e067212f7edc2f083f8cab29f8457af77efc299335
|
||||
DIST firefox-80.0.1-af.xpi 444291 BLAKE2B c71a2cc6c6e56855ced7a4a85dacdb11265bdde39e5e0f5337f35a031cec45487a71fdc1ad35530fdb71360a38dcc81dec789a54da41f653db5dc0bb36a34b31 SHA512 29bd2b91adf1976a7d9a40ee0db8a8fb17036bfa28a2ea2eaff2f17ea91cc3ac49b4bf99259315e3ed8e38cc229a68a1c68212e4c13fa851d6e94efa01a3e410
|
||||
DIST firefox-80.0.1-an.xpi 542426 BLAKE2B 7d9d8d305c9819d2840b29876aa4074971887904e172f3d5ebc090dfc5ebf5ca9d6e7cbca490fbe0c4e53eb41952732d047e235ed18a344315bd198566a92a3e SHA512 b6e490f206b4d20e6bc652b9daa24f78f1b4447e32ea77394b92e73ec0de6f21d30e22ca3ee87f2a95e437cdf7cab6a6a81307a8ec1451e69f761671cc03a5b0
|
||||
DIST firefox-80.0.1-ar.xpi 591816 BLAKE2B 4d8aceaa4e7e44394be8961a3515dc98dab892bf3ff15a3cc93d35501db33f8764a8579fbb6196ce85d68134f3cdead11549946e2f73a986d49731594c9e762b SHA512 412181e35fc61a871076867c00133670c4b04e199ac4bf0909923f850cc60825cf8411eb42a449c0d921b5702d2463a485826731b53b76302e06702c44ca7c8b
|
||||
DIST firefox-80.0.1-ast.xpi 502149 BLAKE2B 1e196ecdf387c4769f8a5000df918679b95d83d1d06306b60a7146d4b11328e6883baf85c6ea04023cafa4e50f67301f6276dcd4e70593a9149e3f06f25dedea SHA512 1dba93dec0eafd28b13ced483d098e57b77816d9a64f6fc7089516d1adc23c8834c672fa2ba52e53ce8b1599f55779c24fac0a54151f3cf84d3ebfd0265065ea
|
||||
DIST firefox-80.0.1-az.xpi 539349 BLAKE2B fbda6488399d8dc1e9f5d9dad3be9b6ba7d32bfd826a3ec28d6b0b020ca83505b2ef5121e36636ca837d3675d1aa7dffe57f3df3b85094d91e75b24339d599bd SHA512 7a044fc2cfc7e36f0e8407e804ce29deb6441c33e69e11458f010b614edc5f01bd4d03086eb4e81c2fce970878b16b294520e3c6309d1398552dc39d5adbc106
|
||||
DIST firefox-80.0.1-be.xpi 652311 BLAKE2B 14299f1248968272127d6562a85b049e0a4da11da7f8f30169e569fcee9a6c9ead73f807a4a216622d100005b9d7af5ad8279352e8c02e9c56aa2eef69111e6d SHA512 96a02f58e3a9604342cb0b755c6ae4bc35c8e48adecaf407566cf10bf2ef5ab7dd1c83951377cc21d631912811b25cff1ca40a1dff74271c29f71c7ab0b390f3
|
||||
DIST firefox-80.0.1-bg.xpi 614701 BLAKE2B 872d0bf0598f4f942278bee24d497c846e65e8ebf9217eaab0ca2a3fdcdac43a0cac71c044e86a8fb7671a5d3c6ce630ee674ff41e7c9738d3419090ffe79e92 SHA512 974fbe862f264b98a8045e306ef09817e739f8a1d6c092b60503f73d8667702df88a090abc4f492982ce11ff3b0e138a4c615bd400622a3901b63531155c1d64
|
||||
DIST firefox-80.0.1-bn.xpi 635296 BLAKE2B 4a08afd0d38908cea8040f872d9763e19466538229168fd7c75e993c3b2b8f8eaff0dfac5e7b6fda86c34abff7795f1a9af0b2cc71c9062168d6ac9faecfd7d2 SHA512 64bdd07e317c5aa04cec65fff262982aadd7aeabdfe7ae07068807e2bc6ff62042cc051d7422b7df5904a0e3ab32697f46f4ac6f9cfa118b19fc475de2373651
|
||||
DIST firefox-80.0.1-br.xpi 555844 BLAKE2B 480f327adf194a66dab2b4c5ecbd8f3d3dee3cce7b2b83710fa9628a584e062ec210f857caedb950209fe71524242a8efe9660daf209ff27110c9cd87e8ee5ee SHA512 9f199d06d38f4dee320bd818d3c0dd570faab221beeb4f8029b1ef4a69e385c8b7d58db7926ced1fbf65c8f20bf4406c1545dd4ba42cc2a1144d2aed6e8623b2
|
||||
DIST firefox-80.0.1-bs.xpi 513421 BLAKE2B f231f7007833bf3e1d874e7b7fd95e07c5c31c8a155b4017f8b00a34bc409944922b06f05e65753984ac5fdd18177a0c190a0c5396a9866b03fe45a24e670823 SHA512 c6e0ef8fcdaca6988ebbc8fa44ca1c32489c8c6667d0e30f560eef525a813789a0b6f5c721632909a936863f29320ea0054fbbdb41328a9594cc541f5fcd5d2a
|
||||
DIST firefox-80.0.1-ca.xpi 564258 BLAKE2B 547a8d2fb678dc8eb6198f761fa45df2538dd0d6584d7734c28267a30532158e7b37702c60033724e083ddad9727bb61fc8ac1b782e3b60af601838fe3dc9ed5 SHA512 26c71d36c773dcae5dbd42af3075722a40e7e763a9a00529837f8847dd59683d7404ab6bdf90543f8fadd1aac35658a93f143051cae1c12a36bbe1ba8a95578d
|
||||
DIST firefox-80.0.1-cak.xpi 589532 BLAKE2B be2d5d21657c1bffe4538130458715c1a36c709c6452ecba8894ac47cc3cccacbe23f62195221ceede8a89a96787f46db68308ed953fba3cc6c6f90e87d17451 SHA512 bd4299a8940c187b502555955c5fd7a52b52ea785bedacfbd115f2933c4c34a0a18425cd5bb5e0861abd986e125d83ff05d277c223863a6db1b6a8bedf8a8df9
|
||||
DIST firefox-80.0.1-cs.xpi 590314 BLAKE2B fa0a9d9d8544437b1513ed0b8fc07757e5ec34bae697dfdf15ab9b44aa262635b0d1a56877181f5ab3e5dd32ac22bee0195546b32ddbac02ecc5de716c5966ae SHA512 65b1b5824424017d3819e789a8951095c0cf7dba3f0671c501a5344f3a91cab6fe0cf0c3940685156b961489fa6b65b279f33a1cb4ae59328d00ee7e393d824d
|
||||
DIST firefox-80.0.1-cy.xpi 574272 BLAKE2B 3ab8d320bf2fd48f5825d24975ca1266d726f50181a61b5cec28bcfce96d8159c24da05da83d57187c2f46ef998d914ad4c3fea9f793b26dc12dd27530009468 SHA512 81400a51bcb20feba7300b2ec8143d788e8962284852a15b1702345b344aae62b1403c8ebf4a808d2a4ff55674284b827db8ba81d0c77928f701bd7cd6287812
|
||||
DIST firefox-80.0.1-da.xpi 564645 BLAKE2B 375f10fee6b2af1cddfd145fbc7616e8289a17c6273a509cfc8c42bd94c3dac161517c536cb94763ef317df9aaf34d195db6af8d4fa950f06060f2a5f51c707d SHA512 b1e8748883ab511f7023b52846b19633e17ed49d9d5e96cc0a1062dc5eb7f60094d39b542c947190eb07d2be00e87192615a4015cac5700565a7247dcfbe0fd6
|
||||
DIST firefox-80.0.1-de.xpi 588247 BLAKE2B ba6a54fabc42338259e01a658dec8e090cdc0bae1482ff1841ddd7499ae4cb2a10c83e4dd1ab33d0101762126f454a44e4b083142deff0a44d48c0c112a17902 SHA512 a23868386debc06a8f4c1dde2625bba796c59a9898bf560ddffbcff0035b84832faca828d3b507c63437372097a818b4b51dca51304131bc8f21694a6b54adeb
|
||||
DIST firefox-80.0.1-dsb.xpi 598372 BLAKE2B fff3b0e5f2c93e9cf12781742f6b00dd4347a2ab4ef5eec05e81ca14c470a658a27b22f1c6bd3d9956716a0e0f98f8c3b8e7dd5d0247162c16b38a4f3a33feaf SHA512 615ec77f46da620ec1d4ef9fc96bf8ef43edc4a3c1476737cbf2403d73220b9224316cc6924146ed5f9ac17e40e0f6a03b90053015be74c9fcba055b05e45a85
|
||||
DIST firefox-80.0.1-el.xpi 673926 BLAKE2B 8dd6b2a74c10f711fadde537242e6de9394513853639d3766a2f88b2eb6e9bc06e195389b0813424254a9409abac80a574abdd48f2164bdad6d1544dbc57fcc5 SHA512 3ea62e7ba20503446f7231d594d84b6d81380d0614c38ba0a1a1f9f873a5860feeba791b7bcad626064bd2194b86492be182ec94fdbcb53a4cbad7650d7003c1
|
||||
DIST firefox-80.0.1-en-CA.xpi 541479 BLAKE2B cc38108b9165fced8ca6e04aa794f9ae6226b9ed7ea645650ee066e4f2054c84ab9ba386c89ecd71783ee21f837c06def205b7fc780a9273cfd8fa9843515903 SHA512 0122922c50c2254ac7d64361552d5c5c10c3492f97525857bb00f64d99ea9681f00143f8d7a521dd05ea26b6b3450bf2b8a0a9c98aea1d7535321798375f085e
|
||||
DIST firefox-80.0.1-en-GB.xpi 539266 BLAKE2B f90521d2352332c006041ed22b1d180a74c504cc1a61a9a6dde4b76e77fbc5cc9750152d409835349f508f04a2bebc39f491313a5bf770af785ada0251766e8a SHA512 4eaaeabe1a86165700c78f160d379e14df40330b17fa83c89b63fdddd65f39ea18104b9684b582357bb946dec6fdc224511874ef7167fcb9c8f5f8dbbdec2cbe
|
||||
DIST firefox-80.0.1-eo.xpi 566633 BLAKE2B fe5e6bbee2e655cfc05487809f07f532b548b43751d649ca24a1a5b285101d366c82770b3dc729364f6b11c9b805881df39e153f5c7492f17e2a1e25c876d521 SHA512 e6df7e49d3f2a85311883cca891eceaacd96a6ca8e37a4d800cabb0da846b576379a3ed1824fb35a27794696527dd421571a3982d4a6008033c41cc4ced4733a
|
||||
DIST firefox-80.0.1-es-AR.xpi 579597 BLAKE2B 3fc4229892c3faceee2e303e94cd14601f0c6132bed513e2f2b9e57b05fbbf7ac48521fc56af4048330e526d9d6b3fa506caaa54b8837f92a5c2f3c3df890b6f SHA512 202b95ccdebe79cffa5c7b911829ee819170f2ee5ea1f9a86cb11c81b392c2481c8ce6dd75a87efb7451e80bde0faeea51d2130efe863cfea10afd882ccf8632
|
||||
DIST firefox-80.0.1-es-CL.xpi 577631 BLAKE2B 8e44e19d6be3356d9a7f0d561ad07adf148b27fd57aa5f07d9f0512c2e3ffa2fe36a4f8634ab3aa4a84c6e90b8936d1a69e4e62b01adeac5a0d70171db1e6c1b SHA512 9902c486aa1950ebbca5800732da224f4d0a6c212d5a439158830d2b49d3a0cb199d336e112c5393dc28b585e5ea459d24d0628691b8f44b6e852ab3529a5ca3
|
||||
DIST firefox-80.0.1-es-ES.xpi 562989 BLAKE2B cab474e30600e0e3a8950544febf8ee3cdc8a3ed06a2dfd5d0489ecf9b6a1b742fe27933d5dc7eeae5ac2b7ee0430ebfd85cfbb0721acc33863f22eb1e8ec90d SHA512 dd895d61f68998630196c1b67827b6391faf9aa67692496ff457cdb609ecea22472598fff3a8efd969e1f7bf6917e6e87bb230cf9ea2d14dbdab033c2202020b
|
||||
DIST firefox-80.0.1-es-MX.xpi 575053 BLAKE2B 21c9ae4af67530b975a018607c1d83f12ff670a06f5f13afff4bbc79a2ef397624f6329939fbb516ba150a78c1080fa29b8443480162c0c213d5034bce916961 SHA512 c7d1750afa49e066bf991a36307f46c5207204eb1899faa52cdf9a148566270ad98fa4e392292805b7fbbc2847d7990a91fd6b5d759d18ba4d4feaac9614b089
|
||||
DIST firefox-80.0.1-et.xpi 537589 BLAKE2B 591615c642322acfc71d4c082d70977ffe5bef875dfa5423451cd6b15bebca9f0f71c725f90474f7c86b77662779f802621dc7467e4210690ba7b0ab275b2fc1 SHA512 aa1b000d1cda7c6386e433f58e818b526b4a00fb2c6cd52e314b9df73428d9b1727c36b563e8f74f3be95e269ddd683069ec977dc0418489fed262694afd5d9b
|
||||
DIST firefox-80.0.1-eu.xpi 558572 BLAKE2B 624888cb8367888a76d6d33c0ed9a72b7cbd903df5f50466c1c99af59456ab40327f630fabd16318bffab3f085f1518ab735dcc335162b3270f26774df22c382 SHA512 445129660e64aaeee890ed17817e07f1b81396e56c7825d42d820461d35431e063d52638a8e70628fc0ddcc3c95f70ce6c6147f73926cd13117d21c3e4400756
|
||||
DIST firefox-80.0.1-fa.xpi 597158 BLAKE2B 56cdef645e9ffa0985ee1d19d3a690a5e20748789272c01469609b9e557bfbcd8c765a5e894aef6e50408c5fae9b201285b326ad25b4f53096966d62c65ce198 SHA512 618edb84fe834b0a07d6f92e474a8daa6f6020131af4a650e67b53cb209dae073e41c7ecf3d3106a02c6a0a8d763ef1c7c115e3ffab8893c1fdf5c651c1c450b
|
||||
DIST firefox-80.0.1-ff.xpi 533516 BLAKE2B 04d8d9942fedf9036656aeb5e9a72122bfbb8849963b849e811b53fd20ec8f44f28bffe707f0321e3c75e102bdd88e7e83bbc46871bc76e29a5f28ef20dcb4a4 SHA512 9c88ea9c89335148ed8e4e7921c20362d1081aead5a4bf9cdf20bbfbb62de9b30e73ea4b5e7a7608617810cca02cca666293f18af2e27906c4b3663109258639
|
||||
DIST firefox-80.0.1-fi.xpi 564288 BLAKE2B 3064fd38df3fdd759679b946875b74e0095229c42772fd1669f495fed787dfb11b7bf6b7d8b7fc4bc4093c094699df7555d350d267badd1680078ab085baf567 SHA512 75cffb30b10e3a65bc1005bc07ad8d2bd2322a86979ba8076c181f4172ac24b50ef2705a50edf005baa55fbe43f20f9d3966d8efe626954a4de5cee9a4495c19
|
||||
DIST firefox-80.0.1-fr.xpi 588643 BLAKE2B c82dce22ffe0967cdb3634be383fa7be466d43593c52d5f9c8c632a41c4d59471023efe6bdfea48c7825bea7ef81e5205933ce264af66dde7052395323a0f4e1 SHA512 97c1d0630ebdda03e82bae7f05460ac01d259349168795893552e519c4cbbaee5e510c5873769a7689f65a3ea8a42e6b57e1803b6ed931efd8af4fb504744edf
|
||||
DIST firefox-80.0.1-fy-NL.xpi 573865 BLAKE2B ea8138bd570e2464526f612e9f16a83de673f4f48954f0052950ec907ac83a9e837f3351ef91dcc6f04d4b48f5f7d581086a1d2aae310de6281a8a4bef81bcc2 SHA512 7b3c109910b9430bbc5e03903af418eab74e7f6dfd190ae896814c724bcdf77717561e5afacb871280789952a4fc13f6b9358ce39ebe47f1a105ee717e4e8f55
|
||||
DIST firefox-80.0.1-ga-IE.xpi 516236 BLAKE2B 0d81cc6ece708e073c25b514451f7f555f6d24f8bcf91862e28df88881267896fb0f39a62f6281b1440cb78ce151716f460efc74d3349001ef1567f7bbcc65ee SHA512 65e5b043cdad51329c4895ab6fe8e80cf29afad58ffca585a77d827ca70f03259c86c3383e260438a47e993af93fcd05198a102dff2efe0e47d1b836c7af6e25
|
||||
DIST firefox-80.0.1-gd.xpi 546276 BLAKE2B 0031948453692579fc83cccf78ce642820fcfc7626b8063ee443bb2c45d0c41cf99521af45d4e41adce736ba65be08e4113afade05ee9cb15c900e653890c883 SHA512 017bffbc2748785a83c3068d472e53d4ca6aec335b1aaba2b25371172353463657c87a4f255e892282373c6499a38d154790a0a9db146637f71839bc2a3e6311
|
||||
DIST firefox-80.0.1-gl.xpi 510190 BLAKE2B c43f142183f552a622709a4bbebbe6c70fe5717de979713095bd5a284787a3fedef5ad361a2212bd4e269ae36ea3d9fc05503d0531041e6b20ab15c4e7ef274e SHA512 8bdef6d9a9dc93291103ecf086e54a2f1b5c825b5b16a799ed7e289c27e40afa33203cbdc06737410010bd5d63395f56762967474f19029d3fd448ce3bf01bec
|
||||
DIST firefox-80.0.1-gn.xpi 590791 BLAKE2B 1ddbce705dbe7d8376dc85572cddc622aa5b3bc0fa7558bdf4a3ed6460b4778a4917f586bf7ac9d2685dbbd807cc175331bdfe47e45d35fba4b6cc9eb1ea9ad2 SHA512 7b0ba306f99c4b1b184d691a8dbc850d3dc6163f98c0a06b702396bb4779a97fa766ead27da314e4a0e77e8bcfb62c99bac08c9f4d6c7e69479f3d4db43454e1
|
||||
DIST firefox-80.0.1-gu-IN.xpi 604461 BLAKE2B 20af1b1f004c2ca8e2fe0c253e79d2c0b74ac063d447040d5681e73f87a9eab87b30c0e6f3872ea7b3a66bd4a0ca5655dcb2de890ee6d815b395262f71676bc1 SHA512 f6ed907d915b5247becc4bdde4c0162ead1e23bb09503bf97e18f7308fe54d22436f0166618b1456ee586d72fc7fa30ed787910a21c0443881d379710e42d969
|
||||
DIST firefox-80.0.1-he.xpi 592098 BLAKE2B c68b749791ebde80692f2de63da6ce4da9a1f42025bb9d8db468c2980ff0c0a8e37d11c3cd56d0066d4aa7e95cf89ece27ecec90c68d4c7bcdf709b19266058a SHA512 35c343af1655da469a40841f47b2d55be613593ea6dc7d919e8a92cbe0397c5c6846964788f4b5352947daa804c6fa33f5d18445c10188715de9a74ed53f4027
|
||||
DIST firefox-80.0.1-hi-IN.xpi 625903 BLAKE2B 58eee14246b5bd011dd5d8b80f6e550062091c11a6ac9bd68a2e0440fd976fad9be85d1fb48dda4cf84ee77ebff5a2ae0647a976098c828154fb986f7f94d782 SHA512 910c22111eddc6cba2089876ae726b580c6883d7fdbef6cce12b41977abb8aab69447a262aa748c35de77476eb015141ead769925d1d06a10fc671290d0db493
|
||||
DIST firefox-80.0.1-hr.xpi 570021 BLAKE2B 08bbee83abbfa45bfbccb6665cee2c28c9725e0a47cda940575a552fec7d08b26161d878731ae36c3f2d6973329d342920a7e65bafc48bf6fb5fe587cff0ee8d SHA512 2be01411f887388770afc99efdc2fd77ca02327d51c8f4d1a717f13f0dbc147ba7fc39a56a686512cbf4cbef3d4b6a5ad85c0d03c878eb5b44386c47fe15eb8b
|
||||
DIST firefox-80.0.1-hsb.xpi 595914 BLAKE2B f755c918266cdf4e052729deba5d5a325878489438eeed30523eb6e3c7896df07c33172286e8313e7e4f4c6045187e6b5a615d1f7deba4a38daa63b49745a9dd SHA512 4084e9a4c65e57d6efc16d1f7927772ac6fa87c7c136ed4f7a82fa19db76d236ab06e08eec234612702d42e32968fd1699836b314c2ff7770f8cd84db209dbc5
|
||||
DIST firefox-80.0.1-hu.xpi 600741 BLAKE2B ffd3bbcbca34377f2ec0d9ef7ff183a4fd62bd99e53317806f1419b6859804b3b9d7926cf09cff7bd6e1ce2f621c307cf0142aad68cde00c1d1800e4fe6d9888 SHA512 066da2326aefcaa07433083230debc48689be0aa82701111e9b7dfc2ac45724047029a0332401d66cab53b90bba243839f28014f773cea442a5e25ea8b387e23
|
||||
DIST firefox-80.0.1-hy-AM.xpi 651784 BLAKE2B 874cd0c9c62087d131382b1be57a30536ec45e5c58886fb79ba1315dd6bf8fce68330b2046cf0d16c6e7e4390e46f6fe1e7a6dd62e6ca32007dbe58a7129f3a9 SHA512 7689b2fdccd31f057c69ef02ec2ff925cdbf02fdde70e929879ef4ce426458b51ad5576ce99af58b2aa250e1c497c333d21648effe254e8310a666cc07564718
|
||||
DIST firefox-80.0.1-ia.xpi 565290 BLAKE2B 75e6b194b15b16cf46339c48ea24775bc5dd113170a0aba9078446a9b40c4dc208f9f81045bb4ba8928d2d0f1319b6620235e2b228fa9b923b405ce93f993b81 SHA512 d14576bf7bd9c686e3e5cd9fb1b0477f95db0cc02040e00b66939e494743779ba705eeb01e1f8a6730b079e9c6a1aa40f5bc6874f3c708c2d4a0614f15fdb13c
|
||||
DIST firefox-80.0.1-id.xpi 558440 BLAKE2B 5fc4cd0ff0b7a4338be2de63a5ef45febc6a0fd203e5a4c50a622b4b6a3c82d2e244bcc80460dac87ee8049310f5dd83ef9b1be4cd9f1c27902640e5a52f26e0 SHA512 d7606b3422e6cba126dab8ebe68d3d4fc77c93eafddc118191a7dad474dafa402907388bb269f9a6654a44be06aa61f72698e893b608e944afa8ed524b2e5605
|
||||
DIST firefox-80.0.1-is.xpi 529509 BLAKE2B 8b96219b2cd711d13b23cdd1f3d3d59ae603dabcfcab31eb98961f0482b61e930ebcf074a008fed654fe958b94dc0861c8521b0094c282cbfdb4c5282efa90c1 SHA512 5fa2a46a70ad0b88ba40a495ae9c1687aef359fdab8f721185352b124f15c755af8fa0ee6fff3abb5dc79daa5b560fc12e671438280b03a5e1523460409d5a30
|
||||
DIST firefox-80.0.1-it.xpi 463581 BLAKE2B 05c9459abdbc3808fb959cfffae271868b8aa1952fe3af48ec1481f032ddd53b1e3aaa62b28ff7b4ae44dc90e15b3aafa5900dd46f1473fcb6c2dcbf16cc6ba2 SHA512 a5d20ee02f37575457af1ed9a1ddd40cee0cc1b85dc6ce79e033550abafccc85f0f8436ef04f28683fee777e391644d10b812fdd308be5f967079b13eda19e92
|
||||
DIST firefox-80.0.1-ja.xpi 601243 BLAKE2B 404e4004234e9e81665dbfa6a2014ef8e3e8b72d1f143400c3fa097c7c3ad4e66f5d3cb84e1d846a104eb041c5a10884bd25a3218081402ab97ca91d65db0f13 SHA512 073f13c1ad5287adfd3602791547a544d6cbba24720e7d7ee205bd11fcca2a458d32370a41443a46732599b8286132787a7618ab18363b20adf39b9962afab55
|
||||
DIST firefox-80.0.1-ka.xpi 626403 BLAKE2B 63217d95585b900ad6a6e13d41067f394c4d2eea5f249745c4b82ca75fc440f1f3b521b50d7c47da3d2ff332cfd5df9327206a0176c0a224d08becb4391e2fe7 SHA512 b30c64ce4272816dc9d7d88f6e0e1a6bd45b85eac63823182a85b6eb176219c74ab024394b7016961dab4516af1973de845085d1bdc5ce8c4c76e8cba4ac3bca
|
||||
DIST firefox-80.0.1-kab.xpi 583640 BLAKE2B 265db8138bff8e07f11963cda3f1b4ede8156f96bdea9709bf71fd518244f7f3be144df52e25f6ea2db7aac70fcbfafdbd1da0fcce42bce372438c456ac3dbf2 SHA512 e123117fc4dd8469e244de5f1714e2d4438413b2370dd6659e074fc6738ef558d8e0a566a028d8e87062fea8cbe153403fe4d231ead32cb7d4043ec6aad3384a
|
||||
DIST firefox-80.0.1-kk.xpi 649669 BLAKE2B 677335f9c33159810f6a73d4e0c080efd3d294e2c1bdcac8d5fec4bcfba61ddb504ca6943af83c8dc4d82ea86ab16df29eedffa326f712b1d7fa1c93da5c918e SHA512 20af3efbe6269624422f1ee7a9254528febef20c09c402152da9a86cc076fdc4fa51e730df7ef154edb1ffc048553675a3d2ad356c9e06a0e0e0107e7823a797
|
||||
DIST firefox-80.0.1-km.xpi 568463 BLAKE2B 9daa1e7bbe2ca082578b8cd9484b3574a9112f66300c198ed5c9cb6e40dfe4261ee6115c7207676646baecbe0fcb085e48cb6edbc7a6607aabb6b4e0009be7aa SHA512 b9e4c78612d2ce6d20c8628aa2fbfd0edae3e175852c14ed4489e72e0036a1627f3218425a72862b4bf2745b3299caf6e5306751fccd083211153e472dea2b45
|
||||
DIST firefox-80.0.1-kn.xpi 559704 BLAKE2B ea4c2031c7efc41556de3356e64270ae9a2f964e38f28f97138ecf26b146cc39b8a58ba2d90fca5c851139aefc443aa78921429f7a11d0e52d020efe6b80768d SHA512 526b88bfec9b1c33a120e7ec2f045d20e19704b48db87d84faeca5c8ee5ef56159e12601869b2d2233c293b599907f76333789a1d3c503ff6377a1c76caa5be5
|
||||
DIST firefox-80.0.1-ko.xpi 614390 BLAKE2B 56fd747d8eb0eb5da2b102a55e202c5d5c7f5cbfe38509ba26808240bde470d432878a3e689fe6afd67364556ca2768a3f096ec55cda5b64bade4400e037c325 SHA512 50f6484898aaf1a9bdd91eae4c5ffaf55c05a5b28aa4af825dcadc64ebe18db77ec97108648bebf87aa1273ba1855a0c2f405820643f98a31c604e7a6b04e942
|
||||
DIST firefox-80.0.1-lij.xpi 528971 BLAKE2B cbdd1aef2f7377915a7d8db05695d105c473eed6503f225b702539650488d80e61ed04abf165185802e8f661b6fda160c9cc733992b4d479809c35c641718077 SHA512 66feafb6d43fc5099083d25d8462850a575f2f43b4755e5c3e3bdcaf33c554f462a4df0b199a93486f3bf24950b0ed5415bb835df0520f5c7a62a81547ef30ee
|
||||
DIST firefox-80.0.1-lt.xpi 587840 BLAKE2B 5c51f5aa2c97e17f01ee6ab29bbbbb91afb312f2ad89c76bffe03762aaf2140ecd98bdad75333a975900dbf6759ff31f0738c5ab5aef42a1d6fc3af01492bea6 SHA512 5d38561dcb9312dc62dd4f06a7674b277d0be1317f9fb1b6e1eeaa889f0d0466a7c1ad529b2f8d58de65f51d5abd9829999f33db30fefe9a5a3b54014c60208f
|
||||
DIST firefox-80.0.1-lv.xpi 519818 BLAKE2B fe825a830cedb1b40b903be1a17031f0f52f8bb79005aedeba0691f54c6cdd02a315d0ba5d17da3abb2ef79aed52ee56828010fe0916a9c21466ca859b48a412 SHA512 789d712a7c399178f43e5c108e2727ee6be58b999df4248f2669d2837299da79d0cdd20f3dbdbccfc1656056573470633ed3f65fd1903e2e509b5645298e48ac
|
||||
DIST firefox-80.0.1-mk.xpi 482548 BLAKE2B 53d581e920ed2f790a7184f37b2bd2b4d312b45e629a8dc2753d21bae585cc2ad072e2773adcf5e96a38a669e8a04d1a5647395fcd00fed961f116fd34f06459 SHA512 a31bd6b70316f986b9c7edd3dc797103d49a193f180371dd875eb17391fe94b92103606cb06fba2378b8fe1329475c54b8296969496eaacd0f140e83038ec49d
|
||||
DIST firefox-80.0.1-mr.xpi 601274 BLAKE2B 7cf25f0a127183d79ba5bb1c4181cd0d5e799dbfc96d7dca1da2cedb7d1498a5068443df6acf2a6820c5281ad1378cc21d1fb27e734be968dc8a1980a8962ccb SHA512 4d9ccad61a868483ce700b28ace409c7907822c0c5bf261bf8f4497aecd685fc760226ebc5af08d8678a8a582ab59a282ecb73c595ffa62e404f39bf37f73c6d
|
||||
DIST firefox-80.0.1-ms.xpi 502900 BLAKE2B 904cdf465d8015a73584a98c97d4ed168f2bec898c02762a87a82f2cfc621d0d8bc25d6bdaacf0ee4803f43a3f1f0fb71655d0aef7990e0ac2b0581c3ce59253 SHA512 1c83be4e5c2b7267f8956a534596c31bedd9680539f5b93731c92c42012d987024dc1785fa647e9db9ef5554e5ea469e132906b4d41789e2d31d7539b0c698a6
|
||||
DIST firefox-80.0.1-my.xpi 557148 BLAKE2B fa611100ac7fffa5c5538493679aa7b6a257ab8300ad583928601ec8332e13f811bed34274b03a75a5ba84253dd54703dbad7f477fd82708b11fb951dfdd3ffe SHA512 bce7f873f4379d3ad12804894c0d52ef38f0f4addb43e556cc8370fbd8c5b2d8a5370a9007a6808192223d51aba6413d3596db8c262f22347d7d27d2027a41cd
|
||||
DIST firefox-80.0.1-nb-NO.xpi 559668 BLAKE2B 02bc6ca754b8402bc452789fe92f9042e9c3cb8cbd55831b9b89300765cfd92ab231aab452b2958444cc591e5b70da38a97c464d64fe9246f7f88afca463f070 SHA512 85cef35f5c975b313db2ff28c7b432957a96de41fd87fa727ed30363b72fea30926d4893d65d877b6a9f65c195ec4381cc56eceaf825afae9a95efabe8c612b5
|
||||
DIST firefox-80.0.1-nl.xpi 567581 BLAKE2B 10ed307f355c46ab738ff303b9ef7de255b22805dca76b6edb62b0831ebef44ab8d591b572e74c72483d0d2ebd02dad0e111d42529dc36ace894f5ac3e63caa8 SHA512 c83f5444ef5e10ea9f8578674bba1f1e957d93703177adb1abb13d191f202df184ec2e91ea15f559e9f350f5edd3e7ae61f0b79a3709ea9380f0c9902a8b9554
|
||||
DIST firefox-80.0.1-nn-NO.xpi 562491 BLAKE2B 06b2608a77a3f548433a504257c16abfe35634383ccc469568da9ecb28524dda1cbf4dfdfcb26812a5f43fb8d3930c422e6c77d68b4a326094f1dc2fea034ec8 SHA512 42a57f7927029864e682db3507dad6189d2518649b4520de0ffdbfb8f7ec687ce3df50630859832fb0ec2f3f0f45a5998e8cbce11999ff6b02d17276c3b1e026
|
||||
DIST firefox-80.0.1-oc.xpi 584239 BLAKE2B aae9400ba32879130cfc1b80b4d5a2a78fccf17e31d76e29ddb38d241f3adb5dcad3e36761d742560151f0916e6e897d9a31846262ac386d2802ea478a06262e SHA512 b78f228736a66e0f9378a80dfd41aa5c8bf33d80271f38ce65c41f956f7d8c06fa84e7089e3e14073966c60de6bab11dd1f0c3f9f3400f1448d792171d0f21d9
|
||||
DIST firefox-80.0.1-pa-IN.xpi 613847 BLAKE2B c8af3f2ca1d007225ccd274aff221f4a9006a9f451fa8ffcf949f8027ad82ba09e985127afb26a12bb02865d8d417a7320b2e1a537bd4d9322c5c31025921c43 SHA512 39080e2f2c4522b699cdbc4f118423e1a10d2f5ac2b18fd5e90af85cefdcb76d1ca04c31a8e1174e1b79773ebd76f0c10c08b61e328cf620f706af130b40e4b8
|
||||
DIST firefox-80.0.1-pl.xpi 588634 BLAKE2B d360327bf88a7ec2578759a7f42d015d4dad50324ca08c77bfadbe21c3524cc0e16842e3ad491a8774093f8bda8ebaece0704331871ee6dffb8dd827be32be66 SHA512 26264d3e7a26b4fd24d7e1fa36efe1989308a814a062033f9f45d6c4ed7ff2e32272eadf1382a14c04cdf83da961b6f6bfd0f5fb472bf86d2a8d2124fbfdb12d
|
||||
DIST firefox-80.0.1-pt-BR.xpi 569418 BLAKE2B e72d3bdf4bd3a9eb2c36f0adb0d623373d466cb2b2a8366fc8b85ffc8c5647a83e41d3585c108721d860b8b7c26fc127470025da634076b115ee88da4b9aa2ba SHA512 35610b0e440cf5b0ba2757eefeb4f02a1e50488e4be983c80bf09f7bf97e26b7a21143aac672277e33b784908b9f261b54fa3239f989d4130f5aa62a17da2ece
|
||||
DIST firefox-80.0.1-pt-PT.xpi 579182 BLAKE2B 798376fbe011db8102010f868127c914d0d1cc8b43dd7a860321dffac88e42140cfbf82aed048ab0b4d42d7ac7375196719930f1df72f94ef3e91dc5b857b81c SHA512 8f7681c7518299f0373db051be6ad5928148dd6b2c0032312683b114e524ef2ff8dc5501c17dbb02b7aeb5185c19d550eb8475a361006ceeb54299563fbbe87b
|
||||
DIST firefox-80.0.1-rm.xpi 566373 BLAKE2B 89d577b27425f5d11958d40b3d91005af652232d682d97fd471152e2189b6f6bebf82ebdb78f01bf22eb073dbd3c4c11f691cb0f39126b84e0df67ad4fc1d07d SHA512 0bce2deb89c88f7a65fc8690b9db5086d5d985075db69c3994f949158ac0cde7de7bba2814317ba42d60bf48d9e3f7723d7864dbabd9d9029f6f026efcd2af20
|
||||
DIST firefox-80.0.1-ro.xpi 586939 BLAKE2B e4cfb3cfd2e0c058709aa5da299725802c8297ead947715f2bd3f5e9f44ad3ed6f985721365d63f9a3876b4dae7b397c17f3ec5ec200a8f3ef1abd3038682236 SHA512 a5561578101ac24e94458b3b55e0386716b4d33da5427bc58385832bd49e033f7d4ff2c6887952e4e3004f21e4efcde6e672439c36ef7503c3099ab4730ec39f
|
||||
DIST firefox-80.0.1-ru.xpi 666218 BLAKE2B 8cfb67d44e0e9faf5d4c4ecb2a651ea89a5d75d8372360ea89663783bc0c759277b405867d53d7f5397ef31564e4bca502d2111ab5bae7b3ccd2b652cff15009 SHA512 3d425e8b742463548c97d9c268975fc58320708e17572d99adf1ed4a6f787bcdc6ad9b3722edbd2664eeae6a998dfced00b385d664749c0ce261871da987023e
|
||||
DIST firefox-80.0.1-si.xpi 534116 BLAKE2B 26f5fcc5514eddcea5666beaa8761720e833d0eddee23dba117d45eac921aa1a97ce31f9a3d70c27c30403639a88ad379d4bc63f2c21b049dd471a6980d8dab8 SHA512 4ad417d78c783a95c87bbf3deb05586a4accb204785c049c75a89f3b49bcfa1464319223e0a25cdf10c99028e5530937d199abbb5dfd87933eba1b086e60d67c
|
||||
DIST firefox-80.0.1-sk.xpi 587987 BLAKE2B a63ab967999d3acadc8f6cf6f84e4bebcecba5e94b3a89e0d0c169f36b36febd01d6ee17dd08700467dde01db780eafa3de9bd4fc3a1d8d05ea344bf6555e078 SHA512 6d2288823d4f2a254afea66b1ea8712d10f55d8b31793eb8bd29211a2ac68f31265f1e9de6ab0e20e2d60bc70584de7044a63b925bf77b9a91bf084a8e9a79e2
|
||||
DIST firefox-80.0.1-sl.xpi 569766 BLAKE2B e75cf413532d4745c52bc93dff95a7f5fcdbc695ea1752013f42cbca936a50f1f059c97ea42839e2df27414d9815863bb82500a7266659f52552ad7eb2588e72 SHA512 55e6bc7d0e3fef21b4a0f04080a87a441f6c5e064cc98cad0f43620b58a44ccd7279f7d2dd658cde1bcba760cf0883f69677161f098b2de4d190f783e1ea54ec
|
||||
DIST firefox-80.0.1-son.xpi 454608 BLAKE2B 97a9c1ab015fc47e42a6c3d0b5287fcbf0248282be45ce9818e74bb39ddda493afd2f876a18ecde61e6c804d7697baa861886081f37966a7d87d2d0c79b3df83 SHA512 c9ab1150312d4ab20f269a92d09d9fd9942382ba6aadc0d4d039c5c877b44151269314c52c5e026a0ee1005e8fcc0f2cc2972c42e8fc6863a25520e1b7f2681f
|
||||
DIST firefox-80.0.1-sq.xpi 580208 BLAKE2B 78b9c0dea75df234c4f0b6aad3c689c3e151571fc002d76946c31fd0c34392eab04ece2f4bf3aa270ff6d575c96de9178de56b40c4d5b0ce2191e8313da26717 SHA512 a9a1bfbfe224f5beec6157225b942067ebf1037349a644bfe2c2bf1b08e3c48346f620d68d70079ba309e2a6649b98dbbe3339f87d1c4a32af3ed7ac945be90e
|
||||
DIST firefox-80.0.1-sr.xpi 614268 BLAKE2B c71628dffd7c1e9c261979457dba2e33f8d3ef1b5793d9856f1eedec58322ee889418982623a197a747037e63ce1a77563b6503b045a81c7ad5a4b6ac6240349 SHA512 f87036a3c1dab96891618a940991c36302265ca7dcd2a4db387701b607ec91aca38e3f5ebd086c36b16b0326c0fdb9c03bb5b3cccf4f4d1281d9ecaca306b493
|
||||
DIST firefox-80.0.1-sv-SE.xpi 573128 BLAKE2B e29abcfd0d6726316d0eb19b3b1e97e9421f34157eb6428eb56c54fa4f7ec5edfb0af513fa2a3082cfb6aa96e0c6a84504f3f3536d8bf982e0cc011f0698edf1 SHA512 710d65786c8ed82fec8ea627e789deb6a065859c19eccbaecf9ce5012f58740b2781fbe7f2b5724dcd7be38db8f01721c7ea7d354a4409acf9b84d511bb6dc3d
|
||||
DIST firefox-80.0.1-ta.xpi 573981 BLAKE2B 379297acd4f411840c69b726e88ced981e781bb7c58460d59024b0b2b3a859c7a3226106b6e6b4411543360202a44cf1264a2957ccc5d28aecc37ed824fce5e2 SHA512 2b819f416ca0958a841977853f7179c6ed0f8377f4c6b8912cafe21179f3485ba84db48f49912d3730c31ae83ddcde84ef0e2695250f8067aeb5641677f7a2ef
|
||||
DIST firefox-80.0.1-te.xpi 612546 BLAKE2B c231b2923e2e160b37bd1b58adb63403f627729ebb8c632fc1e9a74a6022c781b576354e0e0228f386c784a70b9920f66a31b0893781c5d8d46b23fcb24a8a73 SHA512 d1302b4069a9cce98b1079f7167db9e6b80f094a33dde214bfb23ad3a19dd17f8d044e0dd0926f3570ec1d0bf19856457fb9cfe69e65cfcb162c66153ee619e8
|
||||
DIST firefox-80.0.1-th.xpi 639043 BLAKE2B 562417f922589f396a756a94606036ca460c4dd0ff2e27cd40163639f1f5c35debd2302e1c4f23d8df86d5a9b0a0e7bd0a6e79303d6b1d8e423639352b12ab46 SHA512 e051e224e9f7cb29f1a85aed2b0c4b73238c1ef01e3d7777ae47a71fbbe4f32402999a5fd918d3a486348621e48a28d21ea92b2af14f251107995e3f860a3f69
|
||||
DIST firefox-80.0.1-tr.xpi 584648 BLAKE2B a3f7c00083deb58d03179c6765083b70e70b0de472cfd600156d9c0e6a588e94a0c7d62b75dd6ada47b4f1bd2b25bff6b4b6073f167c25736033cbe5fb23b0cb SHA512 094c89edfad656766cfb03cd057dfa14bb93ecc61ae69ab7f7bdc654247f0daa08c35f1011667f7c3db27676ba92d973c1bf5b5ea4668995786f159cd428a13b
|
||||
DIST firefox-80.0.1-uk.xpi 659416 BLAKE2B 8f72b0c16dea0d6448a193c3064cb9aef5d6572055750de4f642e857702934bf21555f318f67d64665111012ce5ffacabb7e1a052d11e5059ac260fe120806ce SHA512 6e08758c438a8200b23a32c61929f9624cb208ff2501de66af5b4abc8e5c4c49507ebf0213d267803db5284724677b43d4eb662759fdf9970b3637def24c296d
|
||||
DIST firefox-80.0.1-ur.xpi 615360 BLAKE2B 0cc5e0080d42743f830bafc5606375ec624e722203586c7c6be3cbcbf50fdcdffcc9e7c14a9c78e24adaf3988b9969f987178bf839670ded7e495008435f0c82 SHA512 229ab1aa8f403250ced2d247d21f3e17b484420352a830a8bb7633228e4bac4712b5d2b8ee93c82da0974046afab104eb68cbea3d0dc03a8abef756e2c4138ab
|
||||
DIST firefox-80.0.1-uz.xpi 522574 BLAKE2B a7f23d146defbcd0b2450d3bc9f7ecbec013caa1c5f742e969ead1834a9056cefdf274837b11606a8fa590cd50437c41f32bef412dc9d14e991375b1a161cac0 SHA512 e163e411c3e3bd767144ece491ce31a422d6b30d1d457298a884fff695d011fa8450e9886c681c7a8541a704373c4cdeb73493d8e941a1e630ebb9918a43876e
|
||||
DIST firefox-80.0.1-vi.xpi 609394 BLAKE2B 080fcf58e2a1478ed2fda6aa2e19f39880534aae830a9ddc1ed892970e984d55dae5154004871b8c68d4ed46c5f709ccabcdbad8158f86a95f247398bb68cfc4 SHA512 5febff5088076d865fdeb389980472a054045d9a2b18bbd19dbff7c9bf6544934f4de87f1b7d09e8f43c8f3006df9f86823dde82e68d595474bb96ee430bf6bc
|
||||
DIST firefox-80.0.1-xh.xpi 458212 BLAKE2B 9f82a968b99bfaac375486e1f15a860433dcdda451ee8d46e80e7aeedfced39f0984f26142b46f318c6890ed917a1d92e6d44e5a084932160274167b718497d6 SHA512 454d7eb2bcdc5fda55c6376d77147e0f9e00f3b0b96c3b09521393e1a2516f97339533c35d08f456bc344a76ba72da42d99a0bae24c24f103eb9675967a23790
|
||||
DIST firefox-80.0.1-zh-CN.xpi 611635 BLAKE2B 3263f493ddc0ad7f5ae018f5dba479e9daa64ff9c119bb9e8aff13076ac55fc654519d78837c68beb89219848e134211d95c12be302b079e913ab58ff36a5ee2 SHA512 ab90e7c21368a78c3eda23325b138fd2da02be577856f4ebee59d1988a2b2799876bdbd8c54040c6c45ff45804a4659a52b276df6da1424dc2a48b295b3699db
|
||||
DIST firefox-80.0.1-zh-TW.xpi 611178 BLAKE2B e84b0defc7990b6c775a9ee9a5ba7dd54a60a41ca1e618d87b72c1033eb08a814de335a1d59b9aa84fff70d164f8755f2143b188128da5c84fd2eb4ea08b4b77 SHA512 253f80d60eb05d05d366642e2ebb78430b3b9acb36baa553b3cffa5a1d4773e1a422e770557a3ae791d7704ed22f5ded6713313886b696548bf49c91bfb7dfbf
|
||||
DIST firefox-80.0.1.source.tar.xz 334690792 BLAKE2B 47c8cdb2c8c0088b5dc8abbdfba8be685dfdd4d079b155aebb1431a5f8b448b94d90e188d08426053be961f228d3b4e7852626f502397099e99e4a897e7dadfa SHA512 97a54e5f0ff0e34d0994b9ea67250fda1e9a51acb1129a5f6ce632ca5d15132ae4e5eb18c1a9a609a14f5012daf87c6e1a5049e096dd1c32cac9e2c981381d10
|
||||
EBUILD firefox-80.0.1.ebuild 28853 BLAKE2B 5b48db6f1c2434ce1dd57dc57b79ed18266b74478dcef62fc34ab062ec5e264c07b0fe196549f743691e1a4c05186322f52627331e76ecd232320429a65904a5 SHA512 c8323a71a8cd774f8831c04e65dc648ba15fb90e9cfef69e71a2c05cb90a4b9391d3fdf066003e096084efa9ec84eeb640fb0c47a2dfcbb85741e07cb56d936a
|
933
www-client/firefox/firefox-80.0.1.ebuild
Normal file
933
www-client/firefox/firefox-80.0.1.ebuild
Normal file
@ -0,0 +1,933 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
|
||||
|
||||
# This list can be updated with scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=( ach af an ar ast az be bg bn br bs ca cak cs cy da de dsb
|
||||
el en en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu fa ff fi fr
|
||||
fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM ia id is it ja ka
|
||||
kab kk km kn ko lij lt lv mk mr ms my nb-NO nl nn-NO oc pa-IN pl pt-BR
|
||||
pt-PT rm ro ru si sk sl son sq sr sv-SE ta te th tr uk ur uz vi xh
|
||||
zh-CN zh-TW )
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
|
||||
MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
|
||||
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
|
||||
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
|
||||
|
||||
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||
# ESR releases have slightly different version numbers
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
|
||||
# Patch version
|
||||
PATCH="${PN}-80.0-patches-02"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
|
||||
|
||||
if [[ "${PV}" == *_rc* ]]; then
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
|
||||
fi
|
||||
|
||||
LLVM_MAX_SLOT=10
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
|
||||
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
|
||||
autotools mozlinguas-v2 multiprocessing virtualx
|
||||
|
||||
DESCRIPTION="Firefox Web Browser"
|
||||
HOMEPAGE="https://www.mozilla.com/firefox"
|
||||
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="bindist clang cpu_flags_x86_avx2 dbus debug eme-free geckodriver
|
||||
+gmp-autoupdate hardened hwaccel jack lto cpu_flags_arm_neon
|
||||
+openh264 pgo pulseaudio screencast +screenshot selinux +system-av1
|
||||
+system-harfbuzz +system-icu +system-jpeg +system-libevent
|
||||
+system-libvpx +system-webp test wayland wifi"
|
||||
|
||||
REQUIRED_USE="pgo? ( lto )
|
||||
screencast? ( wayland )"
|
||||
|
||||
RESTRICT="!bindist? ( bindist )
|
||||
!test? ( test )"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCH}.tar.xz )
|
||||
SRC_URI="${SRC_URI}
|
||||
${MOZ_SRC_URI}
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/nss-3.55
|
||||
>=dev-libs/nspr-4.26
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
>=x11-libs/cairo-1.10[X]
|
||||
>=x11-libs/gtk+-2.18:2
|
||||
>=x11-libs/gtk+-3.4.0:3[X]
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/pango-1.22.0
|
||||
>=media-libs/libpng-1.6.35:0=[apng]
|
||||
>=media-libs/mesa-10.2:*
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.4.10
|
||||
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
|
||||
virtual/freedesktop-icon-theme
|
||||
>=x11-libs/pixman-0.19.2
|
||||
>=dev-libs/glib-2.26:2
|
||||
>=sys-libs/zlib-1.2.3
|
||||
>=dev-libs/libffi-3.0.10:=
|
||||
media-video/ffmpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
dbus? (
|
||||
sys-apps/dbus
|
||||
dev-libs/dbus-glib
|
||||
)
|
||||
screencast? ( media-video/pipewire:0/0.3 )
|
||||
system-av1? (
|
||||
>=media-libs/dav1d-0.3.0:=
|
||||
>=media-libs/libaom-1.0.0:=
|
||||
)
|
||||
system-harfbuzz? (
|
||||
>=media-libs/harfbuzz-2.6.8:0=
|
||||
>=media-gfx/graphite2-1.3.13
|
||||
)
|
||||
system-icu? ( >=dev-libs/icu-67.1:= )
|
||||
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
|
||||
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
|
||||
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
|
||||
system-webp? ( >=media-libs/libwebp-1.1.0:0= )
|
||||
wifi? (
|
||||
kernel_linux? (
|
||||
sys-apps/dbus
|
||||
dev-libs/dbus-glib
|
||||
net-misc/networkmanager
|
||||
)
|
||||
)
|
||||
jack? ( virtual/jack )
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
jack? ( virtual/jack )
|
||||
openh264? ( media-libs/openh264:*[plugin] )
|
||||
pulseaudio? (
|
||||
|| (
|
||||
media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.12-r4
|
||||
)
|
||||
)
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=dev-util/cbindgen-0.14.3
|
||||
>=net-libs/nodejs-10.19.0
|
||||
>=sys-devel/binutils-2.30
|
||||
sys-apps/findutils
|
||||
virtual/pkgconfig
|
||||
>=virtual/rust-1.43.0
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:10
|
||||
!clang? ( sys-devel/llvm:10 )
|
||||
clang? (
|
||||
=sys-devel/lld-10*
|
||||
sys-devel/llvm:10[gold]
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:9
|
||||
!clang? ( sys-devel/llvm:9 )
|
||||
clang? (
|
||||
=sys-devel/lld-9*
|
||||
sys-devel/llvm:9[gold]
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:8
|
||||
!clang? ( sys-devel/llvm:8 )
|
||||
clang? (
|
||||
=sys-devel/lld-8*
|
||||
sys-devel/llvm:8[gold]
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:7
|
||||
!clang? ( sys-devel/llvm:7 )
|
||||
clang? (
|
||||
=sys-devel/lld-7*
|
||||
sys-devel/llvm:7[gold]
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] )
|
||||
)
|
||||
)
|
||||
)
|
||||
pulseaudio? (
|
||||
|| (
|
||||
media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.12-r4[sdk]
|
||||
)
|
||||
)
|
||||
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
|
||||
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
!system-av1? (
|
||||
amd64? ( >=dev-lang/nasm-2.13 )
|
||||
x86? ( >=dev-lang/nasm-2.13 )
|
||||
)"
|
||||
|
||||
S="${WORKDIR}/firefox-${PV%_*}"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/ff"
|
||||
|
||||
# allow GMP_PLUGIN_LIST to be set in an eclass or
|
||||
# overridden in the enviromnent (advanced hackers only)
|
||||
if [[ -z $GMP_PLUGIN_LIST ]] ; then
|
||||
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
|
||||
fi
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use clang ; then
|
||||
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
if use pgo ; then
|
||||
if ! has usersandbox $FEATURES ; then
|
||||
die "You must enable usersandbox as X server can not run as root!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use lto || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use lto || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_setup
|
||||
|
||||
# Avoid PGO profiling problems due to enviroment leakage
|
||||
# These should *always* be cleaned up anyway
|
||||
unset DBUS_SESSION_BUS_ADDRESS \
|
||||
DISPLAY \
|
||||
ORBIT_SOCKETDIR \
|
||||
SESSION_MANAGER \
|
||||
XDG_CACHE_HOME \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
addpredict /proc/self/oom_score_adj
|
||||
|
||||
llvm_pkg_setup
|
||||
fi
|
||||
|
||||
if ! use bindist ; then
|
||||
einfo
|
||||
elog "You are enabling official branding. You may not redistribute this build"
|
||||
elog "to any users on your network or the internet. Doing so puts yourself into"
|
||||
elog "a legal problem with Mozilla Foundation."
|
||||
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
# Unpack language packs
|
||||
mozlinguas_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
use pgo && rm "${WORKDIR}"/firefox/0032-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
|
||||
eapply "${WORKDIR}/firefox"
|
||||
|
||||
# Make LTO respect MAKEOPTS
|
||||
sed -i \
|
||||
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
|
||||
"${S}"/build/moz.configure/lto-pgo.configure \
|
||||
|| die "sed failed to set num_cores"
|
||||
|
||||
# Make ICU respect MAKEOPTS
|
||||
sed -i \
|
||||
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
|
||||
"${S}"/intl/icu_sources_data.py \
|
||||
|| die "sed failed to set num_cores"
|
||||
|
||||
# sed-in toolchain prefix
|
||||
sed -i \
|
||||
-e "s/objdump/${CHOST}-objdump/" \
|
||||
"${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|
||||
|| die "sed failed to set toolchain prefix"
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
einfo "Removing pre-built binaries ..."
|
||||
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
|
||||
|
||||
# Enable gnomebreakpad
|
||||
if use debug ; then
|
||||
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
|
||||
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
|
||||
fi
|
||||
|
||||
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
|
||||
if use ia64 ; then
|
||||
sed -i \
|
||||
-e '/^OS_LIBS += no_as_needed/d' \
|
||||
-e '/^OS_LIBS += as_needed/d' \
|
||||
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
|
||||
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|
||||
|| die "sed failed to drop --as-needed for ia64"
|
||||
fi
|
||||
|
||||
# Fix sandbox violations during make clean, bug 372817
|
||||
sed -e "s:\(/no-such-file\):${T}\1:g" \
|
||||
-i "${S}"/config/rules.mk \
|
||||
-i "${S}"/nsprpub/configure{.in,} \
|
||||
|| die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/browser/installer/Makefile.in || die
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Keep codebase the same even if not using official branding
|
||||
sed '/^MOZ_DEV_EDITION=1/d' \
|
||||
-i "${S}"/browser/branding/aurora/configure.sh || die
|
||||
|
||||
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
|
||||
# However, when available, an unsupported version can cause problems, bug #669548
|
||||
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
|
||||
"${S}"/build/moz.configure/rust.configure || die
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
|
||||
# Clear checksums that present a problem
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MEXTENSIONS="default"
|
||||
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
|
||||
|
||||
# Add information about TERM to output (build.log) to aid debugging
|
||||
# blessings problems
|
||||
if [[ -n "${TERM}" ]] ; then
|
||||
einfo "TERM is set to: \"${TERM}\""
|
||||
else
|
||||
einfo "TERM is unset."
|
||||
fi
|
||||
|
||||
if use clang && ! tc-is-clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
elif ! use clang && ! tc-is-gcc ; then
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
# common config components
|
||||
mozconfig_annotate 'system_libs' \
|
||||
--with-system-zlib
|
||||
|
||||
# Must pass release in order to properly select linker
|
||||
mozconfig_annotate 'Enable by Gentoo' --enable-release
|
||||
|
||||
# libclang.so is not properly detected work around issue
|
||||
mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
|
||||
|
||||
if use pgo ; then
|
||||
if ! has userpriv $FEATURES ; then
|
||||
eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't let user's LTO flags clash with upstream's flags
|
||||
filter-flags -flto*
|
||||
|
||||
if use lto ; then
|
||||
local show_old_compiler_warning=
|
||||
|
||||
if use clang ; then
|
||||
# At this stage CC is adjusted and the following check will
|
||||
# will work
|
||||
if [[ $(clang-major-version) -lt 7 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
# Upstream only supports lld when using clang
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
|
||||
else
|
||||
if [[ $(gcc-major-version) -lt 8 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
if ! use cpu_flags_x86_avx2 ; then
|
||||
local _gcc_version_with_ipa_cdtor_fix="8.3"
|
||||
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
|
||||
|
||||
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
|
||||
# due to a GCC bug, GCC will produce AVX2 instructions
|
||||
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
|
||||
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
|
||||
append-ldflags -fdisable-ipa-cdtor
|
||||
else
|
||||
einfo "No GCC workaround required, GCC version is already patched!"
|
||||
fi
|
||||
else
|
||||
einfo "No GCC workaround required, system supports AVX2"
|
||||
fi
|
||||
|
||||
# Linking only works when using ld.gold when LTO is enabled
|
||||
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
|
||||
fi
|
||||
|
||||
if [[ -n "${show_old_compiler_warning}" ]] ; then
|
||||
# Checking compiler's major version uses CC variable. Because we allow
|
||||
# user to control used compiler via USE=clang flag, we cannot use
|
||||
# initial value. So this is the earliest stage where we can do this check
|
||||
# because pkg_pretend is not called in the main phase function sequence
|
||||
# environment saving is not guaranteed so we don't know if we will have
|
||||
# correct compiler until now.
|
||||
ewarn ""
|
||||
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
|
||||
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
|
||||
ewarn ""
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
mozconfig_annotate '+lto' --enable-lto=thin
|
||||
|
||||
if use pgo ; then
|
||||
mozconfig_annotate '+pgo' MOZ_PGO=1
|
||||
fi
|
||||
else
|
||||
# Avoid auto-magic on linker
|
||||
if use clang ; then
|
||||
# This is upstream's default
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
|
||||
elif tc-ld-is-gold ; then
|
||||
mozconfig_annotate "linker is set to gold" --enable-linker=gold
|
||||
else
|
||||
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
|
||||
fi
|
||||
fi
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
use hardened && append-ldflags "-Wl,-z,now"
|
||||
|
||||
# Modifications to better support ARM, bug 553364
|
||||
if use cpu_flags_arm_neon ; then
|
||||
mozconfig_annotate '' --with-fpu=neon
|
||||
|
||||
if ! tc-is-clang ; then
|
||||
# thumb options aren't supported when using clang, bug 666966
|
||||
mozconfig_annotate '' --with-thumb=yes
|
||||
mozconfig_annotate '' --with-thumb-interwork=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == armv*h* ]] ; then
|
||||
mozconfig_annotate '' --with-float-abi=hard
|
||||
if ! use system-libvpx ; then
|
||||
sed -i -e "s|softfp|hard|" \
|
||||
"${S}"/media/libvpx/moz.build
|
||||
fi
|
||||
fi
|
||||
|
||||
mozconfig_use_enable !bindist official-branding
|
||||
|
||||
mozconfig_use_enable debug
|
||||
mozconfig_use_enable debug tests
|
||||
if ! use debug ; then
|
||||
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
|
||||
else
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
|
||||
fi
|
||||
# These are enabled by default in all mozilla applications
|
||||
mozconfig_annotate '' --with-system-nspr
|
||||
mozconfig_annotate '' --with-system-nss
|
||||
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
|
||||
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
mozconfig_annotate 'Gentoo default' --with-system-png
|
||||
mozconfig_annotate '' --enable-system-ffi
|
||||
mozconfig_annotate '' --with-intl-api
|
||||
mozconfig_annotate '' --enable-system-pixman
|
||||
# Instead of the standard --build= and --host=, mozilla uses --host instead
|
||||
# of --build, and --target intstead of --host.
|
||||
# Note, mozilla also has --build but it does not do what you think it does.
|
||||
# Set both --target and --host as mozilla uses python to guess values otherwise
|
||||
mozconfig_annotate '' --target="${CHOST}"
|
||||
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
|
||||
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
|
||||
if use system-libevent ; then
|
||||
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
|
||||
fi
|
||||
|
||||
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
fi
|
||||
|
||||
# use the gtk3 toolkit (the only one supported at this point)
|
||||
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
|
||||
if use wayland ; then
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
|
||||
else
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
|
||||
fi
|
||||
|
||||
mozconfig_use_with system-av1
|
||||
mozconfig_use_with system-harfbuzz
|
||||
mozconfig_use_with system-harfbuzz system-graphite2
|
||||
mozconfig_use_with system-icu
|
||||
mozconfig_use_with system-jpeg
|
||||
mozconfig_use_with system-libvpx
|
||||
mozconfig_use_with system-webp
|
||||
mozconfig_use_enable pulseaudio
|
||||
# force the deprecated alsa sound code if pulseaudio is disabled
|
||||
if use kernel_linux && ! use pulseaudio ; then
|
||||
mozconfig_annotate '-pulseaudio' --enable-alsa
|
||||
fi
|
||||
|
||||
# Disable built-in ccache support to avoid sandbox violation, #665420
|
||||
# Use FEATURES=ccache instead!
|
||||
mozconfig_annotate '' --without-ccache
|
||||
sed -i -e 's/ccache_stats = None/return None/' \
|
||||
python/mozbuild/mozbuild/controller/building.py || \
|
||||
die "Failed to disable ccache stats call"
|
||||
|
||||
mozconfig_use_enable dbus
|
||||
|
||||
mozconfig_use_enable wifi necko-wifi
|
||||
|
||||
mozconfig_use_enable geckodriver
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
mozconfig_use_enable screencast pipewire
|
||||
|
||||
# Enable/Disable eme support
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
# Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
|
||||
echo -n "${_google_api_key}" > "${S}"/google-api-key
|
||||
mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
|
||||
mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# allow elfhack to work in combination with unstripped binaries
|
||||
# when they would normally be larger than 2GiB.
|
||||
append-ldflags "-Wl,--compress-debug-sections=zlib"
|
||||
|
||||
if use clang ; then
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
|
||||
# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
|
||||
local disable_elf_hack=
|
||||
if use amd64 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use x86 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use arm ; then
|
||||
disable_elf_hack=yes
|
||||
fi
|
||||
|
||||
if [[ -n ${disable_elf_hack} ]] ; then
|
||||
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
mkdir -p "${S}"/third_party/rust/libloading/.deps
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach configure || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local _virtx=
|
||||
if use pgo ; then
|
||||
_virtx=virtx
|
||||
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
addpredict /root
|
||||
fi
|
||||
|
||||
GDK_BACKEND=x11 \
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
MOZ_NOSPAM=1 \
|
||||
${_virtx} \
|
||||
./mach build --verbose \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Add our default prefs for firefox
|
||||
cp "${FILESDIR}"/gentoo-default-prefs.js-3 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
# set dictionary path, to use system hunspell
|
||||
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
|
||||
|
||||
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
|
||||
if use system-harfbuzz ; then
|
||||
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# force cairo as the canvas renderer on platforms without skia support
|
||||
if [[ $(tc-endian) == "big" ]] ; then
|
||||
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
|
||||
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# Augment this with hwaccel prefs
|
||||
if use hwaccel ; then
|
||||
cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
if ! use screenshot ; then
|
||||
echo "pref(\"extensions.screenshots.disabled\", true);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
fi
|
||||
|
||||
cd "${S}"
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
DESTDIR="${D}" ./mach install || die
|
||||
|
||||
if use geckodriver ; then
|
||||
cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
|
||||
pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
|
||||
|
||||
dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
|
||||
fi
|
||||
|
||||
# Install language packs
|
||||
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon name
|
||||
if use bindist ; then
|
||||
sizes="16 32 48"
|
||||
icon_path="${S}/browser/branding/aurora"
|
||||
# Firefox's new rapid release cycle means no more codenames
|
||||
# Let's just stick with this one...
|
||||
icon="aurora"
|
||||
name="Aurora"
|
||||
|
||||
# Override preferences to set the MOZ_DEV_EDITION defaults, since we
|
||||
# don't define MOZ_DEV_EDITION to avoid profile debaucles.
|
||||
# (source: browser/app/profile/firefox.js)
|
||||
cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
|
||||
pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
|
||||
sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
|
||||
sticky_pref("browser.devedition.theme.enabled", true);
|
||||
sticky_pref("devtools.theme", "dark");
|
||||
PROFILE_EOF
|
||||
|
||||
else
|
||||
sizes="16 22 24 32 48 64 128 256"
|
||||
icon_path="${S}/browser/branding/official"
|
||||
icon="${PN}"
|
||||
name="Mozilla Firefox"
|
||||
fi
|
||||
|
||||
# Disable built-in auto-update because we update firefox through package manager
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/
|
||||
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
|
||||
|
||||
# Install icons and .desktop for menu entry
|
||||
for size in ${sizes} ; do
|
||||
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
|
||||
newins "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}/default48.png" "${icon}.png"
|
||||
|
||||
local display_protocols="auto X11" use_wayland="false"
|
||||
if use wayland ; then
|
||||
display_protocols+=" Wayland"
|
||||
use_wayland="true"
|
||||
fi
|
||||
|
||||
local app_name desktop_filename display_protocol exec_command
|
||||
for display_protocol in ${display_protocols} ; do
|
||||
app_name="${name} on ${display_protocol}"
|
||||
desktop_filename="${PN}-${display_protocol,,}.desktop"
|
||||
|
||||
case ${display_protocol} in
|
||||
Wayland)
|
||||
exec_command='firefox-wayland --name firefox-wayland'
|
||||
newbin "${FILESDIR}"/firefox-wayland.sh firefox-wayland
|
||||
;;
|
||||
X11)
|
||||
if ! use wayland ; then
|
||||
# Exit loop here because there's no choice so
|
||||
# we don't need wrapper/.desktop file for X11.
|
||||
continue
|
||||
fi
|
||||
|
||||
exec_command='firefox-x11 --name firefox-x11'
|
||||
newbin "${FILESDIR}"/firefox-x11.sh firefox-x11
|
||||
;;
|
||||
*)
|
||||
app_name="${name}"
|
||||
desktop_filename="${PN}.desktop"
|
||||
exec_command='firefox'
|
||||
;;
|
||||
esac
|
||||
|
||||
newmenu "${FILESDIR}/icon/${PN}-r2.desktop" "${desktop_filename}"
|
||||
sed -i \
|
||||
-e "s:@NAME@:${app_name}:" \
|
||||
-e "s:@EXEC@:${exec_command}:" \
|
||||
-e "s:@ICON@:${icon}:" \
|
||||
"${ED%/}/usr/share/applications/${desktop_filename}" || die
|
||||
done
|
||||
|
||||
rm "${ED%/}"/usr/bin/firefox || die
|
||||
newbin "${FILESDIR}"/firefox.sh firefox
|
||||
|
||||
local wrapper
|
||||
for wrapper in \
|
||||
"${ED%/}"/usr/bin/firefox \
|
||||
"${ED%/}"/usr/bin/firefox-x11 \
|
||||
"${ED%/}"/usr/bin/firefox-wayland \
|
||||
; do
|
||||
[[ ! -f "${wrapper}" ]] && continue
|
||||
|
||||
sed -i \
|
||||
-e "s:@PREFIX@:${EPREFIX%/}/usr:" \
|
||||
-e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
|
||||
"${wrapper}" || die
|
||||
done
|
||||
|
||||
# Don't install llvm-symbolizer from sys-devel/llvm package
|
||||
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
|
||||
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
|
||||
|
||||
# firefox and firefox-bin are identical
|
||||
rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
|
||||
dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
|
||||
|
||||
# Required in order to use plugins and even run firefox on hardened.
|
||||
pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
|
||||
# doesn't need to be forced into the LD_LIBRARY_PATH
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
|
||||
einfo "APULSE found - Generating library symlinks for sound support"
|
||||
local lib
|
||||
pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
|
||||
for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
|
||||
# a quickpkg rolled by hand will grab symlinks as part of the package,
|
||||
# so we need to avoid creating them if they already exist.
|
||||
if [[ ! -L ${lib##*/} ]] ; then
|
||||
ln -s "${lib}" ${lib##*/} || die
|
||||
fi
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
|
||||
elog "installing into new profiles:"
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
elog "\t ${plugin}"
|
||||
done
|
||||
elog
|
||||
fi
|
||||
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
|
||||
elog "Apulse was detected at merge time on this system and so it will always be"
|
||||
elog "used for sound. If you wish to use pulseaudio instead please unmerge"
|
||||
elog "media-sound/apulse."
|
||||
elog
|
||||
fi
|
||||
|
||||
local show_doh_information show_normandy_information
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
|
||||
# New install; Tell user that DoH is disabled by default
|
||||
show_doh_information=yes
|
||||
show_normandy_information=yes
|
||||
else
|
||||
local replacing_version
|
||||
for replacing_version in ${REPLACING_VERSIONS} ; do
|
||||
if ver_test "${replacing_version}" -lt 70 ; then
|
||||
# Tell user only once about our DoH default
|
||||
show_doh_information=yes
|
||||
fi
|
||||
|
||||
if ver_test "${replacing_version}" -lt 74.0-r2 ; then
|
||||
# Tell user only once about our Normandy default
|
||||
show_normandy_information=yes
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -n "${show_doh_information}" ]] ; then
|
||||
elog
|
||||
elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
|
||||
elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
|
||||
elog "DNS traffic to Cloudflare by default is not a good idea and applications"
|
||||
elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
|
||||
elog "(\"Off by choice\") by default."
|
||||
elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
|
||||
fi
|
||||
|
||||
# bug 713782
|
||||
if [[ -n "${show_normandy_information}" ]] ; then
|
||||
elog
|
||||
elog "Upstream operates a service named Normandy which allows Mozilla to"
|
||||
elog "push changes for default settings or even install new add-ons remotely."
|
||||
elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
|
||||
elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
|
||||
elog "concerns prevail, which is why we have switched off the use of this"
|
||||
elog "service by default."
|
||||
elog
|
||||
elog "To re-enable this service set"
|
||||
elog
|
||||
elog " app.normandy.enabled=true"
|
||||
elog
|
||||
elog "in about:config."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
11
x11-terms/kitty/app.log
Normal file
11
x11-terms/kitty/app.log
Normal file
@ -0,0 +1,11 @@
|
||||
2020-08-07 10:53:53,568 [ DEBUG]: Program started with: ['/home/gerardo/Dev/gerardo/samsung_remote/samsung_remote.py', '-p']
|
||||
2020-08-07 10:53:56,416 [ DEBUG]: [TV]UE40D8000 model UE40D8000 found in ip 192.168.1.142
|
||||
2020-08-07 10:53:56,416 [ DEBUG]: Model: D returns method: legacy
|
||||
2020-08-07 10:53:56,416 [ DEBUG]: Model: D returns method: legacy
|
||||
2020-08-07 10:53:56,419 [ INFO]: Sending handshake.
|
||||
2020-08-07 10:53:56,529 [ DEBUG]: Connected to 'iapp.samsung'.
|
||||
2020-08-07 10:53:56,529 [ DEBUG]: Access granted.
|
||||
2020-08-07 10:53:56,529 [ INFO]: Sending control command: KEY_POWEROFF
|
||||
2020-08-07 10:53:56,543 [ DEBUG]: Control accepted.
|
||||
2020-08-07 10:53:56,743 [ DEBUG]: Connection closed.
|
||||
2020-08-07 10:53:56,843 [ INFO]: Turning off [TV]UE40D8000 succeed
|
Loading…
x
Reference in New Issue
Block a user