~ruther/guix-local

41e8e07919f844bf83e5ae3ca6cd0cbaa760e1c8 — Julien Lepiller 9 years ago c590f1a
gnu: Add omake.

* gnu/packages/ocaml.scm (omake): New variable.
* gnu/packages/patches/omake-fix-non-determinism.patch: New file.
* gnu/local.mk (dist_patch_DATA): New patch.
3 files changed, 86 insertions(+), 0 deletions(-)

M gnu/local.mk
M gnu/packages/ocaml.scm
A gnu/packages/patches/omake-fix-non-determinism.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 778,6 778,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		\

M gnu/packages/ocaml.scm => gnu/packages/ocaml.scm +44 -0
@@ 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 the OCaml static compilation 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:

@enumerate
@item Support for projects spanning several directories or directory hierarchies.
@item Fast, reliable, automated, scriptable dependency analysis using MD5 digests,
      with full support for incremental builds.
@item 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.
@item Fully scriptable, includes a library that providing support for standard
      tasks in C, C++, OCaml, and LaTeX projects, or a mixture thereof.
@end enumerate")
    (license (list license:lgpl2.1 ; libmojave
                   license:expat ; OMake scripts
                   license:gpl2)))) ; OMake itself, with ocaml linking exception
                                    ; see LICENSE.OMake

A gnu/packages/patches/omake-fix-non-determinism.patch => gnu/packages/patches/omake-fix-non-determinism.patch +41 -0
@@ 0,0 1,41 @@
From 2e7e254160506dc00f1beabf170512a8e932934b Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
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