nixpkgs/pkgs/development/compilers/neko/default.nix
sternenseemann f8544f96f1 neko: try to list applying licenses more accurately
As a side note: This change shows why `with` can be dangerous business:
It doesn't shadow any existing bindings which can be unexpected. If I
were to use with licenses; [ … ] here, zlib in the with block would
actually be the zlib passed via the function arguments instead of the
zlib from licenses which would be expected. This was what caused the
previous eval error.
2021-03-25 22:11:00 +01:00

50 lines
1.7 KiB
Nix

{ lib, stdenv, fetchFromGitHub, boehmgc, zlib, sqlite, pcre, cmake, pkg-config
, git, apacheHttpd, apr, aprutil, libmysqlclient, mbedtls, openssl, pkgs, gtk2, libpthreadstubs
}:
stdenv.mkDerivation rec {
pname = "neko";
version = "2.3.0";
src = fetchFromGitHub {
owner = "HaxeFoundation";
repo = "neko";
rev = "v${lib.replaceStrings [ "." ] [ "-" ] version}";
sha256 = "19rc59cx7qqhcqlb0znwbnwbg04c1yq6xmvrwm1xi46k3vxa957g";
};
nativeBuildInputs = [ cmake pkg-config git ];
buildInputs =
[ boehmgc zlib sqlite pcre apacheHttpd apr aprutil
libmysqlclient mbedtls openssl libpthreadstubs ]
++ lib.optional stdenv.isLinux gtk2
++ lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security
pkgs.darwin.apple_sdk.frameworks.Carbon];
cmakeFlags = [ "-DRUN_LDCONFIG=OFF" ];
installCheckPhase = ''
bin/neko bin/test.n
'';
doInstallCheck = true;
dontPatchELF = true;
dontStrip = true;
meta = with lib; {
description = "A high-level dynamically typed programming language";
homepage = "https://nekovm.org";
license = [
# list based on https://github.com/HaxeFoundation/neko/blob/v2-3-0/LICENSE
licenses.gpl2Plus # nekoc, nekoml
licenses.lgpl21Plus # mysql.ndll
licenses.bsd3 # regexp.ndll
licenses.zlib # zlib.ndll
licenses.asl20 # mod_neko, mod_tora, mbedTLS
licenses.mit # overall, other libs
"https://github.com/HaxeFoundation/neko/blob/v2-3-0/LICENSE#L24-L40" # boehm gc
];
maintainers = [ maintainers.marcweber maintainers.locallycompact ];
platforms = platforms.linux ++ platforms.darwin;
};
}