guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#46223] [PATCH 1/2] gnu: opencolorio: Update to 2.0.0.


From: Efraim Flashner
Subject: [bug#46223] [PATCH 1/2] gnu: opencolorio: Update to 2.0.0.
Date: Mon, 1 Feb 2021 10:35:02 +0200

On Sun, Jan 31, 2021 at 09:48:47PM -0800, Evan Straw wrote:
> Hello Guix!
> 
> This is a series of two patches that will update OpenColorIO to v2.0.0,
> which was released 3 days ago. The first, in this message, will add a
> dependency for OCIO 2.0.0 and the second, which will be sent soon, will
> actually update the package.
> 
> Please let me know if I should make any changes.

Well, you asked for it :)

> Thanks,
> -- Evan Straw <evan.straw99@gmail.com>

> From 3f90b2b1c0e2a1f5266522bdee393a91dba902ac Mon Sep 17 00:00:00 2001
> From: Evan Straw <evan.straw99@gmail.com>
> Date: Sun, 31 Jan 2021 17:07:44 -0800
> Subject: [PATCH 1/2] gnu: Add pystring.
> 
> * gnu/packages/cpp.scm (pystring): New variable.
> ---
>  gnu/packages/cpp.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index ae47490755..9c5269d354 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -16,6 +16,7 @@
>  ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
>  ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
>  ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
> +;;; Copyright © 2021 Evan Straw <evan.straw99@gmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -899,3 +900,57 @@ provides a number of utilities to make coding with 
> expected cleaner.")
>      (description "Magic Enum offers static reflection of enums, with
>  conversions to and from strings, iteration and related functionality.")
>      (license license:expat)))
> +
> +(define-public pystring
> +  (package
> +    (name "pystring")
> +    (version "1.1.3")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/imageworks/pystring";)
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1w31pjiyshqgk6zd6m3ab3xfgb0ribi77r6fwrry2aw8w1adjknf"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:test-target "test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         ;; pystring does not have a configure script
> +         (delete 'configure)
> +         ;; Makefile attempts to install to /usr/lib; change this to the
> +         ;; proper output path
> +         (add-before 'install 'fix-install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (lib (string-append out "/lib")))
> +               (substitute* "Makefile"
> +                 (("LIBDIR = /usr/lib")
> +                  (string-append "LIBDIR = " lib)))
> +               (mkdir-p lib)
> +               #t)))
> +         ;; Makefile does not install the header files for the library;
> +         ;; install them to an "include" directory under the proper output
> +         ;; path
> +         (add-after 'install 'install-header
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (inc (string-append out "/include/pystring")))
> +               (mkdir-p inc)
> +               (copy-file "pystring.h"
> +                          (string-append inc "/pystring.h"))

The source file is pystring.h and the target file is pystring.h, so you
can use install-file instead of mkdir-p and copy-file
(install-file "pystring.h" inc)

A couple of other things: if we don't need the static library
(libpystring.a) then we can drop the install size by quite a bit by not
installing it. For bonus points, if you want, you can replace the calls
to g++ with (cxx-for-target) so it will cross-compile correctly. The
chances that someone will want to cross compile blender is low though.

> +               #t))))))
> +    (native-inputs `(("libtool" ,libtool)))
> +    (home-page "https://github.com/imageworks/pystring";)
> +    (synopsis "C++ functions matching the interface and behavior of Python
> +string methods")
> +    (description "Pystring is a collection of C++ functions which match the
> +interface and behavior of python's string class methods using std::string.

@code{std::string} Also Python is a proper noun so it should be
capitalized

> +Implemented in C++, it does not require or make use of a python interpreter.
> +It provides convenience and familiarity for common string operations not
> +included in the standard C++ library.  It's also useful in environments where
> +both C++ and python are used.")
> +    (license license:bsd-3)))
> -- 
> 2.25.1
> 




-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]