lol

Merge pull request #4697 from jirkamarsik/acgtk

Added acgtk-1.1 and dependencies ansiterminal-0.6.5 and bolt-1.4

+172
+5
lib/licenses.nix
··· 87 87 fullName = "Common Development and Distribution License 1.0"; 88 88 }; 89 89 90 + cecill20 = spdx { 91 + shortName = "CECILL-2.0"; 92 + fullName = "CeCILL Free Software License Agreement v2.0"; 93 + }; 94 + 90 95 cecill-b = spdx { 91 96 shortName = "CECILL-B"; 92 97 fullName = "CeCILL-B Free Software License Agreement";
+1
lib/maintainers.nix
··· 73 73 jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>"; 74 74 jcumming = "Jack Cummings <jack@mudshark.org>"; 75 75 jgeerds = "Jascha Geerds <jg@ekby.de>"; 76 + jirkamarsik = "Jirka Marsik <jiri.marsik89@gmail.com>"; 76 77 joamaki = "Jussi Maki <joamaki@gmail.com>"; 77 78 joelteon = "Joel Taylor <me@joelt.io>"; 78 79 jwiegley = "John Wiegley <johnw@newartisans.com>";
+51
pkgs/applications/science/logic/acgtk/default.nix
··· 1 + { stdenv, fetchurl, ocaml, findlib, dypgen, bolt, ansiterminal, 2 + buildBytecode ? true, 3 + buildNative ? true, 4 + installExamples ? true, 5 + installEmacsMode ? true }: 6 + 7 + let inherit (stdenv.lib) getVersion versionAtLeast 8 + optionals optionalString; in 9 + 10 + assert versionAtLeast (getVersion ocaml) "3.07"; 11 + assert versionAtLeast (getVersion dypgen) "20080925"; 12 + assert versionAtLeast (getVersion bolt) "1.4"; 13 + 14 + assert buildBytecode || buildNative; 15 + 16 + stdenv.mkDerivation { 17 + 18 + name = "acgtk-1.1"; 19 + 20 + src = fetchurl { 21 + url = "http://www.loria.fr/equipes/calligramme/acg/software/acg-1.1-20140905.tar.gz"; 22 + sha256 = "1k1ldqg34bwmgdpmi9gry9czlsk85ycjxnkd25fhlf3mmgg4n9p6"; 23 + }; 24 + 25 + buildInputs = [ ocaml findlib dypgen bolt ansiterminal ]; 26 + 27 + patches = [ ./install-emacs-to-site-lisp.patch 28 + ./use-nix-ocaml-byteflags.patch ]; 29 + 30 + # The bytecode executable is dependent on the dynamic library provided by 31 + # ANSITerminal. We can use the -dllpath flag of ocamlc (analogous to 32 + # -rpath) to make sure that ocamlrun is able to link the library at 33 + # runtime and that Nix detects a runtime dependency. 34 + NIX_OCAML_BYTEFLAGS = "-dllpath ${ansiterminal}/lib/ocaml/${getVersion ocaml}/site-lib/ANSITerminal"; 35 + 36 + buildFlags = optionalString buildBytecode "byte" 37 + + " " 38 + + optionalString buildNative "opt"; 39 + 40 + installTargets = "install" 41 + + " " + optionalString installExamples "install-examples" 42 + + " " + optionalString installEmacsMode "install-emacs"; 43 + 44 + meta = with stdenv.lib; { 45 + homepage = "http://www.loria.fr/equipes/calligramme/acg"; 46 + description = "A toolkit for developing ACG signatures and lexicon"; 47 + license = licenses.cecill20; 48 + platforms = ocaml.meta.platforms; 49 + maintainers = [ maintainers.jirkamarsik ]; 50 + }; 51 + }
+23
pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch
··· 1 + --- acg-1.1-20140905/Makefile.in 2014-10-24 15:21:39.442287208 +0200 2 + +++ acg-1.1-20140905/Makefile.in.new 2014-10-24 15:24:58.557117228 +0200 3 + @@ -35,6 +35,7 @@ 4 + ACGC_DIR=src/acg-data 5 + 6 + DATA_DIR=@datarootdir@/acgtk 7 + +EMACS_DIR=@prefix@/share/emacs/site-lisp 8 + 9 + 10 + 11 + @@ -82,10 +83,10 @@ 12 + rm -r $(DATA_DIR) 13 + 14 + install-emacs: 15 + - mkdir -p $(DATA_DIR) && cp -r emacs $(DATA_DIR)/. 16 + + mkdir -p $(EMACS_DIR) && cp emacs/acg.el $(EMACS_DIR) 17 + 18 + uninstall-emacs: 19 + - rm -rf $(DATA_DIR)/emacs 20 + + rm -rf $(EMACS_DIR)/emacs 21 + 22 + install-examples: 23 + mkdir -p $(DATA_DIR) && cp -r examples $(DATA_DIR)/.
+11
pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch
··· 1 + --- acg-1.1-20140905/src/Makefile.master.in 2014-10-27 10:59:42.263382081 +0100 2 + +++ acg-1.1-20140905/src/Makefile.master.in.new 2014-10-27 10:59:59.683597972 +0100 3 + @@ -23,7 +23,7 @@ 4 + # All warnings are treated as errors 5 + WARNINGS = @OCAML09WARNINGS@ -warn-error A 6 + COMMONFLAGS= $(WARNINGS) @TYPES@ 7 + -BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG) 8 + +BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG) $(NIX_OCAML_BYTEFLAGS) 9 + OPTFLAGS = $(COMMONFLAGS) 10 + LFLAGS= -a 11 +
+34
pkgs/development/ocaml-modules/ansiterminal/default.nix
··· 1 + { stdenv, fetchurl, ocaml, findlib }: 2 + 3 + stdenv.mkDerivation { 4 + 5 + name = "ansiterminal-0.6.5"; 6 + 7 + src = fetchurl { 8 + url = "https://forge.ocamlcore.org/frs/download.php/1206/ANSITerminal-0.6.5.tar.gz"; 9 + sha256 = "1j9kflv2i16vf9hy031cl6z8hv6791mjbhnd9bw07y1pswdlx1r6"; 10 + }; 11 + 12 + buildInputs = [ ocaml findlib ]; 13 + 14 + configurePhase = "ocaml setup.ml -configure --prefix $out"; 15 + 16 + buildPhase = "ocaml setup.ml -build"; 17 + 18 + installPhase = "ocaml setup.ml -install"; 19 + 20 + createFindlibDestdir = true; 21 + 22 + meta = with stdenv.lib; { 23 + homepage = "https://forge.ocamlcore.org/projects/ansiterminal"; 24 + description = "A module allowing to use the colors and cursor movements on ANSI terminals"; 25 + longDescription = '' 26 + ANSITerminal is a module allowing to use the colors and cursor 27 + movements on ANSI terminals. It also works on the windows shell (but 28 + this part is currently work in progress). 29 + ''; 30 + license = licenses.lgpl3; 31 + platforms = ocaml.meta.platforms; 32 + maintainers = [ maintainers.jirkamarsik ]; 33 + }; 34 + }
+41
pkgs/development/ocaml-modules/bolt/default.nix
··· 1 + { stdenv, fetchurl, ocaml, findlib, which }: 2 + 3 + let inherit (stdenv.lib) getVersion versionAtLeast; in 4 + 5 + assert versionAtLeast (getVersion ocaml) "4.00.0"; 6 + assert versionAtLeast (getVersion findlib) "1.3.3"; 7 + 8 + stdenv.mkDerivation rec { 9 + 10 + name = "bolt-1.4"; 11 + 12 + src = fetchurl { 13 + url = "https://forge.ocamlcore.org/frs/download.php/1043/${name}.tar.gz"; 14 + sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy"; 15 + }; 16 + 17 + buildInputs = [ ocaml findlib which ]; 18 + 19 + # The custom `configure` script does not expect the --prefix 20 + # option. Installation is handled by ocamlfind. 21 + dontAddPrefix = true; 22 + 23 + createFindlibDestdir = true; 24 + 25 + buildFlags = "all"; 26 + 27 + doCheck = true; 28 + checkTarget = "tests"; 29 + 30 + meta = with stdenv.lib; { 31 + homepage = "http://bolt.x9c.fr"; 32 + description = "A logging tool for the OCaml language"; 33 + longDescription = '' 34 + Bolt is a logging tool for the OCaml language. It is inspired by and 35 + modeled after the famous log4j logging framework for Java. 36 + ''; 37 + license = licenses.lgpl3; 38 + platforms = ocaml.meta.platforms; 39 + maintainers = [ maintainers.jirkamarsik ]; 40 + }; 41 + }
+6
pkgs/top-level/all-packages.nix
··· 3482 3482 in rec { 3483 3483 inherit ocaml; 3484 3484 3485 + acgtk = callPackage ../applications/science/logic/acgtk { }; 3486 + 3487 + ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { }; 3488 + 3489 + bolt = callPackage ../development/ocaml-modules/bolt { }; 3490 + 3485 3491 camlidl = callPackage ../development/tools/ocaml/camlidl { }; 3486 3492 3487 3493 camlp4 =