Skip to content

Commit

Permalink
Update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
cnheitman committed Dec 17, 2024
1 parent ad6b978 commit bac5821
Show file tree
Hide file tree
Showing 5 changed files with 151 additions and 149 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
run: |
git clone https://github.com/bitwuzla/bitwuzla.git
cd bitwuzla
git checkout -b 0.4.0 0.4.0
git checkout -b 0.7.0 0.7.0
python ./configure.py --shared
cd build
sudo ninja install
Expand All @@ -58,9 +58,9 @@ jobs:
- name: Install Capstone
run: |
wget https://github.com/aquynh/capstone/archive/5.0.1.tar.gz
tar -xf ./5.0.1.tar.gz
cd ./capstone-5.0.1
wget https://github.com/aquynh/capstone/archive/5.0.3.tar.gz
tar -xf ./5.0.3.tar.gz
cd ./capstone-5.0.3
bash ./make.sh
sudo make install
cd ../
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
boost-interface: ['ON', 'OFF']
capstone-version: ['5.0.1']
capstone-version: ['5.0.3']
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
run: |
git clone https://github.com/bitwuzla/bitwuzla.git
cd bitwuzla
git checkout -b 0.4.0 0.4.0
git checkout -b 0.7.0 0.7.0
python ./configure.py --shared
cd build
sudo ninja install
Expand Down
248 changes: 124 additions & 124 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,10 @@ jobs:

- name: Download and build Capstone
run: |
wget -UseBasicParsing https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.zip -O capstone-5.0.1.zip
tar -xf capstone-5.0.1.zip
mkdir -p capstone-5.0.1/build
cd capstone-5.0.1/build
wget -UseBasicParsing https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.3.zip -O capstone-5.0.3.zip
tar -xf capstone-5.0.3.zip
mkdir -p capstone-5.0.3/build
cd capstone-5.0.3/build
../nmake.bat
shell: powershell

Expand All @@ -143,8 +143,8 @@ jobs:
PYTHON_LIBRARY: ${{ env.pythonLocation }}\libs\${{ matrix.pylib }}
Z3_INCLUDE_DIRS: ${{ github.workspace }}\z3-4.12.2-x64-win\include
Z3_LIBRARIES: ${{ github.workspace }}\z3-4.12.2-x64-win\bin\libz3.lib
CAPSTONE_INCLUDE_DIRS: ${{ github.workspace }}\capstone-5.0.1\include
CAPSTONE_LIBRARIES: ${{ github.workspace }}\capstone-5.0.1\build\capstone.lib
CAPSTONE_INCLUDE_DIRS: ${{ github.workspace }}\capstone-5.0.3\include
CAPSTONE_LIBRARIES: ${{ github.workspace }}\capstone-5.0.3\build\capstone.lib

- name: Repair wheel package
run: |
Expand All @@ -159,121 +159,121 @@ jobs:
path: ${{ github.workspace }}\wheelhouse\windows_x86_64\triton_library-${{ env.package-version }}-${{ matrix.pycp }}-win_amd64.whl
if-no-files-found: warn


build-macos:
# macos-13 = x86
# macos-14 = arm (M1)
runs-on: macos-12
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10']
include:
- python-version: 3.8
pycp: cp38-cp38
- python-version: 3.9
pycp: cp39-cp39
- python-version: 3.10
pycp: cp310-cp310
# - python-version: 3.11
# pycp: cp311-cp311
# - python-version: 3.12
# pycp: cp312-cp312
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "14.0"
directory: ${{ runner.temp }}/llvm

