diff --git a/pkgs/tools/package-management/smlpkg/default.nix b/pkgs/tools/package-management/smlpkg/default.nix new file mode 100644 index 00000000000..f3f7750f1bd --- /dev/null +++ b/pkgs/tools/package-management/smlpkg/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, fetchFromGitHub, mlton, unzip }: + +stdenv.mkDerivation rec { + pname = "smlpkg"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "diku-dk"; + repo = "smlpkg"; + rev = "v${version}"; + sha256 = "1xmbdnfc34ia0a78dhkfv5jyadxndinhw8c47l1mjd4l7n8vqnph"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ mlton ]; + + # Set as an environment variable in all the phase scripts. + MLCOMP = "mlton"; + + buildFlags = ["all"]; + installFlags = ["prefix=$(out)"]; + + doCheck = true; + + checkInputs = [ unzip ]; + + # We cannot run the pkgtests, as Nix does not allow network + # connections. + checkPhase = '' + runHook preCheck + make -C src test + runHook postCheck + ''; + + meta = with lib; { + description = "Generic package manager for Standard ML libraries and programs"; + homepage = "https://github.com/diku-dk/smlpkg"; + license = licenses.mit; + maintainers = with maintainers; [ athas ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fb8b0cd463..fb4d547040b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10887,6 +10887,8 @@ in smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; smlnj = callPackage ../development/compilers/smlnj { }; + smlpkg = callPackage ../tools/package-management/smlpkg { }; + solc = callPackage ../development/compilers/solc { }; souffle = callPackage ../development/compilers/souffle {