Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Run tests and build examples
on: [push, pull_request]
env:
nim_version: "2.2.0"
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
#os: [ubuntu-latest, macos-latest, windows-latest]

runs-on: ${{ matrix.os }}

steps:
- name: Check out sources
uses: actions/checkout@v4
- name: Nim Runtime Cache
id: cache-nim
uses: actions/cache@v4
with:
path: ".nim_runtime"
key: ${{ runner.os }}-nim-${{ env.nim_version }}
- name: Install Nim
id: install-nim
if: ${{ hashFiles('.nim_runtime/bin/nim*') == '' }}
uses: jiro4989/setup-nim-action@v2
with:
nim-version: ${{ env.nim_version }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set PATH for Unix
if: ${{ runner.os != 'Windows' && steps.install-nim.outcome == 'skipped' }}
shell: bash
run: |
echo "$(pwd)/.nim_runtime/bin" >> "$GITHUB_PATH"
echo "$HOME/.nimble/bin" >> "$GITHUB_PATH"
- name: Set PATH for Windows
if: ${{ runner.os == 'Windows' && steps.install-nim.outcome == 'skipped' }}
shell: pwsh
run: |
echo "$(Get-Location)\.nim_runtime\bin" >> $Env:GITHUB_PATH
mkdir -Force ~\.nimble\bin
(Resolve-Path ~\.nimble\bin).Path >> $Env:GITHUB_PATH
- name: Install dependency packages (jack)
uses: ConorMacBride/install-package@v1
with:
brew: jack pcre
apt: libjack-jackd2-dev libpcre3-dev
choco: jack
- name: Update PATH (Windows)
if: runner.os == 'Windows'
run: Add-Content $env:GITHUB_PATH "C:\Program Files\jack\bin"
- name: Run tests
run: nimble test -y
- name: Build examples (debug)
run: nimble examples_debug
- name: Build examples (release)
run: nimble examples
26 changes: 26 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Build and publish API docs
on:
push:
branches:
- master
env:
nim-version: "stable"
nim-src: src/jacket.nim
deploy-dir: .gh-pages
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jiro4989/setup-nim-action@v2
with:
nim-version: ${{ env.nim-version }}
- run: nimble install -y
- run: nimble doc --index:on --project --git.url:https://github.com/${{ github.repository }} --git.commit:master --out:${{ env.deploy-dir }} ${{ env.nim-src }}
- name: "Copy to index.html"
run: cp ${{ env.deploy-dir }}/jacket.html ${{ env.deploy-dir }}/index.html
- name: Deploy documents
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ env.deploy-dir }}
19 changes: 9 additions & 10 deletions src/jacket.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,17 @@

# Possible names/install locations of libjack, according to:
# https://github.com/x42/weakjack/blob/master/weak_libjack.c#L108
proc getJackLibName: string =
when system.hostOS == "windows":
when sizeof(int) == 4:
result = "libjack.dll"
else:
result = "libjack64.dll"
elif system.hostOS == "macosx":
result = "(|/usr/local/lib/|/opt/homebrew/lib/|/opt/local/lib/)libjack.dylib"
when defined(windows):
when sizeof(int) == 4:
const soname = "(|lib)jack.dll"
else:
result = "libjack.so.0"
const soname = "(|lib)jack64.dll"
elif defined(macosx):
const soname = "(|/usr/local/lib/|/opt/homebrew/lib/|/opt/homebrew/opt/jack/lib/|/opt/local/lib/)libjack.dylib"
else:
const soname = "libjack.so.0"

{.push dynlib: getJackLibName().}
{.push dynlib: soname.}

# ------------------------------ Constants --------------------------------

Expand Down
Loading