diff --git a/.circleci/config.yml b/.circleci/config.yml index 1efd207c..38a9072a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -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