projects/guix·blob python-team · refs

101 lines · 4.0 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <[email protected]>
3;;; Copyright © 2017, 2018 Efraim Flashner <[email protected]>
4;;; Copyright © 2017 Eric Bavier <[email protected]>
5;;; Copyright © 2020 Tobias Geerinckx-Rice <[email protected]>
6;;; Copyright © 2024, 2025 Artyom V. Poptsov <[email protected]>
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages augeas)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix gexp)
26 #:use-module (guix packages)
27 #:use-module (guix download)
28 #:use-module (guix git-download)
29 #:use-module (guix utils)
30 #:use-module (guix build-system gnu)
31 #:use-module (guix build-system pyproject)
32 #:use-module (gnu packages)
33 #:use-module (gnu packages check)
34 #:use-module (gnu packages libffi)
35 #:use-module (gnu packages python-build)
36 #:use-module (gnu packages readline)
37 #:use-module (gnu packages pkg-config)
38 #:use-module (gnu packages xml))
39
40(define-public augeas
41 (package
42 (name "augeas")
43 (version "1.14.1")
44 (source (origin
45 ;; XXX: Project release has moved to GitHub which has
46 ;; pre-generated "configure" script that allows to simplify
47 ;; the package definition. Try to completely build from
48 ;; source, glibc comes as git submodule.
49 (method url-fetch)
50 (uri
51 (string-append
52 "https://github.com/hercules-team/augeas/releases/download/"
53 "release-" version
54 "/augeas-" version ".tar.gz"))
55 (sha256
56 (base32
57 "1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn"))))
58 (build-system gnu-build-system)
59 (propagated-inputs
60 (list libxml2))
61 (native-inputs
62 (list readline pkg-config))
63 (home-page "https://augeas.net")
64 (synopsis "Edit configuration files programmatically")
65 (description
66 "Augeas is a library and command line tool for programmatically editing
67configuration files in a controlled manner. Augeas exposes a tree of all
68configuration settings and a simple local API for manipulating the tree.
69Augeas then modifies underlying configuration files according to the changes
70that have been made to the tree; it does as little modeling of configurations
71as possible, and focuses exclusivley on transforming the tree-oriented syntax
72of its public API to the myriad syntaxes of individual configuration files.")
73 (license license:lgpl2.1+)))
74
75(define-public python-augeas
76 (package
77 (name "python-augeas")
78 (version "1.2.0")
79 (source
80 (origin
81 (method git-fetch)
82 (uri (git-reference
83 (url "https://github.com/hercules-team/python-augeas")
84 (commit (string-append "v" version))))
85 (file-name (git-file-name name version))
86 (sha256
87 (base32 "1l17gl23f5naram1jaab7gjr9bhjdj97fd9sydvs7cmpns91rbrf"))))
88 (build-system pyproject-build-system)
89 (native-inputs
90 (list pkg-config
91 python-pytest
92 python-setuptools
93 python-wheel))
94 (propagated-inputs
95 (list python-cffi))
96 (inputs
97 (list augeas libxml2))
98 (home-page "https://github.com/hercules-team/python-augeas")
99 (synopsis "Python bindings for Augeas")
100 (description "Pure Python bindings for @url{https://augeas.net, Augeas}.")
101 (license license:lgpl2.1+)))