Compare commits

...

10 Commits

Author SHA1 Message Date
APEX FIGHT
2bbeea7bfb Merge branch 'main' of https://gitea.apexfight.net/apex/Mozzarella 2025-11-01 04:13:42 -04:00
APEX FIGHT
fe4d6e8cc4 targeted builds and cross comp 2025-11-01 04:13:30 -04:00
a19b42aa02 Update README.md 2025-11-01 07:07:55 +00:00
5042becb49 Update README.md 2025-11-01 07:07:23 +00:00
c130aef4f0 Update README.md 2025-11-01 07:01:19 +00:00
APEX FIGHT
2388f4d202 added more verbosity 2025-11-01 02:47:35 -04:00
APEX FIGHT
73619f1cbf uncomment download 2025-11-01 02:44:28 -04:00
APEX FIGHT
09c696d94b added compression and moving build output to target dir 2025-11-01 02:43:56 -04:00
APEX FIGHT
161e2e070f organized configs 2025-11-01 02:43:18 -04:00
APEX FIGHT
7161da7281 framework for later just chucking in a script here to garbage collect all of nix because the building of firefox can take up lots of space very fast 2025-11-01 02:42:44 -04:00
3 changed files with 36 additions and 14 deletions

View File

@@ -1,7 +1,9 @@
# Mozzarella
fully automatic Mozilla builds and downloads
fully automatic Mozilla builds (just spidermonkey right now)
(intended specifically for val's earth modding support)
Powered by [Nix](https://nixos.org/)
coming soon...
builds pertinent to val's earth (but potentially useful otherwise) are located at [apexfight.net](https://mozzarella.apexfight.net/)
(intended specifically for val's earth modding support, but if you're here then feel free to use it for whatever)

1
nixgc.sh Normal file
View File

@@ -0,0 +1 @@
# basic script that garbage collects all of nixos to make it... take up like half the space, it gets real big after a while...

View File

@@ -1,11 +1,18 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash
#! nix-shell -p bash curl gcc zlib libffi icu77 python313 rustc ccache ninja cmake libllvm cargo rust-cbindgen pkg-config
SUBVERSION="140.4.0"
VERSION="${SUBVERSION}esr"
# CONFIGURATION OPTIONS
MAJORVERSION="140" # MAJOR firefox esr version
MINORVERSION="${MAJORVERSION}.4.0" # Minor firefox version
VERSION="${MINORVERSION}esr" # Whole Version put together
DOWNLOAD="https://ftp.mozilla.org/pub/firefox/releases/$VERSION/source/firefox-$VERSION.source.tar.xz"
BUILDPATH=$(realpath .)
mkdir bin
BUILDPATH=$(realpath .) # Where to output build fragments
OUTPUT="/var/www/$VERSION/" # Where to place built and zipped hashes and all that (ex. for file hosting)
# Ensure necessary directories exist
mkdir $BUILDPATH/bin
mkdir $OUTPUT
#debug stuff
echo Version:
@@ -18,21 +25,33 @@ echo $BUILDPATH
#unzip this or something
echo Downloading...
#curl -RO "$DOWNLOAD"
curl -RO "$DOWNLOAD"
echo Unzipping Source...
tar -xJf "firefox-$VERSION.source.tar.xz"
cd "firefox-$SUBVERSION/js/src"
cd "firefox-$MINORVERSION/js/src"
echo Making Build Path...
mkdir _build
cd _build
# https://clang.llvm.org/docs/CrossCompilation.html
echo Configuring build...
../configure --disable-jemalloc --with-system-zlib --with-system-icu --prefix="$BUILDPATH/bin" \
--with-intl-api --enable-optimize
../configure --disable-jemalloc --with-system-zlib --with-system-icu --prefix="$BUILDPATH/bin" --with-intl-api --enable-optimize --target=x86_64-pc-linux-gnu
echo Compiling...
make
make install
make -k
make -k install
echo Finished Building!
cd $BUILDPATH/bin/include
echo Compressing build fragment...
tar -cJf $VERSION.tar.xz mozjs-$MAJORVERSION/
echo Calculating sum of fragment...
sha256sum $VERSION.tar.xz > $VERSION.tar.xz.sha256
echo Moving fragments to output
mv $VERSION.tar.xz $VERSION.tar.xz.sha256 $OUTPUT