diff options
author | lethalman <lucabru@src.gnome.org> | 2015-04-01 12:03:48 +0200 |
---|---|---|
committer | lethalman <lucabru@src.gnome.org> | 2015-04-01 12:03:48 +0200 |
commit | c1c64f70c64d6f9bb44750f1a0b5124932693f13 (patch) | |
tree | 412a4f2efc2bcb2dd4333826af5db6bb48125b5f | |
parent | 71b04c5b3a9c53ab185c22661b58d6ee32e0fb3a (diff) | |
parent | fc3a714053df8f47a82e53b723528417da306d2e (diff) | |
download | nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar.gz nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar.bz2 nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar.lz nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar.xz nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.tar.zst nixpkgs-c1c64f70c64d6f9bb44750f1a0b5124932693f13.zip |
Merge pull request #7046 from svenkeidel/gnu-smalltalk
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 00000000000..f001de2700d --- /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 e92cff18e53..b8daf0f6ec3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3574,6 +3574,8 @@ let inherit fetchurl stdenv; }); + gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; + gccgo = gccgo48; gccgo48 = wrapCC (gcc48.cc.override { |