unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: Alex Griffin <a@ajgrf.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 1/3] gnu: Add utfcpp.
Date: Sun, 08 May 2016 11:13:35 +0300	[thread overview]
Message-ID: <87h9e9ge6o.fsf@gmail.com> (raw)
In-Reply-To: <1462673439.1215291.601202577.5D6E31AB@webmail.messagingengine.com> (Alex Griffin's message of "Sat, 07 May 2016 21:10:39 -0500")

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 <a@ajgrf.com>
> 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 <a@ajgrf.com>
> +;;;
> +;;; 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

  reply	other threads:[~2016-05-08  8:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-07 18:36 [PATCH 1/3] gnu: Add utfcpp Alex Griffin
2016-05-07 22:19 ` Leo Famulari
2016-05-08  2:10   ` Alex Griffin
2016-05-08  8:13     ` Alex Kost [this message]
2016-05-08 14:43       ` Alex Griffin
2016-05-08 19:42         ` Alex Kost
2016-05-09  3:31         ` Leo Famulari
2016-05-09  8:02           ` Alex Kost
2016-05-10 23:31             ` Alex Griffin
2016-05-12 10:02               ` Alex Kost
2016-05-08 16:12       ` Ludovic Courtès
2016-05-08 19:22         ` Alex Kost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h9e9ge6o.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=a@ajgrf.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).