- name: Upgrade pip version
run: |
sudo python -m pip install -U pip
- name: Install build package
run: |
sudo python -m pip install build
- name: Install Meson
run: |
python -m pip install meson
- name: Install Bitwuzla
run: |
git clone https://github.com/bitwuzla/bitwuzla.git
cd bitwuzla
git checkout -b 0.4.0 0.4.0
python ./configure.py --shared --prefix $(pwd)/install
cd build
sudo ninja install
- name: Download Z3
run: |
wget -q https://github.com/Z3Prover/z3/releases/download/z3-4.12.2/z3-4.12.2-x64-osx-10.16.zip -O z3-4.12.2-x64-osx-10.16.zip
unzip z3-4.12.2-x64-osx-10.16.zip
- name: Install Capstone
run: |
wget -q https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.tar.gz -O capstone-5.0.1.tar.gz
tar xf capstone-5.0.1.tar.gz
cd ./capstone-5.0.1
./make.sh
sudo make install
- name: Build Triton Python package
run: python -m build --wheel --outdir wheelhouse/default_x86_64
env:
Z3_INTERFACE: On
Z3_INCLUDE_DIRS: ${{ github.workspace }}/z3-4.12.2-x64-osx-10.16/include
Z3_LIBRARIES: ${{ github.workspace }}/z3-4.12.2-x64-osx-10.16/bin/libz3.a
BITWUZLA_INTERFACE: On
BITWUZLA_INCLUDE_DIRS: ${{ github.workspace }}/bitwuzla/install/include
BITWUZLA_LIBRARIES: ${{ github.workspace }}/bitwuzla/install/lib/libbitwuzla.dylib
CAPSTONE_INCLUDE_DIRS: /usr/local/include
CAPSTONE_LIBRARIES: /usr/local/lib/libcapstone.a
LLVM_INTERFACE: On
CMAKE_PREFIX_PATH: ${{env.LLVM_PATH}}
BOOST_INTERFACE: Off

- name: Repair wheel package
run: |
pip install delocate==0.10.4
python ${{ github.workspace }}/src/scripts/macos/delocate-wheel-custom.py \
--verbose \
--wheel-dir wheelhouse/repaired_x86_64 \
${{ github.workspace }}/wheelhouse/default_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
- name: Test wheel package
run: |
pip install virtualenv
virtualenv test-venv
source test-venv/bin/activate
pip install ${{ github.workspace }}/wheelhouse/repaired_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
python -c "import triton"
pip install capstone
pip install lief
pip install unicorn==2.0.0
pip install z3-solver==4.12.2
cd ${{ github.workspace }}/src/testers
python -m unittest discover -b -v unittests
deactivate
- name: Upload wheel package
uses: actions/upload-artifact@v4
with:
name: triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
path: ${{ github.workspace }}/wheelhouse/repaired_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
if-no-files-found: warn
# NOTE Temporarily disabled until issues with macos-14 get resolved.
# build-macos:
# # macos-13 = x86
# # macos-14 = arm (M1)
# runs-on: macos-12
# strategy:
# matrix:
# python-version: ['3.8', '3.9', '3.10']
# include:
# - python-version: 3.8
# pycp: cp38-cp38
# - python-version: 3.9
# pycp: cp39-cp39
# - python-version: 3.10
# pycp: cp310-cp310
# # - python-version: 3.11
# # pycp: cp311-cp311
# # - python-version: 3.12
# # pycp: cp312-cp312
# steps:
# - name: Checkout
# uses: actions/checkout@v4

# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v5
# with:
# python-version: ${{ matrix.python-version }}

# - name: Install LLVM and Clang
# uses: KyleMayes/install-llvm-action@v2
# with:
# version: "14.0"
# directory: ${{ runner.temp }}/llvm

# - name: Upgrade pip version
# run: |
# sudo python -m pip install -U pip

# - name: Install build package
# run: |
# sudo python -m pip install build

# - name: Install Meson
# run: |
# python -m pip install meson

# - name: Install Bitwuzla
# run: |
# git clone https://github.com/bitwuzla/bitwuzla.git
# cd bitwuzla
# git checkout -b 0.4.0 0.4.0
# python ./configure.py --shared --prefix $(pwd)/install
# cd build
# sudo ninja install

# - name: Download Z3
# run: |
# wget -q https://github.com/Z3Prover/z3/releases/download/z3-4.12.2/z3-4.12.2-x64-osx-10.16.zip -O z3-4.12.2-x64-osx-10.16.zip
# unzip z3-4.12.2-x64-osx-10.16.zip

# - name: Install Capstone
# run: |
# wget -q https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.tar.gz -O capstone-5.0.1.tar.gz
# tar xf capstone-5.0.1.tar.gz
# cd ./capstone-5.0.1
# ./make.sh
# sudo make install

