[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/3] gnu: Add utfcpp.
From: |
Alex Kost |
Subject: |
Re: [PATCH 1/3] gnu: Add utfcpp. |
Date: |
Sun, 08 May 2016 11:13:35 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Alex Griffin (2016-05-08 05:10 +0300) wrote:
> On Sat, May 7, 2016, at 05:19 PM, Leo Famulari wrote:
>> Not a bad idea for a new module, but I wonder if you considered any of
>> the existing modules? Are none of them appropriate?
>
> Nothing else seemed to fit, but I'm open to suggestions.
I suggest (gnu packages textutils); I see 'utf8proc' is placed there. I
think this is also a suitable module for 'libunistring' (currently it is
placed in its own file), but it's a separate question.
> From b91d9f45339b78965af46a951a0922c29cd1de95 Mon Sep 17 00:00:00 2001
> From: Alex Griffin <address@hidden>
> Date: Sat, 7 May 2016 12:16:39 -0500
> Subject: [PATCH 1/3] gnu: Add utfcpp.
>
> * gnu/packages/unicode.scm: New file.
> ---
> gnu/packages/unicode.scm | 63
> ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
> create mode 100644 gnu/packages/unicode.scm
>
> diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm
> new file mode 100644
> index 0000000..e386b0b
> --- /dev/null
> +++ b/gnu/packages/unicode.scm
> @@ -0,0 +1,63 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Alex Griffin <address@hidden>
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu packages unicode)
> + #:use-module ((guix licenses) #:prefix license:)
> + #:use-module (guix packages)
> + #:use-module (guix download)
> + #:use-module (guix build-system trivial)
> + #:use-module (gnu packages zip))
Not a big thing but we indent '#:use-module' by 2 spaces. Out of
curiosity: what editor do you use?
> +
> +(define-public utfcpp
> + (package
> + (name "utfcpp")
> + (version "2.3.4")
> + (source (origin
> + (method url-fetch)
> + (uri
> + (string-append
> + "mirror://sourceforge/project/utfcpp/utf8cpp_2x/Release%20"
> + version "/utf8_v"
> + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
> + ".zip"))
> + (file-name (string-append name "-" version ".zip"))
> + (sha256
> + (base32
> + "1vqhs0aipcvvdrwcs7h3jsryg6mgbmc4s34n5cm6d36q4nxwwwrk"))))
I don't know whether we have an idiomatic way to convert "2.3.4" into
"2_3_4", but I would just use a tarball from github:
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/nemtrif/utfcpp/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1x36184rsxiskwdkkz7hnpp6qvqckl04bxj5db9dnwyii1zx09hs"))))
But let's wait for other opinions.
> + (build-system trivial-build-system)
> + (arguments
> + `(#:modules ((guix build utils))
> + #:builder
> + (begin
> + (use-modules (guix build utils))
> + (let ((source (assoc-ref %build-inputs "source"))
> + (out (assoc-ref %outputs "out"))
> + (unzip (string-append (assoc-ref %build-inputs "unzip")
> + "/bin/unzip")))
> + (mkdir-p out)
> + (with-directory-excursion out
> + (system* unzip source)
> + (mkdir-p "share/doc")
> + (rename-file "doc" "share/doc/utfcpp")
> + (rename-file "source" "include"))))))
> + (native-inputs `(("unzip" ,unzip)))
> + (home-page "https://github.com/nemtrif/utfcpp")
> + (synopsis "Portable C++ library for handling UTF-8")
> + (description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
> + in a portable way.")
Please don't add leading spaces in descriptions :-)
> + (license license:boost1.0)))
--
Alex
- [PATCH 1/3] gnu: Add utfcpp., Alex Griffin, 2016/05/07
- Re: [PATCH 1/3] gnu: Add utfcpp., Leo Famulari, 2016/05/07
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Griffin, 2016/05/07
- Re: [PATCH 1/3] gnu: Add utfcpp.,
Alex Kost <=
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Griffin, 2016/05/08
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Kost, 2016/05/08
- Re: [PATCH 1/3] gnu: Add utfcpp., Leo Famulari, 2016/05/08
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Kost, 2016/05/09
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Griffin, 2016/05/10
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Kost, 2016/05/12
- Re: [PATCH 1/3] gnu: Add utfcpp., Ludovic Courtès, 2016/05/08
- Re: [PATCH 1/3] gnu: Add utfcpp., Alex Kost, 2016/05/08