[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-115.9.0esr-13.5-1] fixup! Bug 41089: Add tor-browser build scripts + Makefile to tor-browser



Title: GitLab

Pier Angelo Vendrame pushed to branch tor-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser

Commits:

  • 5dc406d2
    by Dan Ballard at 2024-04-09T10:18:53-07:00
    fixup! Bug 41089: Add tor-browser build scripts + Makefile to tor-browser
    
    add geckoview tools
    

11 changed files:

Changes:

  • tools/geckoview/.gitignore
    1
    +android-env.sh

  • tools/geckoview/Makefile
    1
    +.DEFAULT_GOAL := all
    
    2
    +
    
    3
    +# one of armv7 aarch64 x86 x86_64
    
    4
    +ARCH=aarch64
    
    5
    +
    
    6
    +ARCHS=$(ARCH)
    
    7
    +OS="${shell uname}"
    
    8
    +
    
    9
    +# https://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile
    
    10
    +mkfile_path := "$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))"
    
    11
    +
    
    12
    +DEV_ROOT = "$(mkfile_path)/../.."
    
    13
    +
    
    14
    +clobber: env
    
    15
    +	./clobber.sh $(DEV_ROOT) $(ARCH)
    
    16
    +
    
    17
    +config: env
    
    18
    +	./config.sh $(DEV_ROOT) $(ARCH)
    
    19
    +
    
    20
    +build: env
    
    21
    +	./build.sh $(DEV_ROOT) $(ARCH)
    
    22
    +
    
    23
    +fataar: env
    
    24
    +	bash -c "source android-env.sh && ./fataar.py $(DEV_ROOT) $(ARCHS)"
    
    25
    +
    
    26
    +package: env
    
    27
    +	./package-gradle.sh $(DEV_ROOT) $(ARCH)
    
    28
    +
    
    29
    +show:
    
    30
    +	ls -lh ~/.m2/repository/org/mozilla/geckoview/geckoview-default-omni/
    
    31
    +	ls -lh ~/.m2/repository/org/mozilla/geckoview/geckoview-default-omni/$(shell ls ~/.m2/repository/org/mozilla/geckoview/geckoview-default-omni | tail -n 2 | head -n 1)
    
    32
    +
    
    33
    +env:
    
    34
    +	test -e android-env.sh || { echo "copy android-env-...-template.sh to android-env.sh and edit appropriatly"; exit 1; }
    
    35
    +
    
    36
    +all: env build package
    
    37
    +
    
    38
    +jslint:
    
    39
    +	./jslint.sh $(DEV_ROOT) $(JS)
    
    40
    +
    
    41
    +clean:
    
    42
    +	rm -rf $(BUILD_OUTPUT)
    
    43
    +

  • tools/geckoview/android-env-linux-template.sh
    1
    +export MOZ_BUILD_DATE=20230710165010 # This should match the data in [firefox-android](https://gitlab.torproject.org/tpo/applications/firefox-android)/android-components/plugins/dependencies/src/main/java/Gecko.kt ~ln 12's def of the variable *version*, the date component
    
    2
    +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    
    3
    +export ANDROID_HOME=$HOME/.mozbuild/android-sdk-linux/ # or $HOME/Android/Sdk/ # Or .../android-toolchain/android-sdk-linux if you extract android-toolchain from tor-browser-build
    
    4
    +export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.2.8568313/ # for 115esr
    
    5
    +export GRADLE_HOME=/FULL/PATH/TO/tor-browser-build/out/gradle/gradle-7.5.1 # Or the version that we currently use
    
    6
    +export LOCAL_DEV_BUILD=1
    
    7
    +export PATH=/FULL/PATH/TO/tor-browser-build/out/clang/clang-16.x.y-arm/bin/:$PATH # prepend our newly built and assembled clang to the path so it gets used to build geckoview

  • tools/geckoview/android-env-macos-template.sh
    1
    +export MOZ_BUILD_DATE=20230710165010 # This should match the data in [firefox-android](https://gitlab.torproject.org/tpo/applications/firefox-android)/android-components/plugins/dependencies/src/main/java/Gecko.kt ~ln 12's def of the variable *version*, the date component
    
    2
    +export JAVA_HOME=/opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home/ # for arm64. Or JAVA_HOME=/usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home/ for x86_64.
    
    3
    +export ANDROID_HOME=$HOME/Library/Android/sdk # or $HOME/.mozbuild/android-sdk-macosx/
    
    4
    +export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.2.8568313 # will need to download NDK 23.2.8568313 via android studio
    
    5
    +export GRADLE_HOME=/opt/homebrew/Cellar/gradle@7/7.6.4 # for arm64 or /usr/local/Cellar/gradle@7/7.6.4 for x86_64. Make sure the version is up to date
    
    6
    +export LOCAL_DEV_BUILD=1
    
    7
    +export PATH=$ANDROID_HOME/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/:$PATH # prepend android studios latest ndk to the path so it's clang gets used to build geckoview. NDK 25.2.9519653 uses clang 14.0.7, ideally we'd use clang 16 (to be the same as Linux) but that's not an option yet for android studio. NDK 26.1.10909125 uses clang 17.0.2, which we should evaluate with the esr128 migration

  • tools/geckoview/build.sh
    1
    +#!/bin/bash
    
    2
    +set -e
    
    3
    +DEV_ROOT=$1
    
    4
    +ARCH=$2
    
    5
    +
    
    6
    +source android-env.sh
    
    7
    +
    
    8
    +cd $DEV_ROOT
    
    9
    +MOZCONFIG=mozconfig-android-$ARCH  ./mach build

  • tools/geckoview/clobber.sh
    1
    +#!/bin/bash
    
    2
    +set -e
    
    3
    +DEV_ROOT=$1
    
    4
    +ARCH=$2
    
    5
    +
    
    6
    +source android-env.sh
    
    7
    +
    
    8
    +cd $DEV_ROOT
    
    9
    +MOZCONFIG=mozconfig-android-$ARCH ./mach clobber
    
    10
    +MOZCONFIG=mozconfig-android-all ./mach clobber

  • tools/geckoview/config.sh
    1
    +#!/bin/bash
    
    2
    +set -e
    
    3
    +DEV_ROOT=$1
    
    4
    +ARCH=$2
    
    5
    +
    
    6
    +source android-env.sh
    
    7
    +
    
    8
    +cd $DEV_ROOT
    
    9
    +MOZCONFIG=mozconfig-android-$ARCH  ./mach configure  --without-wasm-sandboxed-libraries

  • tools/torbrowser/fataar.pytools/geckoview/fataar.py

  • tools/geckoview/jslint.sh
    1
    +#!/bin/bash
    
    2
    +set -e
    
    3
    +DEV_ROOT=$1
    
    4
    +JS_FILE=$2
    
    5
    +
    
    6
    +source android-env.sh
    
    7
    +
    
    8
    +cd $DEV_ROOT
    
    9
    +./mach lint -l eslint --fix $JS_FILE

  • tools/geckoview/package-gradle.sh
    1
    +#!/bin/bash
    
    2
    +set -e
    
    3
    +DEV_ROOT=$1
    
    4
    +ARCH=$2
    
    5
    +
    
    6
    +source android-env.sh
    
    7
    +
    
    8
    +env ARCHS=$ARCH make fat-aar
    
    9
    +
    
    10
    +cd $DEV_ROOT
    
    11
    +MOZCONFIG=mozconfig-android-$ARCH ./mach build binaries
    
    12
    +MOZCONFIG=mozconfig-android-$ARCH ./mach gradle geckoview:publishWithGeckoBinariesDebugPublicationToMavenRepository
    
    13
    +MOZCONFIG=mozconfig-android-all ./mach gradle geckoview:publishWithGeckoBinariesDebugPublicationToMavenLocal exoplayer2:publishDebugPublicationToMavenLocal
    
    14
    +
    
    15
    +

  • tools/torbrowser/Makefile
    ... ... @@ -47,9 +47,6 @@ build:
    47 47
     deploy:
    
    48 48
     	./deploy.sh $(BINARIES) $(BUILD_OUTPUT)
    
    49 49
     
    
    50
    -fat-aar:
    
    51
    -	./fataar.py $(DEV_ROOT) $(ARCHS)
    
    52
    -
    
    53 50
     all: build deploy
    
    54 51
     
    
    55 52
     run:
    

  • _______________________________________________
    tor-commits mailing list
    tor-commits@xxxxxxxxxxxxxxxxxxxx
    https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits