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 > From 3f90b2b1c0e2a1f5266522bdee393a91dba902ac Mon Sep 17 00:00:00 2001 > From: Evan Straw > 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 > ;;; Copyright © 2020, 2021 Greg Hogan > ;;; Copyright © 2020 Brett Gilio > +;;; Copyright © 2021 Evan Straw > ;;; > ;;; 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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted