2022-03-30 00:02:03 -04:00
|
|
|
version: 2.1
|
|
|
|
|
|
|
|
orbs:
|
|
|
|
win: circleci/windows@4.0.0
|
|
|
|
|
2018-11-25 16:20:05 -05:00
|
|
|
workflows:
|
|
|
|
version: 2
|
2022-03-30 00:05:23 -04:00
|
|
|
test_and_build:
|
2018-11-25 16:20:05 -05:00
|
|
|
jobs:
|
2020-10-14 23:42:20 -04:00
|
|
|
- test-cli
|
|
|
|
- test-gui
|
2022-03-30 00:59:39 -04:00
|
|
|
- build-win64:
|
2022-03-30 00:04:39 -04:00
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-04-04 00:22:13 -04:00
|
|
|
- test-gui
|
2022-03-30 15:50:28 -04:00
|
|
|
- build-win32:
|
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-04-04 00:22:13 -04:00
|
|
|
- test-gui
|
2022-03-31 21:54:32 -04:00
|
|
|
- build-macos:
|
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-04-04 00:22:13 -04:00
|
|
|
- test-gui
|
|
|
|
# - build-snapcraft:
|
|
|
|
# requires:
|
|
|
|
# - test-cli
|
|
|
|
# - test-gui
|
2018-11-25 16:20:05 -05:00
|
|
|
|
2018-10-17 01:51:49 -04:00
|
|
|
jobs:
|
2020-10-14 23:42:20 -04:00
|
|
|
test-cli:
|
2018-10-17 01:51:49 -04:00
|
|
|
docker:
|
2022-03-28 23:22:14 -04:00
|
|
|
- image: cimg/python:3.9
|
2018-10-17 01:51:49 -04:00
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
|
|
- checkout
|
2020-03-22 18:32:25 -04:00
|
|
|
- run:
|
2020-10-14 23:44:21 -04:00
|
|
|
name: Install dependencies
|
|
|
|
command: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get -y install tor obfs4proxy
|
|
|
|
pip install poetry
|
|
|
|
cd ~/repo/cli
|
|
|
|
poetry install
|
2018-10-17 01:51:49 -04:00
|
|
|
- run:
|
2020-10-14 23:42:20 -04:00
|
|
|
name: Run tests
|
2018-10-17 01:51:49 -04:00
|
|
|
command: |
|
2020-10-14 23:42:20 -04:00
|
|
|
cd ~/repo/cli
|
|
|
|
poetry run pytest -v ./tests
|
2021-11-11 19:43:09 -05:00
|
|
|
poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2
|
|
|
|
poetry run onionshare-cli --local-only --receive --auto-stop-timer 2
|
|
|
|
poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2
|
|
|
|
poetry run onionshare-cli --local-only --chat --auto-stop-timer 2
|
2022-03-30 00:02:03 -04:00
|
|
|
|
2020-10-14 23:42:20 -04:00
|
|
|
test-gui:
|
|
|
|
docker:
|
2022-03-28 23:22:14 -04:00
|
|
|
- image: cimg/python:3.9
|
2020-10-14 23:42:20 -04:00
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
|
|
- checkout
|
2018-10-17 01:51:49 -04:00
|
|
|
- run:
|
2020-10-14 23:44:21 -04:00
|
|
|
name: Install dependencies
|
|
|
|
command: |
|
|
|
|
sudo apt-get update
|
2020-11-01 14:50:11 -05:00
|
|
|
sudo apt-get install -y tor obfs4proxy gcc python3-dev python3-pyside2.qtcore python3-pyside2.qtwidgets python3-pyside2.qtgui
|
|
|
|
sudo apt-get install -y xvfb x11-utils libxkbcommon-x11-0 libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev libxcb-render-util0 libxcb-icccm4 libxcb-keysyms1 libxcb-image0
|
2020-10-14 23:44:21 -04:00
|
|
|
cd ~/repo/desktop
|
2021-12-19 20:33:11 -05:00
|
|
|
poetry install
|
2018-10-17 01:59:13 -04:00
|
|
|
- run:
|
2020-10-14 23:42:20 -04:00
|
|
|
name: Run tests
|
2018-10-17 01:51:49 -04:00
|
|
|
command: |
|
2020-10-14 23:42:20 -04:00
|
|
|
cd ~/repo/desktop
|
2022-03-28 23:13:14 -04:00
|
|
|
QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
|
2022-03-30 00:02:03 -04:00
|
|
|
|
2022-03-30 00:59:39 -04:00
|
|
|
build-win64:
|
2022-03-30 00:02:03 -04:00
|
|
|
executor:
|
|
|
|
name: win/default
|
|
|
|
shell: powershell.exe
|
|
|
|
steps:
|
|
|
|
- checkout
|
2022-03-30 00:59:39 -04:00
|
|
|
- run:
|
2022-03-31 21:40:36 -04:00
|
|
|
name: Install Python 3.9.12
|
2022-03-30 00:59:39 -04:00
|
|
|
command: |
|
2022-04-04 23:45:08 -04:00
|
|
|
choco install python3 --version=3.9.12
|
2022-03-30 00:59:39 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry
|
|
|
|
command: (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
|
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
2022-03-30 11:29:16 -04:00
|
|
|
cd ~\project\desktop
|
2022-03-30 00:59:39 -04:00
|
|
|
poetry install
|
2022-03-30 11:55:04 -04:00
|
|
|
- run:
|
2022-04-10 19:07:35 -04:00
|
|
|
name: Download tor (Windows Expert Bundle)
|
|
|
|
command: |
|
|
|
|
mkdir ~\Downloads\tor
|
|
|
|
cd ~\Downloads\tor
|
|
|
|
$URL = "https://www.torproject.org/dist/torbrowser/11.0.10/tor-win32-0.4.6.10.zip"
|
|
|
|
$Filename = "tor-win32-0.4.6.10.zip"
|
|
|
|
$ExpectedHash = "d3f62317507dbe1a1aa74b9e0e03996dbded2143f94409270828f6a8bcdda16a"
|
|
|
|
Invoke-WebRequest -Uri $URL -OutFile $Filename
|
|
|
|
$FileHash = Get-FileHash $Filename
|
2022-04-10 23:46:40 -04:00
|
|
|
if($FileHash.Hash -ne $ExpectedHash) { throw "Invalid hash" }
|
2022-04-10 19:07:35 -04:00
|
|
|
Expand-Archive -LiteralPath tor-win32-0.4.6.10.zip -DestinationPath ~\project\desktop\onionshare\resources\tor
|
|
|
|
- run:
|
|
|
|
name: Build obfs4proxy
|
2022-03-30 11:55:04 -04:00
|
|
|
command: |
|
2022-04-10 19:07:35 -04:00
|
|
|
mkdir ~\Downloads\obfs4proxy
|
|
|
|
cd Downloads\obfs4proxy
|
|
|
|
git clone https://gitlab.com/yawning/obfs4
|
|
|
|
cd obfs4
|
|
|
|
go build .\obfs4proxy
|
|
|
|
Move-Item -Path .\obfs4proxy.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\obfs4proxy.exe
|
|
|
|
- run:
|
|
|
|
name: Build snowflake-client
|
|
|
|
command: |
|
|
|
|
go install git.torproject.org/pluggable-transports/snowflake.git/client@latest
|
|
|
|
Move-Item -Path ~\go\bin\client.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\snowflake-client.exe
|
2022-03-30 11:55:04 -04:00
|
|
|
- run:
|
2022-04-10 19:07:35 -04:00
|
|
|
name: Build meek-client
|
2022-03-30 11:55:04 -04:00
|
|
|
command: |
|
2022-04-10 19:07:35 -04:00
|
|
|
go install git.torproject.org/pluggable-transports/meek.git/meek-client@v0.37.0
|
|
|
|
Move-Item -Path ~\go\bin\meek-client.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\meek-client.exe
|
2022-03-30 11:29:16 -04:00
|
|
|
- run:
|
2022-03-31 21:34:41 -04:00
|
|
|
name: Build OnionShare
|
2022-03-30 11:29:16 -04:00
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-31 21:34:41 -04:00
|
|
|
poetry run python .\setup-freeze.py build
|
2022-04-03 20:35:41 -04:00
|
|
|
poetry run python .\scripts\build-windows.py cleanup-build
|
2022-03-30 11:55:04 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-03-31 21:54:32 -04:00
|
|
|
command: |
|
|
|
|
mv ~\project\desktop\build\exe.win-amd64-3.9\ ~\onionshare-win64
|
|
|
|
Compress-Archive -LiteralPath ~\onionshare-win64 -DestinationPath ~\onionshare-win64.zip
|
2022-03-30 11:55:04 -04:00
|
|
|
- store_artifacts:
|
2022-03-30 15:26:00 -04:00
|
|
|
path: ~\onionshare-win64.zip
|
2022-03-30 15:50:28 -04:00
|
|
|
|
|
|
|
build-win32:
|
|
|
|
executor:
|
|
|
|
name: win/default
|
|
|
|
shell: powershell.exe
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2022-03-31 21:40:36 -04:00
|
|
|
name: Install Python 3.9.12 (32-bit)
|
2022-03-30 15:50:28 -04:00
|
|
|
command: |
|
2022-03-30 18:52:31 -04:00
|
|
|
choco install python3 --params "/InstallDir32:C:\Python-32bit" --version=3.9.12
|
2022-03-30 16:49:45 -04:00
|
|
|
- run:
|
2022-03-30 16:56:18 -04:00
|
|
|
name: Install golang (32-bit)
|
2022-03-30 16:49:45 -04:00
|
|
|
command: |
|
2022-03-30 18:52:31 -04:00
|
|
|
cd ~\Downloads
|
|
|
|
Invoke-WebRequest -Uri https://go.dev/dl/go1.18.windows-386.msi -OutFile go1.18.windows-386.msi
|
|
|
|
msiexec.exe /i go1.18.windows-386.msi /quiet /L*V go-install.log
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
2022-03-30 16:56:18 -04:00
|
|
|
name: Install poetry (32-bit)
|
2022-03-30 18:52:31 -04:00
|
|
|
command: C:\Python-32bit\Scripts\pip install poetry
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 18:52:31 -04:00
|
|
|
C:\Python-32bit\Scripts\poetry install
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
2022-04-10 19:07:35 -04:00
|
|
|
name: Download tor (Windows Expert Bundle)
|
|
|
|
command: |
|
|
|
|
mkdir ~\Downloads\tor
|
|
|
|
cd ~\Downloads\tor
|
|
|
|
$URL = "https://www.torproject.org/dist/torbrowser/11.0.10/tor-win32-0.4.6.10.zip"
|
|
|
|
$Filename = "tor-win32-0.4.6.10.zip"
|
|
|
|
$ExpectedHash = "d3f62317507dbe1a1aa74b9e0e03996dbded2143f94409270828f6a8bcdda16a"
|
|
|
|
Invoke-WebRequest -Uri $URL -OutFile $Filename
|
|
|
|
$FileHash = Get-FileHash $Filename
|
2022-04-10 23:46:40 -04:00
|
|
|
if($FileHash.Hash -ne $ExpectedHash) { throw "Invalid hash" }
|
2022-04-10 19:07:35 -04:00
|
|
|
Expand-Archive -LiteralPath tor-win32-0.4.6.10.zip -DestinationPath ~\project\desktop\onionshare\resources\tor
|
|
|
|
- run:
|
|
|
|
name: Build obfs4proxy
|
2022-03-30 15:50:28 -04:00
|
|
|
command: |
|
2022-04-10 19:07:35 -04:00
|
|
|
mkdir ~\Downloads\obfs4proxy
|
|
|
|
cd Downloads\obfs4proxy
|
|
|
|
git clone https://gitlab.com/yawning/obfs4
|
|
|
|
cd obfs4
|
|
|
|
"C:\\Program Files (x86)\\Go\\bin\\go" build .\obfs4proxy
|
|
|
|
Move-Item -Path .\obfs4proxy.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\obfs4proxy.exe
|
|
|
|
- run:
|
|
|
|
name: Build snowflake-client
|
|
|
|
command: |
|
|
|
|
"C:\\Program Files (x86)\\Go\\bin\\go" install git.torproject.org/pluggable-transports/snowflake.git/client@latest
|
|
|
|
Move-Item -Path ~\go\bin\client.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\snowflake-client.exe
|
|
|
|
- run:
|
|
|
|
name: Build meek-client
|
|
|
|
command: |
|
|
|
|
"C:\\Program Files (x86)\\Go\\bin\\go" install git.torproject.org/pluggable-transports/meek.git/meek-client@v0.37.0
|
|
|
|
Move-Item -Path ~\go\bin\meek-client.exe -Destination ~\project\desktop\onionshare\resources\tor\Tor\meek-client.exe
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
2022-03-31 21:34:41 -04:00
|
|
|
name: Build OnionShare
|
2022-03-30 15:50:28 -04:00
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 19:09:31 -04:00
|
|
|
C:\Python-32bit\Scripts\poetry run python .\setup-freeze.py build
|
2022-04-03 20:35:41 -04:00
|
|
|
C:\Python-32bit\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-03-31 21:54:32 -04:00
|
|
|
command: |
|
|
|
|
mv ~\project\desktop\build\exe.win32-3.9\ ~\onionshare-win32
|
|
|
|
Compress-Archive -LiteralPath ~\onionshare-win32 -DestinationPath ~\onionshare-win32.zip
|
2022-03-30 15:50:28 -04:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~\onionshare-win32.zip
|
2022-03-31 21:54:32 -04:00
|
|
|
|
|
|
|
build-macos:
|
|
|
|
macos:
|
|
|
|
xcode: 12.5.1
|
2022-04-10 23:46:40 -04:00
|
|
|
environment:
|
|
|
|
- INSTALL_X86_64: /Users/distiller/install/x86_64
|
|
|
|
- INSTALL_ARM64: /Users/distiller/install/arm64
|
|
|
|
- INSTALL_UNIVERSAL2: /Users/distiller/install/universal2
|
2022-03-31 21:54:32 -04:00
|
|
|
steps:
|
|
|
|
- checkout
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Install Homebrew dependencies
|
|
|
|
command: |
|
|
|
|
brew install wget
|
|
|
|
brew install go
|
2022-04-10 23:46:40 -04:00
|
|
|
- run:
|
|
|
|
name: Make folders for x86_64 and arm64 tor deps
|
|
|
|
command: mkdir -p $INSTALL_X86_64 $INSTALL_ARM64 $INSTALL_UNIVERSAL2
|
|
|
|
- run:
|
|
|
|
name: Build openssl (x86_64 and arm64)
|
|
|
|
command: |
|
|
|
|
# Download and verify
|
|
|
|
cd ~/Downloads
|
|
|
|
URL=https://www.openssl.org/source/openssl-3.0.2.tar.gz
|
|
|
|
FILENAME=openssl-3.0.2.tar.gz
|
|
|
|
EXPECTED_SHA256=98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63
|
|
|
|
wget $URL
|
|
|
|
SHA256=$(shasum -a 256 $FILENAME | cut -d" " -f1)
|
|
|
|
if [ "$SHA256" != "$EXPECTED_SHA256" ]; then echo "Failed" && exit -1; fi
|
|
|
|
tar -xvf $FILENAME
|
|
|
|
rm $FILENAME
|
|
|
|
mv openssl-* openssl-x86_64
|
|
|
|
cp -r openssl-x86_64 openssl-arm64
|
|
|
|
# Build x86_64
|
|
|
|
cd openssl-x86_64
|
|
|
|
export MACOSX_DEPLOYMENT_TARGET=10.9
|
|
|
|
./Configure darwin64-x86_64-cc shared --prefix=$INSTALL_X86_64
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
# Build arm64
|
|
|
|
cd ../openssl-arm64
|
|
|
|
export MACOSX_DEPLOYMENT_TARGET=10.15
|
|
|
|
./Configure enable-rc5 zlib darwin64-arm64-cc no-asm --prefix=$INSTALL_ARM64
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
- run:
|
|
|
|
name: Build libevent (x86_64 and arm64)
|
|
|
|
command: |
|
|
|
|
# Download and verify
|
|
|
|
cd ~/Downloads
|
|
|
|
URL=https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
|
|
|
|
FILENAME=libevent-2.1.12-stable.tar.gz
|
|
|
|
EXPECTED_SHA256=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
|
|
|
wget $URL
|
|
|
|
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
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
- run:
|
|
|
|
name: Build tor (x86_64 and arm64)
|
|
|
|
command: |
|
|
|
|
# Download and verify
|
|
|
|
cd ~/Downloads
|
|
|
|
URL=https://dist.torproject.org/tor-0.4.6.10.tar.gz
|
|
|
|
FILENAME=tor-0.4.6.10.tar.gz
|
|
|
|
EXPECTED_SHA256=94ccd60e04e558f33be73032bc84ea241660f92f58cfb88789bda6893739e31c
|
|
|
|
wget $URL
|
|
|
|
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
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
- run:
|
|
|
|
name: Build snowflake-client (universal2)
|
|
|
|
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
|
|
|
|
- run:
|
|
|
|
name: Build meek-client (universal2)
|
|
|
|
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
|
2022-03-31 22:35:26 -04:00
|
|
|
- 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
|
|
|
|
sudo installer -pkg ~/Downloads/python.pkg -target /
|
|
|
|
- run:
|
|
|
|
name: Install poetry
|
|
|
|
command: |
|
|
|
|
pip3 install poetry
|
|
|
|
ln -s /Library/Frameworks/Python.framework/Versions/3.9/bin/poetry /usr/local/bin
|
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~/project/desktop
|
|
|
|
poetry install
|
|
|
|
- run:
|
|
|
|
name: Build OnionShare
|
|
|
|
command: |
|
|
|
|
cd ~/project/desktop
|
2022-04-03 23:21:14 -04:00
|
|
|
poetry run python ./setup-freeze.py build
|
2022-03-31 22:35:26 -04:00
|
|
|
poetry run python ./setup-freeze.py bdist_mac
|
2022-04-03 20:35:41 -04:00
|
|
|
poetry run python ./scripts/build-macos.py cleanup-build
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-04-03 23:21:14 -04:00
|
|
|
command: |
|
2022-04-05 20:34:04 -04:00
|
|
|
cd ~/project/desktop/build
|
|
|
|
zip -r ~/onionshare-macos.zip OnionShare.app
|
2022-03-31 22:35:26 -04:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/onionshare-macos.zip
|
2022-03-31 21:54:32 -04:00
|
|
|
|
2022-04-04 00:22:13 -04:00
|
|
|
# build-snapcraft:
|
|
|
|
# docker:
|
|
|
|
# - image: snapcore/snapcraft:stable
|
|
|
|
# working_directory: ~/repo
|
|
|
|
# steps:
|
|
|
|
# - checkout
|
|
|
|
# - run:
|
|
|
|
# name: Install extra snaps without snapd
|
|
|
|
# command: |
|
|
|
|
# mkdir ~/tmp
|
|
|
|
# install_snap () { cd ~/tmp && snap download $1 && mkdir -p /snap/$1 && unsquashfs -d /snap/$1/current *.snap && rm ~/tmp/*; }
|
|
|
|
# install_snap "core18"
|
|
|
|
# install_snap "go"
|
|
|
|
# install_snap "gnome-3-34-1804"
|
|
|
|
# install_snap "gnome-3-34-1804-sdk"
|
|
|
|
# - run:
|
|
|
|
# name: Build the snap
|
|
|
|
# command: |
|
|
|
|
# cd ~/repo
|
|
|
|
# snapcraft
|
|
|
|
# mv onionshare-*_amd64.snap ~/onionshare_amd64.snap
|
|
|
|
# - store_artifacts:
|
|
|
|
# path: ~/onionshare_amd64.snap
|