[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 03/10] gnu: Add omake.
From: |
Julien Lepiller |
Subject: |
[PATCH 03/10] gnu: Add omake. |
Date: |
Fri, 27 Jan 2017 23:12:21 +0100 |
* gnu/packages/ocaml.scm (omake): New variable.
* gnu/packages/patches/ocaml-omake-fix-non-determinism.patch: New file.
* gnu/local.mk (dist_patch_DATA): New patch.
---
gnu/local.mk | 1 +
gnu/packages/ocaml.scm | 44 ++++++++++++++++++++++
.../patches/omake-fix-non-determinism.patch | 41 ++++++++++++++++++++
3 files changed, 86 insertions(+)
create mode 100644 gnu/packages/patches/omake-fix-non-determinism.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 59fc1a82c..2e3548342 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -775,6 +775,7 @@ dist_patch_DATA =
\
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \
+ %D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openjpeg-CVE-2016-5157.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a2297d1ab..0235ca023 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1752,3 +1752,47 @@ whole files into OCaml string or string list. The code
generated can be
compiled as a standard OCaml file. It allows embedding external resources as
OCaml code.")
(license license:lgpl2.1))); with an exception
+
+(define-public omake
+ (package
+ (name "omake")
+ (version "0.10.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.camlcity.org/download/"
+ "omake-" version ".tar.gz"))
+ (sha256
+ (base32
+ "093ansbppms90hiqvzar2a46fj8gm9iwnf8gn38s6piyp70lrbsj"))
+ (patches (search-patches "omake-fix-non-determinism.patch"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "mk/osconfig_unix.mk"
+ (("CC = cc") "CC = gcc")))))))
+ (native-inputs `(("hevea" ,hevea)))
+ (home-page "http://projects.camlcity.org/projects/omake.html")
+ (synopsis "Build system designed for scalability and portability")
+ (description "Similar to make utilities you may have used, but it features
+many additional enhancements, including:
+
address@hidden
address@hidden Support for projects spanning several directories or directory
hierarchies.
address@hidden Fast, reliable, automated, scriptable dependency analysis using
MD5 digests,
+ with full support for incremental builds.
address@hidden Dependency analysis takes the command lines into account —
whenever the
+ command line used to build a target changes, the target is considered
+ out-of-date.
address@hidden Fully scriptable, includes a library that providing support for
standard
+ tasks in C, C++, OCaml, and LaTeX projects, or a mixture thereof.
address@hidden enumerate")
+ (license (list license:lgpl2.1 ; libmojave
+ license:expat ; OMake scripts
+ license:gpl2)))) ; OMake itself, with ocaml linking
exception
+ ; see LICENSE.OMake
diff --git a/gnu/packages/patches/omake-fix-non-determinism.patch
b/gnu/packages/patches/omake-fix-non-determinism.patch
new file mode 100644
index 000000000..813ce3cd7
--- /dev/null
+++ b/gnu/packages/patches/omake-fix-non-determinism.patch
@@ -0,0 +1,41 @@
+From 2e7e254160506dc00f1beabf170512a8e932934b Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <address@hidden>
+Date: Sat, 31 Dec 2016 15:43:38 +0100
+Subject: [PATCH] fix build date in binary
+
+---
+ src/magic/omake_gen_magic.ml | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/src/magic/omake_gen_magic.ml b/src/magic/omake_gen_magic.ml
+index b2419ba..fad52f5 100644
+--- a/src/magic/omake_gen_magic.ml
++++ b/src/magic/omake_gen_magic.ml
+@@ -150,7 +150,7 @@ let ir_magic = "%s"
+ let obj_magic = "%s"
+ let lib_dir = "%s"
+ let version = "%s"
+-let version_message = "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d
%d]\\n\\ton %s"
++let version_message = "OMake %s"
+ |}
+ default_save_interval
+ digest_len
+@@ -160,15 +160,7 @@ let version_message = "OMake %s:\\n\\tbuild [%s %s %d
%02d:%02d:%02d %d]\\n\\ton
+ (digest_files ".omo.magic" ".omo" omo_files)
+ (String.escaped libdir)
+ (String.escaped (shorten_version version))
+- (String.escaped version)
+- [|"Sun"; "Mon"; "Tue"; "Wed"; "Thu"; "Fri"; "Sat"|].(tm.tm_wday)
+- [|"Jan"; "Feb"; "Mar"; "Apr"; "May"; "Jun"; "Jul"; "Aug"; "Sep";
"Oct"; "Nov"; "Dec"|].(tm.tm_mon)
+- tm.tm_mday
+- tm.tm_hour
+- tm.tm_min
+- tm.tm_sec
+- (tm.tm_year + 1900)
+- (String.escaped (Unix.gethostname ()));
++ (String.escaped version);
+ List.iter
+ (fun (name,value) ->
+ Printf.fprintf buf "let %s = %S\n" name value
+--
+2.11.0
--
2.11.0
- [PATCH 00/10] ocaml patches v2, Julien Lepiller, 2017/01/27
- [PATCH 01/10] gnu: Add ocaml-base64., Julien Lepiller, 2017/01/27
- [PATCH 02/10] gnu: Add ocamlify., Julien Lepiller, 2017/01/27
- [PATCH 04/10] gnu: Add ocaml-batteries., Julien Lepiller, 2017/01/27
- [PATCH 03/10] gnu: Add omake.,
Julien Lepiller <=
- [PATCH 05/10] gnu: Add ocaml-pcre., Julien Lepiller, 2017/01/27
- [PATCH 06/10] gnu: Add ocaml-expect., Julien Lepiller, 2017/01/27
- [PATCH 07/10] gnu: Add ocaml-fileutils., Julien Lepiller, 2017/01/27
- [PATCH 08/10] gnu: Add ocaml-oasis., Julien Lepiller, 2017/01/27
- [PATCH 10/10] gnu: Add ocaml-bin-prot., Julien Lepiller, 2017/01/27
- [PATCH 09/10] gnu: Add ocaml-js-build-tools., Julien Lepiller, 2017/01/27