Closed ThatNerdyPikachu closed 1 year ago
What is a Void build? I've never heard of it before.
Void Linux is a distro with its own packaging system.
I see. This should be possible, but I would wait until #367 has been finished before attempting it. Regardless, I'll accept a PR anytime.
In the meantime, you should be able to use linux_portable
to make a build right now (or use the Portable Linux binary on Void Linux).
@Eloston If I'm correct, this is the right binary? https://ungoogled-software.github.io/ungoogled-chromium-binaries/releases/linux_static/64bit/55.0.2883.75-1
@ThatNerdyPikachu I just updated it ;)
@Eloston Alright, thanks! I'll test and report back to you when I get the chance!
@Eloston Erm, sorry for the very very late response... Nope, that didn't work.
Portable Linux version 66 is already out. What exactly isn't working?
@travankor Thanks for confirming that it works with glibc. Do regular Chromium or Chrome work with musl?
Some precompiled binary would not be accepted as an official void package. You guys have to figure, how to compile your own binary on the various platforms. I would recommend having a look at the chromium package's template and modify that to package this browser. That's what I did when I packaged Iridium for Void. However, first ask in IRC if they even want new browser packages, otherwise you're wasting your time.
Since I'm not using chromium-derivatives anymore since Firefox 57, I'm not too motivated to put too much time into this (I was asked if I could help a little bit here)
@faulesocke I wasn't too clear earlier, but I'm diverging a bit from the original topic at hand.
The purpose of my question is to learn more about musl and where compatibility is breaking; if it's in ungoogled-chromium, then it's a bug with the Portable Linux build, since Void isn't the only system that uses musl (and users may not want to wait for a package to come around for their distro). Otherwise, if Chromium and Chrome are also broken, then we would have to include those patches to work with musl.
However, first ask in IRC if they even want new browser packages, otherwise you're wasting your time.
If it's straight-forward for users to install package files manually, packages for Void can be added to the contributor binaries page (if someone submits them). If Void wants to have it included officially, then this can be dropped.
In the meantime or as an alternative, a derivative of the Portable Linux config for musl could be added.
Since I'm not using chromium-derivatives anymore since Firefox 57, I'm not too motivated to put too much time into this (I was asked if I could help a little bit here)
No problem. For platforms I don't use, I generally leave it to someone else to do the actual work of implementing support.
Unrelated to the main topic, but I'm genuinely interested to see how Firefox Quantum progresses down the road. I could see myself jumping ship if Chromium becomes too much of a burden for me to keep up.
@Eloston been looking after a source/rolling distro lately and ended up with void/gentoo choice and void seems really to be damn interesting... i will be probably installing that on one of my main machines soon i will see if i can help then, it does not seems to be in a hurry issue here so...
off-topic : Now about the firefox i have to be honest i switched back lool still using uc tho but firefox v62, v63 just fly in term of speed etc... still need some customization tho for privacy (https://github.com/Eloston/ungoogled-chromium/issues/560#issuecomment-431713666) and also it have auto-update forced (can be disabled...)... but other than that they have done a damn pretty good work
By the way not all void linux are using musl its optional
Chromium requires a large number of patches to build on Alpine Linux (which solely uses musl). Most of these are likely required to get an ungoogled-chromium build working on a musl system.
List of patches as well as build setup (inside APKBUILD): https://git.alpinelinux.org/aports/tree/community/chromium
I'd love to see some movement here as Alpine doesn't ship with any privacy conscious browser full stop. Firefox is built with all telemetry enabled and not to mention it's stuck on an outdated non-LTS release.
https://git.alpinelinux.org/aports/tree/testing/firefox
(Firefox also hard-depends on dbus
on Alpine so I can't use it. Though this is an entirely different issue)
@Smooey IceCat is available on Void, so your 2nd paragraph is unwarranted. You can install the Guix package manager on top of Void, and at least at one point ungoogled-chromium was available via Guix (I'm not sure what the current status is).
@Smooey IceCat is available on Void, so your 2nd paragraph is unwarranted. You can install the Guix package manager on top of Void, and at least at one point ungoogled-chromium was available via Guix (I'm not sure what the current status is).
Im sorry for asking but, how do you install guix on top of void?
@irritating This part of the manual describe how to do this: https://www.gnu.org/software/guix/manual/en/guix.html#Binary-Installation . It's very similar to installing guix on top of other distros (modulo the systemd bits).
Sorry for digging up an old thread, but I just finished compiling ungoogled-chromium on my Alpine Linux (musl/busybox) system, meaning it should work on Void musl as well -- is a musl binary still something this project wants/needs? If so, I can package it.
Also, I don't think submitting a PR with my changes would be desirable currently, as there were a lot of small and semi-messy tweaks necessary to compile due to dependency on nonstandard GNU/glibc behavior. However, I can absolutely clean up and share my changes if anyone would like.
Thanks!
@Cubified I wouldn't mind adding a new platform repo for Alphine or other musl-based systems. Musl change are platform-specific so they don't belong in this repo.
Thanks for the quick response -- I'll look into cleaning up my changes. In the meantime, I just submitted a PR in the binaries repo with a packaged musl binary.
What did you guys end up doing for ungoogled-chromium on Void? Just building it yourself? Void's chromium pkg doesn't have VAAPI enabled, so I might as well build ungoogled-chromium with it, I guess.
@dm17 There's the musl branch on ungoogled-chromium-portablelinux now, but no one has published binaries yet: https://github.com/ungoogled-software/ungoogled-chromium-portablelinux/tree/musl. Portable Linux doesn't have VA-API support built-in either; you'll need to get the patches to enable that.
@dm17 There's the musl branch on ungoogled-chromium-portablelinux now, but no one has published binaries yet: https://github.com/ungoogled-software/ungoogled-chromium-portablelinux/tree/musl. Portable Linux doesn't have VA-API support built-in either; you'll need to get the patches to enable that.
OK, I'm not using musl with Void anyway. Sounds like: 1) clone ungoogled-chromium 2) add VAAPI patch 3) figure out how to package on void (or just launch it from source dir).
patches/
directory, and list them in patches/series
Looks like I'll have to compile for musl then. Oof.
If I do, I'll submit the binary.
Looks like I'll have to compile for musl then. Oof.
If I do, I'll submit the binary.
If you use the musl version - I use Void without musl.
I use Void without musl.
As do I.
@cvoges12 If you do end up compiling for musl, heads up that the version I’ve prepared patches for is a bit out of date (Chromium 80 vs 84), my fault for not keeping it updated – it will compile and be fully functional though (+ hopefully I’ll have some time to work on updating the patches soon)
@Cubified Do you want me to hold off until then?
@cvoges12 Ehh no, since I’m not sure how long it will take to update the patches and make sure they work properly
@ThatNerdyPikachu I'm ready to attempt this so long as we can include VAAPI support. The Void devs don't want it in the official repository; they recommend that we use our own repo (or similar) for the ungoogled-chromium builds.
@Eloston this is a Void pkg template, hopefully others here can help me get it working.
@ThatNerdyPikachu OK this is how far I've gotten - anyone is welcome to help the rest of the way. I started modeling it from the chromium package. Current issue is fixing the wrksrc directory considering the two different chromium pkg versions, which I'm unsure of why that's done like that on the other distros. I'm using this guide to help: https://github.com/void-linux/void-packages#quick-start
Would love to get this working :)
pkgname=ungoogled-chromium
version=87.0.4280.66
_pkgname=$(echo $pkgname | cut -d\- -f1-2)
_pkgver=$(echo $version | cut -d\. -f1-4)
# See http://www.chromium.org/developers/calendar for the latest version
_launcher_ver=6
_gcc_patchset=9
_uc_ver=87.0.4280.67-1
_uc_usr=Eloston
_uc_sum='158d1210be8d0f72ec09724a22907b5a737c3a25b19632d2eb93ebdfbe3f1ac9'
_uc_url="https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz>$_pkgname-$_uc_ver.tar.gz"
revision=1
archs="x86_64*"
short_desc="All the good without the bad"
maintainer="Wayne <waxandwayner@gmail.com>"
license="BSD-3-Clause"
homepage="https://ungoogled-software.github.io"
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$_pkgver.tar.xz $_uc_url https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz>chromium-launcher-$_launcher_ver.tar.gz"
checksum="29a8e4ea82edec2fdcf34ece68323bec7ab90f3d5669e6b77f58cff9c278f741 $_uc_sum 04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1"
nocross=yes
lib32disabled=yes
nodebug=yes
nopie=yes # contains tools that are not PIE, enables PIE itself
build_options="clang js_optimize vaapi pulseaudio sndio"
desc_option_clang="Use clang to build"
desc_option_js_optimize="Optimize the JS used for Chromium's UI"
desc_option_vaapi="Enable support for VA-API"
desc_option_pulseaudio="Enable support for PulseAudio"
desc_option_sndio="Enable support for sndio"
hostmakedepends="$(vopt_if clang clang) python pkgconf perl gperf bison ninja nodejs hwids
libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk)"
makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel
libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel
libXScrnSaver-devel alsa-lib-devel snappy-devel libdrm-devel
libxml2-devel libxslt-devel $(vopt_if pulseaudio pulseaudio-devel) libexif-devel
libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
re2-devel fontconfig-devel freetype-devel opus-devel
ffmpeg-devel libva-devel python-setuptools xcb-proto
$(vopt_if sndio sndio-devel)"
depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils"
case "$XBPS_TARGET_MACHINE" in
ppc64*-musl) makedepends+=" libucontext-devel" ;;
esac
build_options_default="clang js_optimize vaapi pulseaudio"
post_patch() {
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
for f in "${FILESDIR}"/musl-patches/*.patch; do
echo "Applying $f"
patch -Np0 -i "$f"
done
fi
case "${XBPS_TARGET_MACHINE}" in
i686*)
for f in "${FILESDIR}"/i686-patches/*.patch; do
echo "Applying $f"
patch -Np0 -i "$f"
done
;;
esac
# Use the file at run time instead of effectively compiling it in
sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \
-i services/device/public/cpp/usb/BUILD.gn
if [ -z "$build_option_clang" ]; then
# Work around bug in blink in which GCC 6 optimizes away null pointer checks
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833524
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853#c2
sed -i '/config("compiler")/ a cflags_cc = [ "-fno-delete-null-pointer-checks" ]' \
build/config/linux/BUILD.gn
fi
# prevent annoying errors when regenerating gni
vsed -i 's,^update_readme$,#update_readme,' \
third_party/libvpx/generate_gni.sh
}
do_configure() {
local system="" conf=()
export -n CFLAGS CXXFLAGS LDFLAGS
if [ "$build_option_clang" ]; then
export CC=clang
export CXX=clang++
fi
export LDFLAGS="-pthread"
# compile gn early, so it can be used to generate gni stuff
AR="ar" CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD LD=$CXX_FOR_BUILD \
python2 tools/gn/bootstrap/bootstrap.py --skip-generate-buildfiles
# we need to generate ppc64 stuff for libvpx as it's not shipped
# this has to be done before unbundling, but after gn is built
# comment out if we switch back to system libvpx again later
case "$XBPS_TARGET_MACHINE" in
ppc64*)
pushd third_party/libvpx
mkdir -p source/config/linux/ppc64
# need PATH to find gn
PATH="${wrksrc}/out/Release:$PATH" ./generate_gni.sh || \
msg_error "failed to generate libvpx gni"
popd
;;
esac
# Use system-provided libraries.
# TODO: use_system_hunspell (upstream changes needed).
# TODO: use_system_libsrtp.
# TODO: use_system_libusb (http://crbug.com/266149).
# TODO: use_system_ssl (http://crbug.com/58087).
# TODO: use_system_sqlite (http://crbug.com/22208).
# TODO: use_system_icu (segfaults)
# XXX xtraeme: broken currently
# use_system_protobuf
# use_system_v8=1
# use_system_zlib=1
# bzip2 jsoncpp minizip xdg_utils speex
system="
ffmpeg
flac
fontconfig
freetype
harfbuzz-ng
libdrm
libevent
libjpeg
libpng
libwebp
libxml
libxslt
opus
re2
snappy
"
# remove build scripts for system provided dependencies - basically does the
# same as the bundeled script to remove bundeled libs, but this way we don't
# have to list the remaining libs
for LIB in ${system} libjpeg_turbo; do
find -type f -path "*third_party/$LIB/*" \
\! -path "*third_party/$LIB/chromium/*" \
\! -path "*third_party/$LIB/google/*" \
\! -path './base/third_party/icu/*' \
\! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
\! -path './third_party/harfbuzz-ng/utils/hb_scoped.h' \
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
-delete
done
# switch to system provided dependencies
python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${system}
python2 third_party/libaddressinput/chromium/tools/update-strings.py
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Void Linux use ONLY.
conf+=(
'google_api_key="AIzaSyA9gWazKaHaNIPPg2hrMj6_ZSG8AFmq738"'
'google_default_client_id="126659149423-hoo6ickbk3p1u2qjsdsp0ddciurfvb4t.apps.googleusercontent.com"'
'google_default_client_secret="_ozIx2D-DKm_se_2NPwV4l5b"'
)
conf+=(
'enable_nacl=false'
'enable_nacl_nonsfi=false'
"is_clang=$(vopt_if clang true false)"
'is_debug=false'
'clang_use_chrome_plugins=false'
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
'blink_symbol_level=0'
'symbol_level=0'
'icu_use_data_file=true'
'use_allocator="none"'
'use_allocator_shim=false'
'use_cups=true'
'use_sysroot=false'
'use_system_harfbuzz=true'
'enable_widevine=true'
'enable_hangout_services_extension=true'
'is_desktop_linux=true'
)
conf+=(
"use_vaapi=$(vopt_if vaapi true false)"
)
conf+=(
"closure_compile=$(vopt_if js_optimize true false)"
)
conf+=(
"use_pulseaudio=$(vopt_if pulseaudio true false)"
)
# Use explicit library dependencies instead of dlopen.
# GN only has "link_pulseaudio", the other options used before are not available atm
# linux_link_cups=true
# linux_link_gsettings=true
# linux_link_libpci=true
# linux_link_libspeechd=true
# libspeechd_h_prefix=\"speech-dispatcher/\""
conf+=( "link_pulseaudio=$(vopt_if pulseaudio true false)" )
conf+=(
"use_sndio=$(vopt_if sndio true false)"
)
# Never use bundled binutils/gold binary.
conf+=(
"binutils_path=\"${XBPS_CROSS_BASE}/usr/bin\""
"gold_path=\"${XBPS_CROSS_BASE}/usr/bin/ld.gold\""
'linux_use_bundled_binutils=false'
'use_custom_libcxx=false'
'use_lld=false'
)
# XXX: gold broken with musl and i686
case "${XBPS_TARGET_MACHINE}" in
*-musl) conf+=( 'use_gold=false' ) ;;
i686*) conf+=( 'use_gold=false' ) ;;
*) conf+=( 'use_gold=true' ) ;;
esac
# Always support proprietary codecs.
# Enable H.264 support in bundled ffmpeg.
conf+=(
'proprietary_codecs=true'
'ffmpeg_branding="Chrome"'
)
# 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.
conf+=(
'treat_warnings_as_errors=false'
'fatal_linker_warnings=false'
)
# Save space by removing DLOG and DCHECK messages (about 6% reduction).
# conf+=" logging_like_official_build=true"
conf+=( fieldtrial_testing_like_official_build=true )
case "${XBPS_TARGET_MACHINE}" in
x86_64*) conf+=( 'target_cpu="x64"' ) ;;
i686*) conf+=( 'target_cpu="x86"' ) ;;
arm*) conf+=( 'target_cpu="arm"' ) ;;
aarch64*) conf+=( 'target_cpu="arm64"' ) ;;
ppc64*) conf+=( 'target_cpu="ppc64"' ) ;;
esac
out/Release/gn gen out/Release --args="${conf[*]}"
}
do_build() {
if [ "$build_option_clang" ]; then
export CC=clang
export CXX=clang++
fi
ninja -C out/Release ${makejobs} chrome chromedriver mksnapshot
}
do_install() {
vinstall out/Release/chrome 755 usr/lib/${pkgname} ${pkgname}
vinstall out/Release/chromedriver 755 usr/lib/${pkgname} chromedriver
vinstall out/Release/libEGL.so 755 usr/lib/${pkgname} libEGL.so
vinstall out/Release/libGLESv2.so 755 usr/lib/${pkgname} libGLESv2.so
vcopy "out/Release/*.bin" usr/lib/chromium
vcopy "out/Release/*.pak" usr/lib/chromium
vmkdir usr/lib/chromium/locales
vcopy "out/Release/locales/*.pak" usr/lib/chromium/locales
vmkdir usr/lib/chromium/swiftshader
vcopy "out/Release/swiftshader/*.so" usr/lib/chromium/swiftshader
vinstall ${FILESDIR}/chromium.desktop 644 usr/share/applications
vinstall out/Release/icudtl.dat 0644 usr/lib/chromium
for size in 24 48 64 128 256; do
vinstall "chrome/app/theme/chromium/product_logo_${size}.png" \
644 \
usr/share/icons/hicolor/${size}x${size}/apps chromium.png
done
for size in 16 32; do
vinstall "chrome/app/theme/default_100_percent/chromium/product_logo_${size}.png" \
644 \
usr/share/icons/hicolor/${size}x${size}/apps chromium.png
done
vbin ${FILESDIR}/chromium.sh chromium
vlicense LICENSE
ln -s /usr/lib/chromium/chromedriver ${DESTDIR}/usr/bin/chromedriver
}
Feel free to include whatever patches you think are best.
These were left out: chromium-skia-harmony chromium-drirc-disable-10bpc-color-configs
This should be VAAPI enabled by default. I don't need musl and I just run x86_64.
Progress has been made! https://github.com/Logarithmus/void-packages/blob/ungoogled-chromium/srcpkgs/ungoogled-chromium/template
[30/192] CXX src/base/files/file_posix.o
[31/192] CXX src/base/json/json_parser.o
../../../tools/gn/src/base/json/json_parser.cc: In member function 'void base::internal::JSONParser::EatWhitespaceAndComments()':
../../../tools/gn/src/base/json/json_parser.cc:252:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
252 | if (!(c == '\n' && index_ > 0 && input_[index_ - 1] == '\r')) {
| ^~
../../../tools/gn/src/base/json/json_parser.cc:256:7: note: here
256 | case ' ':
| ^~~~
[32/192] CXX src/base/files/file_util_posix.o
[33/192] CXX src/gn/action_values.o
In file included from ../../../tools/gn/src/gn/action_values.cc:5:
../../../tools/gn/src/gn/action_values.h: In member function 'void ActionValues::set_depfile(const SubstitutionPattern&)':
../../../tools/gn/src/gn/action_values.h:46:69: warning: implicitly-declared 'SubstitutionPattern& SubstitutionPattern::operator=(const SubstitutionPattern&)' is deprecated [-Wdeprecated-copy]
46 | void set_depfile(const SubstitutionPattern& depfile) { depfile_
..............................
many pages of logs...
In file included from ../../../tools/gn/src/gn/scope.h:17,
from ../../../tools/gn/src/gn/args.h:14,
from ../../../tools/gn/src/gn/xcode_writer.cc:23:
../../../tools/gn/src/gn/err.h:58:3: note: because 'Err' has user-provided 'Err::Err(const Err&)'
58 | Err(const Err& other);
| ^~~
[191/192] AR gn_lib.a
[192/192] LINK gn
ERROR at //chrome/browser/safe_browsing/BUILD.gn:80:5: Undefined identifier.
sources += [
^------
See //chrome/browser/BUILD.gn:1916:5: which caused the file to be included.
"//chrome/browser/safe_browsing",
^-------------------------------
=> ERROR: ungoogled-chromium-87.0.4280.66_1: do_configure: 'out/Release/gn gen out/Release --args="${conf[*]}"' exited with 1
=> ERROR: in do_configure() at srcpkgs/ungoogled-chromium/template:273
Any ideas @Eloston ? Thanks!
So glad to see this!
@dm17 Seems a bit counter-intuitive to include Google API keys, don't you think? :)
More importantly, I'm not entirely sure why you'd be getting a syntax error in that GN file. Are you applying additional patches on top of the ones from ungoogled-chromium? Could they be conflicting?
@Eloston yes, I think Void has some patches for GN. Honestly I don't know their purpose. Unfortunately, no spare time to tinker with that right now.
@pbui @q66 mind if I ask for some clues, since you guys work on Void's chromium package? :) Thanks.
@dm17 Forgive me if I misunderstand. Does your template build UG from scratch?
Is there any reason for the void package template to not just download the prebuilt ungoogled chromium binary and add it to the the user's system?
Are there x86_64-musl and i686 binaries? The disadvantage of using binaries is inability to use custom build options, e. g. using system provided shared libraries instead of bundled ones.
9 декабря 2020 г. 20:14:59 GMT+03:00, David Frick notifications@github.com пишет:
@dm17 Forgive me if I misunderstand. Does your template build UG from scratch?
Is there any reason for the void package template to not just download the prebuilt ungoogled chromium binary and add it to the the user's system?
@dm17 Forgive me if I misunderstand. Does your template build UG from scratch?
Is there any reason for the void package template to not just download the prebuilt ungoogled chromium binary and add it to the the user's system?
I trust we can figure this out how to build it for Void :)
Per https://ungoogled-software.github.io/ungoogled-chromium-binaries/ (I think this is the correct link), there appear to be x86_64musl builtds, but I am not seeing i686 binaries. Good point on the custom build options, I did not think about that. My concern is that is seems most of the void maintainers do not want to package UG since it would take up quite a bit of resources on the servers to build. Is there some way Void can allow a build script as a package template to build it?
Per https://ungoogled-software.github.io/ungoogled-chromium-binaries/ (I think this is the correct link), there appear to be x86_64musl builtds, but I am not seeing i686 binaries. Good point on the custom build options, I did not think about that. My concern is that is seems most of the void maintainers do not want to package UG since it would take up quite a bit of resources on the servers to build. Is there some way Void can allow a build script as a package template to build it?
That has been rehashed a lot... Let's leave that discussion separate: it is OK that Void doesn't want to build two separate chromium pkgs. @Logarithmus & I are cool building it ourselves (or one of us building it and sharing it in a private repository). Who knows, maybe the Void devs will get tired of being the product and make their 1 chromium package the non-Google version :)
I'll only be using the x86-64 glibc version, but I don't mind sparing some cycles for someone who wants another architecture pkg.
we will not be accepting any foreign binaries in Void as policy
also, if you don't want to be the product, use firefox
there is no such thing as "ungoogled" chromium, regardless of what the label says
@dm17, I understand now. That is super cool. Although packaging this is way beyond me. I stand behind you all the way as a cheerleader. I will definitely use this if it succeeds!
@q66, So I have been talking with the maker of grapheneOS (very smart, security minded guy who does a lot of cybersecurity stuff) and his argument, which I found super compelling, was that the only secure browsers for desktop is chromium based. He made compelling points that firefox is not as secure as people suggest. In fact, talking with him is the reason I will be building this if possible on my desktop. I understand UG might be some security patches behind upstream to fix exploits, but it has a much better sand-boxing situation than Firefox. I have come to the conclusion after taking with him and others that ungoogled chromium, bromite, and vanadium are probably the only relatively secure and privacy respecting browsers. (all chromium based).
That being said, I understand why the void maintainers do not want to package UG. I remember building it on Arch Linux and I am pretty sure it took like a day or two. It was pretty hefty.
I feel like a good middle group, if possible, is to have scripts that can build programs for users automatically on their local desktop. That is why I like this issue and @dm17 's work with this as it fits that middle group super nicely.
also, if you don't want to be the product, use firefox
there is no such thing as "ungoogled" chromium, regardless of what the label says
This is a common trend in political discussions where people just state things over and over and the deeper you dig into their references the more you just find the same claim. Firefox = Good, Chrome = bad, get it? However, even privacytools.io (PTIO) says you need to mod Firefox out of the box in order get privacy. After looking into the idiosyncrasies, I believe that ungoogled-chromium gives us better privacy than Firefox+ PTIO mods (to make a very long story shorter than I'd like). I'm not trying to force any more work from you Void devs - just trying to get a little more help in building this package... Would you be willing to give us some pointers so we can build the package ourselves (please with sugar on top) - since you're an expert Void package builder?
@q66 any idea what's wrong with this? https://github.com/Logarithmus/void-packages/blob/ungoogled-chromium/srcpkgs/ungoogled-chromium/template (build errors in my post above)
arguing which one is theoretically technically superior is entirely irrelevant; the simple truth is
1) by using any chromium based browser, you are either directly or indirectly giving google more power and reinforcing their strangehold on the web 2) you are 100% reliant on google continuing to develop their upstream and either accepting or working around their choices, since with a codebase like chromium any independent fork is doomed to fail, and google is an upstream hostile to free software philosophy and will prioritize their commercial interests first and foremost
there is exactly one way to avoid that and that's using a browser unrelated to chromium, individual benefits be damned - and there you basically have exactly two choices, and that is either firefox (which is generally the choice more compatible with modern web, even if occasionally questionable) or one of the classic webkit browsers (webkit2gtk particularly, e.g. epiphany aka gnome web)
or, you can keep lying to yourself, in which case i have nothing more to say to you
either way, i will not be debugging your out of tree build templates, i have better things to do
arguing which one is theoretically technically superior is entirely irrelevant; the simple truth is
- by using any chromium based browser, you are either directly or indirectly giving google more power and reinforcing their strangehold on the web
- you are 100% reliant on google continuing to develop their upstream and either accepting or working around their choices, since with a codebase like chromium any independent fork is doomed to fail, and google is an upstream hostile to free software philosophy and will prioritize their commercial interests first and foremost
there is exactly one way to avoid that and that's using a browser unrelated to chromium, individual benefits be damned - and there you basically have exactly two choices, and that is either firefox (which is generally the choice more compatible with modern web, even if occasionally questionable) or one of the classic webkit browsers (webkit2gtk particularly, e.g. epiphany aka gnome web)
or, you can keep lying to yourself, in which case i have nothing more to say to you
either way, i will not be debugging your out of tree build templates, i have better things to do
This is exactly why I replied the way I did. You're coming into a ungoogled-chromium chat and basically saying their development is useless. You're clearly unable to see your own ideology, and calling me a liar does not help your argumentation. You're arguing that one piece of OSS is more corrupted than another piece of OSS - which is the same as saying "my pony in this race is better than yours." You're forgetting about the wisdom of having more than one pony in a race! "If you can't say anything nice, then don't say anything at all." - Every mom ever.
I think the end goal should be the convergence of the security offered by the current Chormium offerings(ungoogled-chromium, bromite, vanadium) with the privacy offed by the open source community. I think without security, you can not have privacy. But without privacy, you can still have security. and right not the Chormium offerings sans googles have the best mix of both.
No idea if this is possible or not, but would a Void build be possible?