Subject: bug#26157: closed (Re: bug#26157: [PATCH 2/2] gnu: kodi: Update to 18.0_alpha-0-4912f8f.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 20 Mar 2017 22:42:02 +0000

Your bug report

#26157: [PATCH 1/2] gnu: Add fmt.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
26157: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26157
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#26157: [PATCH 2/2] gnu: kodi: Update to 18.0_alpha-0-4912f8f.
From: Marius Bakke <[email-masked]>
To: Leo Famulari <[email-masked]>
Cc: [email-masked]
Date: Mon, 20 Mar 2017 23:41:51 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Leo Famulari <[email-masked]> writes:

> On Mon, Mar 20, 2017 at 05:39:05PM +0100, Marius Bakke wrote:
>> Leo Famulari <[email-masked]> writes:
>> >> +         (add-after 'bootstrap-bundled-software 'patch-stuff
>> >>             (lambda _
>> >> +             ;; Prevent the build scripts from calling autoreconf in
>> >> +             ;; the build stage.  Otherwise, it would undo the careful
>> >> +             ;; bootstrapping that we've worked so hard for.
>> >> +             (substitute* "cmake/modules/FindLibDvd.cmake"
>> >> +               ;; Let's also use this opportunity to make the freshly
>> >> +               ;; unpackaged source directory writable.
>> >> +               (("autoreconf -vif") "chmod -R u+w ."))
>> >
>> > Clever, but perhaps too clever :) I think we should use the Scheme
>> > (chmod) procedure to do this separately, if there is a point where the
>> > files are unpacked between build phases.
>> 
>> Unfortunately, this is the only good opportunity to do this. They are
>> "downloaded", unpacked and bootstrapped from that cmake file, which is
>> invoked in the 'build' phase, and my attempts to wrangle this in a
>> separate phase were unsuccessful (hence the top-level bootstrapped
>> variables). I will make it clearer why we have to do this.
>
> I thought it might be something like this, but I figured I'd suggest
> "the right way" anyways :)

Pushed with a couple of other minor improvements and removed inputs :)

Subject: [PATCH 1/2] gnu: Add fmt.
From: Marius Bakke <[email-masked]>
To: [email-masked]
Cc: Marius Bakke <[email-masked]>
Date: Sat, 18 Mar 2017 16:54:01 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/pretty-print.scm (fmt): New variable.
---
 gnu/packages/pretty-print.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 8819b8ada..6987de1b1 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 Eric Bavier <[email-masked]>
 ;;; Copyright © 2016 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2016 Ricardo Wurmus <[email-masked]>
+;;; Copyright © 2017 Marius Bakke <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module (guix packages)
   #:use-module (guix licenses)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages ghostscript)
@@ -147,6 +149,29 @@ It also includes the capability to perform syntax highlighting for several
 different programming languages.")
     (license gpl3+)))
 
+(define-public fmt
+  (package
+    (name "fmt")
+    (version "3.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/fmtlib/fmt/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bavqm4jr16fv5crs5l2lgpffdbd2vmlydlq78sx878nbavjmrnw"))))
+    (build-system cmake-build-system)
+    (home-page "http://fmtlib.net/latest/")
+    (synopsis "Small, safe and fast C++ formatting library")
+    (description
+     "@code{fmt} (formerly @code{cppformat}) is a formatting library for C++.
+It can be used as a safe alternative to @code{printf} or as a fast alternative
+to @code{IOStreams}.")
+    ;; The library is bsd-2, but documentation and tests include other licenses.
+    (license (list bsd-2 bsd-3 psfl))))
+
 (define-public source-highlight
   (package
     (name "source-highlight")
-- 
2.12.0