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+)))
8b3ee8ae5b6cde1b7ed5bf50cf7127b'>system, home: Factorize default '.bashrc'....* gnu/system/shadow.scm (%default-bashrc): New variable. Source /etc/bashrc only if it exists. (default-skeletons): Use it. * gnu/home/services/shells.scm (guix-bashrc): Remove. (add-bash-configuration): Refer to '%default-bashrc' instead. Ludovic Courtès 2022-12-02home: services: Use 'match-record' instead of 'match'....* gnu/home/services/mcron.scm (home-mcron-shepherd-services): Use 'match-record' instead of 'match'. * gnu/home/services/shells.scm (home-bash-extensions): Likewise. * gnu/home/services/xdg.scm (serialize-xdg-desktop-entry): Likewise. Ludovic Courtès 2022-11-17Fix problems initially introduced in commit 543d971ed2, now reinstated....Commit 543d971ed2 ("services: configuration: Re-order generated record fields") introduced two regressions, one in guix home and another one in the zabbix service. * gnu/home/services/shells.scm (home-bash-extensions): Remove the first pattern in the match, which used to be to ignore %location. * gnu/services/monitoring.scm (zabbix-front-end-nginx-extension): Likewise. Maxim Cournoyer 2022-07-14home: services: environment-variables: Double-quote values....Fixes <https://issues.guix.gnu.org/54469>. Reported by Maxime Devos <maximedevos@telenet.be>. * gnu/home/services.scm (environment-variable-shell-definitions): New procedure, with code formerly in 'serialize-posix-env-vars'. (environment-variables->setup-environment-script): Change "setup-environment" from 'mixed-text-file' to 'computed-file', and use 'environment-variable-shell-definitions'. * tests/guix-home.sh: Test it. * gnu/home/services/shells.scm (serialize-posix-env-vars): Delegate to 'environment-variable-shell-definitions'. Ludovic Courtès 2022-07-14home: services: shells: Double-quote environment variable values....Fixes <https://issues.guix.gnu.org/56540>. Until now, environment variable values were emitted unquoted, producing invalid shell code if the value contains spaces for example. * gnu/home/services/shells.scm (serialize-posix-env-vars): Define 'shell-quote' procedure in staged code and use it for #$value. * tests/guix-home.sh: Add test for PS1 variable with a value containing spaces. Ludovic Courtès 2022-07-14home: services: shell: Do not use "setup" as a verb....* gnu/home/services/shells.scm (zsh-file-zprofile) (add-bash-configuration): Do not use "setup" as a word in generated files. End sentences with a period. Ludovic Courtès 2022-06-29home: services: shells: Export Fish environment variables....Variables set in the Fish configuration weren't previously being exported. * gnu/home/services/shells.scm (serialize-fish-env-vars): Output the `set -x` command instead of `set`. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-04-29home: shells: Migrate fish to xdg-configuration-files....* gnu/home/services/shells.scm (home-fish-service-type): Use new xdg-configuration-files-service-type service. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bastien Rivière 2022-04-29home: services: fish: Fix incorrect ".config" file name....This is a followup to 5832d9fb601c7d4ec5380654db2b62b906bc658f. * gnu/home/services/shells.scm (fish-files-service): Change "config/" to ".config/". Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maya 2022-04-11home: shells: Rename zsh related functions....* gnu/home/services/shells.scm (home-zsh-service-type): Make zsh related private functions more consistently named. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin 2022-04-08home: symlink-manager: Remove appending of leading dot....* gnu/home/services.scm (xdg-configuration-files-directory): Add leading dot. * gnu/home/services.scm (xdg-configuration-files-service-type): Change name. * gnu/home/services/shells.scm (add-shell-profile-file, zsh-get-configuration-files, add-zsh-dot-configuration, add-zsh-xdg-configuration, add-bash-configuration): Add leading dots. * gnu/home/services/symlink-manager.scm (update-symlinks-script): Remove leading dot. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin 2022-04-03home: services: zsh: Fix zshenv creation....Fixes a regression introduced by 4935501fd9f690d8990bb798237d51702b87fb3f that would skip generating the user's ~/.config/zsh/.zshenv unless both of zshenv and environment-variables are set in the configuration. * gnu/home/services/shells.scm (zsh-get-configuration-files): Generate ~/.config/zsh/.zshenv when only one of zshenv or environment-variables is specified. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brian Kubisiak 2022-03-20home: shells: Migrate zsh to xdg-configuration-files....* gnu/home/services.scm (home-zsh-service-type): Additionally extend home-xdg-configuration-files-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin