mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
* gnu/packages/iso-codes.scm (python-pycountry-20.7.3): Hide package. [source]: Switch to git-fetch. [native-inputs]: Replace inherited python-poetry-core by python-setuptools. Change-Id: Ie8832b0dddb3f83d14ea43bf80585aa8fa6739d1 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
259 lines
10 KiB
Scheme
259 lines
10 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.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 iso-codes)
|
||
#:use-module ((guix licenses) #:prefix license:)
|
||
#:use-module (guix gexp)
|
||
#:use-module (guix packages)
|
||
#:use-module (guix download)
|
||
#:use-module (guix git-download)
|
||
#:use-module (guix build-system gnu)
|
||
#:use-module (guix build-system pyproject)
|
||
#:use-module (gnu packages check)
|
||
#:use-module (gnu packages gettext)
|
||
#:use-module (gnu packages perl)
|
||
#:use-module (gnu packages python)
|
||
#:use-module (gnu packages python-build)
|
||
#:use-module (gnu packages python-science))
|
||
|
||
(define-public iso-codes/official
|
||
;; This package variant is intended for ‘external’ use, such as users running
|
||
;; ‘guix install’, where any deviation from ISO gospel might be harmful.
|
||
(package
|
||
(name "iso-codes")
|
||
(version "4.5.0")
|
||
(home-page "https://salsa.debian.org/iso-codes-team/iso-codes")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url home-page)
|
||
(commit (string-append "iso-codes-" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1q6x9c5x4x0x4q11iygldsmxdyzhz1mb4n8im76glwsgqsqyjs80"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs
|
||
(list gettext-minimal perl python-wrapper))
|
||
(synopsis "Various ISO standards")
|
||
(description
|
||
"This package provides lists of various ISO standards (e.g. country,
|
||
language, language scripts, and currency names) in one place, rather
|
||
than repeated in many programs throughout the system.
|
||
|
||
Currently there are lists of languages and countries embedded in
|
||
several different programs, which leads to dozens of lists of
|
||
200 languages, translated into more than 30 languages... not
|
||
very efficient.
|
||
|
||
With this package, we create a single \"gettext domain\" for every
|
||
supported ISO standard which contains the translations of
|
||
that domain. It is easy for a programmer to re-use those
|
||
translations instead of maintaining their own translation
|
||
infrastructure. Moreover, the programmer does not need to follow
|
||
changes in the ISO standard and will not work with outdated
|
||
information.")
|
||
(license license:gpl2+))) ; some bits use the lgpl2
|
||
|
||
(define-public iso-codes/pinned
|
||
;; This package should be used universally within Guix, e.g., as an input to
|
||
;; other Guix packages or in the Guix System installer's country selector.
|
||
(hidden-package
|
||
(package
|
||
(inherit iso-codes/official)
|
||
(source
|
||
(origin
|
||
(inherit (package-source iso-codes/official))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
'(begin
|
||
(substitute* (find-files "." "\\.po$")
|
||
(("#.*Name for TWN,.*") "")
|
||
(("^msgid \"Taiwan, .*") "# Guix doesn't use "))
|
||
(substitute* "data/iso_3166-1.json"
|
||
(("(Taiwan), [^\"]*" _ name) name))))))
|
||
(synopsis "Various ISO standards as used by GNU@tie{}Guix"))))
|
||
|
||
(define-public iso-codes
|
||
(package
|
||
(inherit iso-codes/pinned)
|
||
(version "4.17.0")
|
||
(source (origin
|
||
(inherit (package-source iso-codes/pinned))
|
||
(uri (git-reference
|
||
(url (package-home-page iso-codes/pinned))
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name (package-name iso-codes/pinned) version))
|
||
(sha256
|
||
(base32
|
||
"0a77b9aid68vakhsa3l3lx2jav5q9fp7vn50mwmzkr2lkr2l4k41"))))))
|
||
|
||
(define-public python-country-converter
|
||
(package
|
||
(name "python-country-converter")
|
||
(version "1.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch) ;no test data in PyPI archive
|
||
(uri (git-reference
|
||
(url "https://github.com/IndEcol/country_converter")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0i1nlbahfwgx1f5q4ib32539xmc694834s0flzp0wlki0hwzd4rd"))))
|
||
(build-system pyproject-build-system)
|
||
(native-inputs
|
||
(list python-pytest
|
||
python-setuptools
|
||
python-wheel))
|
||
(propagated-inputs
|
||
(list python-pandas))
|
||
(home-page "https://github.com/IndEcol/country_converter")
|
||
(synopsis "Auto conversion from different country name standards")
|
||
(description
|
||
"The country converter (coco) automates the conversion from different
|
||
standards and version of country names. Internally, coco is based on a table
|
||
specifying the different ISO and UN standards per country together with the
|
||
official name and a regular expression which aim to match all English versions
|
||
of a specific country name. In addition, coco includes classification based
|
||
on UN-, EU-, OECD-membership, UN regions specifications, continents and
|
||
various MRIO and IAM databases.
|
||
|
||
Supported classification schemas: APEC, BASIC, BRIC, CC41, CIS, Cecilia 2050
|
||
classification, DACcode, EEA membership, EU membership, EXIOBASE 1
|
||
classification, EXIOBASE 2 classification, EXIOBASE 3 classification, Eora,
|
||
FAOcode, G20, G7, GBDcode, GWcode, IEA, IMAGE, IOC ISO 3166-1 alpha-2, ISO
|
||
3166-1 alpha-3, ISO 3166-1 numeric, MESSAGE 11-region classification, OECD
|
||
membership, REMIND, Schengen region, UN membership, UN numeric code, UN
|
||
region, WIOD classification, ccTLD.")
|
||
(license license:gpl3)))
|
||
|
||
(define-public python-iso639
|
||
(package
|
||
(name "python-iso639")
|
||
(version "0.4.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/noumar/iso639")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "02kx6kr3x43linxqafjlx85zdk04s6ab2fv5ikyglghwr5hsvic4"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
#:test-flags
|
||
#~(list "tests/tests.py"
|
||
"-k" (string-join
|
||
(list
|
||
;; module 'collections' has no attribute 'Iterable'
|
||
"not test_iter"
|
||
;; 'Moroccan Arabic' != 'Arabic'
|
||
"test_logic_part2"
|
||
;; 'Languages' object has no attribute 'indices'
|
||
"test_compare_alpha2"
|
||
"test_compare_bibliographic"
|
||
"test_compare_terminology")
|
||
" and not "))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'check 'configure-tests
|
||
(lambda _
|
||
(setenv "PYTHONPATH"
|
||
(string-append (getcwd) ":"
|
||
(getenv "GUIX_PYTHONPATH"))))))))
|
||
(native-inputs (list python-pycountry python-pytest python-setuptools))
|
||
(home-page "https://github.com/noumar/iso639")
|
||
(synopsis "Python library for ISO 639 standard")
|
||
(description
|
||
"This package provides a Python library for ISO 639 standard that is
|
||
concerned with representation of names for languages and language groups.")
|
||
(license license:agpl3+)))
|
||
|
||
(define-public python-iso3166
|
||
(package
|
||
(name "python-iso3166")
|
||
(version "2.1.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/deactivated/python-iso3166")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0j0bnm4bd23cyb7dga00gb20myg9skylchkw4d23yh31b7a315m8"))))
|
||
(build-system pyproject-build-system)
|
||
(native-inputs (list python-pytest python-setuptools))
|
||
(home-page "https://github.com/deactivated/python-iso3166")
|
||
(synopsis "Self-contained ISO 3166-1 country definitions")
|
||
(description "This package provides the ISO 3166-1 country definitions.")
|
||
(license license:expat)))
|
||
|
||
(define-public python-pycountry
|
||
(package
|
||
(name "python-pycountry")
|
||
(version "24.6.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pycountry/pycountry")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0qs99acz1vsj96s8pcwbnp3z3s01mzzvdayk7fm0nnl6lf3lz1g1"))))
|
||
(build-system pyproject-build-system)
|
||
(native-inputs (list python-poetry-core python-pytest python-pytest-cov))
|
||
(home-page "https://github.com/pycountry/pycountry")
|
||
(synopsis "ISO databases for languages, countries, currencies, etc.")
|
||
(description
|
||
"@code{pycountry} provides the ISO databases for the standards:
|
||
@enumerate
|
||
@item 639-3 (Languages)
|
||
@item 3166 (Countries)
|
||
@item 3166-3 (Deleted Countries)
|
||
@item 3166-2 (Subdivisions of countries)
|
||
@item 4217 (Currencies)
|
||
@item 15924 (Scripts)
|
||
@end enumerate
|
||
It includes a copy from Debian’s pkg-isocodes and makes the data accessible
|
||
through a Python API.")
|
||
(license license:lgpl2.1+)))
|
||
|
||
(define-public python-pycountry-20.7.3
|
||
(hidden-package
|
||
(package
|
||
(inherit python-pycountry)
|
||
(name "python-pycountry")
|
||
(version "20.7.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/pycountry/pycountry")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1aqzbdqvy3pg0x33ay099vriazs28v6kw7fwc8ajg3avdcws2mgm"))))
|
||
(native-inputs (list python-pytest python-pytest-cov python-setuptools)))))
|