mirror of
https://github.com/onionshare/onionshare.git
synced 2025-01-24 05:31:27 -05:00
De-universal2-ize the macOS circleCI config
This commit is contained in:
parent
6fa7a22f62
commit
51133e20fd
@ -206,22 +206,20 @@ jobs:
|
||||
build-macos:
|
||||
macos:
|
||||
xcode: 12.5.1
|
||||
environment:
|
||||
INSTALL_X86_64: /Users/distiller/install/x86_64
|
||||
INSTALL_ARM64: /Users/distiller/install/arm64
|
||||
INSTALL_UNIVERSAL2: /Users/distiller/install/universal2
|
||||
steps:
|
||||
- checkout
|
||||
- environment:
|
||||
BUILD_PREFIX: /Users/distiller/root
|
||||
- run:
|
||||
name: Make BUILD_PREFIX directory
|
||||
command: mkdir $BUILD_PREFIX
|
||||
- run:
|
||||
name: Install Homebrew dependencies
|
||||
command: |
|
||||
brew install wget
|
||||
brew install go
|
||||
- run:
|
||||
name: Make folders for x86_64 and arm64 tor deps
|
||||
command: mkdir -p $INSTALL_X86_64 $INSTALL_ARM64 $INSTALL_UNIVERSAL2
|
||||
- run:
|
||||
name: Build libevent (x86_64 and arm64)
|
||||
name: Build libevent
|
||||
command: |
|
||||
# Download and verify
|
||||
cd ~/Downloads
|
||||
@ -232,28 +230,13 @@ jobs:
|
||||
SHA256=$(shasum -a 256 $FILENAME | cut -d" " -f1)
|
||||
if [ "$SHA256" != "$EXPECTED_SHA256" ]; then echo "Failed" && exit -1; fi
|
||||
tar -xvf $FILENAME
|
||||
rm $FILENAME
|
||||
mv libevent-* libevent-x86_64
|
||||
cp -r libevent-x86_64 libevent-arm64
|
||||
# Build x86_64
|
||||
cd libevent-x86_64
|
||||
export CFLAGS="-arch x86_64"
|
||||
./configure --disable-openssl --prefix=$INSTALL_X86_64
|
||||
make
|
||||
make install
|
||||
# Build arm64
|
||||
cd ../libevent-arm64
|
||||
export CFLAGS="-arch x86_64" # temporarily, change after the fact
|
||||
./configure --disable-openssl --prefix=$INSTALL_ARM64
|
||||
# Fix the Makefile so it builds for arm64
|
||||
sed -i '' -e 's/host_triplet = x86_64-apple-darwin20.5.0/host_triplet = arm64-apple-darwin20.5.0/g' Makefile
|
||||
sed -i '' -e 's/CFLAGS = -arch x86_64/CFLAGS = -arch arm64/g' Makefile
|
||||
sed -i '' -e 's/host = x86_64-apple-darwin20.5.0/host = arm64-apple-darwin20.5.0/g' Makefile
|
||||
sed -i '' -e 's/host_cpu = x86_64/host_cpu = arm64/g' Makefile
|
||||
# Build
|
||||
cd libevent-2.1.12-stable
|
||||
./configure --disable-openssl --prefix=$BUILD_PREFIX
|
||||
make
|
||||
make install
|
||||
- run:
|
||||
name: Build tor (x86_64 and arm64)
|
||||
name: Build tor
|
||||
command: |
|
||||
# Download and verify
|
||||
cd ~/Downloads
|
||||
@ -264,71 +247,45 @@ jobs:
|
||||
SHA256=$(shasum -a 256 $FILENAME | cut -d" " -f1)
|
||||
if [ "$SHA256" != "$EXPECTED_SHA256" ]; then echo "Failed" && exit -1; fi
|
||||
tar -xvf $FILENAME
|
||||
rm $FILENAME
|
||||
mv tor-* tor-x86_64
|
||||
cp -r tor-x86_64 tor-arm64
|
||||
mkdir -p /Users/distiller/compiled/tor-x86-64 /Users/distiller/compiled/tor-amd64 /Users/distiller/compiled/tor-universal
|
||||
# Build x86_64
|
||||
cd tor-x86_64
|
||||
export CFLAGS="-arch x86_64"
|
||||
./configure --prefix=$INSTALL_X86_64
|
||||
make
|
||||
make install
|
||||
# Build arm64
|
||||
cd ../tor-arm64
|
||||
export CFLAGS="-arch arm64"
|
||||
./configure --host=x86_64-apple-darwin20.5.0 --disable-tool-name-check --prefix=$INSTALL_ARM64
|
||||
# Build
|
||||
cd tor-0.4.6.10
|
||||
./configure --prefix=$BUILD_PREFIX
|
||||
make
|
||||
make install
|
||||
- run:
|
||||
name: Make tor universal2 binary
|
||||
command: |
|
||||
cp $INSTALL_ARM64/share/tor/* $INSTALL_UNIVERSAL2
|
||||
lipo -create -output $INSTALL_UNIVERSAL2/libevent-2.1.7.dylib $INSTALL_ARM64/lib/libevent-2.1.7.dylib $INSTALL_X86_64/lib/libevent-2.1.7.dylib
|
||||
lipo -create -output $INSTALL_UNIVERSAL2/tor $INSTALL_ARM64/bin/tor $INSTALL_X86_64/bin/tor
|
||||
- run:
|
||||
name: Build obfs4proxy (universal2)
|
||||
name: Build obfs4proxy
|
||||
command: |
|
||||
# Get source code
|
||||
mkdir ~/Downloads/obfs4proxy
|
||||
cd ~/Downloads/obfs4proxy
|
||||
git clone https://gitlab.com/yawning/obfs4
|
||||
cd obfs4
|
||||
# Build x86_64 and arm64
|
||||
GOOS=darwin GOARCH=amd64 go build -o obfs4proxy_x86_64 ./obfs4proxy
|
||||
GOOS=darwin GOARCH=arm64 go build -o obfs4proxy_arm64 ./obfs4proxy
|
||||
# Combine them
|
||||
lipo -create -output $INSTALL_UNIVERSAL2/obfs4proxy obfs4proxy_arm64 obfs4proxy_x86_64
|
||||
# Build
|
||||
go build -o obfs4proxy ./obfs4proxy
|
||||
- run:
|
||||
name: Build snowflake-client (universal2)
|
||||
name: Build snowflake-client
|
||||
command: |
|
||||
# Get source code
|
||||
mkdir ~/Downloads/snowflake-client
|
||||
cd ~/Downloads/snowflake-client
|
||||
git clone https://git.torproject.org/pluggable-transports/snowflake.git
|
||||
cd snowflake
|
||||
# Build x86_64 and arm64
|
||||
GOOS=darwin GOARCH=amd64 go build -o snowflake-client_x86_64 ./client
|
||||
GOOS=darwin GOARCH=arm64 go build -o snowflake-client_arm64 ./client
|
||||
# Combine them
|
||||
lipo -create -output $INSTALL_UNIVERSAL2/snowflake-client snowflake-client_arm64 snowflake-client_x86_64
|
||||
# Build
|
||||
go build -o snowflake-client ./client
|
||||
- run:
|
||||
name: Build meek-client (universal2)
|
||||
name: Build meek-client
|
||||
command: |
|
||||
# Get source code
|
||||
mkdir ~/Downloads/meek-client
|
||||
cd ~/Downloads/meek-client
|
||||
git clone https://git.torproject.org/pluggable-transports/meek.git
|
||||
cd meek
|
||||
# Build x86_64 and arm64
|
||||
GOOS=darwin GOARCH=amd64 go build -o meek-client_x86_64 ./meek-client
|
||||
GOOS=darwin GOARCH=arm64 go build -o meel-client_arm64 ./meek-client
|
||||
# Combine them
|
||||
lipo -create -output $INSTALL_UNIVERSAL2/meek-client meek-client_arm64 meek-client_x86_64
|
||||
# Build
|
||||
go build -o meek-client ./meek-client
|
||||
- run:
|
||||
name: Install Python 3.9.12
|
||||
command: |
|
||||
wget https://www.python.org/ftp/python/3.9.12/python-3.9.12-macos11.pkg -O ~/Downloads/python.pkg
|
||||
wget https://www.python.org/ftp/python/3.9.12/python-3.9.12-macosx10.9.pkg -O ~/Downloads/python.pkg
|
||||
sudo installer -pkg ~/Downloads/python.pkg -target /
|
||||
- run:
|
||||
name: Install poetry
|
||||
|
Loading…
Reference in New Issue
Block a user