Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, file, makeDesktopItem, cog32, spur32, spur64 ? "none" }: 2 3stdenv.mkDerivation rec { 4 name = "pharo"; 5 src = ./pharo-vm.sh; 6 inherit cog32 spur32 spur64 file; 7 magic = ./magic; 8 desktopItem = makeDesktopItem { 9 inherit name; 10 desktopName = "Pharo VM"; 11 genericName = "Pharo Virtual Machine"; 12 exec = "pharo %F"; 13 icon = "pharo"; 14 startupNotify = false; 15 categories = [ "Development" ]; 16 mimeTypes = [ "application/x-pharo-image" ]; 17 }; 18 unpackPhase = '' 19 cp $src ./pharo-vm.sh 20 sourceRoot=$PWD 21 ''; 22 buildPhase = '' 23 substituteAllInPlace ./pharo-vm.sh 24 ''; 25 installPhase = '' 26 mkdir -p $out/bin 27 cp pharo-vm.sh $out/bin/pharo 28 chmod +x $out/bin/pharo 29 ''; 30 meta = { 31 description = "Pharo virtual machine (multiple variants)"; 32 33 longDescription = '' 34 Pharo's goal is to deliver a clean, innovative, free open-source 35 Smalltalk-inspired environment. By providing a stable and small core 36 system, excellent dev tools, and maintained releases, Pharo is an 37 attractive platform to build and deploy mission critical applications. 38 39 This package provides a front-end for starting the virtual 40 machine. The command 'pharo-vm' automatically detects the type 41 of image and executes a suitable virtual machine: CogV3, Spur, 42 or Spur64. This makes it easy to open Pharo images because you 43 do not have to worry about which virtual machine variant is 44 required. 45 46 More about the Cog family of virtual machines: 47 http://www.mirandabanda.org/cogblog/about-cog/ 48 ''; 49 50 homepage = "http://pharo.org"; 51 license = lib.licenses.mit; 52 maintainers = [ lib.maintainers.lukego ]; 53 # Pharo VM sources are packaged separately for darwin (OS X) 54 platforms = lib.filter 55 (system: with lib.systems.elaborate { inherit system; }; 56 isUnix && !isDarwin) 57 lib.platforms.mesaPlatforms; 58 }; 59} 60