Compare commits

..

3 Commits
master ... sync

Author SHA1 Message Date
ruki 6ab2530538 fix sync script 2 years ago
ruki deb67c19e6 fix ci 2 years ago
ruki f36d920414 add sync manually 2 years ago
  1. 43
      .github/workflows/android.yml
  2. 50
      .github/workflows/android_windows.yml
  3. 40
      .github/workflows/archlinux.yml
  4. 43
      .github/workflows/autoupdate.yml
  5. 33
      .github/workflows/cross.yml
  6. 59
      .github/workflows/deploy.yml
  7. 44
      .github/workflows/fedora.yml
  8. 43
      .github/workflows/freebsd.yml
  9. 28
      .github/workflows/iphoneos.yml
  10. 15
      .github/workflows/issue-translator.yml
  11. 38
      .github/workflows/macos_arm64.yml
  12. 38
      .github/workflows/macos_x86_64.yml
  13. 34
      .github/workflows/mingw_macos.yml
  14. 54
      .github/workflows/mingw_msys2.yml
  15. 7
      .github/workflows/sync.yml
  16. 34
      .github/workflows/sync_packagerefs.yml
  17. 37
      .github/workflows/ubuntu.yml
  18. 37
      .github/workflows/ubuntu_arm64.yml
  19. 43
      .github/workflows/ubuntu_clang.yml
  20. 40
      .github/workflows/wasm_ubuntu.yml
  21. 46
      .github/workflows/windows.yml
  22. 42
      .github/workflows/windows_v3.yml
  23. 60
      CONTRIBUTING.md
  24. 4
      README.md
  25. 4
      README_zh.md
  26. 17
      packages/1/11zip/port/xmake.lua
  27. 28
      packages/1/11zip/xmake.lua
  28. 99
      packages/a/abseil/xmake.lua
  29. 32
      packages/a/access_private/xmake.lua
  30. 1
      packages/a/acl/xmake.lua
  31. 72
      packages/a/actor-framework/xmake.lua
  32. 56
      packages/a/ada/xmake.lua
  33. 27
      packages/a/ade/patches/0.1.2/cmake-mingw.patch
  34. 30
      packages/a/ade/xmake.lua
  35. 40
      packages/a/agg/xmake.lua
  36. 20
      packages/a/aitoolkit/xmake.lua
  37. 30
      packages/a/alcatraz/xmake.lua
  38. 85
      packages/a/alembic/xmake.lua
  39. 27
      packages/a/algo_plus/xmake.lua
  40. 29
      packages/a/alpaca/xmake.lua
  41. 37
      packages/a/alsa-lib/xmake.lua
  42. 7
      packages/a/amgcl/xmake.lua
  43. 27
      packages/a/amgx/patches/2.4.0/msvc.patch
  44. 42
      packages/a/amgx/xmake.lua
  45. 44
      packages/a/amqp-cpp/xmake.lua
  46. 33
      packages/a/amrex/patches/24.09/remove-symlink.patch
  47. 87
      packages/a/amrex/xmake.lua
  48. 32
      packages/a/anari/xmake.lua
  49. 27
      packages/a/angelscript/patches/msvc-arm64.patch
  50. 36
      packages/a/angelscript/port/xmake.lua
  51. 41
      packages/a/angelscript/xmake.lua
  52. 1243
      packages/a/angle/port/6288/xmake.lua
  53. 51
      packages/a/angle/xmake.lua
  54. 21
      packages/a/annoy/xmake.lua
  55. 13
      packages/a/antlr4-runtime/patches/4.13.2/add-include-chrono.patch
  56. 56
      packages/a/antlr4-runtime/xmake.lua
  57. 19
      packages/a/antlr4/rules/find_antlr4.lua
  58. 53
      packages/a/antlr4/rules/lexer.lua
  59. 60
      packages/a/antlr4/rules/parser.lua
  60. 33
      packages/a/antlr4/xmake.lua
  61. 43
      packages/a/aom/xmake.lua
  62. 6
      packages/a/apr/xmake.lua
  63. 30
      packages/a/aqt/xmake.lua
  64. 64
      packages/a/aravis/xmake.lua
  65. 34
      packages/a/arduinojson/xmake.lua
  66. 3
      packages/a/argparse/xmake.lua
  67. 36
      packages/a/argtable3/xmake.lua
  68. 31
      packages/a/argz/xmake.lua
  69. 25
      packages/a/arkari/xmake.lua
  70. 21
      packages/a/asap/xmake.lua
  71. 9
      packages/a/asio/xmake.lua
  72. 22
      packages/a/asio2/patches/2.9/remove-const.patch
  73. 41
      packages/a/asio2/xmake.lua
  74. 26
      packages/a/asio3/xmake.lua
  75. 15
      packages/a/asmjit/xmake.lua
  76. 23
      packages/a/asmtk/xmake.lua
  77. 16
      packages/a/assimp/patches/5.4.3/fix_mingw.patch
  78. 82
      packages/a/assimp/xmake.lua
  79. 72
      packages/a/astc-encoder/xmake.lua
  80. 32
      packages/a/async_simple/xmake.lua
  81. 28
      packages/a/at-spi2-core/xmake.lua
  82. 25
      packages/a/atk/xmake.lua
  83. 28
      packages/a/atomic_queue/xmake.lua
  84. 6
      packages/a/attr/xmake.lua
  85. 38
      packages/a/audiofile/xmake.lua
  86. 27
      packages/a/aurora-au/xmake.lua
  87. 29
      packages/a/autoconf-archive/xmake.lua
  88. 3
      packages/a/autoconf/xmake.lua
  89. 35
      packages/a/autodiff/xmake.lua
  90. 4
      packages/a/automake/xmake.lua
  91. 11
      packages/a/autotools/xmake.lua
  92. 42
      packages/a/aws-c-auth/xmake.lua
  93. 73
      packages/a/aws-c-cal/xmake.lua
  94. 53
      packages/a/aws-c-common/xmake.lua
  95. 47
      packages/a/aws-c-compression/xmake.lua
  96. 38
      packages/a/aws-c-event-stream/xmake.lua
  97. 40
      packages/a/aws-c-http/xmake.lua
  98. 66
      packages/a/aws-c-io/xmake.lua
  99. 41
      packages/a/aws-c-mqtt/xmake.lua
  100. 44
      packages/a/aws-c-s3/xmake.lua
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,43 +0,0 @@
name: Android
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
arch: [armeabi-v7a, arm64-v8a]
ndk: ["r22", "r27"]
ndk_sdkver: ["21", "30"]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Android-${{ matrix.arch }}-${{ matrix.ndk }}-${{ matrix.ndk_sdkver }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: ".xmake-cache"
actions-cache-key: "android"
- name: Prepare
run: |
if test ${{ matrix.ndk }} = "r27"; then
wget -q https://dl.google.com/android/repository/android-ndk-r27-linux.zip
unzip -q -o ./android-ndk-r27-linux.zip
else
wget -q https://dl.google.com/android/repository/android-ndk-r22-linux-x86_64.zip
unzip -q -o ./android-ndk-r22-linux-x86_64.zip
fi
- name: Tests
run: |
xmake l ./scripts/test.lua -D -p android --ndk=`pwd`/android-ndk-${{ matrix.ndk }} --ndk_sdkver=${{ matrix.ndk_sdkver }} -a ${{ matrix.arch }}

@ -1,50 +0,0 @@
name: Android (Windows)
on:
pull_request:
branches:
- dev
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch: [armeabi-v7a, arm64-v8a]
ndk: ["r22", "r27"]
ndk_sdkver: ["30"]
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Android-Windows-${{ matrix.arch }}-${{ matrix.ndk }}-${{ matrix.ndk_sdkver }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'android-windows'
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.4
with:
minimum-size: 8GB
maximum-size: 32GB
disk-root: "D:"
- name: Prepare
run: |
if ("${{ matrix.ndk }}" -eq "r27") {
curl -fsSL "https://dl.google.com/android/repository/android-ndk-r27-windows.zip" -o android-ndk-r27-windows.zip
Expand-Archive ./android-ndk-r27-windows.zip -DestinationPath ./ndk
} else {
curl -fsSL "https://dl.google.com/android/repository/android-ndk-r22-windows-x86_64.zip" -o android-ndk-r22-windows-x86_64.zip
Expand-Archive ./android-ndk-r22-windows-x86_64.zip -DestinationPath ./ndk
}
- name: Tests
run: |
$Env:XMAKE_MAIN_REPO = "https://github.com/xmake-io/xmake-repo.git"
xmake --version
xmake l ./scripts/test.lua -D -p android --ndk=D:/a/xmake-repo/xmake-repo/ndk/android-ndk-${{ matrix.ndk }} --ndk_sdkver=${{ matrix.ndk_sdkver }} -a ${{ matrix.arch }}

@ -1,40 +0,0 @@
name: Archlinux
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
container: archlinux:base-devel
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Archlinux-${{ matrix.kind }}
cancel-in-progress: true
steps:
- name: Installation
run: |
pacman -Syu --noconfirm --needed openssl
pacman -Sy --noconfirm --needed glibc git base-devel perl make unzip p7zip
pacman -Sy --noconfirm --needed mesa gcc-fortran glu libc++
git config --global --add safe.directory /__w/xmake/xmake
git config --global --add safe.directory /__w/xmake-repo/xmake-repo
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'archlinux'
- name: Tests
env:
XMAKE_ROOT: y
run: |
xmake l ./scripts/test.lua -D -k ${{ matrix.kind }}

@ -1,43 +0,0 @@
name: Auto-update packages
on:
schedule: # execute every 24 hours
- cron: "0 */24 * * *"
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
- name: Installation
run: |
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install -y gh unzip zip
echo ${{ secrets.XMAKE_REPO_TOKEN }} | gh auth login --with-token
git config --global user.email "waruqi@gmail.com"
git config --global user.name "ruki"
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Auto-update packages
if: ${{ github.repository }} == "xmake-io/xmake-repo"
run: |
xmake l -vD scripts/autoupdate.lua

@ -1,33 +0,0 @@
name: Cross
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
cross: [arm-none-linux-gnueabihf, aarch64-none-linux-gnu]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Cross-${{ matrix.cross }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
- name: Installation
run: |
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-${{ matrix.cross }}.tar.xz
tar -xvf arm-gnu-toolchain-13.3.rel1-x86_64-${{ matrix.cross }}.tar.xz
- name: Tests
run: |
xmake l ./scripts/test.lua -D -p cross --sdk=`pwd`/arm-gnu-toolchain-13.3.rel1-x86_64-${{ matrix.cross }}

@ -1,59 +0,0 @@
name: Deploy
on:
push:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: latest
actions-cache-folder: '.xmake-cache'
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Installation
run: |
sudo apt update -y
sudo apt install -y wget
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
tar -xvf node-v14.15.4-linux-x64.tar.xz
export PATH=`pwd`/node-v14.15.4-linux-x64/bin:$PATH
sudo npm install markdown-to-html -g
git config --global user.email "waruqi@gmail.com"
git config --global user.name "ruki"
- name: Build artifacts
if: ${{ github.repository }} == "xmake-io/xmake-repo"
run: |
xmake l scripts/build_artifacts.lua
- name: Publish documents
run: |
git clone git@github.com:xmake-io/xrepo-docs.git
cd xrepo-docs
git remote add all git@github.com:xmake-io/xrepo-docs.git
git remote set-url --add all git@github.com:waruqi/xrepo-docs.git
git remote set-url --add all git@gitee.com:xmake-io/xrepo-docs.git
git remote set-url --add all git@gitlab.com:xmake-io/xrepo-docs.git
xmake l -vD `pwd`/build.lua
git status
git add -A
git diff-index --quiet HEAD || git commit -m "autoupdate docs by xmake-repo/ci"
git push all master

@ -1,44 +0,0 @@
name: Fedora
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
runs-on: ${{ matrix.os }}
container: fedora:latest
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Fedora-${{ matrix.kind }}
cancel-in-progress: true
steps:
- name: Installation
run: |
uname -a
dnf -y install gfortran p7zip which
dnf -y install mesa-libGL-devel mesa-libGLU-devel
dnf -y install @development-tools @rpm-development-tools
dnf -y install copr-cli make gcc-c++ libatomic libcxx-devel
dnf -y upgrade git
dnf -y install perl
dnf -y install glibc-static libstdc++-static
git config --global --add safe.directory /__w/xmake-repo/xmake-repo
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'fedora'
- name: Tests
env:
XMAKE_ROOT: y
run: |
xmake l ./scripts/test.lua -D -k ${{ matrix.kind }} -j4

@ -1,43 +0,0 @@
name: FreeBSD
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-FreeBSD-${{ matrix.kind }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- name: Tests
uses: vmactions/freebsd-vm@v1
with:
usesh: true
sync: sshfs
mem: 4096
copyback: false
prepare: pkg install -y git curl unzip gmake llvm gsed bash perl5 openssl
run: |
git config --global --add safe.directory `pwd`
git clone --recurse-submodules https://github.com/xmake-io/xmake.git /tmp/xmake -b dev
cd /tmp/xmake
./configure
gmake -j4
gmake install
export XMAKE_ROOT=y
cd -
xmake l ./scripts/test.lua -D -k ${{ matrix.kind }} -vD

@ -1,28 +0,0 @@
name: iPhoneOS
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [macOS-latest]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-iPhoneOS
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
- name: Tests
run: |
xmake l ./scripts/test.lua -D -p iphoneos

@ -1,15 +0,0 @@
name: 'issue-translator'
on:
issue_comment:
types: [created]
issues:
types: [opened]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: usthe/issues-translate-action@v2.7
with:
IS_MODIFY_TITLE: false
CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically.

@ -1,38 +0,0 @@
name: macOS (arm64)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-14]
arch: [arm64]
kind: [static, shared]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-macOS-${{ matrix.arch }}-${{ matrix.kind }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
- name: Tests
run: |
wget https://curl.haxx.se/ca/cacert.pem -O /tmp/cacert.pem
export CURL_CA_BUNDLE=/tmp/cacert.pem
sudo ln /opt/homebrew/bin/gfortran-14 /opt/homebrew/bin/gfortran
find /opt/homebrew/Cellar/gcc/ -name f951
export PATH="$PATH:/opt/homebrew/Cellar/gcc/14.2.0/libexec/gcc/aarch64-apple-darwin23/14/"
export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/Cellar/gcc/14.2.0/lib/gcc/14/"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/homebrew/Cellar/gcc/14.2.0/lib/gcc/14/"
xmake l ./scripts/test.lua -D -a ${{ matrix.arch }} -k ${{ matrix.kind }}

@ -1,38 +0,0 @@
name: macOS (x86_64)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-13]
arch: [x86_64]
kind: [static, shared]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-macOS-${{ matrix.arch }}-${{ matrix.kind }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
- name: Tests
run: |
wget https://curl.haxx.se/ca/cacert.pem -O /tmp/cacert.pem
export CURL_CA_BUNDLE=/tmp/cacert.pem
sudo ln /usr/local/bin/gfortran-14 /usr/local/bin/gfortran
find /usr/local/Cellar/gcc/ -name f951
export PATH="$PATH:/usr/local/Cellar/gcc/14.2.0/libexec/gcc/x86_64-apple-darwin21/14/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/Cellar/gcc/14.2.0/lib/gcc/14/"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/Cellar/gcc/14.2.0/lib/gcc/14/"
xmake l ./scripts/test.lua -D -a ${{ matrix.arch }} -k ${{ matrix.kind }}

@ -1,34 +0,0 @@
name: MingW (MacOS)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [macOS-latest]
kind: [static, shared]
arch: [i386, x86_64]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-MingW-macOS-${{ matrix.kind }}-${{ matrix.arch }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
- name: Prepare
run: |
brew install mingw-w64
- name: Tests
run: |
xmake l ./scripts/test.lua -D -p mingw -a ${{ matrix.arch }} -k ${{ matrix.kind }}

@ -1,54 +0,0 @@
name: MingW (Msys2)
on:
pull_request:
branches:
- dev
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include: [
{ msystem: MINGW64, kind: static, arch: x86_64, prefix: /mingw64 },
{ msystem: MINGW64, kind: shared, arch: x86_64, prefix: /mingw64 },
{ msystem: MINGW32, kind: static, arch: i686, prefix: /mingw32 },
{ msystem: MINGW32, kind: shared, arch: i686, prefix: /mingw32 }
]
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-MSYS2_MINGW-${{ matrix.msystem }}-${{ matrix.kind }}-${{ matrix.arch }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
install: git base-devel unzip p7zip mingw-w64-${{ matrix.arch }}-toolchain mingw-w64-${{ matrix.arch }}-gcc-fortran
update: true
- name: Prepare
shell: msys2 {0}
run: |
git clone https://github.com/xmake-io/xmake.git --recurse-submodules -b master
cd xmake
./configure
make -j4
make install PREFIX=${{ matrix.prefix }}
xmake --version
cd ..
git reset --hard HEAD
git clean -fdx
- name: Tests
shell: msys2 {0}
run: |
if [ "${{ matrix.arch }}" == "x86_64" ]; then
xmake l ./scripts/test.lua -vD -p mingw -a x86_64 -k ${{ matrix.kind }}
else
xmake l ./scripts/test.lua -vD -p mingw -a i386 -k ${{ matrix.kind }}
fi

@ -1,8 +1,9 @@
name: Sync
on:
schedule: # execute every 1 hours
- cron: "0 */1 * * *"
push:
branches:
- sync
jobs:
build:
@ -43,8 +44,6 @@ jobs:
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Update
if: ${{ github.repository }} == "xmake-io/xmake-repo"
run: |
export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
xmake l -vD ./scripts/sync.lua
xmake l -vD ./scripts/automerge.lua

@ -1,34 +0,0 @@
name: Sync Packagerefs
on:
schedule: # execute every 24 hours
- cron: "0 */24 * * *"
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Build artifacts for packagerefs
if: ${{ github.repository }} == "xmake-io/xmake-repo"
run: |
git config --global user.email "waruqi@gmail.com"
git config --global user.name "ruki"
xmake l scripts/build_artifacts.lua true

@ -1,37 +0,0 @@
name: Linux
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
mode: [debug, release]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Linux-${{ matrix.kind }}-${{ matrix.mode }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'ubuntu'
- name: Installation
run: |
# TODO we will remove it later
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev p7zip gobjc gcc g++
- name: Tests
run: |
xmake l ./scripts/test.lua -D -k ${{ matrix.kind }} -m ${{ matrix.mode }}

@ -1,37 +0,0 @@
name: Linux (arm64)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-24.04-arm]
kind: [static, shared]
mode: [debug, release]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Linux-arm64-${{ matrix.kind }}-${{ matrix.mode }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'ubuntu-arm'
- name: Installation
run: |
# TODO we will remove it later
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev p7zip gobjc gcc g++
- name: Tests
run: |
xmake l ./scripts/test.lua -D -k ${{ matrix.kind }} -m ${{ matrix.mode }}

@ -1,43 +0,0 @@
name: Linux (Clang)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Linux-Clang-${{ matrix.kind }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'ubuntu_clang'
- name: Installation
run: |
# TODO we will remove it later
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev p7zip
- name: Clang Toolchain Installation
run: |
# https://apt.llvm.org/
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20 all
- name: Tests
run: |
xmake l ./scripts/test.lua -D --toolchain=clang-20 -k ${{ matrix.kind }}

@ -1,40 +0,0 @@
name: Wasm (Ubuntu)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
kind: [static, shared]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-MingW-Ubuntu-${{ matrix.kind }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'wasm'
- name: Prepare
uses: mymindstorm/setup-emsdk@v14
with:
# This is the name of the cache folder.
# The cache folder will be placed in the build directory,
# so make sure it doesn't conflict with anything!
actions-cache-folder: emsdk-cache-${{ matrix.kind }}
- name: Tests
run: |
emcc -v
xmake l ./scripts/test.lua -vD -p wasm -k ${{ matrix.kind }}

@ -1,46 +0,0 @@
name: Windows
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [windows-2019, windows-2022]
kind: [static, shared]
arch: [x64, x86, arm64]
runtimes: [MT, MD]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Windows-${{ matrix.os }}-${{ matrix.kind }}-${{ matrix.arch }}-${{ matrix.runtimes }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'windows'
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.4
with:
minimum-size: 8GB
maximum-size: 32GB
disk-root: "D:"
- name: Tests
run: |
xmake --version
if ("${{ matrix.os }}" -eq "windows-2019") {
xmake l ./scripts/test.lua -vD -a ${{ matrix.arch }} -k ${{ matrix.kind }} --runtimes=${{ matrix.runtimes }} --vs_sdkver=10.0.19041.0 --linkjobs=2
} else {
xmake l ./scripts/test.lua -vD -a ${{ matrix.arch }} -k ${{ matrix.kind }} --runtimes=${{ matrix.runtimes }} --linkjobs=2
}

@ -1,42 +0,0 @@
name: Windows (v3.0)
on:
pull_request:
branches:
- dev
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [windows-2022]
kind: [static, shared]
arch: [x64]
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Windows-v3-${{ matrix.os }}-${{ matrix.kind }}-${{ matrix.arch }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
actions-cache-folder: '.xmake-cache'
actions-cache-key: 'windows-v3'
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.4
with:
minimum-size: 8GB
maximum-size: 32GB
disk-root: "D:"
- name: Tests
run: |
$Env:XMAKE_MAIN_REPO = "https://github.com/xmake-io/xmake-repo.git"
xmake --version
xmake l ./scripts/test.lua -vD -a ${{ matrix.arch }} -k ${{ matrix.kind }} --policies=compatibility.version:3.0 --linkjobs=2

@ -22,36 +22,6 @@ try to follow these guidelines when you do so.
* Ensure your edited codes with four spaces instead of TAB.
* About how to make a package, please see [Create and Submit packages to the official repository](https://xmake.io/#/package/remote_package?id=submit-packages-to-the-official-repository)
# Package maintainers
## Work to be done
Review the pull requests submitted by contributors
- Check for commits to dev branches, master branches are not allowed to be directly committed and merged
- Check that the code conforms to the specification
- Check that the on_test script is added and that the ci test passes
- Help contributors with difficult ci testing issues where possible
- Check that the code is lean and remind contributors to remove redundant code and keep the on_test script as lean as possible and not too long
Merge pull requests on dev branches that pass the tests
## Other points to note
1. don't have any commits to the master branch
2. ci will periodically sync commits from the dev branch to the master branch and other mirror repositories every hour
3. packages must be merged using `Squash and merge` mode to avoid overly redundant commit records
## How do I become a package maintainer?
First you need to meet the following requirements:
- Have committed at least 10 packages that have been successfully merged into the xmake-repo repository
- Have helped review at least 3 other contributors' commits and provided valuable input
- Submitted packages that are recognised by existing package maintainers for their quality
- Have sufficient free time and energy and be passionate about xmake package maintenance
- Be familiar with the use of xmake and the full process of creating xmake packages
If you feel you meet the above requirements, you can apply to become a package maintainer by emailing waruqi@gmail.com.
# 贡献代码
如果你发现一些问题或者想贡献一个新的包
@ -74,33 +44,3 @@ If you feel you meet the above requirements, you can apply to become a package m
* 关于如何制作包,请参看文档:[制作和提交到官方仓库](https://xmake.io/#/zh-cn/package/remote_package?id=%e6%b7%bb%e5%8a%a0%e5%8c%85%e5%88%b0%e4%bb%93%e5%ba%93)
[1]: https://github.com/xmake-io/xmake-repo/issues
# 包维护者
## 需要做的工作
1. Review 贡献者提交的 pull request
- 检查是否提交到 dev 分支,master 分支是不允许被直接提交和合并的
- 检查代码所以是否符合规范
- 检查是否添加 on_test 脚本,并且 ci 测试是否通过
- 尽可能帮助贡献者解决 ci 测试过程中遇到的一些疑难问题
- 检查代码是否精简,提醒贡献者去除冗余代码,on_test 脚本尽可能保持精简,不要太长
2. 合并 dev 分支上通过测试的 pull request
## 其他注意点
1. 不要有任何到 master 分支的提交
2. ci 每个小时会定期将 dev 分支的提交同步到 master 分支以及其他镜像仓库
3. 必须使用 `Squash and merge` 模式合并包,避免过于冗余的提交记录
## 如何成为包维护者?
首先你需要满足以下要求:
- 至少提交过 10 个包,并成功合并入 xmake-repo 仓库
- 至少帮助 Review 过 3 个其他贡献者提交的包,并提出有价值的意见
- 提交的包质量得到现有包维护者的认可
- 有足够的空闲时间和精力,对 xmake 包维护充满热情
- 熟悉 xmake 的使用,以及 xmake 包的完整制作过程
如果你觉得满足上述要求,可以发送邮件到 waruqi@gmail.com 去申请成为包维护者。

@ -10,7 +10,7 @@
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/windows.yml?branch=dev&style=flat-square&logo=windows" alt="github-ci" />
</a>
<a href="https://github.com/xmake-io/xmake-repo/actions?query=workflow%3ALinux">
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/ubuntu.yml?branch=dev&style=flat-square&logo=linux" alt="github-ci" />
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/linux.yml?branch=dev&style=flat-square&logo=linux" alt="github-ci" />
</a>
<a href="https://github.com/xmake-io/xmake-repo/actions?query=workflow%3AmacOS">
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/macos.yml?branch=dev&style=flat-square&logo=apple" alt="github-ci" />
@ -134,5 +134,5 @@ packages/l/libpng/xmake.lua generated!
$ xmake l scripts/test.lua --shallow -vD zlib
$ xmake l scripts/test.lua --shallow -vD -p iphoneos zlib
$ xmake l scripts/test.lua --shallow -vD -k shared -m debug zlib
$ xmake l scripts/test.lua --shallow -vD --runtimes=MD zlib
$ xmake l scripts/test.lua --shallow -vD --vs_runtime=MD zlib
```

@ -10,7 +10,7 @@
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/windows.yml?branch=dev&style=flat-square&logo=windows" alt="github-ci" />
</a>
<a href="https://github.com/xmake-io/xmake-repo/actions?query=workflow%3ALinux">
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/ubuntu.yml?branch=dev&style=flat-square&logo=linux" alt="github-ci" />
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/linux.yml?branch=dev&style=flat-square&logo=linux" alt="github-ci" />
</a>
<a href="https://github.com/xmake-io/xmake-repo/actions?query=workflow%3AmacOS">
<img src="https://img.shields.io/github/actions/workflow/status/xmake-io/xmake-repo/macos.yml?branch=dev&style=flat-square&logo=apple" alt="github-ci" />
@ -129,5 +129,5 @@ packages/l/libpng/xmake.lua generated!
$ xmake l scripts/test.lua --shallow -vD zlib
$ xmake l scripts/test.lua --shallow -vD -p iphoneos zlib
$ xmake l scripts/test.lua --shallow -vD -k shared -m debug zlib
$ xmake l scripts/test.lua --shallow -vD --runtimes=MD zlib
$ xmake l scripts/test.lua --shallow -vD --vs_runtime=MD zlib
```

@ -1,17 +0,0 @@
add_rules("mode.debug", "mode.release")
add_requires("minizip-ng")
add_packages("minizip-ng")
target("11zip")
set_kind("$(kind)")
set_languages("c++17")
add_files("src/*.cpp")
remove_files("src/elzip_fs_fallback.cpp")
add_includedirs("include", "include/elzip")
add_headerfiles("include/(**.hpp)")
if is_plat("windows") and is_kind("shared") then
add_rules("utils.symbols.export_all", {export_classes = true})
end

@ -1,28 +0,0 @@
package("11zip")
set_homepage("https://github.com/Sygmei/11Zip")
set_description("Dead simple zipping / unzipping C++ Lib")
set_license("MIT")
add_urls("https://github.com/Sygmei/11Zip/archive/516e161d5c96aa8f2603fb30b10b7770a87332c2.tar.gz",
"https://github.com/Sygmei/11Zip.git")
add_versions("2023.05.10", "9e4052571c73ecd8e328fa9e8399f606604baa3373103d2e7dddb75019330ee0")
add_includedirs("include", "include/elzip")
add_deps("minizip-ng")
on_install("macosx", "android", "linux", "windows", "mingw", function (package)
io.replace("src/unzipper.cpp", "unzLocateFile(zipFile_, filename.data(), nullptr)", "unzLocateFile(zipFile_, filename.data(), 0)", {plain = true})
os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
import("package.tools.xmake").install(package)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
std::string zipname;
elz::extractZip(zipname);
}
]]}, {configs = {languages = "c++17"}, includes = "elzip/elzip.hpp"}))
end)

@ -1,100 +1,73 @@
package("abseil")
set_homepage("https://abseil.io")
set_description("C++ Common Libraries")
set_license("Apache-2.0")
add_urls("https://github.com/abseil/abseil-cpp/archive/refs/tags/$(version).tar.gz",
add_urls("https://github.com/abseil/abseil-cpp/archive/$(version).tar.gz",
"https://github.com/abseil/abseil-cpp.git")
add_versions("20200225.1", "0db0d26f43ba6806a8a3338da3e646bb581f0ca5359b3a201d8fb8e4752fd5f8")
add_versions("20210324.1", "441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6")
add_versions("20210324.2", "59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f")
add_versions("20211102.0", "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4")
add_versions("20220623.0", "4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602")
add_versions("20230125.2", "9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906")
add_versions("20230802.1", "987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed")
add_versions("20240116.1", "3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a")
add_versions("20240116.2", "733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc")
add_versions("20240722.0", "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3")
add_versions("20250127.0", "16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8")
add_patches("20240116.1", "https://github.com/abseil/abseil-cpp/commit/3335e58f198e899a500b744163f9b883035a5217.patch", "f83278086b42bc997846d2b931a266678f96e2727fce6ffd98b2b58ce75fa0a3")
add_patches("20240116.2", "https://github.com/abseil/abseil-cpp/commit/3335e58f198e899a500b744163f9b883035a5217.patch", "f83278086b42bc997846d2b931a266678f96e2727fce6ffd98b2b58ce75fa0a3")
add_deps("cmake")
add_configs("cxx_standard", {description = "Select c++ standard to build.", default = "17", type = "string", values = {"14", "17", "20"}})
add_links(
"absl_status", "absl_cord",
"absl_flags", "absl_flags_parse", "absl_flags_internal", "absl_flags_reflection", "absl_flags_marshalling",
"absl_flags_commandlineflag_internal", "absl_synchronization", "absl_time", "absl_hash", "absl_city", "absl_time_zone",
"absl_spinlock_wait", "absl_failure_signal_handler", "absl_bad_optional_access", "absl_flags_commandlineflag",
"absl_random_internal_pool_urbg",
"absl_cordz_info", "absl_cord_internal", "absl_cordz_functions", "absl_cordz_handle", "absl_cordz_sample_token",
"absl_base", "absl_bad_any_cast_impl", "absl_periodic_sampler", "absl_random_distributions",
"absl_flags_usage_internal", "absl_random_seed_sequences",
"absl_throw_delegate", "absl_stacktrace", "absl_symbolize", "absl_debugging_internal",
"absl_flags_private_handle_accessor",
"absl_strings", "absl_flags_config", "absl_malloc_internal", "absl_str_format_internal",
"absl_flags_usage", "absl_strings_internal", "absl_flags_program_name", "absl_int128",
"absl_scoped_set_env", "absl_raw_hash_set", "absl_random_internal_seed_material",
"absl_random_internal_randen", "absl_random_internal_randen_slow", "absl_random_internal_randen_hwaes_impl",
"absl_random_internal_randen_hwaes",
"absl_graphcycles_internal", "absl_exponential_biased", "absl_bad_variant_access", "absl_statusor",
"absl_random_internal_distribution_test_util", "absl_random_internal_platform",
"absl_hashtablez_sampler", "absl_demangle_internal", "absl_leak_check", "absl_log_severity", "absl_raw_logging_internal",
"absl_strerror", "absl_examine_stack", "absl_low_level_hash", "absl_random_seed_gen_exception", "absl_civil_time",
"absl_crc_cord_state", "absl_crc32c", "absl_crc_cpu_detect", "absl_crc_internal")
on_load(function (package)
if package:is_plat("windows", "mingw", "msys") then
package:add("syslinks", "advapi32", "dbghelp", "bcrypt")
elseif package:is_plat("linux", "bsd") then
package:add("syslinks", "pthread")
elseif package:is_plat("macosx", "iphoneos") then
package:add("frameworks", "CoreFoundation")
end
if is_plat("macosx") then
add_frameworks("CoreFoundation")
end
on_load(function (package)
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "ABSL_CONSUME_DLL")
package:add("links", "abseil_dll")
end
end)
on_install(function (package)
if package:version() and package:version():eq("20230802.1") and package:is_plat("mingw") then
io.replace(path.join("absl", "synchronization", "internal", "pthread_waiter.h"), "#ifndef _WIN32", "#if !defined(_WIN32) && !defined(__MINGW32__)", {plain = true})
io.replace(path.join("absl", "synchronization", "internal", "win32_waiter.h"), "#if defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA", "#if defined(_WIN32) && !defined(__MINGW32__) && _WIN32_WINNT >= _WIN32_WINNT_VISTA", {plain = true})
end
io.replace("CMakeLists.txt", [[set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")]], "", {plain = true})
io.replace("CMakeLists.txt", [[set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")]], "", {plain = true})
local configs = {
"-DCMAKE_CXX_STANDARD=" .. package:config("cxx_standard"),
"-DABSL_ENABLE_INSTALL=ON",
"-DABSL_PROPAGATE_CXX_STD=ON",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
on_install("macosx", "linux", "windows", function (package)
local configs = {"-DCMAKE_CXX_STANDARD=17"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs, {buildir = os.tmpfile() .. ".dir"})
-- get links and ensure link order
import("core.base.graph")
local dag = graph.new(true)
local pkgconfigdir = package:installdir("lib", "pkgconfig")
for _, pcfile in ipairs(os.files(path.join(pkgconfigdir, "*.pc"))) do
local link = path.basename(pcfile)
local content = io.readfile(pcfile)
for _, line in ipairs(content:split("\n")) do
if line:startswith("Requires: ") then
local requires = line:sub(10):split(",")
for _, dep in ipairs(requires) do
dep = dep:split("=")[1]:trim()
dag:add_edge(link, dep)
end
end
end
end
local links = dag:topological_sort()
package:add("links", links)
local cycle = dag:find_cycle()
if cycle then
wprint("cycle links found", cycle)
end
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include "absl/strings/numbers.h"
#include "absl/strings/str_join.h"
#include <iostream>
#include <string>
#include <vector>
void test() {
std::vector<std::string> v = {"foo", "bar", "baz"};
#include "absl/strings/numbers.h"
#include "absl/strings/str_join.h"
void test () {
std::vector<std::string> v = {"foo","bar","baz"};
std::string s = absl::StrJoin(v, "-");
int result = 0;
auto a = absl::SimpleAtoi("123", &result);
std::cout << "Joined string: " << s << "\\n";
}
]]}, {configs = {languages = "cxx17"}}))
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,32 +0,0 @@
package("access_private")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/martong/access_private")
set_description("Access private members and statics of a C++ class")
set_license("MIT")
add_urls("https://github.com/martong/access_private.git")
add_versions("2024.02.01", "9e47d135067ecfe569158b2f42ead9c6db9aaedf")
on_install(function (package)
os.cp("include", package:installdir())
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <access_private.hpp>
class A {
int m_i = 3;
int m_f(int p) { return 14 * p; }
};
ACCESS_PRIVATE_FIELD(A, int, m_i)
ACCESS_PRIVATE_FUN(A, int(int), m_f)
void test() {
A a;
auto &i = access_private::m_i(a);
auto res = call_private::m_f(a, 3);
}
]]}, {configs = {languages = "cxx11"}}))
end)

@ -5,7 +5,6 @@ package("acl")
set_license("GPL-2.0")
add_urls("http://download.savannah.nongnu.org/releases/acl/acl-$(version).tar.gz")
add_versions("2.3.2", "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c")
add_versions("2.3.1", "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af")
add_deps("pkgconf", "attr")

@ -1,72 +0,0 @@
package("actor-framework")
set_homepage("http://actor-framework.org/")
set_description("An Open Source Implementation of the Actor Model in C++")
set_license("BSD-3-Clause")
add_urls("https://github.com/actor-framework/actor-framework/archive/refs/tags/$(version).tar.gz",
"https://github.com/actor-framework/actor-framework.git")
add_versions("1.0.2", "ef4dd00ca7c59cd61dc336b6a8efbd6150ca85c404d213ecb61f6bcee4094ffc")
add_versions("1.0.1", "635bdd6e3b70886f1d9aa75c48e5bdb4084afae1f159bbfe5ea91f99b0460f6b")
add_versions("1.0.0", "602018239d23a1805d35ebda704fd5c969a0693fc513fcf7459063b628459e5b")
add_versions("0.19.6", "48dc4c4abf5ab5a7c6f84b9259cc8be1b02c601d31893647ab44e143cdc4b6d5")
add_versions("0.19.2", "aa3fcc494424e0e20b177125458a6a6ed39c751a3d3d5193054e88bdf8a146d2")
add_configs("profiler", {description = "Enable experimental profiler API", default = false, type = "boolean"})
add_configs("runtime_checks", {description = "Build CAF with extra runtime assertions", default = false, type = "boolean"})
add_configs("exceptions", {description = "Build CAF with support for exceptions", default = true, type = "boolean"})
add_configs("io", {description = "Build legacy networking I/O module", default = false, type = "boolean"})
add_configs("net", {description = "Build networking I/O module", default = false, type = "boolean"})
add_configs("openssl", {description = "Build OpenSSL module", default = false, type = "boolean"})
if is_plat("windows") then
add_syslinks("iphlpapi")
elseif is_plat("linux", "bsd") then
add_syslinks("pthread")
elseif is_plat("macosx") then
add_extsources("brew::caf")
end
add_deps("cmake")
on_load(function (package)
if package:config("net") or package:config("openssl") then
package:add("deps", "openssl")
end
end)
on_install("windows", "linux", "macosx", "bsd", function (package)
io.replace("CMakeLists.txt", "add_library(libcaf_test)", "", {plain = true})
io.replace("CMakeLists.txt", "add_subdirectory(libcaf_test)", "", {plain = true})
local configs =
{
"-DCAF_ENABLE_EXAMPLES=OFF",
"-DCAF_ENABLE_TESTING=OFF",
"-DCAF_ENABLE_TOOLS=OFF",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_ACTOR_PROFILER=" .. (package:config("profiler") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_RUNTIME_CHECKS=" .. (package:config("runtime_checks") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_EXCEPTIONS=" .. (package:config("exceptions") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_IO_MODULE=" .. (package:config("io") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_NET_MODULE=" .. (package:config("net") and "ON" or "OFF"))
table.insert(configs, "-DCAF_ENABLE_OPENSSL_MODULE=" .. (package:config("openssl") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <caf/actor_ostream.hpp>
#include <caf/actor_system.hpp>
#include <caf/event_based_actor.hpp>
using namespace caf;
void test(event_based_actor* self, const actor& buddy) {
self->request(buddy, std::chrono::seconds(10), "Hello World!")
.then([=](const std::string& what) {
aout(self) << what << std::endl;
});
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,66 +1,36 @@
package("ada")
set_homepage("https://www.ada-url.com")
set_description("WHATWG-compliant and fast URL parser written in modern C++")
set_license("Apache-2.0")
set_urls("https://github.com/ada-url/ada/archive/refs/tags/$(version).tar.gz",
set_urls("https://github.com/ada-url/ada/archive/refs/tags/v$(version).tar.gz",
"https://github.com/ada-url/ada.git")
add_versions("v3.1.3", "8bd8df0413d57b56b32e6a5216a1c7f402a52edf33172a39e80484ccce0bb627")
add_versions("v3.0.1", "525890a87a002b1cc14c091800c53dcf4a24746dbfc5e3b8a9c80490daad9263")
add_versions("v2.9.2", "f41575ad7eec833afd9f6a0d6101ee7dc2f947fdf19ae8f1b54a71d59f4ba5ec")
add_versions("v2.9.1", "64eb3d91db941645d1b68ac8d1cbb7b534fbe446b66c1da11e384e17fca975e7")
add_versions("v2.9.0", "8b992f0ce9134cb4eafb74b164d2ce2cb3af1900902162713b0e0c5ab0b6acd8")
add_versions("v2.8.0", "83b77fb53d1a9eea22b1484472cea0215c50478c9ea2b4b44b0ba3b52e07c139")
add_versions("v2.7.8", "8de067b7cb3da1808bf5439279aee6048d761ba246bf8a854c2af73b16b41c75")
add_versions("v2.7.7", "7116d86a80b79886efbc9d946d3919801815060ae62daf78de68c508552af554")
add_versions("v2.7.6", "e2822783913c50b9f5c0f20b5259130a7bdc36e87aba1cc38a5de461fe45288f")
add_versions("v2.4.1", "e9359937e7aeb8e5889515c0a9e22cd5da50e9b053038eb092135a0e64888fe7")
add_versions("v2.4.0", "14624f1dfd966fee85272688064714172ff70e6e304a1e1850f352a07e4c6dc7")
add_versions("v2.3.1", "298992ec0958979090566c7835ea60c14f5330d6372ee092ef6eee1d2e6ac079")
if is_plat("mingw") and is_subhost("msys") then
add_extsources("pacman::ada-url")
elseif is_plat("macosx") then
add_extsources("brew::ada-url")
end
add_versions("2.3.1", "298992ec0958979090566c7835ea60c14f5330d6372ee092ef6eee1d2e6ac079")
add_versions("2.4.0", "14624f1dfd966fee85272688064714172ff70e6e304a1e1850f352a07e4c6dc7")
add_versions("2.4.1", "e9359937e7aeb8e5889515c0a9e22cd5da50e9b053038eb092135a0e64888fe7")
add_deps("cmake")
if on_check then
on_check("android", function (package)
if package:version() and package:version():ge("3.0.0") then
local ndk = package:toolchain("ndk"):config("ndkver")
assert(ndk and tonumber(ndk) > 22, "package(ada >=3.0.0) require ndk version > 22")
end
end)
if is_plat("macosx") then
add_extsources("brew::ada-url")
end
on_install(function (package)
io.replace("CMakeLists.txt", "add_subdirectory(singleheader)", "", {plain = true})
io.replace("CMakeLists.txt", "add_subdirectory(tools)", "", {plain = true})
io.replace("src/CMakeLists.txt", "/WX", "", {plain = true})
local configs = {"-DBUILD_TESTING=OFF", "-DADA_TOOLS=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
on_install("windows", "linux", "macosx", "bsd", "mingw", "msys", "android", "iphoneos", "cross", function (package)
local configs = {"-DBUILD_TESTING=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DADA_SANITIZE=" .. (package:config("asan") and "ON" or "OFF"))
io.replace("CMakeLists.txt", " add_subdirectory(singleheader)", "", {plain = true})
io.replace("CMakeLists.txt", " add_subdirectory(tools)", "", {plain = true})
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
local languages
if package:version() and package:version():ge("3.0.0") then
languages = "c++20"
else
languages = "c++17"
end
assert(package:check_cxxsnippets({test = [[
#include <iostream>
#include <ada.h>
void test() {
auto url = ada::parse<ada::url_aggregator>("https://xmake.io");
}
]]}, {configs = {languages = languages}}))
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,27 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af78061..8aba951 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,13 +39,15 @@ function(add_security_flags target)
target_compile_options( ${target} PRIVATE -fstack-protector-strong)
endif()
elseif(WIN32)
- target_compile_options( ${target} PRIVATE /GS /DynamicBase)
- if(BUILD_WITH_STATIC_CRT)
- target_compile_options( ${target} PRIVATE "/MT")
- endif()
- if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
- # These options for 32 bit builds only
- target_compile_options( ${target} PRIVATE /SAFESEH /NXCOMPAT )
+ if (MSVC)
+ target_compile_options( ${target} PRIVATE /GS /DynamicBase)
+ if(BUILD_WITH_STATIC_CRT)
+ target_compile_options( ${target} PRIVATE "/MT")
+ endif()
+ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
+ # These options for 32 bit builds only
+ target_compile_options( ${target} PRIVATE /SAFESEH /NXCOMPAT )
+ endif()
endif()
endif()
endfunction()

@ -1,30 +0,0 @@
package("ade")
set_homepage("https://github.com/opencv/ade")
set_description("ADE Framework is a graph construction, manipulation, and processing framework.")
set_license("Apache-2.0")
add_urls("https://github.com/opencv/ade/archive/refs/tags/$(version).tar.gz",
"https://github.com/opencv/ade.git")
add_versions("v0.1.2d", "edefba61a33d6cd4b78a9976cb3309c95212610a81ba6dade09882d1794198ff")
add_versions("v0.1.2", "ac2e6a4acbe6e0b0942418687ec37c6cd55dcaec5112c7ca09abefe6ee539499")
add_patches("0.1.2", "patches/0.1.2/cmake-mingw.patch", "59ac0ed938b82090e97de6dee358ba683b371908c3063b4d10146999a30eaaaa")
add_deps("cmake")
on_install(function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DBUILD_WITH_STATIC_CRT=" .. (package:has_runtime("MT") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
ade::Graph x;
}
]]}, {configs = {languages = "c++11"}, includes = "ade/graph.hpp"}))
end)

@ -1,40 +0,0 @@
package("agg")
set_homepage("https://agg.sourceforge.net/antigrain.com/index.html")
set_description("Anti-Grain Geometry: A High Quality Rendering Engine for C++")
set_license("BSD-3-Clause")
add_urls("https://github.com/aggeom/agg-2.6/archive/refs/tags/agg-$(version).zip",
"https://github.com/aggeom/agg-2.6.git")
add_versions("2.7.1", "d7b86cdf55282e798aba43194a87705ad30ba950b5723144524e08fe8477db80")
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
add_configs("freetype", {description = "Use Freetype library.", default = false, type = "boolean", readonly = true})
add_deps("cmake")
if is_plat("macosx", "linux") then
add_deps("libx11", "libxext")
end
add_links("aggctrl", "aggplatform", "agg")
on_load("windows", "macosx", "linux", "mingw", function (package)
if package:config("freetype") then
package:add("deps", "freetype")
end
end)
on_install("windows", "macosx", "linux", "mingw", function (package)
io.replace("src/platform/CMakeLists.txt", "IF(APPLE)", "IF(FALSE)", {plain = true})
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-Dagg_USE_FREETYPE=" .. (package:config("freetype") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
agg::rasterizer_scanline_aa<> ras;
ras.reset();
}
]]}, {configs = {languages = "c++11"}, includes = "agg/agg_rasterizer_scanline_aa.h"}))
end)

@ -1,20 +0,0 @@
package("aitoolkit")
set_kind("library", {headeronly = true})
set_homepage("https://linkdd.github.io/aitoolkit/")
set_description("Give a brain to your game's NPCs")
set_license("MIT")
add_urls("https://github.com/linkdd/aitoolkit/archive/refs/tags/$(version).tar.gz",
"https://github.com/linkdd/aitoolkit.git")
add_versions("v0.5.1", "25ce3e5225d9ab3e4aa5b5cf41b790d17c8d6586a06fa70e18ae7aad7ca6ac26")
add_versions("v0.5.0", "e2f59412a6cdc7389f25f4b85847e81c39866d33367515bd02e38be4d54ac74c")
add_versions("v0.3.0", "8cbe1d281235a3486c5840c7f9782f2b3b2ed181d76e8cbe83a2b1395d21ab8a")
on_install(function (package)
os.cp("include", package:installdir())
end)
on_test(function (package)
assert(package:has_cxxincludes("aitoolkit/fsm.hpp", {configs = {languages = "c++20"}}))
end)

@ -1,30 +0,0 @@
package("alcatraz")
set_kind("binary")
set_homepage("https://github.com/weak1337/Alcatraz")
set_description("x64 binary obfuscator")
set_urls("https://github.com/weak1337/Alcatraz.git", {submodules = false})
add_versions("2023.07.14", "739e65ebadaeb3f8206fb2199700725331465abb")
add_deps("asmjit", "zydis")
on_install("@windows", function (package)
io.replace("Alcatraz/obfuscator/obfuscator.cpp", "#include <iostream>",
"#include <iostream>\n#include <bit>", {plain = true})
io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release")
add_requires("asmjit", "zydis")
set_languages("c++20")
target("alcatraz")
set_kind("binary")
add_files("Alcatraz/**.cpp")
add_packages("asmjit", "zydis")
]])
import("package.tools.xmake").install(package)
end)
on_test(function (package)
os.vrun("alcatraz")
end)

@ -1,85 +0,0 @@
package("alembic")
set_homepage("https://alembic.io/")
set_description("Open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications.")
set_license("BSD-3-Clause")
add_urls("https://github.com/alembic/alembic/archive/refs/tags/$(version).tar.gz",
"https://github.com/alembic/alembic.git")
add_versions("1.8.8", "ba1f34544608ef7d3f68cafea946ec9cc84792ddf9cda3e8d5590821df71f6c6")
add_versions("1.8.7", "6de0b97cd14dcfb7b2d0d788c951b6da3c5b336c47322ea881d64f18575c33da")
add_versions("1.8.6", "c572ebdea3a5f0ce13774dd1fceb5b5815265cd1b29d142cf8c144b03c131c8c")
add_versions("1.8.5", "180a12f08d391cd89f021f279dbe3b5423b1db751a9898540c8059a45825c2e9")
add_configs("arnold", {description = "Include Arnold stuff", default = false, type = "boolean"})
add_configs("hdf5", {description = "Include HDF5 stuff", default = false, type = "boolean"})
add_configs("maya", {description = "Include maya stuff", default = false, type = "boolean"})
add_configs("prman", {description = "Include prman stuff", default = false, type = "boolean"})
add_configs("tools", {description = "Build tools", default = false, type = "boolean"})
if is_plat("linux", "bsd") then
add_syslinks("m", "pthread")
end
add_deps("cmake", "imath")
on_load(function (package)
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "ALEMBIC_DLL")
end
if package:config("tools") then
package:config_set("hdf5", true)
end
if package:config("hdf5") then
package:add("deps", "hdf5", {configs = {zlib = true}})
end
end)
on_install(function (package)
if package:is_plat("windows", "mingw") then
io.replace("lib/Alembic/Ogawa/OStream.cpp", "#include <stdexcept>", "#include <stdexcept>\n#include <Windows.h>", {plain = true})
end
local configs = {
"-DBUILD_TESTING=OFF",
"-DUSE_TESTS=OFF",
"-DALEMBIC_DEBUG_WARNINGS_AS_ERRORS=OFF",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DALEMBIC_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DCMAKE_COMPILE_PDB_OUTPUT_DIRECTORY=''")
end
table.insert(configs, "-DUSE_ARNOLD=" .. (package:config("arnold") and "ON" or "OFF"))
table.insert(configs, "-DUSE_MAYA=" .. (package:config("maya") and "ON" or "OFF"))
table.insert(configs, "-DUSE_PRMAN=" .. (package:config("prman") and "ON" or "OFF"))
table.insert(configs, "-DUSE_BINARIES=" .. (package:config("tools") and "ON" or "OFF"))
local hdf5 = package:dep("hdf5")
if hdf5 then
table.insert(configs, "-DUSE_HDF5=ON")
table.insert(configs, "-DUSE_STATIC_HDF5=" .. (hdf5:config("shared") and "OFF" or "ON"))
else
table.insert(configs, "-DUSE_HDF5=OFF")
end
import("package.tools.cmake").install(package, configs)
if package:is_plat("windows") and package:is_debug() then
local dir = package:installdir(package:config("shared") and "bin" or "lib")
os.vcp(path.join(package:buildir(), "lib/**.pdb"), dir)
os.vcp(path.join(package:buildir(), "bin/**.pdb"), package:installdir("bin"))
end
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <Alembic/Abc/All.h>
void test() {
Alembic::Abc::OArchive archive;
Alembic::Abc::OObject object = archive.getTop();
}
]]}, {configs = {languages = "c++14"}}))
end)

