Unverified Commit acfda9f4 authored by boklm's avatar boklm
Browse files

Merge remote-tracking branch 'sisbell/bug-32993a'

parents ea9f2082 4b2a1dcf
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -14,9 +14,13 @@ mkdir -p /var/tmp/build $output_dir
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz

cd /var/tmp/build/[% project %]-[% c('version') %]
patch -p1 < $rootdir/remove-native-build.patch

# Remove native files, otherwise build will fail after gradle.patch
# Replace pre-packaged tor library with the latest build
rm -fR service/src/main/jniLibs/*
tar -C service/src/main -xf $rootdir/[% c('input_files_by_name/tor') %]/tor.tar.gz

# Patch native build. Then remove native files, otherwise build will fail after gradle.patch
patch -p1 < $rootdir/remove-native-build.patch
rm -fR service/src/main/jni

# Replace libraries with the config dependencies
+2 −0
Original line number Diff line number Diff line
@@ -22,4 +22,6 @@ input_files:
    exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
  - project: tor-onion-proxy-library
    name: topl
  - project: tor
    name: tor
  - filename: remove-native-build.patch
+22 −5
Original line number Diff line number Diff line
@@ -4,6 +4,12 @@
distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/build

[% IF c("var/android") %]
  TORCONFIGDIR="$distdir/assets/common"
  libsdir=$distdir/jniLibs/[% c("var/abi") %]
  mkdir -p $libsdir $TORCONFIGDIR "$distdir/Tor"
[% END %]

[% IF c("var/linux") || c("var/windows") %]
  TORCONFIGDIR="$distdir/Data/Tor"
  mkdir -p $TORCONFIGDIR
@@ -22,12 +28,19 @@ mkdir -p /var/tmp/build
  mkdir -p $TORCONFIGDIR
[% END %]

tar -C /var/tmp/dist -xf [% c('input_files_by_name/openssl') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/libevent') %]
[% IF c("var/windows") || c("var/android") %]
  tar -C /var/tmp/dist -xf [% c('input_files_by_name/zlib') %]
  zlibdir=/var/tmp/dist/zlib
[% END %]
[% IF c("var/android") %]
  tar -C /var/tmp/dist -xf [% c('input_files_by_name/zstd') %]
[% END %]
[% IF !c("var/android") && c("var/nightly") %]
  tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
  export PATH=/var/tmp/dist/rust/bin:$PATH
[% END %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/openssl') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/libevent') %]
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
libeventdir=/var/tmp/dist/libevent
openssldir=/var/tmp/dist/openssl/openssl
@@ -37,8 +50,6 @@ openssldir=/var/tmp/dist/openssl/openssl
    # We are compiling Tor with Rust enabled for nightlies.
    export TOR_RUST_TARGET=[% c("arch") %]-pc-windows-gnu
  [% END %]
  tar -C /var/tmp/build -xf [% c('input_files_by_name/zlib') %]
  zlibdir=/var/tmp/build/zlib
  # XXX: It's a bit unfortunate but we need the pthread dll here as libevent
  # gets compiled with pthread support once it is enabled in GCC, which we need
  # to do as otherwise the Rust compilaton breaks.
@@ -86,7 +97,7 @@ echo '"[% c("abbrev", { abbrev_length => 16 }) %]"' > micro-revision.i
find -type f -print0 | xargs -0 [% c("var/touch") %]
[% IF !c("var/android") && c("var/nightly") %]TOR_RUST_DEPENDENCIES=`pwd`/src/ext/rust/crates[% END %] ./configure --disable-asciidoc --with-libevent-dir="$libeventdir" --with-openssl-dir="$openssldir" \
    [% IF c("var/asan") %]--enable-fragile-hardening[% END %] \
    [% IF c("var/windows") %]--with-zlib-dir="$zlibdir"[% END %] \
    [% IF c("var/windows") || c("var/android") %]--with-zlib-dir="$zlibdir"[% END %] \
    [% IF c("var/osx") %]--enable-static-openssl[% END %] \
    [% IF !c("var/android") && c("var/nightly") %]--enable-rust[% END %] \
    --prefix="$distdir" [% c("var/configure_opt") %]
@@ -132,6 +143,10 @@ cd $distdir
  done
[% END %]

[% IF c("var/android") %]
  install -s --strip-program=[% c("var/configure_host") %]-strip $distdir/bin/tor $libsdir/libTor.so
[% END %]

mkdir -p [% dest_dir _ '/' _ c('filename') %]
[%
   IF c("var/expert_bundle");
@@ -143,6 +158,8 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %]
   ELSE;
     IF c("var/osx");
       SET tarsrcdir = [ 'Contents' ];
     ELSIF c("var/android");
       SET tarsrcdir = [ 'assets', 'jniLibs' ];
     ELSE;
       SET tarsrcdir = [ 'Data', 'Tor', ];
     END;
+9 −1
Original line number Diff line number Diff line
@@ -45,6 +45,11 @@ targets:
    var:
      expert_bundle: 1
      flag_mwindows: ''
  android:
    var:
      configure_opt_project: --libdir=$ANDROID_NDK_HOME/[% c("var/toolchain_arch") %]/lib --enable-android --enable-static-openssl --enable-static-libevent --enable-zstd --disable-tool-name-check --disable-system-torrc --disable-system-torrc
      arch_deps:
        - libtinfo5

input_files:
  - project: container-image
@@ -54,9 +59,12 @@ input_files:
    project: libevent
  - name: zlib
    project: zlib
    enable: '[% c("var/windows") %]'
    enable: '[% c("var/windows") || c("var/android") %]'
  - name: '[% c("var/compiler") %]'
    project: '[% c("var/compiler") %]'
  - name: rust
    project: rust
    enable: '[% !c("var/android") && c("var/nightly") %]'
  - name: zstd
    project: zstd
    enable: '[% c("var/android") %]'
+14 −2
Original line number Diff line number Diff line
@@ -5,8 +5,20 @@ distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
[% IF c("var/windows") -%]
  make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j[% c("buildconf/num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]"
  make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j[% c("buildconf/num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" install
[% END -%]

[% IF c("var/android") -%]
  export CHOST=[% c("var/configure_host") %]
  export CC="clang"
  ./configure --prefix=$distdir
  make -j[% c("buildconf/num_procs") %]
  make -j[% c("buildconf/num_procs") %] install
  # Only need static libraries
  rm -r $distdir/lib/{*.so*,pkgconfig}
[% END -%]

cd /var/tmp/dist
[% c('tar', {