This commit is contained in:
Rongsong Shen 2025-11-15 15:26:03 +08:00
parent c9b5820d80
commit 025abd1480

View file

@ -27,29 +27,45 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-WLQak+5dbD4Zo3EgnW5YVhj5tNPJlkXYdd4lNLzRlq0=";
};
nativeBuildInputs = [ pkgs.roswell ];
buildInputs = with pkgs; [
roswell
patchelf
zstd
# asdf-vm
];
propagatedBuildInputs = with pkgs; [
zstd
];
doCheck = true;
configurePhase = ''
mkdir -p .roswell
cat >.roswell/init.lisp <<EOF
(format nil "Hell,world~%")
;;(push "$src" asdf:*central-registry*)
EOF
true
'';
buildPhase = ''
set +e
set -x
cat .roswell/init.lisp
export ROSWELL_HOME=$PWD/.roswell
export HOME=$TMP
ros setup
# find /build/.roswell
# echo running
sh -x ros version
find .
find /build/source
# ros build $src/roswell/uem.ros
mkdir -p $out
cp .roswell/init.lisp $out
ros use sbcl-bin/system
export ASDF_CENTRAL_REGISTRY="$src"
cat >$ROSWELL_HOME/init.lisp <<EOF
(ros:ensure-asdf)
(push (uiop:ensure-directory-pathname "$src/") asdf:*central-registry*)
EOF
cat $ROSWELL_HOME/init.lisp
cp -Rf $src/roswell .
ros build roswell/uem.ros --disable-compression
'';
installPhase = ''
mkdir -p $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
'';
})