guix-devel
[Top][All Lists]
Advanced

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

Re: Packaging Namazu


From: Danny Milosavljevic
Subject: Re: Packaging Namazu
Date: Fri, 19 Jan 2018 10:18:29 +0100

Hi Chris,

it was surprisingly difficult to get it to work, but here's a newer version.  
Could you try it out?

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <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 namazu)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages base)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages perl-check)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system perl))

(define-public kakasi
  (package
   (name "kakasi")
   (version "2.3.6")
   (source (origin
            (method url-fetch)
            (uri (string-append "http://kakasi.namazu.org/stable/";;
                                name "-" version ".tar.gz"))
            (sha256
             (base32
              "14qqjr24p5s4dashr3ikp5gx8g789b8q4bc22ksh7h0ravypchh0"))))
   (build-system gnu-build-system)
   (arguments
    `(#:phases
      (modify-phases %standard-phases
        (add-after 'unpack 'fix-tests
          (lambda _
            ;; Warning: tests have ESC characters in it.
            (for-each
              (lambda (file-name)
                ;; Force "sh" shell to use non-built-in echo.
                (invoke "sed" "-i" file-name "-e" "s#/bin/echo#`which echo`#g"))
              (find-files "tests" ".*"))
            #t))
        (add-before 'check 'setenv-tests
          (lambda _
            (setenv "CC" (which "gcc"))
            #t)))))
   (native-inputs
    `(("which" ,which)))
   (synopsis "Convert Kanji to Kana/Romaji")
   (description
    "KAKASI is the language processing filter to convert Kanji characters
to Hiragana, Katakana or Romaji and may be helpful to read Japanese
documents.")
   (license license:gpl2+)
   (home-page "http://kakasi.namazu.org/";)))

(define-public perl-text-kakasi
  (package
    (name "perl-text-kakasi")
    (version "2.04")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://cpan/authors/id/D/DA/"
                           "DANKOGAI/Text-Kakasi-" version ".tar.gz"))
       (sha256
        (base32
         "186v4ibdafag1spyfx8anhlprpl8yj35m6820yfbigx4igkh2k44"))))
    (build-system perl-build-system)
    (native-inputs
     `(("perl-test-harness" ,perl-test-harness)))
    (inputs
     `(("kakasi" ,kakasi)))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-paths
           (lambda* (#:key inputs #:allow-other-keys)
             ;; TODO Use PERL_MM_OPT and stop patching files, if possible.
             (let ((kakasi (assoc-ref inputs "kakasi")))
               (substitute* "Makefile.PL"
                 (("/usr/local") kakasi)
                 (("-lkakasi") (string-append "-Wl,-rpath=" kakasi "/lib"
                                              " -lkakasi"))))
             #t)))))
    (home-page "http://search.cpan.org/dist/Text-Kakasi";)
    (synopsis "Perl frontend to kakasi")
    (description
     "@code{Text::Kakasi} provides an interface to kakasi.
Kakasi is a set of programs and libraries which does what
Japanese input methods do in reverse order.  You feed Japanese
and kakasi converts it to phonetic representation thereof.
Kakasi can also be used to tokenizing Japanese text.")
    (license license:gpl2)))




reply via email to

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