upg librewolf bullet python-pybullet
This commit is contained in:
parent
ad2131d427
commit
40bd669b61
|
@ -0,0 +1,102 @@
|
|||
#!/usr/bin/bash
|
||||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
||||
# Website : https://pozol.eu
|
||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgbase=bullet
|
||||
pkgname=('bullet' 'bullet-docs' 'python-pybullet')
|
||||
pkgver=3.23
|
||||
_pkgver=3.23
|
||||
# Upstream botched the tag so we're using the actual real commit for this release.
|
||||
#_commit=6a59241074720e9df119f2f86bc01765917feb1e
|
||||
pkgrel=01
|
||||
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
|
||||
arch=('x86_64')
|
||||
url="http://www.bulletphysics.com/Bullet/"
|
||||
makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu' 'mesa' 'glu' 'python' 'python-numpy' 'python-setuptools' 'ninja')
|
||||
#source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/${_commit}.tar.gz"
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/refs/tags/${_pkgver}.tar.gz"
|
||||
bullet3_examplebrowser.sh)
|
||||
|
||||
prepare() {
|
||||
cd bullet3-${_pkgver}
|
||||
sed -i '/SET_TARGET_PROPERTIES(pybullet PROPERTIES PREFIX/d' examples/pybullet/CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
cmake \
|
||||
-Bbuild \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=1 \
|
||||
-DINSTALL_LIBS=1 \
|
||||
-DINSTALL_EXTRA_LIBS=1 \
|
||||
-DBUILD_PYBULLET=ON \
|
||||
-DBUILD_PYBULLET_NUMPY=ON \
|
||||
-DBUILD_OPENGL3_DEMOS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SKIP_RPATH=YES
|
||||
|
||||
ninja -C build
|
||||
|
||||
python setup.py build
|
||||
doxygen
|
||||
}
|
||||
|
||||
package_bullet() {
|
||||
optdepends=('glu: for the example browser'
|
||||
'python: python bindings'
|
||||
'python-numpy: python bindings'
|
||||
'bullet-docs: documentation')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
DESTDIR="${pkgdir}" ninja -C build install
|
||||
|
||||
cd build
|
||||
|
||||
install -Dm755 examples/ExampleBrowser/libBulletExampleBrowserLib.so.${pkgver} "${pkgdir}"/usr/lib/libBulletExampleBrowserLib.so.${pkgver}
|
||||
install -Dm755 examples/OpenGLWindow/libOpenGLWindow.so "${pkgdir}"/usr/lib/libOpenGLWindow.so
|
||||
install -Dm755 examples/ThirdPartyLibs/Gwen/libgwen.so "${pkgdir}"/usr/lib/libgwen.so
|
||||
install -Dm755 examples/ThirdPartyLibs/BussIK/libBussIK.so "${pkgdir}"/usr/lib/libBussIK.so
|
||||
install -Dm755 "${srcdir}"/bullet3_examplebrowser.sh "${pkgdir}"/usr/bin/bullet3_examplebrowser
|
||||
install -Dm755 examples/ExampleBrowser/App_ExampleBrowser "${pkgdir}"/opt/bullet/App_ExampleBrowser
|
||||
cp -r data "${pkgdir}"/opt/bullet/
|
||||
|
||||
install -Dm644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgbase}/LICENSE
|
||||
}
|
||||
|
||||
package_python-pybullet() {
|
||||
pkgdesc="Bullet Python bindings"
|
||||
depends+=('bullet' 'gcc-libs')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
install -Dm755 build/examples/pybullet/libpybullet.so.${pkgver} "${pkgdir}"/usr/lib/libpybullet.so.${pkgver}
|
||||
python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
|
||||
|
||||
install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
||||
|
||||
package_bullet-docs() {
|
||||
pkgdesc="Documentation for bullet"
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
# install docs
|
||||
install -Dm644 docs/GPU_rigidbody_using_OpenCL.pdf "${pkgdir}"/usr/share/doc/bullet/GPU_rigidbody_using_OpenCL.pdf
|
||||
install -Dm644 docs/Bullet_User_Manual.pdf "${pkgdir}"/usr/share/doc/bullet/Bullet_User_Manual.pdf
|
||||
install -Dm644 docs/BulletQuickstart.pdf "${pkgdir}"/usr/share/doc/bullet/BulletQuickstart.pdf
|
||||
cp -r html "${pkgdir}"/usr/share/doc/bullet/html
|
||||
}
|
||||
|
||||
#---- license gpg-key sha256sums ----
|
||||
|
||||
license=('custom:zlib')
|
||||
|
||||
sha256sums=(3ecee6e9943c0c7b7d6af35f584a91433ce6c72950c3442b4b0d853ceb9fddc9 # bullet-3.23.tar.gz
|
||||
68ca940af489f7e9718fe9199cf0c3428c8e4d2b4ae1576847fffe56c0da50f7) # bullet3_examplebrowser.sh
|
|
@ -0,0 +1,106 @@
|
|||
#!/usr/bin/bash
|
||||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcomm/$pkgname"
|
||||
# Website : https://pozol.eu
|
||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgbase=bullet
|
||||
pkgname=('bullet' 'bullet-docs' 'python-pybullet')
|
||||
#pkgver=3.21
|
||||
pkgver=3.17
|
||||
_pkgver=3.17
|
||||
# Upstream botched the tag so we're using the actual real commit for this release.
|
||||
#_commit=6a59241074720e9df119f2f86bc01765917feb1e
|
||||
pkgrel=01
|
||||
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
|
||||
arch=('x86_64')
|
||||
url="http://www.bulletphysics.com/Bullet/"
|
||||
makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu' 'mesa' 'glu' 'python' 'python-numpy' 'python-setuptools' 'ninja')
|
||||
#source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/${_commit}.tar.gz"
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/refs/tags/${_pkgver}.tar.gz"
|
||||
bullet3_examplebrowser.sh)
|
||||
|
||||
prepare() {
|
||||
cd bullet3-${_pkgver}
|
||||
sed -i '/SET_TARGET_PROPERTIES(pybullet PROPERTIES PREFIX/d' examples/pybullet/CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
cmake \
|
||||
-Bbuild \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=1 \
|
||||
-DINSTALL_LIBS=1 \
|
||||
-DINSTALL_EXTRA_LIBS=1 \
|
||||
-DBUILD_PYBULLET=ON \
|
||||
-DBUILD_PYBULLET_NUMPY=ON \
|
||||
-DBUILD_OPENGL3_DEMOS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SKIP_RPATH=YES
|
||||
|
||||
ninja -C build
|
||||
|
||||
python setup.py build
|
||||
doxygen
|
||||
}
|
||||
|
||||
package_bullet() {
|
||||
optdepends=('glu: for the example browser'
|
||||
'python: python bindings'
|
||||
'python-numpy: python bindings'
|
||||
'bullet-docs: documentation')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
DESTDIR="${pkgdir}" ninja -C build install
|
||||
|
||||
cd build
|
||||
|
||||
install -Dm755 examples/ExampleBrowser/libBulletExampleBrowserLib.so.${pkgver} "${pkgdir}"/usr/lib/libBulletExampleBrowserLib.so.${pkgver}
|
||||
install -Dm755 examples/OpenGLWindow/libOpenGLWindow.so "${pkgdir}"/usr/lib/libOpenGLWindow.so
|
||||
install -Dm755 examples/ThirdPartyLibs/Gwen/libgwen.so "${pkgdir}"/usr/lib/libgwen.so
|
||||
install -Dm755 examples/ThirdPartyLibs/BussIK/libBussIK.so "${pkgdir}"/usr/lib/libBussIK.so
|
||||
install -Dm755 "${srcdir}"/bullet3_examplebrowser.sh "${pkgdir}"/usr/bin/bullet3_examplebrowser
|
||||
install -Dm755 examples/ExampleBrowser/App_ExampleBrowser "${pkgdir}"/opt/bullet/App_ExampleBrowser
|
||||
cp -r data "${pkgdir}"/opt/bullet/
|
||||
|
||||
install -Dm644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgbase}/LICENSE
|
||||
}
|
||||
|
||||
package_python-pybullet() {
|
||||
pkgdesc="Bullet Python bindings"
|
||||
depends+=('bullet' 'gcc-libs')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
install -Dm755 build/examples/pybullet/libpybullet.so.${pkgver} "${pkgdir}"/usr/lib/libpybullet.so.${pkgver}
|
||||
python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
|
||||
|
||||
install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
||||
|
||||
package_bullet-docs() {
|
||||
pkgdesc="Documentation for bullet"
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
# install docs
|
||||
install -Dm644 docs/GPU_rigidbody_using_OpenCL.pdf "${pkgdir}"/usr/share/doc/bullet/GPU_rigidbody_using_OpenCL.pdf
|
||||
install -Dm644 docs/Bullet_User_Manual.pdf "${pkgdir}"/usr/share/doc/bullet/Bullet_User_Manual.pdf
|
||||
install -Dm644 docs/BulletQuickstart.pdf "${pkgdir}"/usr/share/doc/bullet/BulletQuickstart.pdf
|
||||
cp -r html "${pkgdir}"/usr/share/doc/bullet/html
|
||||
}
|
||||
|
||||
#---- license gpg-key sha256sums ----
|
||||
|
||||
license=('custom:zlib')
|
||||
|
||||
sha256sums=(baa642c906576d4d98d041d0acb80d85dd6eff6e3c16a009b1abf1ccd2bc0a61 # bullet-3.17.tar.gz
|
||||
#c6cd89ecbc4bd73fee64723c831c1578daab056d88774755a6f56afc6f417b2b # bullet-3.22.tar.gz
|
||||
#045a560c42316b9a7b95b8d3175f8d161ed0a4009b5e2ee2c86fdc913d8d42cf # bullet-3.21.tar.gz
|
||||
68ca940af489f7e9718fe9199cf0c3428c8e4d2b4ae1576847fffe56c0da50f7) # bullet3_examplebrowser.sh
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
|
||||
# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
|
||||
|
||||
pkgbase=bullet
|
||||
pkgname=('bullet' 'bullet-docs' 'python-pybullet')
|
||||
pkgver=3.23
|
||||
_pkgver=3.23
|
||||
pkgrel=1
|
||||
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
|
||||
arch=('x86_64')
|
||||
url="http://www.bulletphysics.com/Bullet/"
|
||||
license=('custom:zlib')
|
||||
makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu' 'mesa' 'glu' 'python' 'python-numpy' 'python-setuptools' 'ninja')
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/refs/tags/${_pkgver}.tar.gz"
|
||||
bullet3_examplebrowser.sh)
|
||||
sha512sums=('af457df325584d8937f60689f6f0a699ac1aeafcd4b56cfae2e0d3478abf412c574827f9a3e0c86e0600b6f8645d38f74f00ae1310f02ba45fc7a9a760e44f96'
|
||||
'8741ad94b6c46c226d89aebc8ab06d8a11bac3c04d3f0a2bf7a7524792a3375aa7bf7d295410b16fbeb4c348a31057b4570acdebe9bbaea251f44daca8d9fe81')
|
||||
|
||||
prepare() {
|
||||
cd bullet3-${_pkgver}
|
||||
sed -i '/SET_TARGET_PROPERTIES(pybullet PROPERTIES PREFIX/d' examples/pybullet/CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
cmake \
|
||||
-Bbuild \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=1 \
|
||||
-DINSTALL_LIBS=1 \
|
||||
-DINSTALL_EXTRA_LIBS=1 \
|
||||
-DBUILD_PYBULLET=ON \
|
||||
-DBUILD_PYBULLET_NUMPY=ON \
|
||||
-DBUILD_OPENGL3_DEMOS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SKIP_RPATH=YES
|
||||
|
||||
ninja -C build
|
||||
|
||||
python setup.py build
|
||||
doxygen
|
||||
}
|
||||
|
||||
package_bullet() {
|
||||
optdepends=('glu: for the example browser'
|
||||
'python: python bindings'
|
||||
'python-numpy: python bindings'
|
||||
'bullet-docs: documentation')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
DESTDIR="${pkgdir}" ninja -C build install
|
||||
|
||||
cd build
|
||||
|
||||
install -Dm755 examples/ExampleBrowser/libBulletExampleBrowserLib.so.${pkgver} "${pkgdir}"/usr/lib/libBulletExampleBrowserLib.so.${pkgver}
|
||||
install -Dm755 examples/OpenGLWindow/libOpenGLWindow.so "${pkgdir}"/usr/lib/libOpenGLWindow.so
|
||||
install -Dm755 examples/ThirdPartyLibs/Gwen/libgwen.so "${pkgdir}"/usr/lib/libgwen.so
|
||||
install -Dm755 examples/ThirdPartyLibs/BussIK/libBussIK.so "${pkgdir}"/usr/lib/libBussIK.so
|
||||
install -Dm755 "${srcdir}"/bullet3_examplebrowser.sh "${pkgdir}"/usr/bin/bullet3_examplebrowser
|
||||
install -Dm755 examples/ExampleBrowser/App_ExampleBrowser "${pkgdir}"/opt/bullet/App_ExampleBrowser
|
||||
cp -r data "${pkgdir}"/opt/bullet/
|
||||
|
||||
install -Dm644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgbase}/LICENSE
|
||||
}
|
||||
|
||||
package_python-pybullet() {
|
||||
pkgdesc="Bullet Python bindings"
|
||||
depends+=('bullet' 'gcc-libs')
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
install -Dm755 build/examples/pybullet/libpybullet.so.${pkgver} "${pkgdir}"/usr/lib/libpybullet.so.${pkgver}
|
||||
python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
|
||||
|
||||
install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
||||
|
||||
package_bullet-docs() {
|
||||
pkgdesc="Documentation for bullet"
|
||||
|
||||
cd bullet3-${_pkgver}
|
||||
|
||||
# install docs
|
||||
install -Dm644 docs/GPU_rigidbody_using_OpenCL.pdf "${pkgdir}"/usr/share/doc/bullet/GPU_rigidbody_using_OpenCL.pdf
|
||||
install -Dm644 docs/Bullet_User_Manual.pdf "${pkgdir}"/usr/share/doc/bullet/Bullet_User_Manual.pdf
|
||||
install -Dm644 docs/BulletQuickstart.pdf "${pkgdir}"/usr/share/doc/bullet/BulletQuickstart.pdf
|
||||
cp -r html "${pkgdir}"/usr/share/doc/bullet/html
|
||||
}
|
||||
# vim: sw=2 ts=2 et:
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
cd /opt/bullet
|
||||
./App_ExampleBrowser
|
|
@ -0,0 +1 @@
|
|||
rm -rf {src,pkg,bull*.gz*}
|
|
@ -0,0 +1,11 @@
|
|||
cmake
|
||||
doxygen
|
||||
graphviz
|
||||
ttf-dejavu
|
||||
mesa
|
||||
glu
|
||||
python
|
||||
python-numpy
|
||||
python-setuptools
|
||||
ninja
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
real 14m56.805s
|
||||
user 50m14.314s
|
||||
sys 3m39.807s
|
|
@ -0,0 +1,439 @@
|
|||
# Maintainer: ohfp
|
||||
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
|
||||
# Contributor: Ionut Biru <ibiru@archlinux.org>
|
||||
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
|
||||
|
||||
pkgname=librewolf
|
||||
_pkgname=LibreWolf
|
||||
pkgver=99.0.1
|
||||
pkgrel=4
|
||||
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
|
||||
arch=(x86_64 aarch64)
|
||||
license=(MPL GPL LGPL)
|
||||
url="https://librewolf-community.gitlab.io/"
|
||||
depends=(gtk3 libxt mime-types dbus-glib nss ttf-font libpulse ffmpeg)
|
||||
makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
|
||||
autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
|
||||
python-setuptools python-psutil python-zstandard git binutils lld dump_syms
|
||||
wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi pciutils) # pciutils: only to avoid some PGO warning
|
||||
optdepends=('networkmanager: Location detection via available WiFi networks'
|
||||
'libnotify: Notification integration'
|
||||
'pulseaudio: Audio support'
|
||||
'speech-dispatcher: Text-to-Speech'
|
||||
'hunspell-en_US: Spell checking, American English'
|
||||
'xdg-desktop-portal: Screensharing with Wayland')
|
||||
backup=('usr/lib/librewolf/librewolf.cfg'
|
||||
'usr/lib/librewolf/distribution/policies.json')
|
||||
options=(!emptydirs !makeflags !strip !lto !debug)
|
||||
_arch_git=https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/firefox/trunk
|
||||
_source_tag="${pkgver}-${pkgrel}"
|
||||
# _source_commit='94365400be86a22b7aaaba86627c0aca7dc8f50a' # not 'stable', but current source head
|
||||
_settings_tag='6.3'
|
||||
# _settings_commit='1a84d38bab56551f9ec2650644c4906650e75603' # hottest of fixes: 6.1 with a pref fix on top ^^
|
||||
install='librewolf.install'
|
||||
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
|
||||
$pkgname.desktop
|
||||
"git+https://gitlab.com/${pkgname}-community/browser/source.git#tag=${_source_tag}"
|
||||
"git+https://gitlab.com/${pkgname}-community/settings.git#tag=${_settings_tag}"
|
||||
"default192x192.png"
|
||||
"0028-bgo-831903-pip-dont-fail-with-optional-deps.patch"
|
||||
"0029-skip-pip-check.patch"
|
||||
"0031-pgo-use-toolchain-disable-watchdog-fix-on-gcc.patch"
|
||||
)
|
||||
source_aarch64=("${pkgver}-${pkgrel}_psutil-remove-version-cap.patch::https://github.com/archlinuxarm/PKGBUILDs/raw/434abe24fa6bc70940b2f1e69e047af38b4be68a/extra/firefox/psutil-remove-version-cap.patch")
|
||||
sha256sums=('76d22279ce99588a728bb2d034064be0d5918b5900631f2148d4565b8a72e00b'
|
||||
'SKIP'
|
||||
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'959c94c68cab8d5a8cff185ddf4dca92e84c18dccc6dc7c8fe11c78549cdc2f1'
|
||||
'582303b7d97dae11f1c760e129be03e270a0800a0bae9e140c032e57ae00c06d'
|
||||
'35eaa5ad3ade5351dc072f7e3e240265818d40c77c637dfdb492a91128b65d27'
|
||||
'9dd0d63d46e478b0a80c2ea80bddb3075f622864caa88e0bdc8f218c41d240ed')
|
||||
sha256sums_aarch64=('2bb0ac385b54972eb3e665ac70fb13565ed9da77b33349b844b2e0ad4948cff5')
|
||||
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
|
||||
|
||||
# change this to false if you do not want to run a PGO build for aarch64 as well
|
||||
_build_profiled_aarch64=true
|
||||
|
||||
prepare() {
|
||||
mkdir -p mozbuild
|
||||
cd firefox-$pkgver
|
||||
|
||||
local _patches_dir="${srcdir}/source/patches"
|
||||
|
||||
cat >../mozconfig <<END
|
||||
ac_add_options --enable-application=browser
|
||||
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
|
||||
|
||||
# This supposedly speeds up compilation (We test through dogfooding anyway)
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-debug
|
||||
|
||||
ac_add_options --prefix=/usr
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --enable-rust-simd
|
||||
ac_add_options --enable-linker=lld
|
||||
ac_add_options --disable-bootstrap
|
||||
|
||||
export CC='clang'
|
||||
export CXX='clang++'
|
||||
|
||||
# Branding
|
||||
ac_add_options --enable-update-channel=release
|
||||
ac_add_options --with-app-name=${pkgname}
|
||||
|
||||
# ac_add_options --with-app-basename=${_pkgname}
|
||||
|
||||
# switch to env vars like in librewolf source repo
|
||||
# this is in browser/branding/librewolf/configure.sh as well
|
||||
# so it _should_ already be applied, buuuuut just in case?
|
||||
|
||||
MOZ_APP_NAME=${pkgname}
|
||||
MOZ_APP_BASENAME=${_pkgname}
|
||||
MOZ_APP_PROFILE=${pkgname}
|
||||
MOZ_APP_VENDOR=${_pkgname}
|
||||
MOZ_APP_DISPLAYNAME=${_pkgname}
|
||||
|
||||
ac_add_options --with-branding=browser/branding/${pkgname}
|
||||
# ac_add_options --with-distribution-id=io.gitlab.${pkgname}-community
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
ac_add_options --allow-addon-sideload
|
||||
export MOZ_REQUIRE_SIGNING=
|
||||
# export MOZ_APP_REMOTINGNAME=${pkgname//-/}
|
||||
|
||||
# System libraries
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
|
||||
# Features
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --enable-jack
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# obsoleted?
|
||||
# TODO: use source/assets/moczonfig in the future
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
mk_add_options MOZ_DATA_REPORTING=0
|
||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||
|
||||
# options for ci / weaker build systems
|
||||
# mk_add_options MOZ_MAKE_FLAGS="-j4"
|
||||
# ac_add_options --enable-linker=gold
|
||||
|
||||
# wasi
|
||||
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
|
||||
END
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
cat >>../mozconfig <<END
|
||||
# taken from manjaro build:
|
||||
ac_add_options --enable-optimize="-g0 -O2"
|
||||
END
|
||||
|
||||
export MOZ_DEBUG_FLAGS=" "
|
||||
export CFLAGS+=" -g0"
|
||||
export CXXFLAGS+=" -g0"
|
||||
export RUSTFLAGS="-Cdebuginfo=0"
|
||||
|
||||
# we should have more than enough RAM on the CI spot instances.
|
||||
# ...or maybe not?
|
||||
export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||
# patch -Np1 -i ${_patches_dir}/arm.patch # not required anymore?
|
||||
# patch -Np1 -i ../${pkgver}-${pkgrel}_build-arm-libopus.patch
|
||||
|
||||
# https://github.com/archlinuxarm/PKGBUILDs/commit/434abe24fa6bc70940b2f1e69e047af38b4be68a
|
||||
# Firefox 98+ fails to draw its window on aarch64.
|
||||
# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1757571
|
||||
|
||||
# Also add a hack to remove the psutil version cap, since otherwise it
|
||||
# fails to build with the latest python-psutil version (for no reason).
|
||||
|
||||
patch -Np1 -i ../${pkgver}-${pkgrel}_psutil-remove-version-cap.patch
|
||||
|
||||
else
|
||||
|
||||
cat >>../mozconfig <<END
|
||||
# probably not needed, enabled by default?
|
||||
ac_add_options --enable-optimize
|
||||
|
||||
# Arch upstream has it in their PKGBUILD, ALARM does not for aarch64:
|
||||
ac_add_options --disable-elf-hack
|
||||
|
||||
# might help with failing x86_64 builds?
|
||||
export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||
END
|
||||
fi
|
||||
|
||||
# upstream Arch fixes
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
|
||||
# patch -Np1 -i ${srcdir}/0001-Use-remoting-name-for-GDK-application-names.patch
|
||||
|
||||
# upstream patches from gentoo
|
||||
# hopefully fixing the pip issues people have every now and then
|
||||
|
||||
patch -Np1 -i ../0028-bgo-831903-pip-dont-fail-with-optional-deps.patch
|
||||
patch -Np1 -i ../0029-skip-pip-check.patch
|
||||
|
||||
# pgo improvements
|
||||
patch -Np1 -i ../0031-pgo-use-toolchain-disable-watchdog-fix-on-gcc.patch
|
||||
|
||||
# LibreWolf
|
||||
|
||||
# Remove some pre-installed addons that might be questionable
|
||||
patch -Np1 -i ${_patches_dir}/remove_addons.patch
|
||||
|
||||
# Debian patch to enable global menubar
|
||||
# disabled for the default build, as it seems to cause issues in some configurations
|
||||
# 2022-01-21: re-enabled because it seems to not mess things up anymore nowadays?
|
||||
patch -Np1 -i ${_patches_dir}/unity-menubar.patch
|
||||
|
||||
# KDE menu
|
||||
# patch -Np1 -i ${_patches_dir}/mozilla-kde.patch
|
||||
# custom patch that does not conflict with the unity patch
|
||||
patch -Np1 -i ${_patches_dir}/mozilla-kde_after_unity.patch
|
||||
|
||||
# Disabling Pocket
|
||||
patch -Np1 -i ${_patches_dir}/sed-patches/disable-pocket.patch
|
||||
|
||||
# Remove Internal Plugin Certificates
|
||||
# patch -Np1 -i ${_patches_dir}/sed-patches/remove-internal-plugin-certs.patch
|
||||
# => breaks profiled builds since 90.0, it seems
|
||||
|
||||
# allow SearchEngines option in non-ESR builds
|
||||
patch -Np1 -i ${_patches_dir}/sed-patches/allow-searchengines-non-esr.patch
|
||||
|
||||
# remove search extensions (experimental)
|
||||
# patch -Np1 -i ${_patches_dir}/search-config.patch
|
||||
cp "${srcdir}/source/assets/search-config.json" services/settings/dumps/main/search-config.json
|
||||
|
||||
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||
patch -Np1 -i ${_patches_dir}/sed-patches/stop-undesired-requests2.patch
|
||||
|
||||
# Assorted patches
|
||||
patch -Np1 -i ${_patches_dir}/context-menu.patch
|
||||
patch -Np1 -i ${_patches_dir}/urlbarprovider-interventions.patch
|
||||
|
||||
|
||||
# allow overriding the color scheme light/dark preference with RFP
|
||||
# deprecated, will probably be dropped soon
|
||||
# patch -Np1 -i ${_patches_dir}/allow_dark_preference_with_rfp.patch
|
||||
|
||||
# change some hardcoded directory strings that could lead to unnecessarily
|
||||
# created directories
|
||||
patch -Np1 -i ${_patches_dir}/mozilla_dirs.patch
|
||||
|
||||
# somewhat experimental patch to fix bus/dbus/remoting names to io.gitlab.librewolf
|
||||
# should not break things, buuuuuuuuuut we'll see.
|
||||
patch -Np1 -i ${_patches_dir}/dbus_name.patch
|
||||
|
||||
# allow uBlockOrigin to run in private mode by default, without user intervention.
|
||||
patch -Np1 -i ${_patches_dir}/allow-ubo-private-mode.patch
|
||||
|
||||
# add custom uBO assets (on first launch only)
|
||||
patch -Np1 -i ${_patches_dir}/custom-ubo-assets-bootstrap-location.patch
|
||||
|
||||
# ui patches
|
||||
|
||||
# remove references to firefox from the settings UI, change text in some of the links,
|
||||
# explain that we force en-US and suggest enabling history near the session restore checkbox.
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/pref-naming.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/remap-links.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/hide-default-browser.patch
|
||||
|
||||
# Add LibreWolf logo to Debugging Page
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/lw-logo-devtools.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/privacy-preferences.patch
|
||||
|
||||
# remove firefox references in the urlbar, when suggesting opened tabs.
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/remove-branding-urlbar.patch
|
||||
|
||||
# remove cfr UI elements, as they are disabled and locked already.
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/remove-cfrprefs.patch
|
||||
|
||||
# do not display your browser is being managed by your organization in the settings.
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/remove-organization-policy-banner.patch
|
||||
|
||||
# hide "snippets" section from the home page settings, as it was already locked.
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/remove-snippets-from-home.patch
|
||||
|
||||
# add warning that sanitizing exceptions are bypassed by the options in History > Clear History when LibreWolf closes > Settings
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/sanitizing-description.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_patches_dir}/ui-patches/handlers.patch
|
||||
|
||||
# pref pane
|
||||
patch -Np1 -i ${_patches_dir}/librewolf-pref-pane.patch
|
||||
|
||||
# fix telemetry removal, see https://gitlab.com/librewolf-community/browser/linux/-/merge_requests/17, for example
|
||||
patch -Np1 -i ${_patches_dir}/disable-data-reporting-at-compile-time.patch
|
||||
|
||||
# allows hiding the password manager (from the lw pref pane) / via a pref
|
||||
patch -Np1 -i ${_patches_dir}/hide-passwordmgr.patch
|
||||
|
||||
rm -f ${srcdir}/source/mozconfig # what was this for? TODO
|
||||
cp -r ${srcdir}/source/themes/browser ./
|
||||
}
|
||||
|
||||
|
||||
build() {
|
||||
cd firefox-$pkgver
|
||||
|
||||
export MOZ_NOSPAM=1
|
||||
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
|
||||
# export MOZ_ENABLE_FULL_SYMBOLS=1
|
||||
export MACH_USE_SYSTEM_PYTHON=1
|
||||
|
||||
# LTO needs more open files
|
||||
ulimit -n 4096
|
||||
|
||||
# -fno-plt with cross-LTO causes obscure LLVM errors
|
||||
# LLVM ERROR: Function Import: link error
|
||||
# CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
# CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
|
||||
# Do 3-tier PGO
|
||||
echo "Building instrumented browser..."
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
|
||||
cat >.mozconfig ../mozconfig - <<END
|
||||
ac_add_options --enable-profile-generate
|
||||
END
|
||||
|
||||
else
|
||||
|
||||
cat >.mozconfig ../mozconfig - <<END
|
||||
ac_add_options --enable-profile-generate=cross
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
./mach build
|
||||
|
||||
echo "Profiling instrumented browser..."
|
||||
|
||||
./mach package
|
||||
|
||||
LLVM_PROFDATA=llvm-profdata \
|
||||
JARLOG_FILE="$PWD/jarlog" \
|
||||
xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
|
||||
./mach python build/pgo/profileserver.py
|
||||
|
||||
stat -c "Profile data found (%s bytes)" merged.profdata
|
||||
test -s merged.profdata
|
||||
|
||||
stat -c "Jar log found (%s bytes)" jarlog
|
||||
test -s jarlog
|
||||
|
||||
echo "Removing instrumented browser..."
|
||||
./mach clobber
|
||||
|
||||
echo "Building optimized browser..."
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
|
||||
cat >.mozconfig ../mozconfig - <<END
|
||||
ac_add_options --enable-lto
|
||||
ac_add_options --enable-profile-use
|
||||
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
|
||||
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
|
||||
END
|
||||
|
||||
else
|
||||
|
||||
cat >.mozconfig ../mozconfig - <<END
|
||||
ac_add_options --enable-lto=cross
|
||||
ac_add_options --enable-profile-use=cross
|
||||
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
|
||||
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
# cat >>.mozconfig <<END
|
||||
# ac_add_options --enable-linker=lld
|
||||
# ac_add_options --disable-bootstrap
|
||||
# END
|
||||
|
||||
./mach build
|
||||
|
||||
echo "Building symbol archive..."
|
||||
./mach buildsymbols
|
||||
}
|
||||
|
||||
package() {
|
||||
cd firefox-$pkgver
|
||||
DESTDIR="$pkgdir" ./mach install
|
||||
|
||||
local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
|
||||
|
||||
install -Dvm644 /dev/stdin "$vendorjs" <<END
|
||||
// Use system-provided dictionaries
|
||||
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
|
||||
|
||||
// Don't disable extensions in the application directory
|
||||
// done in librewolf.cfg
|
||||
// pref("extensions.autoDisableScopes", 11);
|
||||
END
|
||||
|
||||
# cd ${srcdir}/settings
|
||||
# git checkout ${_settings_commit}
|
||||
cd ${srcdir}/firefox-$pkgver
|
||||
cp -r ${srcdir}/settings/* ${pkgdir}/usr/lib/${pkgname}/
|
||||
|
||||
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
|
||||
install -Dvm644 /dev/stdin "$distini" <<END
|
||||
[Global]
|
||||
id=io.gitlab.${pkgname}-community
|
||||
version=1.0
|
||||
about=LibreWolf
|
||||
|
||||
[Preferences]
|
||||
app.distributor="LibreWolf Community"
|
||||
app.distributor.channel=$pkgname
|
||||
app.partner.librewolf=$pkgname
|
||||
END
|
||||
|
||||
for i in 16 32 48 64 128; do
|
||||
install -Dvm644 browser/branding/${pkgname}/default$i.png \
|
||||
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
|
||||
done
|
||||
# install -Dvm644 browser/branding/librewolf/content/about-logo.png \
|
||||
# "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
|
||||
install -Dvm644 ${srcdir}/default192x192.png \
|
||||
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
|
||||
|
||||
# arch upstream provides a separate svg for this. we don't have that, so let's re-use 16.png
|
||||
install -Dvm644 browser/branding/${pkgname}/default16.png \
|
||||
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.png"
|
||||
|
||||
install -Dvm644 ../$pkgname.desktop \
|
||||
"$pkgdir/usr/share/applications/$pkgname.desktop"
|
||||
|
||||
# Install a wrapper to avoid confusion about binary path
|
||||
install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
|
||||
#!/bin/sh
|
||||
exec /usr/lib/$pkgname/librewolf "\$@"
|
||||
END
|
||||
|
||||
# Replace duplicate binary with wrapper
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
|
||||
ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/librewolf-bin"
|
||||
# Use system certificates
|
||||
local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
|
||||
if [[ -e $nssckbi ]]; then
|
||||
ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue