Add Squeak and Squeaker
This commit is contained in:
parent
7fee5e35fe
commit
cecebbc118
|
@ -25,6 +25,10 @@
|
|||
};
|
||||
|
||||
preserves-tools = final.callPackage ./preserves-tools { rust = rust'; };
|
||||
|
||||
squeak = final.callPackage ./squeak { };
|
||||
squeaker = final.python3Packages.callPackage ./squeaker { };
|
||||
|
||||
syndicate-server =
|
||||
final.callPackage ./syndicate-server { rust = rust'; };
|
||||
};
|
||||
|
@ -35,7 +39,7 @@
|
|||
|
||||
packages = self.lib.mapAttrs (system: pkgs:
|
||||
with pkgs; {
|
||||
inherit preserves-tools syndicate-server;
|
||||
inherit preserves-tools squeak squeaker syndicate-server;
|
||||
inherit (nimPackages) xdg_open_ng;
|
||||
preserves-nim = nimPackages.preserves;
|
||||
preserves-py = python3Packages.preserves;
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper, unzip, alsa-lib, libGL
|
||||
, libpulseaudio, libuuid, nas, openssl, pango, sndio, xorg }:
|
||||
|
||||
let
|
||||
versionA = "6.0alpha";
|
||||
versionB = "21485";
|
||||
versionC = "202112201228";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "squeak";
|
||||
version = "${versionA}-${versionB}-${versionC}";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"http://files.squeak.org/trunk/Squeak${versionA}-${versionB}-64bit/Squeak${versionA}-${versionB}-64bit-${versionC}-Linux-x64.tar.gz";
|
||||
sha256 = "sha256-4E32VJaZyQlE71Z98woiMX5shbaj6/cS0i7uloABANU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
|
||||
|
||||
buildInputs = with xorg; [
|
||||
alsa-lib
|
||||
libGL
|
||||
libICE
|
||||
libSM
|
||||
libX11
|
||||
libXext
|
||||
libXrender
|
||||
libpulseaudio
|
||||
libuuid
|
||||
nas
|
||||
pango
|
||||
sndio
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -a bin $out/lib
|
||||
cp -a shared/* $out/lib
|
||||
makeWrapper $out/lib/squeak $out/bin/squeak \
|
||||
--prefix LD_LIBRARY_PATH ":" "$out/lib:${
|
||||
lib.makeLibraryPath [ openssl ]
|
||||
}" \
|
||||
--set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-64bit.image
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchelf $out/lib/vm-sound-sndio.so \
|
||||
--replace-needed libsndio.so.6.1 libsndio.so
|
||||
'';
|
||||
meta = {
|
||||
description = "Squeak virtual machine and image";
|
||||
homepage = "https://squeak.org/";
|
||||
license = with lib.licenses; [ asl20 mit ];
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, buildPythonApplication, fetchFromGitHub }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "squeaker";
|
||||
version = "unstable-2022-03-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tonyg";
|
||||
repo = pname;
|
||||
rev = "caf2ef0b6d5c3cd211b966d3933d4baa885676b5";
|
||||
hash = "sha256-DXYKT3buaQ0WfebNwdGT3s2eAAKpndmZ3TczCD/alH0=";
|
||||
};
|
||||
|
||||
# TODO: could inject squeak into the wrapper,
|
||||
# but for now let the environment pick the VM
|
||||
# propagatedBuildInputs = [ squeak ];
|
||||
|
||||
dontBuild = true;
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dt $out/bin squeaker
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = src.meta // {
|
||||
description = "Like Docker, but for Squeak";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue