This commit is contained in:
Rongsong Shen 2025-11-16 16:46:31 +08:00
parent 025abd1480
commit e887f0e3d4

View file

@ -30,8 +30,8 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
roswell roswell
patchelf patchelf
sbcl
zstd zstd
# asdf-vm
]; ];
propagatedBuildInputs = with pkgs; [ propagatedBuildInputs = with pkgs; [
@ -39,33 +39,29 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
doCheck = true; doCheck = true;
dontStrip = true;
configurePhase = '' configurePhase = ''
true export ROSWELL_HOME=$PWD/.roswell
export HOME=$TMP
ros setup
ros use sbcl-bin/system
''; '';
buildPhase = '' buildPhase = ''
set +e set +e
set -x set -x
export ROSWELL_HOME=$PWD/.roswell
export HOME=$TMP
ros setup
ros use sbcl-bin/system
export ASDF_CENTRAL_REGISTRY="$src"
cat >$ROSWELL_HOME/init.lisp <<EOF cat >$ROSWELL_HOME/init.lisp <<EOF
(ros:ensure-asdf) (ros:ensure-asdf)
(push (uiop:ensure-directory-pathname "$src/") asdf:*central-registry*) (push (uiop:ensure-directory-pathname "$src/") asdf:*central-registry*)
EOF EOF
cat $ROSWELL_HOME/init.lisp cat $ROSWELL_HOME/init.lisp
cp -Rf $src/roswell . cp -Rf $src/roswell .
ros build roswell/uem.ros --disable-compression ros build roswell/uem.ros
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp roswell/uem $out/bin cp roswell/uem $out/bin
SBCL_LIB_PATH=$(find $ROSWELL_HOME -type d -name "lib")
ZSTD_LIB_PATH=${pkgs.zstd}/lib
patchelf --set-rpath "$SBCL_LIB_PATH:$ZSTD_LIB_PATH:$out/bin" $out/bin/uem
''; '';
}) })