gnu: python-trytond-country: Update to 5.6.0.
[jackhill/guix/guix.git] / gnu / packages / tryton.scm
CommitLineData
48174fb9
AP
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
6de7e59f 3;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
48174fb9
AP
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages tryton)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (gnu packages)
ac257f12 23 #:use-module (gnu packages check)
a8714bf6 24 #:use-module (gnu packages databases)
c8b1defe 25 #:use-module (gnu packages finance)
6de7e59f
VM
26 #:use-module (gnu packages glib)
27 #:use-module (gnu packages gnome)
16855482 28 #:use-module (gnu packages gtk)
48174fb9 29 #:use-module (gnu packages python)
d649704e 30 #:use-module (gnu packages python-crypto)
1b2f753d 31 #:use-module (gnu packages python-web)
44d10b1f 32 #:use-module (gnu packages python-xyz)
33dc54b0 33 #:use-module (gnu packages time)
55e1475c 34 #:use-module (gnu packages xml)
48174fb9
AP
35 #:use-module (guix packages)
36 #:use-module (guix download)
106dd72b 37 #:use-module (guix utils)
48174fb9
AP
38 #:use-module (guix build-system python))
39
f38d2b42 40(define-public python-trytond
48174fb9 41 (package
f38d2b42 42 (name "python-trytond")
d649704e 43 (version "5.6.5")
48174fb9
AP
44 (source
45 (origin
46 (method url-fetch)
7e99221d 47 (uri (pypi-uri "trytond" version))
48174fb9 48 (sha256
d649704e 49 (base32 "1n76ccv2x5csz80p42dav8rhzg2m14wdi3bj1pizhw8x2hxxfwx3"))))
48174fb9
AP
50 (build-system python-build-system)
51 (inputs
52 `(("python-dateutil" ,python-dateutil)
53 ("python-genshi" ,python-genshi)
d649704e 54 ("python-lxml" ,python-lxml)
7e99221d 55 ("python-magic" ,python-magic)
d649704e
VM
56 ("python-passlib" ,python-passlib)
57 ("python-polib" ,python-polib)
48174fb9
AP
58 ("python-psycopg2" ,python-psycopg2)
59 ("python-relatorio" ,python-relatorio)
48174fb9
AP
60 ("python-sql" ,python-sql)
61 ("python-werkzeug" ,python-werkzeug)
62 ("python-wrapt" ,python-wrapt)))
63 (native-inputs
64 `(("python-mock" ,python-mock)))
65 (arguments
66 `(#:phases
67 (modify-phases %standard-phases
68 (add-before 'check 'preparations
69 (lambda _
fa5255fd 70 (setenv "DB_NAME" ":memory:")
d649704e 71 (setenv "HOME" "/tmp")
fa5255fd 72 #t)))))
48174fb9
AP
73 (home-page "https://www.tryton.org/")
74 (synopsis "Server component of Tryton")
75 (description "Tryton is a three-tier high-level general purpose
76application platform using PostgreSQL as its main database engine. It is the
77core base of a complete business solution providing modularity, scalability
78and security.")
79 (license license:gpl3+)))
16855482
AP
80
81(define-public tryton
82 (package
83 (name "tryton")
6de7e59f 84 (version "5.6.3")
16855482
AP
85 (source
86 (origin
87 (method url-fetch)
974a4d5d 88 (uri (pypi-uri "tryton" version))
16855482 89 (sha256
6de7e59f 90 (base32 "1dghr6x5wga3sizjvj261xndpl38si5hwiz3llm2bhmg33nplfh7"))))
16855482 91 (build-system python-build-system)
16855482 92 (arguments
6de7e59f
VM
93 `(#:phases
94 (modify-phases %standard-phases
95 (add-before 'check 'change-home
96 (lambda _
97 ;; Change from /homeless-shelter to /tmp for write permission.
98 (setenv "HOME" "/tmp")))
99 (add-after 'install 'wrap-gi-python
100 (lambda* (#:key inputs outputs #:allow-other-keys)
101 (let ((out (assoc-ref outputs "out"))
102 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
103 (wrap-program (string-append out "/bin/tryton")
104 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
105 #t)))))
106 (native-inputs
107 `(("glib-compile-schemas" ,glib "bin")
108 ("gobject-introspection" ,gobject-introspection)))
109 (inputs
110 `(("gdk-pixbuf" ,gdk-pixbuf+svg)
111 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
112 ("gtk+" ,gtk+)
113 ("python-dateutil" ,python-dateutil)
114 ("python-pycairo" ,python-pycairo)
115 ("python-pygobject" ,python-pygobject)))
16855482
AP
116 (home-page "https://www.tryton.org/")
117 (synopsis "Client component of Tryton")
6de7e59f
VM
118 (description
119 "This package is the client component of Tryton.")
16855482 120 (license license:gpl3+)))
bf3563d5 121
0a92ebde
AP
122(define-public python-trytond-country
123 (package
106dd72b
VM
124 (name "python-trytond-country")
125 (version "5.6.0")
126 (source
127 (origin
128 (method url-fetch)
129 (uri (pypi-uri "trytond_country" version))
130 (sha256
131 (base32 "0k1xw5r2pfd5mvvg3pn3vavwjwpgmm5i6nsc8x421znk4gvvns78"))))
132 (build-system python-build-system)
133 (arguments
134 `(#:phases
135 (modify-phases %standard-phases
136 (replace 'check
137 (let ((runtest
138 (string-append
139 (assoc-ref %build-inputs "python-trytond")
140 "/lib/python"
141 ,(version-major+minor (package-version python))
142 "/site-packages/trytond/tests/run-tests.py")))
143 (lambda* (#:key inputs outputs #:allow-other-keys)
144 (add-installed-pythonpath inputs outputs)
145 ;; Doctest contains one test that requires internet access.
146 (invoke "python" runtest "-m" "country" "--no-doctest")))))))
147 (native-inputs
148 `(("python" ,python)
149 ("python-dateutil" ,python-dateutil)
150 ("python-genshi" ,python-genshi)
151 ("python-lxml" ,python-lxml)
152 ("python-magic" ,python-magic)
153 ("python-passlib" ,python-passlib)
154 ("python-polib" ,python-polib)
155 ("python-proteus" ,python-proteus)
156 ("python-relatorio" ,python-relatorio)
157 ("python-sql" ,python-sql)
158 ("python-werkzeug" ,python-werkzeug)
159 ("python-wrapt" ,python-wrapt)))
160 (propagated-inputs
161 `(("python-pycountry" ,python-pycountry)
162 ("python-trytond" ,python-trytond)))
163 (home-page "http://www.tryton.org/")
164 (synopsis "Tryton module with countries")
165 (description
166 "This package provides a Tryton module with countries.")
167 (license license:gpl3+)))
0a92ebde 168
c8b1defe
AP
169(define-public python-trytond-party
170 (package
171 (name "python-trytond-party")
172 (version "4.6.0")
173 (source
174 (origin
175 (method url-fetch)
176 (uri (pypi-uri "trytond_party" version))
177 (sha256
178 (base32
179 "0fbf4kxywiglcdsx9ppjg7nxw87915mb6bpn1jn652gk949rdww5"))))
180 (build-system python-build-system)
181 ;; XXX The tests seem to require Proteus. But Proteus tests seem to
182 ;; require trytond-party.
183 (arguments
184 '(#:tests? #f))
185 (propagated-inputs
186 `(("python-trytond" ,python-trytond)
187 ("python-trytond-country" ,python-trytond-country)
188 ("python-stdnum" ,python-stdnum)
189 ("python-sql" ,python-sql)
190 ("python-wrapt" ,python-wrapt)
191 ("python-werkzeug" ,python-werkzeug)
192 ("python-polib" ,python-polib)
193 ("python-dateutil" ,python-dateutil)
194 ("python-genshi" ,python-genshi)
195 ("python-relatorio" ,python-relatorio)
196 ("python-magic" ,python-magic)
197 ("python-phonenumbers" ,python-phonenumbers)))
198 (home-page "http://www.tryton.org/")
199 (synopsis
200 "Tryton module for parties and addresses")
201 (description
202 "This package provides a Tryton module for (counter)parties and
203addresses.")
204 (license license:gpl3+)))
205
bf3563d5
AP
206(define-public python-proteus
207 (package
208 (name "python-proteus")
a5bdb72d 209 (version "5.6.0")
bf3563d5
AP
210 (source
211 (origin
212 (method url-fetch)
213 (uri (pypi-uri "proteus" version))
214 (sha256
a5bdb72d 215 (base32 "0kxac5pkps243wf0xbmbd1g5bml96xl94j88y6yyzm093vyli150"))))
bf3563d5 216 (build-system python-build-system)
a5bdb72d
VM
217 ;; Tests require python-trytond-party which requires python-proteus.
218 (arguments
219 `(#:tests? #f))
bf3563d5 220 (propagated-inputs
a5bdb72d 221 `(("python-dateutil" ,python-dateutil)))
bf3563d5 222 (home-page "http://www.tryton.org/")
a5bdb72d 223 (synopsis "Library to access a Tryton server as a client")
bf3563d5
AP
224 (description
225 "This package provides a library to access Tryton server as a client.")
226 (license license:lgpl3+)))