diff options
author | Sven Keidel <svenkeidel@googlemail.com> | 2015-03-27 16:59:46 +0100 |
---|---|---|
committer | Sven Keidel <svenkeidel@googlemail.com> | 2015-03-31 00:30:49 +0200 |
commit | fc3a714053df8f47a82e53b723528417da306d2e (patch) | |
tree | 19f50f824d927aadf263660950e0caea812c9b63 | |
parent | a639c710aebe51b395154d7694547ccd1009426f (diff) | |
download | nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar.gz nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar.bz2 nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar.lz nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar.xz nixlib-fc3a714053df8f47a82e53b723528417da306d2e.tar.zst nixlib-fc3a714053df8f47a82e53b723528417da306d2e.zip |
gnu-smalltalk: new package
-rw-r--r-- | pkgs/development/compilers/gnu-smalltalk/default.nix | 50 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix new file mode 100644 index 000000000000..f001de2700da --- /dev/null +++ b/pkgs/development/compilers/gnu-smalltalk/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, pkgconfig, libtool, zip, libffi, libsigsegv, readline, gmp, +gnutls, gnome, cairo, SDL, sqlite }: + +let # The gnu-smalltalk project has a dependency to the libsigsegv library. + # The project ships with sources for this library, but deprecated this option. + # Using the vanilla libsigsegv library results in error: "cannot relocate [...]" + # Adding --enable-static=libsigsegv to the gnu-smalltalk configuration flags + # does not help, the error still occurs. The only solution is to build a + # shared version of libsigsegv. + libsigsegv-shared = stdenv.lib.overrideDerivation libsigsegv (oldAttrs: { + configureFlags = [ "--enable-shared" ]; + }); + +in stdenv.mkDerivation rec { + + version = "3.2.5"; + name = "gnu-smalltalk-${version}"; + + src = fetchurl { + url = "mirror://gnu/smalltalk/smalltalk-${version}.tar.xz"; + sha256 = "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1"; + }; + + # The dependencies and their justification are explained at + # http://smalltalk.gnu.org/download + buildInputs = [ + pkgconfig libtool zip libffi libsigsegv-shared readline gmp gnutls gnome.gtk + cairo SDL sqlite + ]; + + configureFlags = [ "--without-emacs" ]; + + # For some reason the tests fail if executated with nix-build, but pass if + # executed within nix-shell --pure. + doCheck = false; + + meta = with stdenv.lib; { + description = "A free implementation of the Smalltalk-80 language"; + longDescription = '' + GNU Smalltalk is a free implementation of the Smalltalk-80 language. It + runs on most POSIX compatible operating systems (including GNU/Linux, of + course), as well as under Windows. Smalltalk is a dynamic object-oriented + language, well-versed to scripting tasks. + ''; + homepage = http://smalltalk.gnu.org/; + license = with licenses; [ gpl2 lgpl2 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ skeidel ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6331aa8cadd1..8fb9dc89865d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3556,6 +3556,8 @@ let inherit fetchurl stdenv; }); + gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; + gccgo = gccgo48; gccgo48 = wrapCC (gcc48.cc.override { |