Thank you @Charlie.f94b92. I forgot to push those changes in git! :(
Search Criteria
Package Details: icecat 115.17.0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/icecat.git (read-only, click to copy) |
---|---|
Package Base: | icecat |
Description: | GNU version of the Firefox ESR browser |
Upstream URL: | https://git.savannah.gnu.org/cgit/gnuzilla.git |
Keywords: | browser esr gnuzilla web |
Licenses: | MPL-2.0 |
Submitter: | None |
Maintainer: | figue (xiota) |
Last Packager: | xiota |
Votes: | 250 |
Popularity: | 0.37 |
First Submitted: | 2007-12-09 10:12 (UTC) |
Last Updated: | 2024-11-04 00:48 (UTC) |
Dependencies (51)
- dbus-glib
- ffmpeg (ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-ffplayoutAUR, ffmpeg-amd-full-gitAUR, ffmpeg-cudaAUR, ffmpeg-full-gitAUR, ffmpeg-gitAUR, ffmpeg-libfdk_aacAUR, ffmpeg-fullAUR, ffmpeg-decklinkAUR, ffmpeg-headlessAUR, ffmpeg-obsAUR, ffmpeg-amd-fullAUR)
- gtk3 (gtk3-no_deadkeys_underlineAUR, gtk3-classicAUR, gtk3-classic-xfceAUR, gtk3-patched-filechooser-icon-viewAUR)
- libevent (libevent-gitAUR)
- libjpeg (mozjpeg-gitAUR, libjpeg-turbo-gitAUR, mozjpegAUR, libjpeg-turbo)
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR)
- libvpx.so (libvpx-full-gitAUR, libvpx-gitAUR, lib32-libvpx, lib32-libvpx1.3, libvpx, libvpx1.3)
- libwebp.so (lib32-libwebp, libwebp)
- libxss
- libxt
- mime-types (mailcap)
- nspr (nspr-hgAUR)
- nss (nss-hgAUR)
- pipewire (pipewire-gitAUR, pipewire-full-gitAUR)
- ttf-font (neuropol-ttfAUR, ttf-win7-fontsAUR, ttf-ms-win8AUR, ttf-ms-win8-arabicAUR, ttf-ms-win8-hebrewAUR, ttf-ms-win8-seaAUR, ttf-ms-win8-indicAUR, ttf-ms-win8-japaneseAUR, ttf-ms-win8-koreanAUR, ttf-ms-win8-zh_cnAUR, ttf-ms-win8-zh_twAUR, ttf-ms-win8-thaiAUR, ttf-ms-win8-otherAUR, ttf-kidsAUR, ttf-liberation-sans-narrowAUR, ttf-cavafy-scriptAUR, ttf-ms-fontsAUR, ttf-dejavu-ibAUR, ttf-zeldaAUR, ttf-oxygenAUR, ttf-oxygen-gfAUR, ttf-share-gfAUR, ttf-gostAUR, otf-inconsolata-dzAUR, ttf-d2codingAUR, ttf-agaveAUR, ttf-caracteresAUR, ttf-cuprumAUR, ttf-autour-oneAUR, ttf-impallari-milongaAUR, ttf-impallari-miltonianAUR, ttf-clarity-cityAUR, ttf-ms-win10AUR, ttf-ms-win10-japaneseAUR, ttf-ms-win10-koreanAUR, ttf-ms-win10-seaAUR, ttf-ms-win10-thaiAUR, ttf-ms-win10-zh_cnAUR, ttf-ms-win10-zh_twAUR, ttf-ms-win10-otherAUR, ttf-win10AUR, ttf-bmonoAUR, ttf-pt-astra-factAUR, ttf-weblysleekuiAUR, ttf-pt-astra-sansAUR, ttf-pt-astra-serifAUR, ttf-pt-sansAUR, ttf-pt-serifAUR, ttf-pt-monoAUR, ttf-pt-root_uiAUR, ttf-xo-fontsAUR, noto-fonts-liteAUR, ttf-paratypeAUR, ttf-plemoljp-binAUR, ttf-dejavu-emojilessAUR, noto-fonts-variable-liteAUR, ttf-lucida-fontsAUR, ttf-plemoljpAUR, ttf-juiseeAUR, ttf-ms-win10-autoAUR, ttf-karlaAUR, noto-fonts-latin-greek-cyrillicAUR, apple-fontsAUR, ttf-noto-sans-vfAUR, ttf-noto-serif-vfAUR, ttf-noto-sans-mono-vfAUR, ttf-ms-win11AUR, ttf-ms-win11-japaneseAUR, ttf-ms-win11-koreanAUR, ttf-ms-win11-seaAUR, ttf-ms-win11-thaiAUR, ttf-ms-win11-zh_cnAUR, ttf-ms-win11-zh_twAUR, ttf-ms-win11-otherAUR, ttf-ms-win11-autoAUR, ttf-ms-win10-cdnAUR, gnu-free-fonts, noto-fonts, ttf-bitstream-vera, ttf-croscore, ttf-dejavu, ttf-droid, ttf-ibm-plex, ttf-input, ttf-input-nerd, ttf-liberation)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat)
- cargo (rustup-gitAUR, rust-nightly-binAUR, rust-gitAUR, rust-beta-binAUR, rust, rustup) (make)
- cbindgen (make)
- clang17AUR (clang17-binAUR) (make)
- diffutils (make)
- dump_syms (dump_syms-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- imake (make)
- inetutils (inetutils-gitAUR, busybox-coreutilsAUR) (make)
- jackAUR (jack2-gitAUR, pipewire-jack-gitAUR, pipewire-full-jack-gitAUR, jack2, pipewire-jack) (make)
- lld17AUR (make)
- llvm17AUR (make)
- m4 (m4-gitAUR) (make)
- mercurial (mercurial-hgAUR, mercurial-stable-hgAUR) (make)
- mesa (mesa-minimal-gitAUR, mesa-gitAUR, mesa-wsl2-gitAUR, amdonly-gaming-mesa-gitAUR, mesa-amd-bc250AUR, mesa-amber) (make)
- nasm (nasm-gitAUR) (make)
- nodejs (nodejs-lts-fermiumAUR, nodejs-gitAUR, python-nodejs-wheelAUR, nodejs-lts-hydrogen, nodejs-lts-iron) (make)
- python (python37AUR, python311AUR, python310AUR) (make)
- python-jsonschema (make)
- python-psutil (make)
- python-setuptools (make)
- rustup (rustup-gitAUR) (make)
- unzip (unzip-natspecAUR, unzip-zstdAUR) (make)
- wasi-compiler-rt17AUR (make)
- wasi-libc (wasi-libc-gitAUR) (make)
- wasi-libc++ (make)
- wasi-libc++abi (make)
- wget (wget-gitAUR, wurlAUR) (make)
- xorg-server-xvfb (xorg-server-xvfb-gitAUR) (make)
- yasm (yasm-gitAUR) (make)
- zip (zip-natspecAUR) (make)
- hunspell-dictionary (hunspell-lbAUR, hunspell-be-taraskAUR, hunspell-de, hunspell-el, hunspell-en_au, hunspell-en_ca, hunspell-en_gb, hunspell-en_us, hunspell-es_any, hunspell-es_ar, hunspell-es_bo, hunspell-es_cl, hunspell-es_co, hunspell-es_cr, hunspell-es_cu, hunspell-es_do, hunspell-es_ec, hunspell-es_es, hunspell-es_gt, hunspell-es_hn, hunspell-es_mx, hunspell-es_ni, hunspell-es_pa, hunspell-es_pe, hunspell-es_pr, hunspell-es_py, hunspell-es_sv, hunspell-es_uy, hunspell-es_ve, hunspell-fr, hunspell-he, hunspell-hu, hunspell-it, hunspell-nl, hunspell-pl, hunspell-ro, hunspell-ru) (optional) – Spell checking
- libnotify (libnotify-gitAUR) (optional) – Notification integration
- networkmanager (networkmanager-gitAUR, networkmanager-iwdAUR) (optional) – Location detection via available WiFi networks
- speech-dispatcher (speech-dispatcher-gitAUR) (optional) – Text-to-Speech
- xdg-desktop-portal (xdg-desktop-portal-gitAUR) (optional) – Screensharing with Wayland
Required by (1)
Sources (10)
- 0004-Bug-1912663-d2127a9.patch
- 18d19413472f-24a6ea8.patch
- b1cc62489fae-24a6ea8.patch
- https://archive.mozilla.org/pub/firefox/releases/115.17.0esr/source/firefox-115.17.0esr.source.tar.xz
- https://archive.mozilla.org/pub/firefox/releases/115.17.0esr/source/firefox-115.17.0esr.source.tar.xz.asc
- https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-a0b1a124e8e063a35389e1f20653047f37ca069b.tar.gz
- patch-python3.12-bug1831512-3d03cbf.patch
- patch-python3.12-bug1860051-3d03cbf.patch
- patch-python3.12-bug1866829-3d03cbf.patch
- patch-python3.12-bug1874280-3d03cbf.patch
Latest Comments
« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 11 12 13 .. 86 Next › Last »
figue commented on 2023-06-14 23:47 (UTC)
Charlie.f94b92 commented on 2023-06-12 12:11 (UTC) (edited on 2023-06-12 12:12 (UTC) by Charlie.f94b92)
Broken build on 102.12.0-2. Fixed it:
diff --git a/PKGBUILD b/PKGBUILD
index 9934a89..565e9cc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -36,7 +36,7 @@ sha256sums=('0f629c78f24dc56b7369b337aa8d72d948c1d00a2c1f6761468c9511ca8320be'
'33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208'
'ca3cedc5edce26040d3caf735afa8744fe08f3a1695eb2cda3796f4f336632d3'
'2a12b187a8803b0c3a4385d4567e1debf8bfa3e17c4c8cefdf39fb7434d3d932'
- 'db2fb4df9738c83c59ff037093d5474bc0fb64ac4ea0f71945ac741d4173211a')
+ '53a45dd7ffd004d04c89492fd6c9aa1759f44f212730479d98e72ce20a74e254')
prepare() {
cd gnuzilla-${_commit}
@@ -73,7 +73,7 @@ prepare() {
# fix mp4parse (thank you @seo.disparate :: https://aur.archlinux.org/packages/icecat#comment-918458)
patch -Np1 -i ../../../mp4parse_macro_mul.patch
- sed -e 's|src/lib.rs":"73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|src/lib.rs":"bded10689ddd8fd3fcb4ab01be1ecf3642691d68c3651fc4b00f3ccba67fc7cd|' -i output/icecat-${pkgver}/third_party/rust/mp4parse/.cargo-checksum.json
+ sed -e 's|src/lib.rs":"73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|src/lib.rs":"bded10689ddd8fd3fcb4ab01be1ecf3642691d68c3651fc4b00f3ccba67fc7cd|' -i third_party/rust/mp4parse/.cargo-checksum.json
# Patch to move files directly to /usr/lib/icecat. No more symlinks.
sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk
diff --git a/mp4parse_macro_mul.patch b/mp4parse_macro_mul.patch
index 10619f1..a14dbf2 100644
--- a/mp4parse_macro_mul.patch
+++ b/mp4parse_macro_mul.patch
@@ -1,5 +1,5 @@
---- a/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs
-+++ b/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs
+--- a/third_party/rust/mp4parse/src/lib.rs
++++ b/third_party/rust/mp4parse/src/lib.rs
@@ -3184,8 +3184,8 @@
type Output = $output;
figue commented on 2023-06-10 10:55 (UTC)
@seo.disparate thank you. I'll check it!
@unphysicalix as you say, the history is simply that IceCat comes from GNU, Librewolf is an independent project.
Use the browser you like. I currently run several of them according to what I need.
Cheers
unphysicalix commented on 2023-06-09 13:07 (UTC)
since there is no simple "heads up" or "thumbs up" to your reply, @seo.disparate, another comment: Your patch works well for me. Could compile it, works, writing this wir 102.12.0.
General remark: since upstream does not seem to be a big community: where is the difference to LibreWolf. Can't the two projects be merged? Or can icecat at least a lot easier and more modern be derived from LibreWolf instead from firefox?
I know, almost always posing these questions shows that the one asking it does not understand the history or the motivation/goal, the problems or the work involved. Nevertheless, from the user perspective I am happy with icecat, but I could be happier with librewolf in some occations... I'll try it at least.
Anyway: Cheers to you, @figue and @seo.disparate !
seo.disparate commented on 2023-06-09 07:25 (UTC) (edited on 2023-06-09 07:36 (UTC) by seo.disparate)
So I figured out a patch that fixes the build of mp4parse that only touches two lines (based on what exists in the current version of mp4parse):
mp4parse_macro_mul.patch
--- a/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs
+++ b/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs
@@ -3184,8 +3184,8 @@
type Output = $output;
fn mul(self, rhs: $rhs) -> Self::Output {
- static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64);
- static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
+ static_assertions::const_assert!(<$output as UpperBounded>::MAX <= <$inner>::MAX as u64);
+ static_assertions::const_assert!(<$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX <= <$output as UpperBounded>::MAX);
let lhs: $inner = self.get().into();
let rhs: $inner = rhs.get().into();
I also needed to change the checksum for mp4parse/src/lib.rs
, as otherwise the build would fail complaining about the changed source. Thus, the entries in the PKGBUILD should look like:
...
# Produce IceCat sources
bash makeicecat
patch -p1 < "$srcdir/mp4parse_macro_mul.patch"
sed -e 's|src/lib.rs":"73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|src/lib.rs":"bded10689ddd8fd3fcb4ab01be1ecf3642691d68c3651fc4b00f3ccba67fc7cd|' -i output/icecat-102.12.0/third_party/rust/mp4parse/.cargo-checksum.json
cd output/icecat-${pkgver}
...
Naturally, one will need to add the patch to the array of SOURCES for the PKGBUILD.
seo.disparate commented on 2023-06-09 05:32 (UTC) (edited on 2023-06-09 06:03 (UTC) by seo.disparate)
I did some digging on the compile issue, and it turns out that Rust 1.70 seems to break the build, such that the code needed to be updated.
https://github.com/mozilla/mp4parse-rust/issues/406
https://github.com/mozilla/mp4parse-rust/issues/387
Looking at the error log, the build uses commit 3bfc47d9a571d0842676043ba60716318e946c06 of mp4parse which was merged in late 2021. So the fix is either to downgrade Rust, or patch the source to use a more recent version of mp4parse, or get upstream to not use the old version of mp4parse.
EDIT: I did more digging and it looks like mp4parse (and mp4parse_capi) is bundled in the firefox esr tarball with sources looking identical to commit 3bfc47d9a571d0842676043ba60716318e946c06 . I think Mozilla may have to change the ESR version to use a newer mp4parse version (assuming there is no API breaking changes)...
EDIT: I think theoretically one could patch the source with the source used in the latest version: https://github.com/mozilla/mp4parse-rust/blob/b363e1362726450bac1a4f81ef0d7a12dc51a86e/mp4parse/src/lib.rs#L3486-L3580
seo.disparate commented on 2023-06-09 04:00 (UTC) (edited on 2023-06-09 04:00 (UTC) by seo.disparate)
@unphysicalix @figue
I'm running into the same compiler error trying to compile icecat (building in a chroot):
12:21.93 Compiling mp4parse v0.13.0 (https://github.com/mozilla/mp4parse-rust?rev=3bfc47d9a571d0842676043ba60716318e946c06#3bfc47d9)
12:22.20 error[E0277]: the trait bound `u64: Mul<NonZeroU8>` is not satisfied
12:22.20 --> /build/icecat/src/gnuzilla-b2d463b0e331795eebe3ee62f2c58c1bd05b9899/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs:3188:62
12:22.20 |
12:22.20 3188 | static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
12:22.20 | ^ no implementation for `u64 * NonZeroU8`
12:22.20 ...
12:22.20 3198 | impl_mul!((U8, std::num::NonZeroU8) => (U16, u16));
12:22.20 | -------------------------------------------------- in this macro invocation
12:22.20 |
12:22.20 = help: the trait `~const Mul<NonZeroU8>` is not implemented for `u64`
12:22.20 = help: the following other types implement trait `Mul<Rhs>`:
12:22.20 <&'a u64 as Mul<u64>>
12:22.20 <&u64 as Mul<&u64>>
12:22.20 <u64 as Mul<&u64>>
12:22.20 <u64 as Mul>
12:22.20 = note: this error originates in the macro `impl_mul` (in Nightly builds, run with -Z macro-backtrace for more info)
12:22.20 note: erroneous constant used
12:22.20 --> /build/icecat/src/gnuzilla-b2d463b0e331795eebe3ee62f2c58c1bd05b9899/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs:3198:1
12:22.20 |
12:22.20 3198 | impl_mul!((U8, std::num::NonZeroU8) => (U16, u16));
12:22.20 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:22.20 |
12:22.20 = note: this note originates in the macro `static_assertions::const_assert` which comes from the expansion of the macro `impl_mul` (in Nightly builds, run with -Z macro-backtrace for more info)
12:22.21 error[E0277]: the trait bound `u64: Mul<NonZeroU8>` is not satisfied
12:22.21 --> /build/icecat/src/gnuzilla-b2d463b0e331795eebe3ee62f2c58c1bd05b9899/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs:3188:62
12:22.21 |
12:22.21 3188 | static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
12:22.21 | ^ no implementation for `u64 * NonZeroU8`
12:22.21 ...
12:22.21 3199 | impl_mul!((U32, std::num::NonZeroU8) => (U32MulU8, u64));
12:22.21 | -------------------------------------------------------- in this macro invocation
12:22.21 |
12:22.21 = help: the trait `~const Mul<NonZeroU8>` is not implemented for `u64`
12:22.21 = help: the following other types implement trait `Mul<Rhs>`:
12:22.21 <&'a u64 as Mul<u64>>
12:22.21 <&u64 as Mul<&u64>>
12:22.21 <u64 as Mul<&u64>>
12:22.21 <u64 as Mul>
12:22.21 = note: this error originates in the macro `impl_mul` (in Nightly builds, run with -Z macro-backtrace for more info)
12:22.21 note: erroneous constant used
12:22.21 --> /build/icecat/src/gnuzilla-b2d463b0e331795eebe3ee62f2c58c1bd05b9899/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs:3199:1
12:22.21 |
12:22.21 3199 | impl_mul!((U32, std::num::NonZeroU8) => (U32MulU8, u64));
12:22.21 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:22.21 |
12:22.21 = note: this note originates in the macro `static_assertions::const_assert` which comes from the expansion of the macro `impl_mul` (in Nightly builds, run with -Z macro-backtrace for more info)
12:22.23 For more information about this error, try `rustc --explain E0277`.
12:22.24 error: could not compile `mp4parse` (lib) due to 2 previous errors
figue commented on 2023-06-08 18:04 (UTC)
@unphysicalix I've build it 3 days ago and it was fine. Did you clean local builddir before?
unphysicalix commented on 2023-06-08 17:23 (UTC) (edited on 2023-06-08 17:23 (UTC) by unphysicalix)
Hi. icecat 102.12.0-1 does not compile anymore, 102.11.x did. Here is the error message:
4:53.05 Compiling pulse v0.3.0 (https://github.com/mozilla/cubeb-pulse-rs?rev=df4dc0288b07b865440f4c7e41ca49ca9ccffc63#df4dc028)
4:53.07 error[E0277]: the trait bound `u64: Mul<NonZeroU8>` is not satisfied
4:53.07 --> /home/archie/data/yay-cache/icecat/src/gnuzilla-b2d463b0e331795eebe3ee62f2c58c1bd05b9899/output/icecat-102.12.0/third_party/rust/mp4parse/src/lib.rs:3188:62
4:53.07 |
4:53.07 3188 | static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
4:53.07 | ^ no implementation for `u64 * NonZeroU8`
4:53.07 ...
4:53.08 3198 | impl_mul!((U8, std::num::NonZeroU8) => (U16, u16));
4:53.08 | -------------------------------------------------- in this macro invocation
4:53.08 |
4:53.08 = help: the trait `~const Mul<NonZeroU8>` is not implemented for `u64`
4:53.08 = help: the following other types implement trait `Mul<Rhs>`:
4:53.08 <&'a u64 as Mul<u64>>
4:53.08 <&u64 as Mul<&u64>>
4:53.08 <u64 as Mul<&u64>>
4:53.08 <u64 as Mul>
4:53.08 = note: this error originates in the macro `impl_mul` (in Nightly builds, run with -Z macro-backtrace for more info)
4:53.08 note: erroneous constant used
...later with one more of above (in the same line of code)
4:53.12 error: could not compile `mp4parse` (lib) due to 2 previous errors
4:53.12 warning: build failed, waiting for other jobs to finish...
if this is only on my machine, please tell me.
figue commented on 2023-06-03 21:29 (UTC)
@AgentLoneStar007 it's weird because python-jsonschema is a makedepend. Can you try removing all build directory cache and try again?
Pinned Comments
xiota commented on 2024-02-26 07:32 (UTC) (edited on 2024-08-08 03:44 (UTC) by xiota)
PKGBUILD has been updated. Major changes:
Notes:
_build_pgo_xvfb=false
. This will usexwayland-run
for profiling._build_pgo=false
.mk_add_options MOZ_PARALLEL_BUILD=___
around line 300. Pick a value less than number of cores and free RAM in GB. For example, on a system with 8 cores, 64GB total RAM, but only 6 GB free, the value should be set to 4 or 5.libxul.so
. Leave a comment if you have a potential solution.Having problems? Please provide details: processor make and model, number of cores,
free -m
, full log in pastebin, whether using AUR helper/makepkg/clean chroot, etc.