@ -1,27 +0,0 @@
package("algo_plus")
set_kind("library", {headeronly = true})
set_homepage("https://csrt-ntua.github.io/AlgoPlus")
set_description("AlgoPlus is a C++17 library for complex data structures and algorithms")
set_license("Apache-2.0")
add_urls("https://github.com/CSRT-NTUA/AlgoPlus.git")
add_versions("2024.07.02", "1287dfc5bf666bace15af9c14d03e807b71efa82")
add_deps("nlohmann_json")
on_install(function (package)
for _, file in ipairs(os.files("src/**.h")) do
io.replace(file, "../../../../third_party/json.hpp", "nlohmann/json.hpp", {plain = true})
end
os.cp("src/*", package:installdir("include"))
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
std::vector<std::vector<double> > data;
int CLUSTERS;
kmeans a(data, CLUSTERS);
}
]]}, {configs = {languages = "c++17"}, includes = {"machine_learning/clustering/kmeans/kmeans.h"}}))
end)

@ -1,29 +0,0 @@
package("alpaca")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/p-ranav/alpaca")
set_description("Serialization library written in C++17 - Pack C++ structs into a compact byte-array without any macros or boilerplate code")
set_license("MIT")
add_urls("https://github.com/p-ranav/alpaca/archive/refs/tags/$(version).tar.gz",
"https://github.com/p-ranav/alpaca.git", {submodules = false})
-- 2024.07.20
add_versions("v0.2.1", "ea5ab2aaa97be20d48c0ce99eb90321f1db91929")
add_deps("cmake")
on_install("!wasm and !bsd", function (package)
import("package.tools.cmake").install(package)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
struct Config {
std::string device;
};
void test() {
Config c{"/dev/video0"};
std::vector<uint8_t> bytes;
auto bytes_written = alpaca::serialize(c, bytes);
}
]]}, {configs = {languages = "c++17"}, includes = "alpaca/alpaca.h"}))
end)

