From 9679042278d7353457cb590b02cf27fa3d919af4 Mon Sep 17 00:00:00 2001 From: Al Zohali Date: Fri, 29 Jan 2016 23:30:03 +0300 Subject: [PATCH] nant: init at 20151115 --- .../tools/build-managers/nant/default.nix | 69 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 71 insertions(+) create mode 100644 pkgs/development/tools/build-managers/nant/default.nix diff --git a/pkgs/development/tools/build-managers/nant/default.nix b/pkgs/development/tools/build-managers/nant/default.nix new file mode 100644 index 00000000000..858fc5b48df --- /dev/null +++ b/pkgs/development/tools/build-managers/nant/default.nix @@ -0,0 +1,69 @@ +{ fetchurl, stdenv, fetchFromGitHub, pkgconfig, mono, makeWrapper +, targetVersion ? "4.5" }: + +let + version = "2015-11-15"; + + src = fetchFromGitHub { + owner = "nant"; + repo = "nant"; + rev = "19bec6eca205af145e3c176669bbd57e1712be2a"; + sha256 = "11l5y76csn686p8i3kww9s0sxy659ny9l64krlqg3y2nxaz0fk6l"; + }; + + nant-bootstrapped = stdenv.mkDerivation { + name = "nant-bootstrapped-${version}"; + inherit src; + + buildInputs = [ pkgconfig mono makeWrapper ]; + + buildFlags = "bootstrap"; + + dontStrip = true; + + installPhase = '' + mkdir -p $out/lib/nant-bootstrap + cp -r bootstrap/* $out/lib/nant-bootstrap + + mkdir -p $out/bin + makeWrapper "${mono}/bin/mono" $out/bin/nant \ + --add-flags "$out/lib/nant-bootstrap/NAnt.exe" + ''; + }; + +in stdenv.mkDerivation { + name = "nant-${version}"; + inherit src; + + buildInputs = [ pkgconfig mono makeWrapper nant-bootstrapped ]; + + dontStrip = true; + + buildPhase = '' + nant -t:mono-${targetVersion} + ''; + + installPhase = '' + mkdir -p $out/lib/nant + cp -r build/mono-${targetVersion}.unix/nant-debug/bin/* $out/lib/nant/ + + mkdir -p $out/bin + makeWrapper "${mono}/bin/mono" $out/bin/nant \ + --add-flags "$out/lib/nant/NAnt.exe" + ''; + + meta = with stdenv.lib; { + homepage = http://nant.sourceforge.net; + description = "NAnt is a free .NET build tool"; + + longDescription = '' + NAnt is a free .NET build tool. In theory it is kind of like make without + make's wrinkles. In practice it's a lot like Ant. + ''; + + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zohl ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d8a56bcb179..bf92f2a9bbd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5858,6 +5858,8 @@ let }; }; + nant = callPackage ../development/tools/build-managers/nant { }; + ninja = callPackage ../development/tools/build-managers/ninja { }; nixbang = callPackage ../development/tools/misc/nixbang {