Skip to content

Commit

Permalink
Add initial recipe
Browse files Browse the repository at this point in the history
  • Loading branch information
kartik-s committed Sep 3, 2024
1 parent 9ce01e1 commit f1762c6
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 0 deletions.
1 change: 1 addition & 0 deletions recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pwsh -file build.ps1
24 changes: 24 additions & 0 deletions recipe/build.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Build sbcl
$env:CHERE_INVOKING="yes"
$env:MSYS2_PATH_TYPE="inherit"
$env:MSYSTEM="MINGW64"
C:\msys64\usr\bin\bash.exe -lc "cmake -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo .."

# Install SBCL into Conda prefix
pushd ../sbcl
robocopy .\output $env:LIBRARY_BIN sbcl.core
robocopy .\src\runtime $env:LIBRARY_BIN sbcl.exe
robocopy .\obj\sbcl-home\contrib $env:LIBRARY_BIN\contrib /e
robocopy .\src\runtime $env:LIBRARY_LIB libsbcl.a
popd

# Build libsbcl
C:\msys64\usr\bin\bash.exe -lc 'cmake --build .'
C:\msys64\usr\bin\bash.exe -lc "cmake --install . --prefix=$env:PREFIX"
popd

# Un/set SBCL_HOME on environment de/activation
mkdir -p $env:CONDA_PREFIX\etc\conda\activate.d
mkdir -p $env:CONDA_PREFIX\etc\conda\deactivate.d
"set SBCL_HOME=%CONDA_PREFIX%\Library\bin" | Out-File $env:CONDA_PREFIX\etc\conda\activate.d\env_vars.bat
"set SBCL_HOME=" | Out-File $env:CONDA_PREFIX\etc\conda\deactivate.d\env_vars.bat
27 changes: 27 additions & 0 deletions recipe/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
conda install -y sbcl
SBCL_HOME=

if [[ "$OSTYPE" == "darwin"* && $(uname -m) == "arm64" ]]; then
:
else
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/sbcl # required because conda activation scripts are not run on install

mkdir -p $PREFIX/etc/conda/activate.d
mkdir -p $PREFIX/etc/conda/deactivate.d
printf '#/bin/sh\n\nexport LD_LIBRARY_PATH=$CONDA_PREFIX/lib/sbcl\n' > $PREFIX/etc/conda/activate.d/env_vars.sh
printf '#/bin/sh\n\nunset LD_LIBRARY_PATH' > $PREFIX/etc/conda/deactivate.d/env_vars.sh
fi

pushd libsbcl
mkdir build
cd build
# Build sbcl
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
pushd ../sbcl
rm src/runtime/libsbcl.so
sh install.sh --prefix=$PREFIX
popd
# Build libsbcl
cmake --build .
cmake --install . --prefix=$PREFIX
popd
21 changes: 21 additions & 0 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package:
name: sbcl-librarian

source:
- path: ../sbcl-librarian.asd
- path: ../src
folder: src
- path: ../lib
folder: lib
- git_url: https://github.com/slime/slime.git
folder: slime
- path: build.ps1 # [win]

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- python
- cmake
host:
- sbcl

0 comments on commit f1762c6

Please sign in to comment.