aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016, 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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 fribidi)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses)
  #:use-module (gnu packages))

(define-public fribidi
  (package
    (name "fribidi")
    (version "1.0.12")
    (source
      (origin
        (method url-fetch)
        (uri
         (string-append "https://github.com/fribidi/fribidi/releases"
                        "/download/v" version "/fribidi-" version
                         ".tar.xz"))
        (sha256
         (base32 "159l56c48rfcqa8mnxhnynngzlzmvr089ki7mjrppin8gzwk7lhc"))))
    (build-system gnu-build-system)
    (synopsis "Implementation of the Unicode bidirectional algorithm")
    (description
     "GNU FriBidi is an implementation of the Unicode Bidirectional
Algorithm.  This algorithm is used to properly display text in left-to-right
or right-to-left ordering as necessary.")
    (home-page "https://github.com/fribidi/fribidi")
    (license lgpl2.1+)))

(define-public bidiv
  (package
    (name "bidiv")
    (version "1.5")
    (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://debian/pool/main/b/bidiv/bidiv_"
                            version ".orig.tar.gz"))
        (sha256
         (base32
          "05p5m2ihxbmc1qsgs8rjlww08fy9859fhl7xf196p8g5qygqd7cv"))
        (patches (search-patches "bidiv-update-fribidi.patch"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (delete 'configure) ; no configure
         (add-after 'unpack 'misc-fixes
           (lambda _
             (substitute* "bidiv.c"
               (("FriBidiCharType") "FriBidiParType")
               (("&c") "(char *)&c"))
             #t))
         ;; We don't want to use the handwritten makefile
         (replace 'build
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((fribidi (assoc-ref inputs "fribidi")))
               (invoke "gcc" "-o" "bidiv" "bidiv.c"
                       ;; pkg-config --cflags fribidi
                       (string-append "-I" fribidi "/include/fribidi")
                       ;; pkg-config --libs fribidi
                       (string-append "-L" fribidi "/lib") "-lfribidi"))))
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (bin (string-append out "/bin"))
                    (man (string-append out "/share/man/man1")))
               (install-file "bidiv" bin)
               (install-file "bidiv.1" man))
             #t)))
       #:tests? #f)) ; no tests
    (inputs
     (list fribidi))
    (home-page "https://tracker.debian.org/pkg/bidiv")
    (synopsis "BiDi viewer - command-line tool displaying logical Hebrew/Arabic")
    (description "bidiv is a simple utility for converting logical-Hebrew input
to visual-Hebrew output.  This is useful for reading Hebrew mail messages,
viewing Hebrew texts, etc.  It was written for Hebrew but Arabic (or other BiDi
languages) should work equally well.")
    (properties
     '((release-monitoring-url . "https://deb.debian.org/debian/pool/main/b/bidiv")))
    (license gpl2+)))
.* gnu/packages/multiprecision.scm (libtommath): Update to 1.2.0. [arguments]: Update custom 'prepare-build for new version. Update custom 'check phase to use test-target keyword. (libtommath@1.1): New variable. (libtommath@1.0)[inherit]: Inherit from libtommath@1.1. Efraim Flashner 2019-08-13Merge branch 'master' into core-updatesMarius Bakke 2019-08-03gnu: mpfi: Use @acronym{} in Texinfo....* gnu/packages/multiprecision.scm (mpfi)[description]: Substitute @acronym{} for @dfn{}. Tobias Geerinckx-Rice 2019-08-03gnu: mpc: Use @acronym{} in Texinfo....* gnu/packages/multiprecision.scm (mpc)[description]: Substitute @acronym{} for @dfn{}. Tobias Geerinckx-Rice 2019-08-03gnu: mpfr: Use @acronym{} in Texinfo....* gnu/packages/multiprecision.scm (mpfr)[description]: Substitute @acronym{} for @dfn{}. Tobias Geerinckx-Rice 2019-08-03gnu: gmp: Use @acronym{} in Texinfo....* gnu/packages/multiprecision.scm (gmp)[description]: Substitute @acronym{} for @dfn{}. Tobias Geerinckx-Rice 2019-05-25Merge branch 'staging' into core-updatesMarius Bakke 2019-05-17gnu: qd: Update source and home page....The tarball has been updated in place with only documentation changes. * gnu/packages/multiprecision.scm (qd)[source]: Update URL and hash. [home-page]: Update URL. Tobias Geerinckx-Rice 2019-03-23Merge branch 'staging' into core-updatesMarius Bakke 2019-03-23gnu: Add libtommath-1.0....* gnu/packages/multiprecision.scm (libtommath-1.0): New variable. Efraim Flashner 2019-02-24Merge branch 'staging' into core-updatesMarius Bakke 2019-02-24gnu: qd: Update to 2.3.22....* gnu/packages/multiprecision.scm (qd): Update to 2.3.22. Tobias Geerinckx-Rice 2019-02-24gnu: Add libtommath....* gnu/packages/multiprecision.scm (libtommath): New variable. * gnu/packages/patches/libtommath.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Efraim Flashner 2019-02-20Merge branch 'staging' into core-updatesMarius Bakke 2019-02-18gnu: tomsfastmath: Update to 0.13.1....* gnu/packages/multiprecision.scm (tomsfastmath): Update to 0.13.1. [source]: Remove patch. * gnu/packages/patches/tomsfastmath-constness.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Tobias Geerinckx-Rice 2019-02-18gnu: tomsfastmath: Update home page....gnu/packages/multiprecision.scm (tomsfastmath)[home-page]: Update. Tobias Geerinckx-Rice 2019-02-07gnu: mpfr: Update to 4.0.2....* gnu/packages/multiprecision.scm (mpfr): Update to 4.0.2. Marius Bakke 2019-01-25gnu: tomsfastmath: Use INVOKE....* gnu/packages/multiprecision.scm (tomsfastmath)[arguments]: Use INVOKE in "check" phase. Ricardo Wurmus 6b5a1a'>gnu: Remove texinfo@6.6...* gnu/packages/texinfo.scm (texinfo): Update to 6.7. (texinfo-6.7): Remove variable. Marius Bakke 2019-12-31Merge remote-tracking branch 'master' into core-updates.Mathieu Othacehe 2019-12-17gnu: pinfo: Use a source file name....* gnu/packages/texinfo.scm (pinfo)[source]: Add 'file-name'. Efraim Flashner 2019-12-16Revert "gnu: info-reader: Fix cross-compilation."...This reverts commit 614a1e3fa2d731d4719f03912b1b87fb4fd309cb. This is broken on master with the following error: output (`/gnu/store/6rnhfi8zrdajbahbq9ii8bpj7mwfcjba-info-reader-6.6') is not allowed to refer to path `/gnu/store/ziinjmbnq004866mwjrczsk12wf35qb8-perl-5.30.0' build of /gnu/store/nnfvr10713khxp1bkbpwi5wxbj8cm4wb-info-reader-6.6.drv failed View build log at '/var/log/guix/drvs/nn/fvr10713khxp1bkbpwi5wxbj8cm4wb-info-reader-6.6.drv.bz2'. Mathieu Othacehe 2019-12-15gnu: Add pinfo....* gnu/packages/texinfo.scm (pinfo): New variable. Ricardo Wurmus 2019-12-15gnu: texinfo: Add missing include....* gnu/packages/texinfo.scm (info-reader): Fix missing include, introduced by f5d670606354728a453b8cc962c4f85516007d13. Mathieu Othacehe 2019-12-15gnu: info-reader: Fix cross-compilation....* gnu/packages/texinfo.scm (info-reader)[arguments]: Add keep-only-info-reader phase to inherited texinfo package phases, so that fix-cross-configure phase is preserved. Mathieu Othacehe 2019-12-14gnu: info-reader: Fix cross-compilation....* gnu/packages/texinfo.scm (info-reader)[arguments]: Add keep-only-info-reader phase to inherited texinfo package phases, so that fix-cross-configure phase is preserved. Mathieu Othacehe 2019-10-10Merge branch 'master' into core-updatesMathieu Othacehe 2019-09-27Merge branch 'master' into core-updatesMarius Bakke 2019-09-26gnu: texinfo: Add version 6.7....* gnu/packages/texinfo.scm (texinfo-6.7): New variable. Ludovic Courtès 2019-09-24gnu: texinfo-4: Fix cross compilation...* gnu/packages/texinfo.scm (texinfo-4)[native-inputs]: Add automake and native-inputs from texinfo package, [arguments]: Replace outdated config.sub and config.guess by the ones taken from automake above. Also make sure native tools are built before build phase. Pierre-Moana Levesque 2019-09-24gnu: texinfo-5: Fix cross-compilation....* gnu/packages/texinfo.scm (texinfo-5)[native-inputs]: Keep native-inputs from inherited package texinfo. Pierre-Moana Levesque 2019-09-24gnu: texinfo: Fix cross-compilation....* gnu/packages/texinfo.scm (texinfo)[arguments]: Do not reset environment before running configure with the native compiler, in a cross-compilation context, [inputs]: move perl from here ... [native-inputs]: ... to here. Also add ncurses that is needed in a cross-compilation context to build texinfo native tools. Mathieu Othacehe 2019-09-04Revert "gnu: texinfo: Fix cross-compilation."...This causes too many rebuilds for the master branch. This reverts commit 210b6412eeb915bba0848c1a947a24bfc51b9efc. Marius Bakke 2019-09-04gnu: texinfo: Fix cross-compilation....* gnu/packages/texinfo.scm (texinfo)[arguments]: Do not reset environment before running configure with the native compiler, in a cross-compilation context, [inputs]: move perl from here ... [native-inputs]: ... to here. Also add ncurses that is needed in a cross-compilation context to build texinfo native tools. Mathieu Othacehe 2019-02-20gnu: texinfo: Update to 6.6....* gnu/packages/patches/texinfo-perl-compat.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/texinfo.scm (texinfo): Update to 6.6. [source](patches): Remove. Marius Bakke