;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Chris Marusich ;;; ;;; 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 . (define-module (gnu packages anthy) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public anthy (package (name "anthy") (version "9100h") (source (origin (method url-fetch) ;; The URI does not appear to be easily guessable. For ;; example, you cannot download version "9100g" simply ;; by replacing "9100h" in the URI. (uri "http://tcpdiag.dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz") (sha256 (base32 "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj")))) (build-system gnu-build-system) ;; Anthy also contains elisp modules for using anthy within Emacs. ;; However, these modules are incompatible with the latest version ;; of Emacs. This is because they rely on the presence of ;; last-command-char, which was removed in Emacs 24.3. So, we ;; don't try to install them here at this time. (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ (with-directory-excursion "test" (zero? (system* "./anthy" "--all")))))))) (home-page "http://anthy.osdn.jp/") (synopsis "Japanese input method") (description "Anthy is a Japanese input method for converting hiragana text to mixed kana and kanji. It is written in the C programming language. Anthy stores personal customizations (words it has learned from the user's input, words the user has explicitly added, etc.) in the ~/.anthy/ directory. This package contains the anthy C libraries, the cannadic and alt-cannadic kana dictionaries, as well as command-line tools for using anthy and managing dictionaries.") ;; Most of anthy is lgpl2.1+. However, some files (e.g., from ;; alt-cannadic) use gpl2. See the file "COPYING" in the anthy ;; source for details. (license (list lgpl2.1+ gpl2)))) eadd174c06'>tests: Assume ‘git’ is always available....* tests/channels.scm (gpg+git-available?): Check for ‘gpg-command’ only. Remove all ‘test-skip’ statements. * tests/derivations.scm: Likewise. * tests/git-authenticate.scm: Likewise. * tests/git.scm: Likewise. * tests/import-git.scm: Likewise. Ludovic Courtès 2022-02-14git-authenticate: Ensure the target is a descendant of the introductory commit....Fixes a bug whereby authentication of a commit *not* descending from the introductory commit could succeed, provided the commit verifies the authorization invariant. In the example below, A is a common ancestor of the introductory commit I and of commit X. Authentication of X would succeed, even though it is not a descendant of I, as long as X is authorized according to the '.guix-authorizations' in A: X I \ / A This is because, 'authenticate-repository' would not check whether X descends from I, and the call (commit-difference X I) would return X. In practice that only affects forks because it means that ancestors of the introductory commit already contain a '.guix-authorizations' file. * guix/git-authenticate.scm (authenticate-repository): Add call to 'commit-descendant?'. * tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"): New test. * tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"): New test. * tests/guix-git-authenticate.sh: Expect earlier test to fail since 9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 is not a descendant of $intro_commit. Add new test targeting an ancestor of the introductory commit, and another test targeting the v1.2.0 commit. * doc/guix.texi (Specifying Channel Authorizations): Add a sentence. Ludovic Courtès 2022-02-14git-authenticate: Test introductory commit signature verification....These tests mimic similar tests already in 'tests/channels.scm', but without using the higher-level 'authenticate-channel'. * tests/git-authenticate.scm ("introductory commit, valid signature") ("introductory commit, missing signature") ("introductory commit, wrong signature"): New tests. Ludovic Courtès 2021-12-22tests: Move keys into ./tests/keys/ and add a third ed25519 key....The third key will be used in an upcoming commit. Rename public keys to .pub. * guix/tests/gnupg.scm (%ed25519-3-public-key-file): New variable. (%ed25519-3-secret-key-file): New variable. (%ed25519-2-public-key-file): Renamed from %ed25519bis-public-key-file. (%ed25519-2-secret-key-file): Renamed from %ed25519bis-secret-key-file. * tests/keys/ed25519-3.key: New file. * tests/keys/ed25519-3.sec: New file. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Attila Lendvai