2022-03-25 14:34:50 +00:00
|
|
|
{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper, unzip, alsa-lib, libGL
|
|
|
|
, libpulseaudio, libuuid, nas, openssl, pango, sndio, xorg }:
|
|
|
|
|
|
|
|
let
|
2022-07-05 12:00:28 +00:00
|
|
|
versionA = "6.0";
|
2022-10-10 15:15:43 +00:00
|
|
|
versionB = "22104";
|
2022-06-22 13:25:21 +00:00
|
|
|
versionC = "202206021410";
|
2022-04-03 02:37:05 +00:00
|
|
|
bits = with stdenv.hostPlatform;
|
|
|
|
if is32bit then
|
|
|
|
"32"
|
|
|
|
else if is64bit then
|
|
|
|
"64"
|
|
|
|
else
|
|
|
|
throw "too many addressing bits";
|
|
|
|
sources = {
|
|
|
|
i686-linux = fetchurl {
|
|
|
|
url =
|
2022-10-10 15:15:43 +00:00
|
|
|
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz";
|
|
|
|
sha256 = "sha256-6o9GCeNsHV+OhHBUCqBmslgUEBrS3XPwsl/p8zgfJQs=";
|
2022-04-03 02:37:05 +00:00
|
|
|
};
|
|
|
|
x86_64-linux = fetchurl {
|
|
|
|
url =
|
2022-07-01 11:26:47 +00:00
|
|
|
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz";
|
2022-10-10 15:15:43 +00:00
|
|
|
sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g=";
|
2022-04-03 02:37:05 +00:00
|
|
|
};
|
|
|
|
};
|
2022-03-25 14:34:50 +00:00
|
|
|
in stdenv.mkDerivation rec {
|
|
|
|
pname = "squeak";
|
|
|
|
version = "${versionA}-${versionB}-${versionC}";
|
|
|
|
|
2022-04-03 02:37:05 +00:00
|
|
|
src = sources.${stdenv.system};
|
2022-03-25 14:34:50 +00:00
|
|
|
|
|
|
|
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 ]
|
|
|
|
}" \
|
2022-04-03 02:37:05 +00:00
|
|
|
--set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image
|
2022-03-25 14:34:50 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
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 ];
|
2022-04-03 02:37:05 +00:00
|
|
|
platforms = builtins.attrNames sources;
|
2022-03-25 14:34:50 +00:00
|
|
|
};
|
|
|
|
}
|