@ -1,37 +0,0 @@
package("alsa-lib")
set_homepage("https://alsa-project.org/wiki/Main_Page")
set_description("The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system.")
set_license("LGPL-2.1")
add_urls("http://www.alsa-project.org/files/pub/lib/alsa-lib-$(version).tar.bz2", {alias = "home"})
add_urls("https://github.com/alsa-project/alsa-lib/archive/refs/tags/v$(version).tar.gz", {alias = "github"})
add_versions("home:1.2.10", "c86a45a846331b1b0aa6e6be100be2a7aef92efd405cf6bac7eef8174baa920e")
add_versions("github:1.2.10", "f55749847fd98274501f4691a2d847e89280c07d40a43cdac43d6443f69fc939")
add_configs("versioned", {description = "pass flag --without-versioned", default = true, type = "boolean"})
if is_plat("linux") then
add_syslinks("pthread", "dl")
add_extsources("pacman::alsa-lib", "apt::libasound2-dev")
end
if not is_plat("windows") then
add_deps("autoconf", "automake", "libtool", "m4")
end
on_install("linux", function (package)
local configs = {}
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:is_debug() then
table.insert(configs, "--enable-debug")
end
if package:config("versioned")then
table.insert(configs, "--without-versioned")
end
import("package.tools.autoconf").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("snd_pcm_open", {includes = "alsa/asoundlib.h"}))
end)

@ -9,17 +9,16 @@ package("amgcl")
add_versions("1.4.0", "018b824396494c8958faa6337cebcaba48a2584d828f279eef0bbf9e05f900a7")
add_versions("1.4.2", "db0de6b75e6c205f44542c3ac8d9935c8357a58072963228d0bb11a54181aea8")
add_versions("1.4.3", "e920d5767814ce697d707d1f359a16c9b9eb79eba28fe19e14c18c2a505fe0ad")
add_versions("1.4.4", "02fd5418e14d669422f65fc739ce72bf9516ced2d8942574d4b8caa05dda9d8c")
add_deps("cmake")
add_deps("boost", {configs = {cmake = false, serialization = true, program_options = true}})
on_install("windows", "mingw", "macosx", "linux", function (package)
add_deps("boost", {configs = {serialization = true, program_options = true}})
on_install("windows", "macosx", "linux", function (package)
io.replace("CMakeLists.txt", "unit_test_framework", "", {plain = true})
local configs = {"-DBoost_USE_STATIC_LIBS=ON"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DBoost_USE_STATIC_RUNTIME=" .. (package:has_runtime("MT", "MTd") and "ON" or "OFF"))
table.insert(configs, "-DBoost_USE_STATIC_RUNTIME=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
else
table.insert(configs, "-DBoost_USE_STATIC_RUNTIME=OFF")
end

@ -1,27 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7bc0f1b9..7b0b606e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,7 @@ cmake_minimum_required (VERSION 3.18)
project (AMG LANGUAGES C CXX CUDA)
find_package(MPI)
+find_package(OpenMP)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" ${CMAKE_MODULE_PATH})
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b7fbef7d..0d77ddc7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -107,9 +107,7 @@ ELSE()
set(libs_all CUDA::cusparse CUDA::cublas rt dl)
ENDIF()
-add_dependencies(amgx_tests_launcher amgx_tests_library)
-
-target_link_libraries(amgx_tests_launcher amgxsh ${libs_all} OpenMP::OpenMP_C)
+target_link_libraries(amgx_tests_launcher amgx_tests_library amgxsh ${libs_all} OpenMP::OpenMP_C)
if(MPI_FOUND)
target_link_libraries(amgx_tests_launcher MPI::MPI_CXX)

@ -1,42 +0,0 @@
package("amgx")
set_homepage("https://developer.nvidia.com/amgx")
set_description("Distributed multigrid linear solver library on GPU")
set_license("BSD-3-Clause")
add_urls("https://github.com/NVIDIA/AMGX.git")
add_versions("v2.4.0", "2b4762f02af2ed136134c7f0570646219753ab3e")
add_patches("2.4.0", "patches/2.4.0/msvc.patch", "46dcb9a5e1b4157fce91e06050c1d70f5e4fe34d7bf085216629c4f8708f90a5")
if is_plat("windows") then
set_policy("platform.longpaths", true)
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
end
add_deps("cmake", "openmp")
on_load("windows", function (package)
package:add("deps", "cuda", {system = true, configs = {utils = {"cublas", "cusparse", "cusolver"}}})
if not package:config("shared") then
package:add("defines", "AMGX_API_NO_IMPORTS")
end
end)
on_load("linux", function (package)
package:add("deps", "cuda", {system = true, configs = {utils = {"cublas", "cusparse", "cusolver"}}})
package:add("deps", "nvtx")
package:add("syslinks", "pthread", "m")
end)
on_install("windows", "linux", function (package)
io.replace("CMakeLists.txt", "/Zl", "", {plain = true})
io.replace("CMakeLists.txt", "add_subdirectory(examples)", "", {plain = true})
local configs = {"-DCMAKE_NO_MPI=ON"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
import("package.tools.cmake").install(package, configs)
package:add("links", package:config("shared") and "amgxsh" or "amgx")
end)
on_test(function (package)
assert(package:has_cfuncs("AMGX_initialize", {includes = "amgx_c.h"}))
end)

@ -1,44 +0,0 @@
package("amqp-cpp")
set_homepage("https://github.com/CopernicaMarketingSoftware/AMQP-CPP")
set_description("C++ library for asynchronous non-blocking communication with RabbitMQ")
set_license("Apache-2.0")
add_urls("https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/refs/tags/$(version).tar.gz",
"https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git")
add_versions("v4.3.27", "af649ef8b14076325387e0a1d2d16dd8395ff3db75d79cc904eb6c179c1982fe")
add_versions("v4.3.26", "2baaab702f3fd9cce40563dc1e23f433cceee7ec3553bd529a98b1d3d7f7911c")
if is_plat("windows", "mingw") then
add_syslinks("ws2_32")
elseif is_plat("linux") then
add_configs("tcp", {description = "Build TCP module.", default = false, type = "boolean"})
add_syslinks("pthread", "dl")
end
add_deps("cmake")
on_install(function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
if package:is_plat("windows") then
package:add("defines", "NOMINMAX")
if package:config("shared") and package:version():le("4.3.26") then
table.insert(configs, "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON")
end
elseif package:is_plat("linux") then
table.insert(configs, "-DAMQP-CPP_LINUX_TCP=" .. (package:config("tcp") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <amqpcpp.h>
void test() {
AMQP::Connection connection(nullptr, AMQP::Login("guest","guest"), "/");
AMQP::Channel channel(nullptr);
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,33 +0,0 @@
diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt
index 6e8af043..df5ca007 100644
--- a/Src/CMakeLists.txt
+++ b/Src/CMakeLists.txt
@@ -27,11 +27,7 @@ add_library(amrex ALIAS amrex_${AMReX_SPACEDIM_LAST}d)
add_library(AMReX::amrex ALIAS amrex_${AMReX_SPACEDIM_LAST}d)
# legacy symlink for build directory: libamrex.[so|a] / amrex.[dll.lib]
-add_custom_command(TARGET amrex_${AMReX_SPACEDIM_LAST}d POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E create_symlink
- $<TARGET_FILE_NAME:amrex_${AMReX_SPACEDIM_LAST}d>
- $<TARGET_FILE_DIR:amrex_${AMReX_SPACEDIM_LAST}d>/$<TARGET_FILE_PREFIX:amrex_${AMReX_SPACEDIM_LAST}d>amrex$<TARGET_FILE_SUFFIX:amrex_${AMReX_SPACEDIM_LAST}d>
-)
+
#
diff --git a/Tools/CMake/AMReXInstallHelpers.cmake b/Tools/CMake/AMReXInstallHelpers.cmake
index 7c832d3a..ea5ea535 100644
--- a/Tools/CMake/AMReXInstallHelpers.cmake
+++ b/Tools/CMake/AMReXInstallHelpers.cmake
@@ -72,11 +72,6 @@ function (install_amrex_targets)
# legacy symlink for: libamrex.[so|a] / amrex.[dll.lib]
# escape spaces for generated cmake_install.cmake file
file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}/lib" ABS_INSTALL_LIB_DIR)
- install(CODE "file(CREATE_LINK
- $<TARGET_FILE_NAME:amrex_${AMReX_SPACEDIM_LAST}d>
- \"${ABS_INSTALL_LIB_DIR}/$<TARGET_FILE_PREFIX:amrex_${AMReX_SPACEDIM_LAST}d>amrex$<TARGET_FILE_SUFFIX:amrex_${AMReX_SPACEDIM_LAST}d>\"
- COPY_ON_ERROR SYMBOLIC)"
- )
# Install fortran modules if Fortran is enabled
get_property(_lang GLOBAL PROPERTY ENABLED_LANGUAGES)

@ -1,87 +0,0 @@
package("amrex")
set_homepage("https://amrex-codes.github.io/amrex")
set_description("AMReX: Software Framework for Block Structured AMR")
add_urls("https://github.com/AMReX-Codes/amrex/releases/download/$(version)/amrex-$(version).tar.gz",
"https://github.com/AMReX-Codes/amrex.git")
add_versions("25.02", "2680a5a9afba04e211cd48d27799c5a25abbb36c6c3d2b6c13cd4757c7176b23")
add_versions("24.12", "ca4b41ac73fabb9cf3600b530c9823eb3625f337d9b7b9699c1089e81c67fc67")
add_versions("24.09", "a1435d16532d04a1facce9a9ae35d68a57f7cd21a5f22a6590bde3c265ea1449")
add_patches(">=24.09", "patches/24.09/remove-symlink.patch", "d71adb07252e488ee003f6f04fea756864d6af2232b43208c9e138e062eb6e4d")
add_configs("openmp", {description = "Enable OpenMP", default = false, type = "boolean"})
add_configs("mpi", {description = "Enable MPI", default = false, type = "boolean", readonly = true})
add_configs("cuda", {description = "Enable CUDA", default = false, type = "boolean"})
add_configs("hdf5", {description = "Enable HDF5-based I/O", default = false, type = "boolean"})
add_configs("fortran", {description = "Enable fortran", default = false, type = "boolean"})
add_configs("tools", {description = "Build tools", default = false, type = "boolean"})
if is_plat("linux", "bsd") then
add_syslinks("pthread")
end
add_deps("cmake")
if on_check then
on_check("windows", function (package)
import("core.base.semver")
local msvc = package:toolchain("msvc")
if msvc then
local vs_sdkver = msvc:config("vs_sdkver")
assert(vs_sdkver and semver.match(vs_sdkver):gt("10.0.19041"), "package(amrex) require vs_sdkver > 10.0.19041.0")
end
end)
end
on_load(function (package)
if package:config("openmp") then
package:add("deps", "openmp")
end
if package:config("cuda") then
package:add("deps", "cuda")
end
if package:config("hdf5") then
package:add("deps", "hdf5")
end
if package:config("fortran") and package:is_plat("linux", "macosx") then
package:add("deps", "gfortran", {kind = "binary"})
end
end)
on_install("windows", "macosx", "linux", "bsd", "mingw", "msys", function (package)
local configs = {"-DAMReX_ENABLE_TESTS=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DAMReX_PIC=" .. (package:config("pic") and "ON" or "OFF"))
local configs_map = {
openmp = "OMP",
tools = "PLOTFILE_TOOLS",
}
for name, enabled in table.orderpairs(package:configs()) do
if not package:extraconf("configs", name, "builtin") then
local real = configs_map[name] or name:upper()
local enabled = (package:config(name) and "ON" or "OFF")
table.insert(configs, format("-DAMReX_%s=%s", real, enabled))
end
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <AMReX.H>
#include <AMReX_Print.H>
void test(int argc, char* argv[]) {
amrex::Initialize(argc,argv);
{
amrex::Print() << "Hello world from AMReX version " << amrex::Version() << "\n";
}
amrex::Finalize();
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,32 +0,0 @@
package("anari")
set_homepage("https://github.com/KhronosGroup/ANARI-SDK")
set_description("ANARI Software Development Kit (SDK)")
set_license("Apache-2.0")
add_urls("https://github.com/KhronosGroup/ANARI-SDK/archive/refs/tags/$(version).tar.gz",
"https://github.com/KhronosGroup/ANARI-SDK.git")
add_versions("v0.12.1", "1fc5cf360b260cc2e652bff4a41dcf3507c84d25701dc6c6630f6f6f83656b6c")
add_deps("cmake", "python 3.x", {kind = "binary"})
on_install(function (package)
if not package:config("shared") and package:is_plat("windows") then
package:add("defines", "ANARI_STATIC_DEFINE")
end
local configs = {
"-DBUILD_TESTING=OFF",
"-DBUILD_EXAMPLES=OFF",
"-DBUILD_VIEWER=OFF",
"-DCTS_ENABLE_GLTF=OFF",
"-DBUILD_HELIDE_DEVICE=OFF",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (not package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("anariLoadLibrary", {includes = "anari/anari.h"}))
end)

@ -1,27 +0,0 @@
diff --git a/angelscript/source/as_callfunc_arm64_msvc.asm b/angelscript/source/as_callfunc_arm64_msvc.asm
index ce43c75..1059246 100644
--- a/angelscript/source/as_callfunc_arm64_msvc.asm
+++ b/angelscript/source/as_callfunc_arm64_msvc.asm
@@ -68,7 +68,7 @@ GetHFAReturnDouble PROC
ALIGN 4
GetHFAReturnFloat PROC
adr x9, |populateFloats|
- sub x9, x9, x2 // x9 -= returnSize; (already 4 bytes per return)
+ sub x9, x9, x2 ; x9 -= returnSize; (already 4 bytes per return)
br x9
str s3, [x1, #0x4]
@@ -185,6 +185,7 @@ CallARM64Ret128 PROC
ldp fp, lr, [sp],#0x20
ret ; CallARM64Ret128
+ ENDP
ALIGN 4
CallARM64RetInMemory PROC
@@ -202,4 +203,4 @@ CallARM64RetInMemory PROC
ret ; CallARM64RetInMemory
- END
+ ENDP

@ -1,36 +0,0 @@
add_rules("mode.debug", "mode.release")
add_rules("utils.install.cmake_importfiles")
set_languages("c++11")
option("exceptions", {default = true})
target("angelscript")
set_kind("shared")
add_files("angelscript/source/*.cpp")
add_headerfiles("angelscript/include/*.h")
add_includedirs("angelscript/include")
add_defines("ANGELSCRIPT_EXPORT")
if not has_config("exceptions") then
add_defines("AS_NO_EXCEPTIONS")
end
if is_plat("windows") then
if is_arch("x64") then
add_files("angelscript/source/as_callfunc_x64_msvc_asm.asm")
elseif is_arch("arm64") then
add_files("angelscript/source/as_callfunc_arm64_msvc.asm")
-- elseif is_arch("arm32") then
-- add_files("angelscript/source/as_callfunc_arm_msvc.asm")
end
else
if is_arch("arm32") then
add_files("angelscript/source/as_callfunc_arm_gcc.S")
elseif is_arch("arm64") then
add_files("angelscript/source/as_callfunc_arm64_gcc.S")
end
if is_plat("linux") then
add_syslinks("pthread")
end
end

@ -1,60 +1,31 @@
package("angelscript")
set_homepage("http://angelcode.com/angelscript/")
set_description("Extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts")
set_license("zlib")
add_urls("https://github.com/codecat/angelscript-mirror.git")
add_urls("http://angelcode.com/angelscript/sdk/files/angelscript_$(version).zip")
add_versions("2.37.0", "0c52d1688016a0b2484e9ca549471c4e295df060770c57840144c64815f54f10")
add_versions("2.36.0", "33f95f7597bc0d88b097d35e7b1320d15419ffc5779851d9d2a6cccec57811b3")
add_versions("2.35.1", "5c1096b6d6cf50c7e77ae93c736d35b69b07b1e5047161c7816bca25b413a18b")
add_versions("2.35.0", "010dd45e23e734d46f5891d70e268607a12cb9ab12503dda42f842d9db7e8857")
add_versions("2.34.0", "6faa043717522ae0fb2677d907ca5b0e35a79d28e5f83294565e6c6229bfbdf7")
add_patches(">=2.34.0", "patches/msvc-arm64.patch", "1433f474870102e6fd8d0c9978b6d122a098cdecded29be70176b9dab534564f")
add_configs("exceptions", {description = "Enable exception handling in script context", default = true, type = "boolean"})
if is_plat("linux") then
add_syslinks("pthread")
end
if on_check then
on_check("mingw", function (package)
if is_host("macosx") and package:is_arch("i386") and package:version():eq("2.37.0") then
assert(false, "package(angelscript 2.37.0): Unsupported version on mingw|i386")
end
end)
end
on_load("windows|x86", "windows|x64", "linux", "android", "msys", "mingw", function (package)
package:add("deps", "cmake")
end)
add_deps("cmake")
on_install("windows|x86", "windows|x64", "linux", "android", "msys", "mingw", function (package)
on_install("windows", "linux", "android", "msys", "mingw", function (package)
os.cd("angelscript/projects/cmake")
local configs = {}
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DAS_NO_EXCEPTIONS=" .. (package:config("exceptions") and "OFF" or "ON"))
if package:gitref() then
os.cd("sdk")
end
os.cd("angelscript/projects/cmake")
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
if package:is_plat("android") then
io.gsub("CMakeLists.txt", "set_property", "#set_property")
end
import("package.tools.cmake").install(package, configs)
end)
on_install("windows|arm64", function (package)
local configs = {}
configs.exceptions = package:config("exceptions")
os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
import("package.tools.xmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <iostream>
@ -63,4 +34,4 @@ package("angelscript")
std::cout << asGetLibraryVersion() << "\n";
}
]]}, {configs = {languages = "c++11"}, includes = "angelscript.h"}))
end)
end)

File diff suppressed because it is too large Load Diff

@ -1,51 +0,0 @@
package("angle")
set_homepage("https://chromium.googlesource.com/angle/angle")
set_description("ANGLE - Almost Native Graphics Layer Engine")
set_license("BSD-3-Clause")
add_urls("https://github.com/google/angle/archive/refs/heads/chromium/$(version).zip")
add_versions("6288", "0d3bcf5bfd9eecd2b1635a6220a18f52a27ae5823928d4b6b083c54c163f963b")
add_resources(">=6288", "chromium_zlib", "https://github.com/xmake-mirror/chromium_zlib.git", "646b7f569718921d7d4b5b8e22572ff6c76f2596")
add_deps("python 3.x", {kind = "binary"})
add_deps("zlib")
add_deps("opengl")
if is_plat("windows") then
add_links("libEGL", "libGLESv2", "libANGLE")
add_syslinks("user32", "gdi32", "dxgi", "dxguid", "d3d9", "delayimp")
add_ldflags("/DELAYLOAD:d3d9.dll")
else
if is_plat("macosx") then
add_syslinks("objc")
add_frameworks("CoreFoundation", "CoreGraphics", "IOKit", "Metal", "IOSurface", "QuartzCore", "Cocoa")
end
if is_plat("linux") then
add_deps("libx11", "libxext", "libxi")
end
add_links("EGL", "GLESv2", "ANGLE")
end
on_load("windows", "macosx", "linux", function (package)
if not package:config("shared") then
package:add("defines", "KHRONOS_STATIC")
end
end)
on_install("windows", "macosx", "linux", function (package)
local zlib_dir = package:resourcefile("chromium_zlib")
os.cp(path.join(zlib_dir, "google"), "third_party/zlib")
os.cp(path.join(os.scriptdir(), "port", package:version_str(), "xmake.lua"), "xmake.lua")
import("package.tools.xmake").install(package)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <EGL/egl.h>
void test() {
const char *extensionString =
static_cast<const char *>(eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS));
EGLint res = eglGetError();
}
]]}, {configs = {languages = "c++11"}}))
end)

@ -1,21 +0,0 @@
package("annoy")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/spotify/annoy")
set_description("Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk")
set_license("Apache-2.0")
add_urls("https://github.com/spotify/annoy/archive/refs/tags/$(version).tar.gz",
"https://github.com/spotify/annoy.git")
add_versions("v1.17.3", "c121d38cacd98f5103b24ca4e94ca097f18179eed3037e9eb93ad70ec1e6356e")
add_versions("v1.17.2", "ad3518f36bdd5ea54576dfe1c765c93d5c737342f269aada2cd7ff1bc0d0cd93")
add_deps("cmake")
on_install(function (package)
import("package.tools.cmake").install(package)
end)
on_test(function (package)
assert(package:has_cxxincludes("annoy/annoylib.h", {configs = {languages = "c++11"}}))
end)

@ -1,13 +0,0 @@
diff --git a/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp b/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp
index 9fd86d6..5220492 100644
--- a/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp
+++ b/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp
@@ -10,6 +10,7 @@
#include "support/CPPUtils.h"
#include "atn/ProfilingATNSimulator.h"
+#include <chrono>
using namespace antlr4;
using namespace antlr4::atn;

