From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Lepiller Subject: [PATCH 03/10] gnu: Add omake. Date: Wed, 18 Jan 2017 21:27:55 +0100 Message-ID: <20170118202802.5073-4-julien@lepiller.eu> References: <20170118202802.5073-1-julien@lepiller.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56701) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cTwqI-0005jI-UK for guix-devel@gnu.org; Wed, 18 Jan 2017 15:28:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cTwqH-0008Vs-SR for guix-devel@gnu.org; Wed, 18 Jan 2017 15:28:27 -0500 Received: from dau94-h03-89-91-205-84.dsl.sta.abo.bbox.fr ([89.91.205.84]:39599 helo=skaro.lepiller.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cTwqH-0008VD-DG for guix-devel@gnu.org; Wed, 18 Jan 2017 15:28:25 -0500 Received: from localhost (localhost [127.0.0.1]) by skaro.lepiller.eu (Postfix) with ESMTP id 586027FE72 for ; Wed, 18 Jan 2017 21:28:22 +0100 (CET) Received: from skaro.lepiller.eu ([127.0.0.1]) by localhost (lepiller.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iLzSqXLUfWIJ for ; Wed, 18 Jan 2017 21:28:15 +0100 (CET) Received: from localhost.localdomain (128-79-116-134.hfc.dyn.abo.bbox.fr [128.79.116.134]) by skaro.lepiller.eu (Postfix) with ESMTPSA id 6D8997FF25 for ; Wed, 18 Jan 2017 21:28:10 +0100 (CET) In-Reply-To: <20170118202802.5073-1-julien@lepiller.eu> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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 | 41 ++++++++++++++++= ++++++ .../patches/ocaml-omake-fix-non-determinism.patch | 41 ++++++++++++++++= ++++++ 3 files changed, 83 insertions(+) create mode 100644 gnu/packages/patches/ocaml-omake-fix-non-determinism.= patch diff --git a/gnu/local.mk b/gnu/local.mk index 24dcd03fd..5b919dd86 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -778,6 +778,7 @@ dist_patch_DATA =3D \ %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/ocaml-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..f69f77a7b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1752,3 +1752,44 @@ whole files into OCaml string or string list. The= code generated can be compiled as a standard OCaml file. It allows embedding external resourc= es 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 "ocaml-omake-fix-non-determinism.= patch")))) + (build-system ocaml-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=3D" (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 =3D cc") "CC =3D 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 fe= atures +many additional enhancements, including: + +- Support for projects spanning several directories or directory hierarc= hies. +- Fast, reliable, automated, scriptable dependency analysis using MD5 di= gests, +with full support for incremental builds. +- Dependency analysis takes the command lines into account =E2=80=94 whe= never the +command line used to build a target changes, the target is considered +out-of-date. +- Fully scriptable, includes a library that providing support for stand= ard +tasks in C, C++, OCaml, and LaTeX projects, or a mixture thereof.") + (license (list license:lgpl2.1; libmojave + license:expat; OMake scripts + license:gpl2)))); OMake itself, with an exception diff --git a/gnu/packages/patches/ocaml-omake-fix-non-determinism.patch b= /gnu/packages/patches/ocaml-omake-fix-non-determinism.patch new file mode 100644 index 000000000..813ce3cd7 --- /dev/null +++ b/gnu/packages/patches/ocaml-omake-fix-non-determinism.patch @@ -0,0 +1,41 @@ +From 2e7e254160506dc00f1beabf170512a8e932934b Mon Sep 17 00:00:00 2001 +From: Julien Lepiller +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 =3D "%s" + let obj_magic =3D "%s" + let lib_dir =3D "%s" + let version =3D "%s" +-let version_message =3D "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d = %d]\\n\\ton %s" ++let version_message =3D "OMake %s" + |} + default_save_interval + digest_len +@@ -160,15 +160,7 @@ let version_message =3D "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 =3D %S\n" name value +-- +2.11.0 --=20 2.11.0