# - name: Build Triton Python package
# run: python -m build --wheel --outdir wheelhouse/default_x86_64
# env:
# Z3_INTERFACE: On
# Z3_INCLUDE_DIRS: ${{ github.workspace }}/z3-4.12.2-x64-osx-10.16/include
# Z3_LIBRARIES: ${{ github.workspace }}/z3-4.12.2-x64-osx-10.16/bin/libz3.a
# BITWUZLA_INTERFACE: On
# BITWUZLA_INCLUDE_DIRS: ${{ github.workspace }}/bitwuzla/install/include
# BITWUZLA_LIBRARIES: ${{ github.workspace }}/bitwuzla/install/lib/libbitwuzla.dylib
# CAPSTONE_INCLUDE_DIRS: /usr/local/include
# CAPSTONE_LIBRARIES: /usr/local/lib/libcapstone.a
# LLVM_INTERFACE: On
# CMAKE_PREFIX_PATH: ${{env.LLVM_PATH}}
# BOOST_INTERFACE: Off

# - name: Repair wheel package
# run: |
# pip install delocate==0.10.4

# python ${{ github.workspace }}/src/scripts/macos/delocate-wheel-custom.py \
# --verbose \
# --wheel-dir wheelhouse/repaired_x86_64 \
# ${{ github.workspace }}/wheelhouse/default_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl

# - name: Test wheel package
# run: |
# pip install virtualenv

# virtualenv test-venv
# source test-venv/bin/activate

# pip install ${{ github.workspace }}/wheelhouse/repaired_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl

# python -c "import triton"

# pip install capstone
# pip install lief
# pip install unicorn==2.0.0
# pip install z3-solver==4.12.2

# cd ${{ github.workspace }}/src/testers
# python -m unittest discover -b -v unittests
# deactivate

# - name: Upload wheel package
# uses: actions/upload-artifact@v4
# with:
# name: triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
# path: ${{ github.workspace }}/wheelhouse/repaired_x86_64/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-macosx_12_0_x86_64.whl
# if-no-files-found: warn
18 changes: 4 additions & 14 deletions src/scripts/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,12 @@ ENV SOURCE_DIR=/src
# Create directory for dependencies.
RUN mkdir -p $DEPENDENCIES_DIR

# Download, build and install GMP.
RUN echo "[+] Download, build and install GMP" && \
cd $DEPENDENCIES_DIR && \
wget -q https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz -O gmp-6.3.0.tar.xz && \
tar -xf gmp-6.3.0.tar.xz && \
cd gmp-6.3.0 && \
./configure --enable-cxx && \
make -j $(nproc) && \
make install

# Download, build and install Bitwuzla.
RUN echo "[+] Download, build and install Bitwuzla" && \
cd $DEPENDENCIES_DIR && \
git clone https://github.com/bitwuzla/bitwuzla.git && \
cd bitwuzla && \
git checkout -b 0.4.0 0.4.0 && \
git checkout -b 0.7.0 0.7.0 && \
export PY310_PATH=$(python3.10 -c 'import sys, os; print(os.path.dirname(sys.executable))') && \
CC=clang CXX=clang++ PATH=$PATH:$PY310_PATH python3.10 ./configure.py --shared --prefix $(pwd)/install && \
cd build && \
Expand All @@ -55,8 +45,8 @@ RUN echo "[+] Download Z3" && \
# Download, build and install Capstone.
RUN echo "[+] Download, build and install Capstone" && \
cd $DEPENDENCIES_DIR && \
wget -q https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.tar.gz -O capstone-5.0.1.tar.gz && \
tar xf capstone-5.0.1.tar.gz && \
cd ./capstone-5.0.1 && \
wget -q https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.3.tar.gz -O capstone-5.0.3.tar.gz && \
tar xf capstone-5.0.3.tar.gz && \
cd ./capstone-5.0.3 && \
CAPSTONE_ARCHS="arm aarch64 riscv x86" ./make.sh && \
sudo make install
Loading

0 comments on commit bac5821

Please sign in to comment.