@ -1,56 +0,0 @@
package("antlr4-runtime")
set_homepage("http://antlr.org")
set_description("ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.")
set_license("BSD-3-Clause")
add_urls("https://github.com/antlr/antlr4/archive/refs/tags/$(version).tar.gz",
"https://github.com/antlr/antlr4.git")
add_versions("4.13.2", "9f18272a9b32b622835a3365f850dd1063d60f5045fb1e12ce475ae6e18a35bb")
add_versions("4.13.1", "da20d487524d7f0a8b13f73a8dc326de7fc2e5775f5a49693c0a4e59c6b1410c")
add_patches("4.13.2", "patches/4.13.2/add-include-chrono.patch", "79400e790cc757760a292168a52762e6e2b91045190231fdf06cba60a164309e")
if is_plat("mingw") and is_subhost("msys") then
add_extsources("pacman::antlr4-runtime-cpp")
elseif is_plat("linux") then
add_extsources("pacman::antlr4-runtime", "apt::libantlr4-runtime-dev")
elseif is_plat("macosx") then
add_extsources("brew::antlr4-cpp-runtime")
end
if is_plat("linux", "bsd") then
add_syslinks("m", "pthread")
elseif is_plat("macosx") then
add_frameworks("CoreFoundation")
end
add_includedirs("include", "include/antlr4-runtime")
add_deps("cmake")
on_install(function (package)
if not package:config("shared") then
package:add("defines", "ANTLR4CPP_STATIC")
end
os.cd("runtime/Cpp")
io.replace("CMakeLists.txt", [[set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")]], "", {plain = true})
io.replace("CMakeLists.txt", [[set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")]], "", {plain = true})
io.replace("CMakeLists.txt", "add_subdirectory(runtime)",
"include(GNUInstallDirs)\nadd_subdirectory(runtime)", {plain = true})
local configs = {"-DANTLR_BUILD_CPP_TESTS=OFF", "-DANTLR4_INSTALL=ON"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DANTLR_BUILD_SHARED=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DANTLR_BUILD_STATIC=" .. (package:config("shared") and "OFF" or "ON"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
antlr4::ANTLRInputStream x;
}
]]}, {configs = {languages = "c++17"}, includes = "antlr4-runtime/antlr4-runtime.h"}))
end)

@ -1,19 +0,0 @@
-- https://github.com/antlr/antlr4/blob/master/runtime/Cpp/cmake/antlr4-generator.cmake.in
rule("find_antlr4")
on_config(function(target)
import("lib.detect.find_tool")
assert(target:pkg("antlr4"), "Please configure add_packages(\"antlr4\") for target(" .. target:name() .. ")")
local envs = target:pkgenvs()
local java = assert(find_tool("java", {envs = envs}), "java not found!")
local argv = {
"-classpath",
envs.CLASSPATH,
"org.antlr.v4.Tool",
"-Dlanguage=Cpp",
}
target:data_set("antlr4.tool", java)
target:data_set("antlr4.tool.argv", argv)
end)

@ -1,53 +0,0 @@
rule("lexer")
set_extensions(".g4")
add_deps("@find_antlr4")
on_config(function (target)
local includedirs = {}
local autogendir = path.join(target:autogendir(), "rules/antlr4/lexer")
for _, sourcebatch in pairs(target:sourcebatches()) do
if sourcebatch.rulename == "@antlr4/lexer" then
local sourcefiles = {}
for _, sourcefile in ipairs(sourcebatch.sourcefiles) do
-- remove parser g4
if not sourcefile:lower():find("parser", 1, true) then
table.insert(sourcefiles, sourcefile)
table.insert(includedirs, path.normalize(path.join(autogendir, path.directory(sourcefile))))
end
end
sourcebatch.sourcefiles = sourcefiles
break
end
end
target:add("includedirs", table.unique(includedirs), {public = true})
end)
before_buildcmd_file(function (target, batchcmds, sourcefile_g4, opt)
local java = target:data("antlr4.tool")
local argv = target:data("antlr4.tool.argv")
table.join2(argv, target:values("antlr4.lexer.flags"))
local autogendir = path.join(target:autogendir(), "rules/antlr4/lexer")
local sourcefile_cxx = path.normalize(path.join(autogendir, path.directory(sourcefile_g4), path.basename(sourcefile_g4) .. ".cpp"))
local sourcefile_dir = path.directory(sourcefile_cxx)
batchcmds:mkdir(sourcefile_dir)
table.insert(argv, "-o")
table.insert(argv, autogendir)
table.insert(argv, "-lib")
table.insert(argv, sourcefile_dir)
table.insert(argv, sourcefile_g4)
batchcmds:show_progress(opt.progress, "${color.build.object}compiling.g4 %s", sourcefile_g4)
batchcmds:vrunv(java.program, argv)
local objectfile = target:objectfile(sourcefile_cxx)
table.insert(target:objectfiles(), objectfile)
batchcmds:show_progress(opt.progress, "${color.build.object}compiling.$(mode) %s", sourcefile_cxx)
batchcmds:compile(sourcefile_cxx, objectfile)
batchcmds:add_depfiles(sourcefile_g4)
batchcmds:set_depmtime(os.mtime(objectfile))
batchcmds:set_depcache(target:dependfile(objectfile))
end)

@ -1,60 +0,0 @@
rule("parser")
set_extensions(".g4")
add_deps("@lexer", {order = true})
on_config(function (target)
local includedirs = {}
local autogendir = path.join(target:autogendir(), "rules/antlr4/parser")
for _, sourcebatch in pairs(target:sourcebatches()) do
if sourcebatch.rulename == "@antlr4/parser" then
local sourcefiles = {}
for _, sourcefile in ipairs(sourcebatch.sourcefiles) do
-- remove lexer g4
if not sourcefile:lower():find("lexer", 1, true) then
table.insert(sourcefiles, sourcefile)
table.insert(includedirs, path.normalize(path.join(autogendir, path.directory(sourcefile))))
end
end
sourcebatch.sourcefiles = sourcefiles
break
end
end
target:add("includedirs", table.unique(includedirs), {public = true})
end)
before_buildcmd_file(function (target, batchcmds, sourcefile_g4, opt)
local java = target:data("antlr4.tool")
local argv = target:data("antlr4.tool.argv")
local visitor = target:extraconf("rules", "@antlr4/parser", "visitor")
local listener = target:extraconf("rules", "@antlr4/parser", "listener")
table.insert(argv, (visitor and "-visitor" or "-no-visitor"))
table.insert(argv, (listener and "-listener" or "-no-listener"))
table.join2(argv, target:values("antlr4.parser.flags"))
local autogendir = path.join(target:autogendir(), "rules/antlr4/parser")
local sourcefile_cxx = path.normalize(path.join(autogendir, path.directory(sourcefile_g4), path.basename(sourcefile_g4) .. ".cpp"))
local sourcefile_dir = path.directory(sourcefile_cxx)
batchcmds:mkdir(sourcefile_dir)
table.insert(argv, "-o")
table.insert(argv, autogendir)
table.insert(argv, "-lib")
table.insert(argv, sourcefile_dir)
table.insert(argv, sourcefile_g4)
batchcmds:show_progress(opt.progress, "${color.build.object}compiling.g4 %s", sourcefile_g4)
batchcmds:vrunv(java.program, argv)
local objectfile = target:objectfile(sourcefile_cxx)
table.insert(target:objectfiles(), objectfile)
batchcmds:show_progress(opt.progress, "${color.build.object}compiling.$(mode) %s", sourcefile_cxx)
batchcmds:compile(sourcefile_cxx, objectfile)
batchcmds:add_depfiles(sourcefile_g4)
batchcmds:set_depmtime(os.mtime(objectfile))
batchcmds:set_depcache(target:dependfile(objectfile))
end)

@ -1,33 +0,0 @@
package("antlr4")
set_kind("binary")
set_homepage("https://www.antlr.org")
set_description("powerful parser generator for reading, processing, executing, or translating structured text or binary files.")
set_license("BSD-3-Clause")
add_urls("https://www.antlr.org/download/antlr-$(version)-complete.jar")
add_versions("4.13.2", "eae2dfa119a64327444672aff63e9ec35a20180dc5b8090b7a6ab85125df4d76")
add_versions("4.13.1", "bc13a9c57a8dd7d5196888211e5ede657cb64a3ce968608697e4f668251a8487")
if is_plat("linux") then
add_extsources("pacman::antlr4", "apt::antlr4")
elseif is_plat("macosx") then
add_extsources("brew::antlr")
end
set_policy("package.precompiled", false)
add_deps("openjdk")
on_load(function (package)
package:mark_as_pathenv("CLASSPATH")
package:addenv("CLASSPATH", "lib/antlr-complete.jar")
end)
on_install("@windows", "@linux", "@macosx", function (package)
os.vcp(package:originfile(), path.join(package:installdir("lib"), "antlr-complete.jar"))
end)
on_test(function (package)
os.vrun("java -classpath $(env CLASSPATH) org.antlr.v4.Tool")
end)

@ -1,43 +0,0 @@
package("aom")
set_homepage("https://aomedia.googlesource.com/aom")
set_description("AV1 Codec Library")
set_license("BSD-2-Clause")
add_urls("https://storage.googleapis.com/aom-releases/libaom-$(version).tar.gz",
"https://aomedia.googlesource.com/aom.git")
add_versions("3.9.1", "dba99fc1c28aaade28dda59821166b2fa91c06162d1bc99fde0ddaad7cecc50e")
add_configs("tools", {description = "Build tools", default = false, type = "boolean"})
if is_plat("linux", "bsd") then
add_syslinks("pthread", "m")
end
add_deps("cmake", "nasm")
if is_plat("windows") or (is_plat("mingw") and is_host("windows")) then
add_deps("strawberry-perl")
end
on_install("!wasm and (!windows or windows|!arm64)", function (package)
local configs = {
"-DENABLE_EXAMPLES=OFF",
"-DENABLE_TESTS=OFF",
"-DENABLE_DOCS=OFF",
"-DCONFIG_LIBYUV=0",
"-DCONFIG_WEBM_IO=0",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
if package:is_plat("windows") and package:is_arch("arm.*") then
table.insert(configs, "-DCMAKE_SYSTEM_NAME=Windows")
table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=" .. package:arch())
end
table.insert(configs, "-DENABLE_TOOLS=" .. (package:config("tools") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aom_codec_version_str", {includes = "aom/aom_codec.h"}))
end)

@ -5,8 +5,6 @@ package("apr")
add_urls("https://github.com/apache/apr/archive/refs/tags/$(version).tar.gz",
"https://github.com/apache/apr.git")
add_versions("1.7.5", "6d0712c529503cd2457011d03164491bbc16d0050bc40ef89568b1ac491c6600")
add_versions("1.7.4", "060b6e5ca8b3251545a93777c9ef744ceff02d4a59bb60a7dd9b3da9da33673e")
add_versions("1.7.0", "a7e2c5e6d60f6c7b1611b31a2f914a3e58f44eded5b064f0bae43ff30b16a4e6")
if is_plat("linux") then
@ -17,7 +15,7 @@ package("apr")
add_syslinks("wsock32", "ws2_32", "advapi32", "shell32", "rpcrt4")
end
on_install("linux", "macosx|x86_64", function (package)
on_install("linux", "macosx", function (package)
local configs = {}
if package:is_plat("linux") then
os.vrunv("sh", {"./buildconf"})
@ -38,7 +36,7 @@ package("apr")
package:add("includedirs", "include/apr-1")
end)
on_install("windows|x86", "windows|x64", function (package)
on_install("windows", function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DAPR_BUILD_SHARED=" .. (package:config("shared") and "ON" or "OFF"))

@ -4,47 +4,27 @@ package("aqt")
set_description("aqt: Another (unofficial) Qt CLI Installer on multi-platforms")
set_license("MIT")
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
if is_host("windows") and (os.arch() == "x64" or os.arch() == "x86") then
add_configs("runtimes", {description = "Set compiler runtimes.", default = "MD", readonly = true})
if is_host("windows") then
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
if os.arch() == "x86" then
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt_x86.exe")
add_versions("3.1.21", "b79465e771a78a76a8967c4bc49ac93210e25d6ead58b929a57100b3c6da71df")
add_versions("3.1.17", "d3abbd3378907f2e3ebf3af3387590245bb04175e1a720d04463b047732e1cd2")
add_versions("3.1.6", "093b536fab2e3726a792cdb60292313c0c8950b8aa9b56ccdeff7adb1146f964")
add_versions("3.0.2", "aac5d8949eed3f231bfc589736afe0f88372dc590182c8b3a2bed7c78952b944")
add_versions("2.0.6", "b980985cfeb1cefef1d2ebab91ae4e648873a27fae8831deff8144661480c56a")
else
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt_x64.exe")
add_versions("3.1.21", "da834e08268f3ffbb4c3e1c3e8a3ef8885d446e96e48dd35780a8d73e4a9e4ed")
add_versions("3.1.17", "02acc10c6317a2a9f76464d5c26b129b836531f81938b2b222498c495d69fcdb")
add_versions("3.1.6", "4f7e3fbc2d155f903ed9597b7929201681ffb7628e97765511cc7efa8a60f3e6")
add_versions("3.0.2", "96e46eca0d18a899db00a26facd20c799f2400645aef6445d49f4bd0aeab0a3f")
add_versions("2.0.6", "b0ad07fe8fd2c094425449f3053598959e467833dadf509da948571259510078")
end
elseif is_host("macosx") and (os.arch() == "arm64" or os.arch() == "x86_64") then
if os.arch() == "arm64" then
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt-macos")
add_versions("3.1.21", "aa720dbf0928b0843d02b06273086d0e4974b742461783c343b6ddde5ec7e0be")
add_versions("3.1.17", "cb51decbc12500d2e3e4b743dd4abb86a91fd9f25a916cafe54572963acf0690")
else
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt-macos")
add_versions("3.1.21", "aa720dbf0928b0843d02b06273086d0e4974b742461783c343b6ddde5ec7e0be")
add_versions("3.1.17", "cb51decbc12500d2e3e4b743dd4abb86a91fd9f25a916cafe54572963acf0690")
end
else
add_deps("7z")
add_deps("python >=3.6", {kind="binary"})
end
on_install("@macosx", "@linux", "@windows", "@msys", function (package)
if is_host("windows") and (os.arch() == "x64" or os.arch() == "x86") then
os.cp(package:originfile(), path.join(package:installdir("bin"), "aqt.exe"))
elseif is_host("macosx") and (os.arch() == "arm64" or os.arch() == "x86_64") then
os.cp(package:originfile(), path.join(package:installdir("bin"), "aqt"))
os.vrunv("chmod", {"+x", path.join(package:installdir("bin"), "aqt")})
if is_host("windows") then
os.mv(package:originfile(), path.join(package:installdir("bin"), "aqt.exe"))
else
-- ensurepip has been dropped in recent releases
try {function () os.vrunv("python3", {"-m", "ensurepip"}) end}

@ -1,64 +0,0 @@
package("aravis")
set_homepage("https://github.com/AravisProject/aravis")
set_description("A vision library for genicam based cameras")
set_license("LGPL-2.1")
add_urls("https://github.com/AravisProject/aravis.git")
add_urls("https://github.com/AravisProject/aravis/releases/download/$(version)/aravis-$(version).tar.xz", {alias = "release"})
add_urls("https://github.com/AravisProject/aravis/archive/refs/tags/$(version).tar.gz", {alias = "github"})
add_versions("release:0.8.33", "3c4409a12ea70bba4de25e5b08c777112de854bc801896594f2cb6f8c2bd6fbc")
add_versions("github:0.8.33", "d70b125666b23ca4c0f8986fa0786a3d2b9efb7a56b558b703083cdfaa793f4e")
add_configs("gst_plugin", {description = "Build GStreamer plugin", default = false, type = "boolean"})
add_configs("usb", {description = "Enable USB support", default = false, type = "boolean"})
add_configs("packet_socket", {description = "Enable packet socket support", default = false, type = "boolean"})
add_configs("introspection", {description = "Enable packet socket support", default = false, type = "boolean"})
if is_plat("windows") then
add_syslinks("ws2_32", "iphlpapi")
elseif is_plat("linux", "bsd") then
add_syslinks("dl", "pthread", "m", "resolv")
end
add_deps("meson", "ninja")
if is_plat("windows") then
add_deps("pkgconf")
else
add_deps("pkg-config")
end
add_deps("glib", "libxml2", "zlib")
on_load(function (package)
if package:config("gst_plugin") then
package:add("deps", "gstreamer")
end
if package:config("usb") then
package:add("deps", "libusb")
end
local version = package:version()
assert(version, "require version to set includedirs")
package:add("includedirs", "include", format("include/aravis-%d.%d", version:major(), version:minor()))
end)
on_install("windows|native", "macosx|native", "linux|native", function (package)
-- patch xrepo package name to find .pc
local libusb = package:dep("libusb")
if libusb and not libusb:is_system() then
io.replace("meson.build", "libusb-1.0", "libusb", {plain = true})
end
local configs = {"-Dviewer=disabled", "-Dtests=false"}
table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
table.insert(configs, "-Dgst-plugin=" .. (package:config("gst_plugin") and "enabled" or "disabled"))
table.insert(configs, "-Dusb=" .. (package:config("usb") and "enabled" or "disabled"))
table.insert(configs, "-Dpacket-socket=" .. (package:config("packet_socket") and "enabled" or "disabled"))
table.insert(configs, "-Dintrospection=" .. (package:config("introspection") and "enabled" or "disabled"))
import("package.tools.meson").install(package, configs, {packagedeps = {"libintl", "libiconv"}})
end)
on_test(function (package)
assert(package:has_cfuncs("arv_get_n_interfaces", {includes = "arv.h"}))
end)

@ -1,34 +0,0 @@
package("arduinojson")
set_kind("library", {headeronly = true})
set_homepage("https://arduinojson.org")
set_description("📟 JSON library for Arduino and embedded C++. Simple and efficient.")
set_license("MIT")
add_urls("https://github.com/bblanchon/ArduinoJson/archive/refs/tags/$(version).tar.gz",
"https://github.com/bblanchon/ArduinoJson.git")
add_versions("v7.3.1", "1b00fad9bd2b86ff9814d3e0e393fee1dbf0f37ac07f1181b41bc503e6a3b1a2")
add_versions("v7.3.0", "e2b6739a00c64813169cbcea2d0884cbd63efe2223c0b1307de4e655d87730d8")
add_versions("v7.2.1", "2780504927533d64cf4256c57de51412b835b327ef4018c38d862b0664d36d4f")
add_versions("v7.2.0", "d20aefd14f12bd907c6851d1dfad173e4fcd2d993841fa8c91a1d8ab5a71188b")
add_versions("v7.1.0", "74bc745527a274bcab85c6498de77da749627113c4921ccbcaf83daa7ac35dee")
add_versions("v7.0.4", "98ca14d98e9f1e8978ce5ad3ca0eeda3d22419d17586c60f299f369078929917")
add_versions("v7.0.3", "6da2d069e0caa0c829444912ee13e78bdf9cc600be632428a164c92e69528000")
add_versions("v6.21.4", "9551af9282372f6e64cf4009fc43be7f2df6eb96fe9c0aab44d4eed217d09747")
add_deps("cmake")
on_install(function (package)
import("package.tools.cmake").install(package, {"-DBUILD_TESTING=OFF"})
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <ArduinoJson.h>
void test() {
char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
DynamicJsonDocument doc(1024);
deserializeJson(doc, json);
}
]]}, {configs = {languages = "c++11"}}))
end)

@ -6,9 +6,6 @@ package("argparse")
add_urls("https://github.com/p-ranav/argparse/archive/refs/tags/v$(version).zip",
"https://github.com/p-ranav/argparse.git")
add_versions("3.2", "14c1a0e975d6877dfeaf52a1e79e54f70169a847e29c7e13aa7fe68a3d0ecbf1")
add_versions("3.1", "3e5a59ab7688dcd1f918bc92051a10564113d4f36c3bbed3ef596c25e519a062")
add_versions("3.0", "674e724c2702f0bfef1619161815257a407e1babce30d908327729fba6ce4124")
add_versions("2.6", "ce4e58d527b83679bdcc4adfa852af7ec9df16b76c11637823ef642cb02d2618")
add_versions("2.7", "58cf098fd195895aeb9b9120d96f1e310994b2f44d72934c438ec91bf2191f46")
add_versions("2.8", "9381b9ec2bdd2a350d1a0bf96d631969e3fda0cf2696e284d1359b5ee4ebb465")

@ -1,36 +0,0 @@
package("argtable3")
set_homepage("http://www.argtable.org")
set_description("A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options.")
set_license("BSD-3-Clause")
add_urls("https://github.com/argtable/argtable3.git")
add_versions("v3.2.2", "76fd1576e296bd9f93309b2a6e16a3268ad9b8c8")
add_deps("cmake")
on_install(function (package)
if package:config("shared") then
package:add("defines", "argtable3_IMPORTS")
end
if package:is_plat("mingw") then
io.replace("src/version.rc.in", "#include <verrsrc.h>", "", {plain = true})
end
if package:version() then
io.writefile("version.tag", package:version_str() .. ".xmake")
end
local configs = {"-DARGTABLE3_ENABLE_TESTS=OFF", "-DARGTABLE3_ENABLE_EXAMPLES=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DARGTABLE3_ENABLE_ARG_REX_DEBUG=" .. (package:is_debug() and "ON" or "OFF"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
os.mkdir(path.join(package:buildir(), "src/pdb"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("arg_parse", {includes = "argtable3.h"}))
end)

@ -1,31 +0,0 @@
package("argz")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/stephenberry/argz")
set_description("A light weight C++ in memory argument parser")
set_license("Apache-2.0")
add_urls("https://github.com/stephenberry/argz/archive/refs/tags/$(version).tar.gz",
"https://github.com/stephenberry/argz.git")
add_versions("v0.2.1", "1a9d85ef7e4722f81ce426c2cf8ceaa0a10cc42e7762cdf2465ae6484ece9c7e")
add_includedirs("include/argz")
add_deps("cmake")
on_install(function (package)
if package:has_tool("cxx", "cl") then
package:add("cxxflags", "/Zc:preprocessor", "/GL", "/permissive-", "/Zc:lambda")
end
io.replace("CMakeLists.txt", "include(cmake/dev-mode.cmake)", "", {plain = true})
import("package.tools.cmake").install(package)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
constexpr std::string_view version = "1.2.3";
argz::about about{ "My program description", version };
}
]]}, {configs = {languages = "c++20"}, includes = {"argz/argz.hpp"}}))
end)

