diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/p2p/mldonkey/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/p2p/mldonkey/default.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/p2p/mldonkey/default.nix b/nixpkgs/pkgs/applications/networking/p2p/mldonkey/default.nix new file mode 100644 index 000000000000..629e748fcacf --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/p2p/mldonkey/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, ocamlPackages, zlib, bzip2, ncurses, file, gd, libpng, libjpeg }: + +stdenv.mkDerivation (rec { + name = "mldonkey-3.1.6"; + + src = fetchurl { + url = https://github.com/ygrek/mldonkey/releases/download/release-3-1-6/mldonkey-3.1.6.tar.bz2; + sha256 = "0g84islkj72ymp0zzppcj9n4r21h0vlghnq87hv2wg580mybadhv"; + }; + + preConfigure = stdenv.lib.optionalString (ocamlPackages.camlp4 != null) '' + substituteInPlace Makefile --replace '+camlp4' \ + '${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4' + ''; + + buildInputs = [ zlib ncurses bzip2 file gd libpng libjpeg ] ++ + (with ocamlPackages; [ ocaml camlp4 ]); + configureFlags = [ "--disable-gui" ]; + + meta = { + description = "Client for many p2p networks, with multiple frontends"; + homepage = http://mldonkey.sourceforge.net/; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + }; +} // (if !ocamlPackages.ocaml.nativeCompilers then +{ + # Byte code compilation (the ocaml opt compiler is not supported in some platforms) + buildPhase = "make mlnet.byte"; + installPhase = '' + mkdir -p $out/bin + cp mlnet.byte $out/bin/mlnet + ''; + + # ocaml bytecode selfcontained binaries loose the bytecode if stripped + dontStrip = true; +} else {})) |