@ -1,25 +0,0 @@
package("arkari")
set_kind("toolchain")
set_homepage("https://github.com/KomiMoe/Arkari")
set_description("Yet another llvm based obfuscator based on goron.")
set_license("Apache-2.0")
local version_map = {
["19.1.3"] = "1.6.0"
}
add_urls("https://github.com/KomiMoe/Arkari/releases/download/$(version)/$(version).7z", {version = function (version)
local llvm_ver = tostring(version)
local obf_ver = version_map[llvm_ver]
return string.format("Win64-MT-%s-obf%s", llvm_ver, obf_ver)
end})
add_versions("19.1.3", "9a181798ef3648cf8acb2f83941792f948d589a94b9d579a783b97331770ce93")
on_install("windows|x64", function (package)
os.mv("*", package:installdir())
end)
on_test(function (package)
os.vrun("llvm-config --version")
end)

@ -1,21 +0,0 @@
package("asap")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/mobius3/asap")
set_description("A C++ header-only library for creating, displaying, iterating and manipulating dates")
set_license("MIT")
add_urls("https://github.com/mobius3/asap.git")
add_versions("2023.04.21", "e39f2fe178de2ccba816d45811bf23ae0147fcb1")
on_install(function (package)
os.cp("include", package:installdir())
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <asap/asap.h>
void test() {
asap::datetime d1;
}
]]}, {configs = {languages = "c++11"}}))
end)

@ -7,20 +7,13 @@ package("asio")
add_urls("https://sourceforge.net/projects/asio/files/asio/$(version) (Stable)/asio-$(version).tar.gz", {alias = "sourceforge"})
add_urls("https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-$(version).tar.gz", {alias = "github", version = function (version) return version:gsub("%.", "-") end})
add_versions("github:1.32.0", "f1b94b80eeb00bb63a3c8cef5047d4e409df4d8a3fe502305976965827d95672")
add_versions("github:1.30.2", "755bd7f85a4b269c67ae0ea254907c078d408cce8e1a352ad2ed664d233780e8")
add_versions("github:1.29.0", "44305859b4e6664dbbf853c1ef8ca0259d694f033753ae309fcb2534ca20f721")
add_versions("github:1.28.0", "226438b0798099ad2a202563a83571ce06dd13b570d8fded4840dbc1f97fa328")
add_versions("github:1.24.0", "cbcaaba0f66722787b1a7c33afe1befb3a012b5af3ad7da7ff0f6b8c9b7a8a5b")
add_versions("github:1.21.0", "5d2d2dcb7bfb39bff941cabbfc8c27ee322a495470bf0f3a7c5238648cf5e6a9")
add_versions("sourceforge:1.20.0", "4cd5cd0ad97e752a4075f02778732a3737b587f5eeefab59cd98dc43b0dcadb3")
add_versions("github:1.20.0", "34a8f07be6f54e3753874d46ecfa9b7ab7051c4e3f67103c52a33dfddaea48e6")
if is_plat("mingw") then
add_syslinks("ws2_32", "bcrypt")
end
on_install("!wasm", function (package)
on_install(function (package)
if os.isdir("asio") then
os.cp("asio/include/asio.hpp", package:installdir("include"))
os.cp("asio/include/asio", package:installdir("include"))

@ -1,22 +0,0 @@
From 34bb2c023d60d22e4b1a31750d9b649d7729209e Mon Sep 17 00:00:00 2001
From: xpxz <97490782+heheda123123@users.noreply.github.com>
Date: Wed, 19 Jun 2024 14:08:48 +0800
Subject: [PATCH] remove const in set_to_text_limit
---
include/asio2/http/detail/flex_body.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/asio2/http/detail/flex_body.hpp b/include/asio2/http/detail/flex_body.hpp
index 491f5b8a..18e682db 100644
--- a/include/asio2/http/detail/flex_body.hpp
+++ b/include/asio2/http/detail/flex_body.hpp
@@ -136,7 +136,7 @@ class basic_flex_body<TextBody, FileBody>::value_type
inline bool is_text() const noexcept { return !is_file(); }
inline bool is_file() const noexcept { return file_.is_open(); }
- inline void set_to_text_limit(std::uint64_t v) const noexcept
+ inline void set_to_text_limit(std::uint64_t v) noexcept
{
this->to_text_limit_ = v;
}

@ -1,41 +0,0 @@
package("asio2")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/zhllxt/asio2")
set_description("Header only c++ network library, based on asio, support tcp,udp,http,websocket,rpc,ssl,icmp,serial_port.")
set_license("BSL-1.0")
add_urls("https://github.com/zhllxt/asio2/archive/refs/tags/$(version).tar.gz",
"https://github.com/zhllxt/asio2.git")
add_versions("v2.9", "d173e83a22f6d4ec8697ac533f4cf71051b7aa5c550d24997d991610206dd534")
add_configs("ssl", {description = "Build OpenSSL module", default = false, type = "boolean"})
add_patches("2.9", "patches/2.9/remove-const.patch", "6326f333ab2d0484c23bb3cd9cfd5a565030b5525d083677565a693f5f8803b6")
add_deps("asio", "cereal")
add_deps("spdlog", { configs = { header_only = false, fmt_external = true } })
if is_plat("windows", "mingw") then
add_syslinks("ws2_32")
end
on_load(function (package)
if package:config("ssl") then
package:add("deps", "openssl3")
package:add("defines", "ASIO2_ENABLE_SSL")
end
end)
on_install("windows", "linux", "macosx", "mingw", "bsd", "cross", function (package)
os.cp("include/*", package:installdir("include"))
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <asio2/asio2.hpp>
void test() {
asio2::tcp_server server;
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,26 +0,0 @@
package("asio3")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/zhllxt/asio3")
set_description("Header only c++ network library, based on c++ 20 coroutine and asio")
set_license("BSL-1.0")
add_urls("https://github.com/zhllxt/asio3.git")
add_versions("2023.12.03", "66e76da69b359540fdf15b85bd5f3612b358c1da")
add_deps("asio", "cereal", "fmt", "openssl3", "nlohmann_json")
add_deps("spdlog", { configs = { header_only = false, fmt_external = true } })
on_install("windows", "linux", "macosx", "mingw", "bsd", function (package)
os.cp(path.join("include"), package:installdir())
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <asio3/tcp/tcp_client.hpp>
namespace net = ::asio;
void test() {
net::io_context ctx;
net::tcp_client client(ctx.get_executor());
}
]]}, {configs = {languages = "c++23"}}))
end)

@ -1,25 +1,24 @@
package("asmjit")
set_homepage("https://asmjit.com/")
set_description("AsmJit is a lightweight library for machine code generation written in C++ language.")
set_license("zlib")
add_urls("https://github.com/asmjit/asmjit.git")
add_versions("2024.05.21", "55c5d6cef59619fb81014531b32f434a793cfb18")
add_versions("2024.03.09", "268bce7952883dec5015ae539906e9e9d7fb65a0")
add_versions("2022.01.18", "9a92d2f97260749f6f29dc93e53c743448f0137a")
add_versions("2021.06.27", "d02235b83434943b52a6d7c57118205c5082de08")
if is_plat("linux", "bsd") then
add_syslinks("pthread", "rt", "m")
end
add_deps("cmake")
on_install("!iphoneos", function (package)
if is_plat("linux") then
add_syslinks("rt")
end
on_load("windows", "macosx", "linux", function (package)
if not package:config("shared") then
package:add("defines", "ASMJIT_STATIC")
end
end)
on_install("windows", "macosx", "linux", function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DASMJIT_STATIC=" .. (package:config("shared") and "OFF" or "ON"))

@ -1,17 +1,15 @@
package("asmtk")
set_homepage("https://github.com/asmjit/asmtk")
set_description("Assembler toolkit based on AsmJit")
set_license("zlib")
set_urls("https://github.com/asmjit/asmtk.git")
add_versions("2023.07.18", "e2752c85d39da4b0c5c729737a6faa25286b8e0c")
add_versions("2023.6.14", "6e25b8983fbd8bf455c01ed7c5dd40c99b789565")
add_deps("asmjit")
on_install("!iphoneos", function (package)
if not package:config("shared") then
package:add("defines", "ASMTK_STATIC")
end
on_install("windows", "linux", "macosx", function (package)
io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release")
add_requires("asmjit")
@ -20,11 +18,6 @@ package("asmtk")
add_files("src/**.cpp")
add_headerfiles("src/(**.h)")
set_languages("c++11")
if is_kind("static") then
add_defines("ASMTK_STATIC")
elseif is_kind("shared") then
add_defines("ASMTK_EXPORTS")
end
if is_plat("windows") then
add_cxxflags("/GR-", "/GF", "/Zc:inline", "/Zc:strictStrings", "/Zc:threadSafeInit-")
if is_mode("debug") then
@ -32,26 +25,30 @@ package("asmtk")
else
add_cxxflags("/GS-", "/Oi")
end
if is_kind("shared") then
add_rules("utils.symbols.export_all", {export_classes = true})
end
else
add_cxxflags("-fno-math-errno", "-fno-threadsafe-statics")
end
add_packages("asmjit")
]])
local configs = {}
if package:config("shared") then
configs.kind = "shared"
end
import("package.tools.xmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <asmtk/asmtk.h>
#include <asmjit/asmjit.h>
using namespace asmjit;
using namespace asmtk;
void test() {
Environment env(Arch::kX64);
CodeHolder code;
code.init(env);
x86::Assembler a(&code);
AsmParser p(&a);
}
]]}, {configs = {languages = "c++11"}}))
end)

@ -1,16 +0,0 @@
diff --git a/code/Common/DefaultIOStream.cpp b/code/Common/DefaultIOStream.cpp
index e423eae4f8..35bbb67a5a 100644
--- a/code/Common/DefaultIOStream.cpp
+++ b/code/Common/DefaultIOStream.cpp
@@ -157,9 +157,9 @@ size_t DefaultIOStream::FileSize() const {
return 0;
mCachedSize = (size_t)(fileStat.st_size);
#elif defined _WIN32
- struct _stat32 fileStat;
+ struct _stat fileStat;
//using fileno + fstat avoids having to handle the filename
- int err = _fstat32(_fileno(mFile), &fileStat);
+ int err = _fstat(_fileno(mFile), &fileStat);
if (0 != err)
return 0;
mCachedSize = (size_t)(fileStat.st_size);

@ -1,16 +1,11 @@
package("assimp")
set_homepage("https://assimp.org")
set_description("Portable Open-Source library to import various well-known 3D model formats in a uniform manner")
set_license("BSD-3-Clause")
set_urls("https://github.com/assimp/assimp/archive/refs/tags/$(version).zip",
set_urls("https://github.com/assimp/assimp/archive/$(version).zip",
"https://github.com/assimp/assimp.git")
add_versions("v5.4.3", "795c29716f4ac123b403e53b677e9f32a8605c4a7b2d9904bfaae3f4053b506d")
add_versions("v5.4.2", "03e38d123f6bf19a48658d197fd09c9a69db88c076b56a476ab2da9f5eb87dcc")
add_versions("v5.4.1", "08837ee7c50b98ca72d2c9e66510ca6640681db8800aa2d3b1fcd61ccc615113")
add_versions("v5.4.0", "0f3698e9ba0110df0b636dbdd95706e7e28d443ff3dbaf5828926c23bfff778d")
add_versions("v5.3.1", "f4020735fe4601de9d85cb335115568cce0e027a65e546dd8895081696d624bd")
add_versions("v5.3.0", "cccbd20522b577613096b0b157f62c222f844bc177356b8301cd74eee3fecadb")
add_versions("v5.2.5", "5384877d53be7b5bbf50c26ab3f054bec91b3df8614372dcd7240f44f61c509b")
add_versions("v5.2.4", "713e9aa035ae019e5f3f0de1605de308d63538897249a2ba3a2d7d40036ad2b1")
add_versions("v5.2.3", "9667cfc8ddabd5dd5e83f3aebb99dbf232fce99f17b9fe59540dccbb5e347393")
@ -25,7 +20,6 @@ package("assimp")
add_patches("v5.2.3", path.join(os.scriptdir(), "patches", "5.2.1", "fix_zlib_filefunc_def.patch"), "a9f8a9aa1975888ea751b80c8268296dee901288011eeb1addf518eac40b71b1")
add_patches("v5.2.3", path.join(os.scriptdir(), "patches", "5.2.3", "cmake_static_crt.patch"), "3872a69976055bed9e40814e89a24a3420692885b50e9f9438036e8d809aafb4")
add_patches("v5.2.4", path.join(os.scriptdir(), "patches", "5.2.4", "fix_x86_windows_build.patch"), "becb4039c220678cf1e888e3479f8e68d1964c49d58f14c5d247c86b4a5c3293")
add_patches("v5.4.3", path.join(os.scriptdir(), "patches", "5.4.3", "fix_mingw.patch"), "2498bb9438a0108becf1c514fcbfc103e012638914c9d21160572ed24a9fa3b3")
if not is_host("windows") then
add_extsources("pkgconfig::assimp")
@ -46,30 +40,15 @@ package("assimp")
add_configs("asan", {description = "Enable AddressSanitizer.", default = false, type = "boolean"})
add_configs("ubsan", {description = "Enable Undefined Behavior sanitizer.", default = false, type = "boolean"})
add_deps("cmake", "minizip", "zlib")
add_deps("cmake", "zlib")
if is_plat("windows") then
add_syslinks("advapi32")
end
if on_check then
on_check("android", function (package)
import("core.tool.toolchain")
local ndk = toolchain.load("ndk", {plat = package:plat(), arch = package:arch()})
local ndk_sdkver = ndk:config("ndk_sdkver")
assert(ndk_sdkver and tonumber(ndk_sdkver) >= 26, "package(assimp): need ndk api level >= 26 for android")
end)
end
on_load(function (package)
if not package:gitref() then
if package:version():le("5.1.0") then
package:add("deps", "irrxml")
end
if package:version():eq("5.3.0") then
package:add("deps", "utfcpp")
package:add("defines", "ASSIMP_USE_HUNTER")
end
if not package:gitref() and package:version():le("5.1.0") then
package:add("deps", "irrxml")
end
if package:is_plat("linux", "macosx") and package:config("shared") then
package:add("links", "assimp" .. (package:is_debug() and "d" or ""))
@ -77,13 +56,6 @@ package("assimp")
end)
on_install(function (package)
if package:is_plat("android") then
import("core.tool.toolchain")
local ndk = toolchain.load("ndk", {plat = package:plat(), arch = package:arch()})
local ndk_sdkver = ndk:config("ndk_sdkver")
assert(ndk_sdkver and tonumber(ndk_sdkver) >= 26, "package(assimp): need ndk api level >= 26 for android")
end
local configs = {"-DASSIMP_BUILD_SAMPLES=OFF",
"-DASSIMP_BUILD_TESTS=OFF",
"-DASSIMP_BUILD_DOCS=OFF",
@ -113,54 +85,20 @@ package("assimp")
table.insert(configs, "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF")
end
-- ASSIMP_WARNINGS_AS_ERRORS maybe does not work for some old versions
for _, cmakefile in ipairs(table.join("CMakeLists.txt", os.files("**/CMakeLists.txt"))) do
if not package:gitref() and package:version():lt("v5.2.4") then
-- ASSIMP_WARNINGS_AS_ERRORS is not supported before v5.2.4
if package:is_plat("windows") then
io.replace(cmakefile, "/W4 /WX", "", {plain = true})
io.replace("code/CMakeLists.txt", "TARGET_COMPILE_OPTIONS(assimp PRIVATE /W4 /WX)", "", {plain = true})
else
io.replace(cmakefile, "-Werror", "", {plain = true})
io.replace("code/CMakeLists.txt", "TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror)", "", {plain = true})
end
end
-- fix cmake_install failed
if not package:gitref() and package:version():ge("v5.3.0") and package:is_plat("windows") and package:is_debug() then
io.replace("code/CMakeLists.txt", "IF(GENERATOR_IS_MULTI_CONFIG)", "IF(TRUE)", {plain = true})
end
if package:is_plat("mingw") and package:version():lt("v5.1.5") then
-- CMAKE_COMPILER_IS_MINGW has been removed: https://github.com/assimp/assimp/pull/4311
io.replace("CMakeLists.txt", "CMAKE_COMPILER_IS_MINGW", "MINGW", {plain = true})
end
-- Assimp CMakeLists doesn't find minizip on Windows
local packagedeps
if package:is_plat("windows") then
local minizip = package:dep("minizip")
if minizip and not minizip:is_system() then
packagedeps = table.join2(packagedeps or {}, "minizip")
end
-- fix ninja debug build
os.mkdir(path.join(package:buildir(), "code/pdb"))
-- MDd == _DEBUG + _MT + _DLL
if package:is_debug() and package:has_runtime("MD", "MT") then
io.replace("CMakeLists.txt", "/D_DEBUG", "", {plain = true})
end
end
local zlib = package:dep("zlib")
if zlib and not zlib:is_system() then
local fetchinfo = zlib:fetch({external = false})
if fetchinfo then
local includedirs = fetchinfo.includedirs or fetchinfo.sysincludedirs
if includedirs and #includedirs > 0 then
table.insert(configs, "-DZLIB_INCLUDE_DIR=" .. table.concat(includedirs, " "))
end
local libfiles = fetchinfo.libfiles
if libfiles then
table.insert(configs, "-DZLIB_LIBRARY=" .. table.concat(libfiles, " "))
end
end
end
import("package.tools.cmake").install(package, configs, {packagedeps = packagedeps})
import("package.tools.cmake").install(package, configs)
-- copy pdb
if package:is_plat("windows") then

@ -1,72 +0,0 @@
package("astc-encoder")
set_homepage("https://developer.arm.com/graphics")
set_description("The Arm ASTC Encoder, a compressor for the Adaptive Scalable Texture Compression data format.")
set_license("Apache-2.0")
add_urls("https://github.com/ARM-software/astc-encoder/archive/refs/tags/$(version).tar.gz",
"https://github.com/ARM-software/astc-encoder.git")
add_versions("4.8.0", "6c12f4656be21a69cbacd9f2c817283405decb514072dc1dcf51fd9a0b659852")
add_versions("4.7.0", "a57c81f79055aa7c9f8c82ac5464284e3df9bba682895dee09fa35bd1fdbab93")
add_versions("4.6.1", "a73c7afadb2caba00339a8f715079d43f9b7e75cf57463477e5ac36ef7defd26")
add_configs("avx2", {description = "Enable astcenc builds for AVX2 SIMD", default = false, type = "boolean"})
add_configs("sse41", {description = "Enable astcenc builds for SSE4.1 SIMD", default = false, type = "boolean"})
add_configs("sse2", {description = "Enable astcenc builds for SSE2 SIMD", default = false, type = "boolean"})
add_configs("neon", {description = "Enable astcenc builds for NEON SIMD", default = false, type = "boolean"})
add_configs("none", {description = "Enable astcenc builds for no SIMD", default = false, type = "boolean"})
add_configs("native", {description = "Enable astcenc builds for native SIMD", default = false, type = "boolean"})
add_configs("decompressor", {description = "Enable astcenc builds for decompression only", default = false, type = "boolean"})
add_configs("diagnostics", {description = "Enable astcenc builds with diagnostic trace", default = false, type = "boolean"})
add_configs("asan", {description = "Enable astcenc builds with address sanitizer", default = false, type = "boolean"})
add_configs("invariance", {description = "Enable astcenc floating point invariance", default = true, type = "boolean"})
add_configs("cli", {description = "Enable build of astcenc command line tools", default = true, type = "boolean"})
add_deps("cmake")
on_install("windows|x64", "windows|x86", "mingw|x86_64", "linux", function (package)
io.replace("Source/cmake_core.cmake", "-Werror", "", {plain = true})
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DASTCENC_SHAREDLIB=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_AVX2=" .. (package:config("avx2") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_SSE41=" .. (package:config("sse41") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_SSE2=" .. (package:config("sse2") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_NEON=" .. (package:config("neon") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_NONE=" .. (package:config("none") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ISA_NATIVE=" .. (package:config("native") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_DECOMPRESSOR=" .. (package:config("decompressor") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_DIAGNOSTICS=" .. (package:config("diagnostics") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_ASAN=" .. (package:config("asan") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_INVARIANCE=" .. (package:config("invariance") and "ON" or "OFF"))
table.insert(configs, "-DASTCENC_CLI=" .. (package:config("cli") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
os.cp("Source/astcenc.h", package:installdir("include"))
if package:config("shared") then
package:add("linkdirs", "bin")
end
if package:config("cli") then
local exe_prefix = package:is_plat("mingw", "windows") and ".exe" or ""
os.mv(path.join(package:installdir("bin"), "astcenc-native" .. exe_prefix), path.join(package:installdir("bin"), "astcenc" .. exe_prefix))
package:addenv("PATH", "bin")
end
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <astcenc.h>
void test() {
astcenc_context* context;
astcenc_config* config = new astcenc_config();
astcenc_error status = astcenc_context_alloc(config, 1, &context);
}
]]}, {configs = {languages = "c++14"}}))
if package:config("cli") and (not package:is_cross()) then
os.vrun("astcenc -help")
end
end)

@ -1,53 +1,35 @@
package("async_simple")
set_homepage("https://github.com/alibaba/async_simple")
set_description("Simple, light-weight and easy-to-use asynchronous components")
set_license("Apache-2.0")
add_urls("https://github.com/alibaba/async_simple/archive/refs/tags/$(version).tar.gz",
"https://github.com/alibaba/async_simple/archive/refs/tags/v$(version).tar.gz",
"https://github.com/alibaba/async_simple.git")
add_versions("1.1", "32d1ea16dfc1741206b6e4a3fbe532eeb1c378619766c1abe11a9efc53109c10")
add_versions("1.2", "a59a2674ac2b0a3997b90873b2bf0fbe4d96fdedbe6a2628c16c92a65a3fa39a")
add_versions("1.3", "0ba0dc3397882611b538d04b8ee6668b1a04ce046128599205184c598b718743")
add_configs("aio", {description = "default not open aio", default = false, type = "boolean"})
add_configs("modules", {description = "default not use modules", default = false, type = "boolean"})
add_deps("cmake")
on_load("!linux and !macosx", function (package)
package:set("kind", "library", {headeronly = true})
end)
on_install(function (package)
if package:is_plat("linux") and package:is_arch("arm.*") then
io.replace("CMakeLists.txt", [[list(APPEND CXX_FLAGS "-m]], [[#list(APPEND CXX_FLAGS "-m]], {plain = true})
end
if package:version():le("1.3") then
io.replace("async_simple/CMakeLists.txt",
[[file(GLOB coro_header "coro/*.h")]],
"file(GLOB coro_header \"coro/*.h\")\nfile(GLOB executors_header \"executors/*.h\")", {plain = true})
end
local configs = {
"-DASYNC_SIMPLE_ENABLE_TESTS=OFF",
"-DASYNC_SIMPLE_BUILD_DEMO_EXAMPLE=OFF"
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
on_install("windows", "linux", "macosx", function (package)
local configs = {"-DASYNC_SIMPLE_ENABLE_TESTS=OFF",
"-DASYNC_SIMPLE_BUILD_DEMO_EXAMPLE=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DASYNC_SIMPLE_DISABLE_AIO=" .. (package:config("aio") and "OFF" or "ON"))
table.insert(configs, "-DASYNC_SIMPLE_BUILD_MODULES=" .. (package:config("modules") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
if package:config("shared") then
os.rm(package:installdir("lib/libasync_simple.a"))
else
os.rm(package:installdir("lib/*.so*"))
os.rm(package:installdir("lib/libasync_simple.so"))
end
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <async_simple/coro/Lazy.h>
async_simple::coro::Lazy<void> func() {
co_return;
}

@ -1,28 +0,0 @@
package("at-spi2-core")
set_homepage("https://gitlab.gnome.org/GNOME/at-spi2-core")
set_description("contains the DBus interface definitions for AT-SPI - the core of an accessibility stack for free software systems.")
set_license("LGPL-2.1")
add_urls("https://gitlab.gnome.org/GNOME/at-spi2-core/-/archive/AT_SPI2_CORE_$(version)/at-spi2-core-AT_SPI2_CORE_$(version).tar.gz", {version = function (version)
return version:gsub("%.", "_")
end})
add_versions("2.53.90", "6b0a7c15b5fceb69f501e8b6b8bebe9896c35b9edb1ee08fe0b202d488a71363")
add_includedirs("include", "include/at-spi-2.0", "include/atk-1.0", "include/at-spi2-atk/2.0")
add_links("atk-bridge-2.0", "atspi", "atk-1.0")
add_deps("meson", "ninja", "glib", "pkg-config", "dbus", "libx11", "libxtst", "libxi", "libxml2")
on_install("linux", function (package)
local configs = {}
table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
import("package.tools.meson").install(package, configs, {packagedeps = {"glib", "libiconv", "libx11", "libxtst", "libxi", "dbus"}})
local atspi_pkgconfig_dir = package:installdir("lib/pkgconfig/atspi-2.pc")
io.replace(atspi_pkgconfig_dir, [[-DG_LOG_DOMAIN="dbind"]], [[-DG_LOG_DOMAIN=\"dbind\"]])
end)
on_test(function (package)
assert(package:has_cfuncs("atk_bridge_adaptor_init", {includes = "atk-bridge.h"}))
assert(package:has_cfuncs("atk_object_initialize", {includes = "atk/atk.h"}))
end)

@ -1,14 +1,13 @@
package("atk")
set_homepage("https://gitlab.gnome.org/GNOME/atk")
set_description("ATK - The Accessibility Toolkit")
set_license("LGPL-2.0")
add_urls("https://gitlab.gnome.org/Archive/atk/-/archive/$(version)/atk-$(version).tar.bz2",
"https://gitlab.gnome.org/Archive/atk.git")
add_versions("2.38.0", "469313d28bd22bcbf7b7ea300dddb9b6c13854455d297f4d51a944e378b0a9d7")
add_configs("introspection", {description = "Whether to build introspection files", default = false, type = "boolean"})
add_urls("https://download.gnome.org/sources/atk/$(version).tar.xz", {version = function (version)
return format("%d.%d/atk-%s", version:major(), version:minor(), version)
end})
add_versions("2.36.0", "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788")
if is_plat("mingw") and is_subhost("msys") then
add_extsources("pacman::atk")
@ -18,18 +17,12 @@ package("atk")
add_extsources("brew::atk")
end
add_deps("meson", "ninja", "glib", "pkg-config")
add_includedirs("include/atk-1.0")
add_deps("meson", "ninja", "glib")
if is_plat("windows") then
add_deps("pkgconf")
end
on_install("windows", "macosx", "linux", "cross", function (package)
local configs = {}
on_install("linux", function (package)
local configs = {"-Dintrospection=false"}
table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
table.insert(configs, "-Dintrospection=" .. (package:config("introspection") and "true" or "false"))
import("package.tools.meson").install(package, configs, {packagedeps = {"libintl", "libiconv"}})
import("package.tools.meson").install(package, configs)
end)
on_test(function (package)

@ -1,28 +0,0 @@
package("atomic_queue")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/max0x7ba/atomic_queue")
set_description("C++ lockless queue.")
set_license("MIT")
add_urls("https://github.com/max0x7ba/atomic_queue/archive/refs/tags/$(version).tar.gz",
"https://github.com/max0x7ba/atomic_queue.git")
add_versions("v1.6.5", "0257efe6781637091ff7f11d836cff4a8e0b5ea22c943fa70e00e83d83360583")
add_versions("v1.6.4", "e9c3ae4b850dc6503ee484748701f06f3737ad177c5cb31030f74e3fef40e282")
add_versions("v1.5", "599b76a0222e7b54118d6f0fb686845c9d323107f2de76b3f68292b057e5a99f")
add_versions("v1.6.3", "0ad6e0203d90367f6a4e496449dfd9ad65b80168fadafef4eac08820c6bda79c")
on_install(function (package)
os.cp("include/atomic_queue/", package:installdir("include"))
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <iostream>
int test(int argc, char* argv[]) {
using Queue = atomic_queue::AtomicQueue<uint32_t, 1024>;
Queue q{};
q.try_push(10);
return 0;
}
]]}, {configs = {languages = "cxx14"}, includes = "atomic_queue/atomic_queue.h"}))
end)

@ -4,14 +4,16 @@ package("attr")
set_description("Commands for Manipulating Filesystem Extended Attributes")
set_license("GPL-2.0")
add_urls("https://github.com/xmake-mirror/attr/releases/download/v$(version)/attr-$(version).tar.gz",
"http://download.savannah.nongnu.org/releases/attr/attr-$(version).tar.gz")
add_urls("http://download.savannah.nongnu.org/releases/attr/attr-$(version).tar.gz")
add_versions("2.5.1", "bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8")
on_install("linux", function (package)
local configs = {}
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:config("pic") ~= false then
table.insert(configs, "--with-pic")
end
import("package.tools.autoconf").install(package, configs)
end)

@ -1,38 +0,0 @@
package("audiofile")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/adamstark/AudioFile")
set_description("A simple C++ library for reading and writing audio files.")
set_license("MIT")
add_urls("https://github.com/adamstark/AudioFile/archive/refs/tags/$(version).tar.gz",
"https://github.com/adamstark/AudioFile.git")
add_versions("1.1.2", "d090282207421e27be57c3df1199a9893e0321ea7c971585361a3fc862bb8c16")
add_versions("1.1.1", "664f9d5fbbf1ff6c603ae054a35224f12e9856a1d8680be567909015ccaac328")
add_versions("1.1.0", "7546e39ca17ac09c653f46bfecce4a9936fae3784209ad53094915c78792a327")
add_versions("1.0.9", "1d609b80496fc5c688d8e83086cdcad5b60ddb20f02d160f80be271fab97c4c0")
add_versions("1.0.8", "f9ecc578425cb90a4a846b32c8ac162c9a61952713bd07525337245a8dee8ad2")
add_versions("1.0.7", "a03c8dfee26e34e96ca07065b72a9a6860cf9a78849abf26c32a4db42469f6e6")
add_versions("1.0.6", "ac802070beb217c373a0fba83d3e7542672cf8118763677bb8c5de396030cf40")
add_versions("1.0.5", "61b7328459591aa11edfee7377acffa3c5638bac71a0fa57ddafe95b696eeed1")
add_versions("1.0.4", "cb57df92f252d194b911eebe6dedaba2c063a02c2579e00bf0a18cac92793027")
add_versions("1.0.3", "7c5d2b89b2c8675faee36de63ddcb5df3f9e1514439c2578e462b8ab2950571d")
add_versions("1.0.2", "63b7f0b76318299be7f74944f50967825240124aab3c0f82f1753689c2c5a092")
add_versions("1.0.1", "c52957662b717addd32b6c72b279d0c82fb5cf0fe74f98fa74469ae6bcba5b26")
add_versions("1.0.0", "2740f8b7b5f70f6ac848e3e2814ceeae141d806c07424a0cd03fde2ecaf463f1")
on_install(function (package)
os.cp("AudioFile.h", package:installdir("include"))
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <stdint.h>
#include <AudioFile.h>
void test () {
AudioFile<float> audioFile;
audioFile.load("somerandomfile.wav");
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -1,27 +0,0 @@
package("aurora-au")
set_kind("library", {headeronly = true})
set_homepage("https://aurora-opensource.github.io/au")
set_description("A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience.")
set_license("Apache-2.0")
set_urls("https://github.com/aurora-opensource/au/archive/refs/tags/$(version).tar.gz",
"https://github.com/aurora-opensource/au.git")
add_versions("0.4.1", "5e88a0ffcb0a0843f4bd4d4ea4429c793f85dfcb8c1e7f7978de6fecab739b84")
add_deps("cmake")
on_install(function (package)
local configs = {"-DAU_ENABLE_TESTING=OFF", "-DAU_EXCLUDE_GTEST_DEPENDENCY=ON"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
constexpr auto length = au::meters(100.0);
}
]]}, {configs = {languages = "c++14"}, includes = "au/units/meters.hh"}))
end)

@ -1,29 +0,0 @@
package("autoconf-archive")
set_homepage("http://www.gnu.org/software/autoconf-archive/")
set_description("A mirror of the GNU Autoconf Archive, a collection of more than 500 macros for GNU Autoconf that have been contributed as free software by friendly supporters of the cause from all over the Internet.")
set_license("GPL-3.0-or-later")
add_urls("https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-$(version).tar.xz",
"https://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-$(version).tar.xz")
add_versions("2023.02.20", "71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33")
add_deps("autoconf")
on_install("@macosx", "@linux", "@bsd", function (package)
import("package.tools.autoconf").install(package)
end)
on_test(function (package)
io.writefile("test.m4", [[
AC_INIT(myconfig, version-0.1)
AC_MSG_NOTICE([Hello, world.])
AX_HAVE_SELECT(
[AX_CONFIG_FEATURE_ENABLE(select)],
[AX_CONFIG_FEATURE_DISABLE(select)])
AX_CONFIG_FEATURE(
[select], [This platform supports select(7)],
[HAVE_SELECT], [This platform supports select(7).])
EOS]])
os.vrun("autoconf test.m4")
end)

@ -4,8 +4,7 @@ package("autoconf")
set_homepage("https://www.gnu.org/software/autoconf/autoconf.html")
set_description("An extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.")
add_urls("http://ftpmirror.gnu.org/gnu/autoconf/autoconf-$(version).tar.gz",
"http://ftp.gnu.org/gnu/autoconf/autoconf-$(version).tar.gz",
add_urls("http://ftp.gnu.org/gnu/autoconf/autoconf-$(version).tar.gz",
"https://mirrors.ustc.edu.cn/gnu/autoconf/autoconf-$(version).tar.gz",
"git://git.sv.gnu.org/autoconf")
add_versions("2.68", "eff70a2916f2e2b3ed7fe8a2d7e63d72cf3a23684b56456b319c3ebce0705d99")

@ -1,35 +0,0 @@
package("autodiff")
set_kind("library", {headeronly = true})
set_homepage("https://autodiff.github.io")
set_description("automatic differentiation made easier for C++")
set_license("MIT")
add_urls("https://github.com/autodiff/autodiff/archive/refs/tags/$(version).tar.gz",
"https://github.com/autodiff/autodiff.git")
add_versions("v1.1.2", "86f68aabdae1eed214bfbf0ddaa182c78ea1bb99e4df404efb7b94d30e06b744")
add_versions("v1.0.3", "21b57ce60864857913cacb856c3973ae10f7539b6bb00bcc04f85b2f00db0ce2")
add_deps("cmake", "eigen")
on_install("windows", "linux", "macosx", "mingw", function (package)
local configs =
{
"-DAUTODIFF_BUILD_TESTS=OFF",
"-DAUTODIFF_BUILD_PYTHON=OFF",
"-DAUTODIFF_BUILD_EXAMPLES=OFF",
"-DAUTODIFF_BUILD_DOCS=OFF",
}
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <autodiff/forward/dual.hpp>
using namespace autodiff;
void test() {
dual x = 1.0;
}
]]}, {configs = {languages = "c++17"}}))
end)

@ -4,10 +4,8 @@ package("automake")
set_homepage("https://www.gnu.org/software/automake/")
set_description("A tool for automatically generating Makefile.in files compliant with the GNU Coding Standards.")
add_urls("https://ftpmirror.gnu.org/gnu/automake/automake-$(version).tar.gz",
"https://ftp.gnu.org/gnu/automake/automake-$(version).tar.gz",
add_urls("https://ftp.gnu.org/gnu/automake/automake-$(version).tar.gz",
"https://mirrors.ustc.edu.cn/gnu/automake/automake-$(version).tar.gz")
add_versions("1.16.5", "07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605")
add_versions("1.16.4", "8a0f0be7aaae2efa3a68482af28e5872d8830b9813a6a932a2571eac63ca1794")
add_versions("1.16.1", "608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8")
add_versions("1.15.1", "988e32527abe052307d21c8ca000aa238b914df363a617e38f4fb89f5abf6260")

@ -1,11 +0,0 @@
package("autotools")
set_kind("binary")
if is_subhost("msys") then
add_deps("pacman::autotools")
else
add_deps("autoconf", "automake", "libtool")
end
on_install("@linux", "@macosx", "@bsd", "@msys", function (package)
end)

@ -1,42 +0,0 @@
package("aws-c-auth")
set_homepage("https://github.com/awslabs/aws-c-auth")
set_description("C99 library implementation of AWS client-side authentication: standard credentials providers and signing.")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-auth/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-auth.git")
add_versions("v0.8.0", "217a0ebf8d7c5ad7e5f5ae814c2a371042164b64b4b9330c1c4bb2c6db1dbd33")
add_versions("v0.7.31", "7f97aacef6bd1649734383c2bf022250671f353b7fa60d195e6865d7f4594b43")
add_versions("v0.7.29", "f49f5dce1153e908dd9c0639f4aa4b1477f8564a28635f433cc0be121a18106e")
add_versions("v0.7.25", "8f7993f8fad2992ca19c00123ea16e72c4d13acbeeb6333061034a299274f081")
add_versions("v0.7.22", "f249a12a6ac319e929c005fb7efd5534c83d3af3a3a53722626ff60a494054bb")
add_versions("v0.7.18", "c705199655066f1f874bc3758683f32e288024196a22f28360d336231e45406f")
add_versions("v0.7.17", "8fe380255a71a2d5c9acd4979c135f9842135ce6385010ea562bc0b532bf5b84")
add_versions("v0.7.3", "22e334508b76f1beddefbf877f200c8a5ace4e3956c6be6545b7572762afe8c5")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
add_configs("assert_lock_help", {description = "Enable ASSERT_SYNCED_DATA_LOCK_HELD for checking thread issue", default = false, type = "boolean"})
add_deps("cmake", "aws-c-common", "aws-c-cal", "aws-c-io", "aws-c-sdkutils", "aws-c-http")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "cross", function (package)
local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
if package:is_plat("windows") then
cmakedir = cmakedir:gsub("\\", "/")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
table.insert(configs, "-DASSERT_LOCK_HELD=" .. (package:config("assert_lock_help") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_auth_library_init", {includes = "aws/auth/auth.h"}))
end)

@ -1,73 +0,0 @@
package("aws-c-cal")
set_homepage("https://github.com/awslabs/aws-c-cal")
set_description("Aws Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-cal/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-cal.git")
add_versions("v0.8.3", "413a5226a881eb2d7c7b453707c90b6ad1c0f63edfc15e87087f56d7d10c2a1b")
add_versions("v0.8.1", "4d603641758ef350c3e5401184804e8a6bba4aa5294593cc6228b0dca77b22f5")
add_versions("v0.8.0", "3803311ee7c73446a35466199084652ec5f76dedcf20452ebdbba8ed34d4230d")
add_versions("v0.7.4", "8020ecbe850ceb402aa9c81a1ef34e3becdbcb49587a1b19eb5c7e040f369b58")
add_versions("v0.7.2", "265938e3f1d2baa6a555ec6b0a27c74d3f505cbe7c96f7539ada42d5a848dee9")
add_versions("v0.7.1", "2fbdc04d72d1f3af28b80fe3917f03f20c0a62bc22b6c7b3450486ee9cbe77f6")
add_versions("v0.6.15", "67dda8049a59bbb70cdb166f46f741bc3a8443c86009a1ae4cb7842964a76e0d")
add_versions("v0.6.14", "2326304b15bec45b212f6b738020c21afa41f9da295936687e103f9f2efb7b5e")
add_versions("v0.6.12", "1ec1bc9a50df8d620f226480b420ec69d4fefd3792fb4e877aa7e350c2b174dc")
add_versions("v0.6.11", "e1b0af88c14300e125e86ee010d4c731292851fff16cfb67eb6ba6036df2d648")
add_versions("v0.6.2", "777feb1e88b261415e1ad607f7e420a743c3b432e21a66a5aaf9249149dc6fef")
add_configs("openssl", {description = "Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 compatible libcrypto", default = false, type = "boolean"})
if is_plat("wasm") then
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
end
if is_plat("windows","mingw") then
add_syslinks("bcrypt", "ncrypt")
elseif is_plat("linux", "bsd") then
add_syslinks("pthread")
elseif is_plat("macosx", "iphoneos") then
add_frameworks("Security", "CoreFoundation")
end
add_deps("cmake", "aws-c-common")
on_load(function (package)
if package:is_plat("linux", "bsd", "cross", "android") then
package:config_set("openssl", true)
end
if package:config("openssl") then
package:add("deps", "openssl")
end
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "AWS_C_RT_USE_WINDOWS_DLL_SEMANTICS", "AWS_CAL_USE_IMPORT_EXPORT")
end
end)
on_install("!wasm and (!mingw or mingw|!i386)", function (package)
local cmakedir = path.unix(package:dep("aws-c-common"):installdir("lib", "cmake"))
local configs = {
"-DBUILD_TESTING=OFF",
"-DCMAKE_POLICY_DEFAULT_CMP0057=NEW",
"-DCMAKE_MODULE_PATH=" .. cmakedir,
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
table.insert(configs, "-DUSE_OPENSSL=" .. (package:config("openssl") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
if package:is_plat("windows") and package:is_debug() then
local dir = package:installdir(package:config("shared") and "bin" or "lib")
os.vcp(path.join(package:buildir(), "*.pdb"), dir)
end
end)
on_test(function (package)
assert(package:has_cfuncs("aws_sha256_new", {includes = "aws/cal/hash.h"}))
end)

@ -3,57 +3,22 @@ package("aws-c-common")
set_description("Core c99 package for AWS SDK for C")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-common/archive/refs/tags/$(version).tar.gz",
add_urls("https://github.com/awslabs/aws-c-common/archive/$(version).tar.gz",
"https://github.com/awslabs/aws-c-common.git")
add_versions("v0.6.9", "928a3e36f24d1ee46f9eec360ec5cebfe8b9b8994fe39d4fa74ff51aebb12717")
add_versions("v0.11.1", "b442cc59f507fbe232c0ae433c836deff83330270a58fa13bf360562efda368a")
add_versions("v0.10.6", "d0acbabc786035d41791c3a2f45dbeda31d9693521ee746dc1375d6380eb912b")
add_versions("v0.10.3", "15cc7282cfe4837fdaf1c3bb44105247da712ae97706a8717866f8e73e1d4fd9")
add_versions("v0.10.0", "1fc7dea83f1d5a4b6fa86e3c8458200ed6e7f69c65707aa7b246900701874ad1")
add_versions("v0.9.28", "bf265e9e409d563b0eddcb66e1cb00ff6b371170db3e119348478d911d054317")
add_versions("v0.9.27", "0c0eecbd7aa04f85b1bdddf6342789bc8052737c6e9aa2ca35e26caed41d06ba")
add_versions("v0.9.25", "443f3268387715e6e2c417a87114a6b42873aeeebc793d3f6f631323e7c48a80")
add_versions("v0.9.24", "715a15399fe6dce2971c222ecabea4276e42ba3465a63c175724fc0c80d7a888")
add_versions("v0.9.23", "adf838daf6a60aa31268522105b03262d745f529bc981d3ac665424133d6f91b")
add_versions("v0.9.19", "196430fda1bca2c77df7d9199232956d371a92f49ee48fd6c29ff969410ca0ed")
add_versions("v0.9.17", "82f1a88494c5563892f0e048f0f56acfe7e10e5aa3fe9267b956dbabcc043440")
add_versions("v0.9.15", "8f36c7a6a5d2e17365759d15591f800d3e76dcaa34a226389b92647cbd92393a")
add_versions("v0.9.14", "70b10ebbf40e3b6c1b36d81d5e4b63fe430414a81f76293a65e42dfa5def571e")
add_versions("v0.9.13", "6d2044fc58e5d7611610976602f3fc2173676726b00eed026526962c599ece1d")
add_versions("v0.9.3", "389eaac7f64d7d5a91ca3decad6810429eb5a65bbba54798b9beffcb4d1d1ed6")
if is_plat("wasm") then
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
end
if is_plat("windows", "mingw") then
add_syslinks("bcrypt", "ws2_32", "shlwapi")
elseif is_plat("linux", "bsd") then
if is_plat("linux") then
add_deps("cmake")
add_syslinks("dl", "m", "pthread", "rt")
elseif is_plat("macosx") then
add_frameworks("CoreFoundation")
end
add_deps("cmake")
on_install("!mingw or mingw|!i386", function (package)
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "AWS_COMMON_USE_IMPORT_EXPORT")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_POLICY_DEFAULT_CMP0057=NEW"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
on_install("linux", function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
table.insert(configs, "-DPERFORM_HEADER_CHECK=ON")
table.insert(configs, "-DENABLE_NET_TESTS=OFF")
import("package.tools.cmake").install(package, configs)
if package:is_plat("windows") and package:is_debug() then
local dir = package:installdir(package:config("shared") and "bin" or "lib")
os.vcp(path.join(package:buildir(), "*.pdb"), dir)
end
end)
on_test(function (package)

@ -1,47 +0,0 @@
package("aws-c-compression")
set_homepage("https://github.com/awslabs/aws-c-compression")
set_description("C99 implementation of huffman encoding/decoding")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-compression/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-compression.git")
add_versions("v0.3.1", "d89fca17a37de762dc34f332d2da402343078da8dbd2224c46a11a88adddf754")
add_versions("v0.3.0", "7e5d7308d1dbb1801eae9356ef65558f707edf33660dd6443c985db9474725eb")
add_versions("v0.2.19", "51796f98a29a0d6e257c02e1f842bbc41db324758939093e6d46ec28337a3272")
add_versions("v0.2.18", "517c361f3b7fffca08efd5ad251a20489794f056eab0dfffacc6d5b341df8e86")
add_versions("v0.2.17", "703d1671e395ea26f8b0b70d678ed471421685a89e127f8aa125e2b2ecedb0e0")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
if is_plat("wasm") then
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
end
add_deps("cmake", "aws-c-common")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "android", "iphoneos", "cross", "wasm", function (package)
local aws_cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
local aws_c_common_configdir = package:dep("aws-c-common"):installdir("lib", "aws-c-common", "cmake")
if is_host("windows") then
aws_cmakedir = aws_cmakedir:gsub("\\", "/")
aws_c_common_configdir = aws_c_common_configdir:gsub("\\", "/")
end
local configs =
{
"-DBUILD_TESTING=OFF",
"-DCMAKE_MODULE_PATH=" .. aws_cmakedir,
"-Daws-c-common_DIR=" .. aws_c_common_configdir
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_huffman_encoder_init", {includes = "aws/compression/huffman.h"}))
end)

@ -1,38 +0,0 @@
package("aws-c-event-stream")
set_homepage("https://github.com/awslabs/aws-c-event-stream")
set_description("C99 implementation of the vnd.amazon.eventstream content-type.")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-event-stream/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-event-stream.git")
add_versions("v0.5.1", "22ce7a695b82debe118c9ecc641ea8bc7e59c9843f92d5acf8401fc86cac847a")
add_versions("v0.5.0", "3a53a9d05f9e2fd06036a12854a8b4f05a0c4858bb5b8df8a30edba9de8532b5")
add_versions("v0.4.3", "d7d82c38bae68d2287ac59972a76b2b6159e7a3d7c9b7edb1357495aa4d0c0de")
add_versions("v0.4.2", "c98b8fa05c2ca10aacfce7327b92a84669c2da95ccb8e7d7b3e3285fcec8beee")
add_versions("v0.4.1", "f8915fba57c86148f8df4c303ca6f31de6c23375de554ba8d6f9aef2a980e93e")
add_versions("v0.3.2", "3134b35a45e9f9d974c2b78ee44fd2ea0aebc04df80236b80692aa63bee2092e")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
add_deps("cmake", "aws-c-common", "aws-c-io", "aws-checksums")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "cross", function (package)
local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
if package:is_plat("windows") then
cmakedir = cmakedir:gsub("\\", "/")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_event_stream_library_init", {includes = "aws/event-stream/event_stream.h"}))
end)

@ -1,40 +0,0 @@
package("aws-c-http")
set_homepage("https://github.com/awslabs/aws-c-http")
set_description("C99 implementation of the HTTP/1.1 and HTTP/2 specifications")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-http/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-http.git")
add_versions("v0.9.3", "63061321fd3234a4f8688cff1a6681089321519436a5f181e1bcb359204df7c8")
add_versions("v0.9.2", "328013ebc2b5725326cac01941041eec1e1010058c60709da2c23aa8fb967370")
add_versions("v0.9.0", "ffba3a208e605ed247a130e2986f9d524283faf85f26da3452aac878ecefdfa2")
add_versions("v0.8.10", "f878802a4e0bcefadce9959ce443acaf77607a68d138f9d3db04a5a878f1a871")
add_versions("v0.8.7", "173ed7634c87485c2defbd9a96a246a79ec3f3659b28b235ac38e6e92d67392a")
add_versions("v0.8.2", "a76ba75e59e1ac169df3ec00c0d1c453db1a4db85ee8acd3282a85ee63d6b31c")
add_versions("v0.8.1", "83fb47e2d7956469bb328f16dea96663e96f8f20dc60dc4e9676b82804588530")
add_versions("v0.7.12", "0f92f295c96e10aa9c1e66ac73c038ee9d9c61e1be7551e721ee0dab9c89fc6f")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
add_deps("cmake", "aws-c-cal", "aws-c-io", "aws-c-compression")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "cross", function (package)
local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
if package:is_plat("windows") then
cmakedir = cmakedir:gsub("\\", "/")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_http_message_new_request", {includes = "aws/http/request_response.h"}))
end)

@ -1,66 +0,0 @@
package("aws-c-io")
set_homepage("https://github.com/awslabs/aws-c-io")
set_description("This is a module for the AWS SDK for C. It handles all IO and TLS work for application protocols. ")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-io/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-io.git")
add_versions("v0.15.3", "d8cb4d7d3ec4fb27cbce158d6823a1f2f5d868e116f1d6703db2ab8159343c3f")
add_versions("v0.15.1", "70f119b44f2758fc482872141cb712122f1c3c82fea16d203b7286a98c139a71")
add_versions("v0.15.0", "a8fbc39721395c12fd66bf2ce39b4cac24df395b35700b9ae718a7923d229df4")
add_versions("v0.14.19", "127aa30608084affbcc0b7b26982ab4d98404d1aa103b91693d0e76b564da21d")
add_versions("v0.14.18", "44e9dee181ed7d867d1cc2944f4b4669259b569fc56bdd6dd4c7c30440fc4bf8")
add_versions("v0.14.16", "bf78ab5dbeeaec2f55cb035e18c49ce8ba4e2ea7519e8b94e18ccd8851e39f4d")
add_versions("v0.14.14", "c62400e83232e6d7c04bacebf02d552f6699d90735d9b8b6ee5fae879735c458")
add_versions("v0.14.13", "1c228b1ed327e3a8518b89702ac0d93265cf50788038091e187c697cace7fa5a")
add_versions("v0.14.9", "3a3b7236f70209ac12b5bafa7dd81b75cc68b691a0aa0686d6d3b7e4bbe5fbc9")
add_versions("v0.14.8", "d50e21fdbd5170a4071fe067ef4ce297b02cb058ad47e118305e25f6e07d9cf0")
add_versions("v0.14.7", "ecf1f660d7d43913aa8a416be6a2027101ce87c3b241344342d608335b4df7d4")
add_versions("v0.14.6", "bb3af305af748185b1c7b17afa343e54f2d494ccff397402f1b17041b0967865")
add_versions("v0.14.5", "2700bcde062f7de1c1cbfd236b9fdfc9b24b4aa6dc0fb09bb156e16e07ebd0b6")
add_versions("v0.13.32", "2a6b18c544d014ca4f55cb96002dbbc1e52a2120541c809fa974cb0838ea72cc")
if is_plat("wasm") then
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
end
if is_plat("windows","mingw") then
add_syslinks("advapi32", "crypt32", "secur32", "ncrypt")
elseif is_plat("linux", "bsd", "cross", "android") then
add_deps("s2n-tls")
elseif is_plat("macosx", "iphoneos") then
add_frameworks("Security")
end
add_deps("cmake", "aws-c-common", "aws-c-cal")
on_install("!wasm and (!mingw or mingw|!i386)", function (package)
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "USE_WINDOWS_DLL_SEMANTICS", "AWS_IO_USE_IMPORT_EXPORT")
end
local cmakedir = path.unix(package:dep("aws-c-common"):installdir("lib", "cmake"))
local configs = {
"-DBUILD_TESTING=OFF",
"-DCMAKE_POLICY_DEFAULT_CMP0057=NEW",
"-DCMAKE_MODULE_PATH=" .. cmakedir,
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
if package:is_plat("windows") and package:is_debug() then
local dir = package:installdir(package:config("shared") and "bin" or "lib")
os.vcp(path.join(package:buildir(), "*.pdb"), dir)
end
end)
on_test(function (package)
assert(package:has_cfuncs("aws_io_library_init", {includes = "aws/io/io.h"}))
end)

@ -1,41 +0,0 @@
package("aws-c-mqtt")
set_homepage("https://github.com/awslabs/aws-c-mqtt")
set_description("C99 implementation of the MQTT 3.1.1 specification.")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-mqtt/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-mqtt.git")
add_versions("v0.12.1", "04abe47c798bf9dcb95e25ea9acd62a35a3f22e58b61c16912a6275c2f8230fe")
add_versions("v0.11.0", "3854664c13896b6de3d56412f928435a4933259cb7fe62b10c1f497e6999333c")
add_versions("v0.10.7", "197bb549f7b121d05d59bb58dd641b56fdf80337d027f0a69146196bd8f92604")
add_versions("v0.10.6", "7579fafc74a8751c15c0196eda6ec93d00a17e7f79fb994f34a8f62ceb66cc62")
add_versions("v0.10.4", "6a41456f9eee15d71e4e2ee162b354865809f26620f1e6e5acb237f190f77f3f")
add_versions("v0.10.3", "bb938d794b0757d669b5877526363dc6f6f0e43869ca19fc196ffd0f7a35f5b9")
add_versions("v0.9.5", "987289535d3c988fe949f49d81268736c96fe27b27c98c899f0a148577f6627b")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
add_configs("assert_lock_help", {description = "Enable ASSERT_SYNCED_DATA_LOCK_HELD for checking thread issue", default = false, type = "boolean"})
add_deps("cmake", "aws-c-http", "aws-c-io", "aws-c-cal", "aws-c-common")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "cross", function (package)
local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
if package:is_plat("windows") then
cmakedir = cmakedir:gsub("\\", "/")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
table.insert(configs, "-DASSERT_LOCK_HELD=" .. (package:config("assert_lock_help") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_mqtt_library_init", {includes = "aws/mqtt/mqtt.h"}))
end)

@ -1,44 +0,0 @@
package("aws-c-s3")
set_homepage("https://github.com/awslabs/aws-c-s3")
set_description("C99 library implementation for communicating with the S3 service, designed for maximizing throughput on high bandwidth EC2 instances.")
set_license("Apache-2.0")
add_urls("https://github.com/awslabs/aws-c-s3/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-s3.git")
add_versions("v0.7.7", "843571de8cd504428bd4ef9ff574e3c91b51ae010813111757e1cfca951cf35e")
add_versions("v0.7.5", "d2f68e8a8e9a9e9b16aecd4ae72d78860e3d71d6fe9ccd8f2d50a7ee5faf5619")
add_versions("v0.7.4", "0e315694c524aece68da9327ab1c57f5d5dd9aed843fea3950429bb7cec70f35")
add_versions("v0.7.1", "0723610c85262b2ac19be0bd98622857f09edc3317be707f6cfe9a9849796ef4")
add_versions("v0.7.0", "d7a7dc82988221a1e7038a3ba1b4454c91dd66e41c08f2a83455d265d8683818")
add_versions("v0.6.5", "b671006ae2b5c1302e49ca022e0f9e6504cfe171d9e47c3e59c52b2ab8e80ef5")
add_versions("v0.6.0", "0a29dbb13ea003de3fd0d08a61fa705b1c753db4b35de9c464641432000f13ec")
add_versions("v0.5.9", "7a337195b295406658d163b6dac64ff81f7556291b8a8e79e58ebaa2d55178ee")
add_versions("v0.5.7", "2f2eab9bf90a319030fd3525953dc7ac00c8dc8c0d33e3f0338f2a3b554d3b6a")
add_versions("v0.3.17", "72fd93a2f9a7d9f205d66890da249944b86f9528216dc0321be153bf19b2ecd5")
add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"})
add_configs("assert_lock_help", {description = "Enable ASSERT_SYNCED_DATA_LOCK_HELD for checking thread issue", default = false, type = "boolean"})
add_deps("cmake", "aws-c-common", "aws-checksums", "aws-c-io", "aws-c-http", "aws-c-auth")
on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "msys", "cross", function (package)
local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake")
if package:is_plat("windows") then
cmakedir = cmakedir:gsub("\\", "/")
end
local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
table.insert(configs, "-DASSERT_LOCK_HELD=" .. (package:config("assert_lock_help") and "ON" or "OFF"))
if package:is_plat("windows") then
table.insert(configs, "-DAWS_STATIC_MSVC_RUNTIME_LIBRARY=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("aws_s3_library_init", {includes = "aws/s3/s3.h"}))
end)

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save