hydra: Fix typo in core package list.
[jackhill/guix/guix.git] / gnu / packages / python.scm
CommitLineData
a01b6da7
NK
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
7a03af70 3;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
af807dea 4;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
a01b6da7
NK
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
1ffa7090 21(define-module (gnu packages python)
011b18c3 22 #:use-module ((guix licenses)
8deeda0c
LC
23 #:select (bsd-3 bsd-style psfl x11 x11-style
24 gpl2 gpl2+ lgpl2.1+))
1d08c01f 25 #:use-module ((guix licenses) #:select (zlib)
ed0cdf83 26 #:renamer (symbol-prefix-proc 'license:))
3fdc99da 27 #:use-module (gnu packages)
1ffa7090 28 #:use-module (gnu packages compression)
3fdc99da 29 #:use-module (gnu packages gdbm)
421a80a2 30 #:use-module (gnu packages icu4c)
3fdc99da 31 #:use-module (gnu packages readline)
1ffa7090 32 #:use-module (gnu packages openssl)
3e778ad3 33 #:use-module (gnu packages elf)
1d08c01f 34 #:use-module (gnu packages sqlite)
a01b6da7
NK
35 #:use-module (guix packages)
36 #:use-module (guix download)
11bb85a1 37 #:use-module (guix utils)
acc26ff1 38 #:use-module (guix build-system gnu)
898238b9
AE
39 #:use-module (guix build-system python)
40 #:use-module (guix build-system trivial))
a01b6da7 41
b24d1cfc 42(define-public python-2
a01b6da7
NK
43 (package
44 (name "python")
ee2b5109 45 (version "2.7.6")
a01b6da7
NK
46 (source
47 (origin
48 (method url-fetch)
9b43a0ff 49 (uri (string-append "https://www.python.org/ftp/python/"
a01b6da7
NK
50 version "/Python-" version ".tar.xz"))
51 (sha256
52 (base32
ee2b5109 53 "18gnpyh071dxa0rv3silrz92jw9qpblswzwv4gzqcwxzz20qxmhz"))))
a01b6da7 54 (build-system gnu-build-system)
3fdc99da 55 (arguments
af807dea
AE
56 `(#:tests? #f
57;; 258 tests OK.
58;; 103 tests failed:
59;; test_bz2 test_distutils test_file test_file2k test_popen2
60;; test_shutil test_signal test_site test_slice test_smtplib
61;; test_smtpnet test_socket test_socketserver test_softspace
62;; test_sort test_sqlite test_ssl test_startfile test_str
63;; test_strftime test_string test_stringprep test_strop test_strptime
64;; test_strtod test_struct test_structmembers test_structseq
65;; test_subprocess test_sunaudiodev test_sundry test_symtable
66;; test_syntax test_sys test_sys_setprofile test_sys_settrace
67;; test_sysconfig test_tarfile test_tcl test_telnetlib test_tempfile
68;; test_textwrap test_thread test_threaded_import
69;; test_threadedtempfile test_threading test_threading_local
70;; test_threadsignals test_time test_timeout test_tk test_tokenize
71;; test_tools test_trace test_traceback test_transformer
72;; test_ttk_guionly test_ttk_textonly test_tuple test_typechecks
73;; test_ucn test_unary test_undocumented_details test_unicode
74;; test_unicode_file test_unicodedata test_univnewlines
75;; test_univnewlines2k test_unpack test_urllib test_urllib2
76;; test_urllib2_localnet test_urllib2net test_urllibnet test_urlparse
77;; test_userdict test_userlist test_userstring test_uu test_uuid
78;; test_wait3 test_wait4 test_warnings test_wave test_weakref
79;; test_weakset test_whichdb test_winreg test_winsound test_with
80;; test_wsgiref test_xdrlib test_xml_etree test_xml_etree_c
81;; test_xmllib test_xmlrpc test_xpickle test_xrange test_zipfile
82;; test_zipfile64 test_zipimport test_zipimport_support test_zlib
83;; 31 tests skipped:
84;; test_aepack test_al test_applesingle test_ascii_formatd test_bsddb
85;; test_bsddb185 test_bsddb3 test_cd test_cl test_codecmaps_cn
86;; test_codecmaps_hk test_codecmaps_jp test_codecmaps_kr
87;; test_codecmaps_tw test_ctypes test_curses test_dl test_gdb test_gl
88;; test_imageop test_imgfile test_ioctl test_kqueue
89;; test_linuxaudiodev test_macos test_macostools test_msilib
90;; test_multiprocessing test_ossaudiodev test_pep277
91;; test_scriptpackages
92;; 7 skips unexpected on linux2:
93;; test_ascii_formatd test_bsddb test_bsddb3 test_ctypes test_gdb
94;; test_ioctl test_multiprocessing
95;; One of the typical errors:
96;; test_unicode
97;; test test_unicode crashed -- <type 'exceptions.OSError'>: [Errno 2] No such file or directory
98 #:test-target "test"
3fdc99da
CR
99 #:configure-flags
100 (let ((bz2 (assoc-ref %build-inputs "bzip2"))
101 (gdbm (assoc-ref %build-inputs "gdbm"))
102 (openssl (assoc-ref %build-inputs "openssl"))
103 (readline (assoc-ref %build-inputs "readline"))
104 (zlib (assoc-ref %build-inputs "zlib")))
fd982732
LC
105 (list "--enable-shared" ; allow embedding
106 (string-append "CPPFLAGS="
3fdc99da
CR
107 "-I" bz2 "/include "
108 "-I" gdbm "/include "
109 "-I" openssl "/include "
110 "-I" readline "/include "
111 "-I" zlib "/include")
112 (string-append "LDFLAGS="
113 "-L" bz2 "/lib "
114 "-L" gdbm "/lib "
115 "-L" openssl "/lib "
116 "-L" readline "/lib "
fd982732
LC
117 "-L" zlib "/lib")))
118
119 #:modules ((guix build gnu-build-system)
120 (guix build utils)
3309e3a1 121 (guix build rpath)
fd982732 122 (srfi srfi-26))
3309e3a1
LC
123 #:imported-modules ((guix build gnu-build-system)
124 (guix build utils)
125 (guix build rpath))
fd982732
LC
126
127 #:phases
128 (alist-cons-after
129 'strip 'add-lib-to-runpath
130 (lambda* (#:key outputs #:allow-other-keys)
fd982732
LC
131 (let* ((out (assoc-ref outputs "out"))
132 (lib (string-append out "/lib")))
133 ;; Add LIB to the RUNPATH of all the executables.
134 (with-directory-excursion out
135 (for-each (cut augment-rpath <> lib)
136 (find-files "bin" ".*")))))
137 %standard-phases)))
a01b6da7 138 (inputs
3fdc99da
CR
139 `(("bzip2" ,bzip2)
140 ("gdbm" ,gdbm)
a01b6da7 141 ("openssl" ,openssl)
3fdc99da 142 ("readline" ,readline)
fd982732 143 ("zlib" ,zlib)
3309e3a1 144 ("patchelf" ,patchelf))) ; for (guix build rpath)
9be8d7c8
LC
145 (native-search-paths
146 (list (search-path-specification
147 (variable "PYTHONPATH")
148 (directories '("lib/python2.7/site-packages")))))
a01b6da7
NK
149 (home-page "http://python.org")
150 (synopsis
151 "Python, a high-level dynamically-typed programming language")
152 (description
153 "Python is a remarkably powerful dynamic programming language that
154is used in a wide variety of application domains. Some of its key
155distinguishing features include: clear, readable syntax; strong
156introspection capabilities; intuitive object orientation; natural
157expression of procedural code; full modularity, supporting hierarchical
158packages; exception-based error handling; and very high level dynamic
159data types.")
160 (license psfl)))
acc26ff1 161
b24d1cfc
AE
162(define-public python
163 (package (inherit python-2)
55781376 164 (version "3.3.3")
f26a77ff
AE
165 (source
166 (origin
167 (method url-fetch)
9b43a0ff 168 (uri (string-append "https://www.python.org/ftp/python/"
f26a77ff
AE
169 version "/Python-" version ".tar.xz"))
170 (sha256
171 (base32
55781376 172 "11f6hg9wdhm6hyzj49gxlvvp1s0l5hqgcsq1i4ayygqs1arpb4ik"))))
1aebc0cb
AE
173 (native-search-paths
174 (list (search-path-specification
175 (variable "PYTHONPATH")
176 (directories '("lib/python3.3/site-packages")))))))
f26a77ff 177
898238b9
AE
178(define-public python-wrapper
179 (package (inherit python)
180 (name "python-wrapper")
181 (source #f)
182 (build-system trivial-build-system)
183 (inputs `(("python" ,python)))
184 (arguments
185 `(#:modules ((guix build utils))
186 #:builder
187 (begin
188 (use-modules (guix build utils))
189 (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))
190 (python (string-append (assoc-ref %build-inputs "python") "/bin/")))
191 (mkdir-p bin)
192 (for-each
193 (lambda (old new)
194 (symlink (string-append python old)
195 (string-append bin "/" new)))
196 `("python3", "pydoc3", "idle3")
197 `("python", "pydoc", "idle"))))))
198 (description (string-append (package-description python)
199 "\n\nThis wrapper package provides symbolic links to the python binaries
200 without version suffix."))))
201
202
89114f39 203(define-public python-pytz
acc26ff1 204 (package
89114f39 205 (name "python-pytz")
acc26ff1
CR
206 (version "2013b")
207 (source
208 (origin
209 (method url-fetch)
210 (uri (string-append "https://launchpad.net/pytz/main/" version
211 "/+download/pytz-" version ".tar.bz2"))
212 (sha256
213 (base32
214 "19giwgfcrg0nr1gdv49qnmf2jb2ilkcfc7qyqvfpz4dp0p64ksv5"))))
215 (build-system python-build-system)
8498b8cf 216 (arguments `(#:tests? #f)) ; no test target
acc26ff1
CR
217 (home-page "https://launchpad.net/pytz")
218 (synopsis "The Python timezone library.")
219 (description
220 "This library allows accurate and cross platform timezone calculations
221using Python 2.4 or higher and provides access to the Olson timezone database.")
222 (license x11)))
5ace6e2f 223
89114f39 224(define-public python2-pytz
11bb85a1 225 (package-with-python2 python-pytz))
89114f39 226
fc50e9c6 227
89114f39 228(define-public python-babel
5ace6e2f 229 (package
89114f39 230 (name "python-babel")
e1804763 231 (version "1.3")
5ace6e2f
CR
232 (source
233 (origin
234 (method url-fetch)
e1804763 235 (uri (string-append "https://pypi.python.org/packages/source/B/Babel/Babel-"
5ace6e2f
CR
236 version ".tar.gz"))
237 (sha256
238 (base32
e1804763 239 "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"))))
5ace6e2f
CR
240 (build-system python-build-system)
241 (inputs
e1804763
AE
242 `(("python-pytz" ,python-pytz)
243 ("python-setuptools" ,python-setuptools)))
8498b8cf 244 (arguments `(#:tests? #f)) ; no test target
e1804763 245 (home-page "http://babel.pocoo.org/")
5ace6e2f
CR
246 (synopsis
247 "Tools for internationalizing Python applications")
248 (description
249 "Babel is composed of two major parts:
250- tools to build and work with gettext message catalogs
251- a Python interface to the CLDR (Common Locale Data Repository), providing
252access to various locale display names, localized number and date formatting,
253etc. ")
254 (license bsd-3)))
89114f39
AE
255
256(define-public python2-babel
11bb85a1 257 (package-with-python2 python-babel))
73adf220 258
fc50e9c6 259
73adf220
AE
260(define-public python-setuptools
261 (package
262 (name "python-setuptools")
263 (version "1.1.4")
264 (source
265 (origin
266 (method url-fetch)
267 (uri (string-append "https://pypi.python.org/packages/source/s/setuptools/setuptools-"
268 version ".tar.gz"))
269 (sha256
270 (base32
271 "0hl9sa5xr9bi2ifq51wy1bawsjv5nzvpbac7m9z1ciz778874csf"))))
272 (build-system python-build-system)
273 (arguments
824af8ca 274 `(#:tests? #f))
73adf220
AE
275 ;;FIXME: test_sdist_with_utf8_encoded_filename fails in
276 ;; /tmp/nix-build-python2-setuptools-1.1.4.drv-0/setuptools-1.1.4/setuptools/tests/test_sdist.py"
277 ;; line 354
278 ;; The tests pass with Python 2.7.5.
73adf220
AE
279 (home-page "https://pypi.python.org/pypi/setuptools")
280 (synopsis
281 "Library designed to facilitate packaging Python projects")
282 (description
283 "Setuptools is a fully-featured, stable library designed to facilitate
284packaging Python projects, where packaging includes:
285Python package and module definitions,
286distribution package metadata,
287test hooks,
288project installation,
289platform-specific details,
290Python 3 support.")
291 (license psfl)))
292
293(define-public python2-setuptools
294 (package-with-python2 python-setuptools))
fc50e9c6
AE
295
296
297(define-public python-dateutil
298 (package
299 (name "python-dateutil")
300 (version "1.5") ; last version for python < 3
301 (source
302 (origin
303 (method url-fetch)
304 (uri (string-append "http://labix.org/download/python-dateutil/python-dateutil-"
305 version ".tar.gz"))
306 (sha256
307 (base32
308 "0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0"))))
309 (build-system python-build-system)
310 (inputs
311 `(("python-setuptools" ,python-setuptools)))
312 (home-page "http://labix.org/python-dateutil")
313 (synopsis
314 "Extensions to the standard datetime module, available in Python 2.3+")
315 (description
316 "The dateutil module provides powerful extensions to the standard
317datetime module, available in Python 2.3+.")
318 (license psfl)))
319
320(define-public python2-dateutil
321 (package-with-python2 python-dateutil))
1d08c01f
AE
322
323
324(define-public python2-pysqlite
325 (package
326 (name "python2-pysqlite")
7a03af70 327 (version "2.6.3a") ; see below
1d08c01f
AE
328 (source
329 (origin
330 (method url-fetch)
7a03af70
LC
331 ;; During the switch from code.google.com to pypi.python.org, the 2.6.3
332 ;; tarball was modified, but the version number was kept:
333 ;; <https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00077.html>.
334 ;; Here we want to refer to the pypi-hosted 2.6.3 tarball.
335 (uri (string-append
336 "https://pypi.python.org/packages/source/p/pysqlite/pysqlite-"
337 "2.6.3" ".tar.gz"))
1d08c01f
AE
338 (sha256
339 (base32
7a03af70 340 "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y"))))
1d08c01f
AE
341 (build-system python-build-system)
342 (inputs
343 `(("sqlite" ,sqlite)))
344 (arguments
345 `(#:python ,python-2 ; incompatible with Python 3
346 #:tests? #f)) ; no test target
7a03af70
LC
347 (home-page "https://pypi.python.org/pypi/pysqlite")
348 (synopsis "SQLite bindings for Python")
1d08c01f
AE
349 (description
350 "Pysqlite provides SQLite bindings for Python that comply to the
351Database API 2.0T.")
ed0cdf83 352 (license license:zlib)))
1d08c01f 353
2875caf5
AE
354
355(define-public python2-mechanize
356 (package
357 (name "python2-mechanize")
358 (version "0.2.5")
359 (source
360 (origin
361 (method url-fetch)
362 (uri (string-append "https://pypi.python.org/packages/source/m/mechanize/mechanize-"
363 version ".tar.gz"))
364 (sha256
365 (base32
366 "0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf"))))
367 (build-system python-build-system)
368 (inputs
369 `(("python2-setuptools" ,python2-setuptools)))
370 (arguments
371 `(#:python ,python-2 ; apparently incompatible with Python 3
372 #:tests? #f))
373 ;; test fails with message
374 ;; AttributeError: 'module' object has no attribute 'test_pullparser'
375 ;; (python-3.3.2) or
376 ;; AttributeError: 'module' object has no attribute 'test_urllib2_localnet'
377 ;; (python-2.7.5).
378 ;; The source code is from March 2011 and probably not up-to-date
379 ;; with respect to python unit tests.
380 (home-page "http://wwwsearch.sourceforge.net/mechanize/")
381 (synopsis
382 "Stateful programmatic web browsing in Python")
383 (description
384 "Mechanize implements stateful programmatic web browsing in Python,
385after Andy Lester’s Perl module WWW::Mechanize.")
386 (license (bsd-style "file://COPYING"
387 "See COPYING in the distribution."))))
388
0352532e
AE
389
390(define-public python-simplejson
391 (package
392 (name "python-simplejson")
393 (version "3.3.0")
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append "https://pypi.python.org/packages/source/s/simplejson/simplejson-"
398 version ".tar.gz"))
399 (sha256
400 (base32
401 "07wsry5j44l5zzm74l4j2bvasiq8n5m32f31n2p7c68i5vc6p2ks"))))
402 (build-system python-build-system)
403 (home-page "http://simplejson.readthedocs.org/en/latest/")
404 (synopsis
405 "Json library for Python")
406 (description
407 "JSON (JavaScript Object Notation) is a subset of JavaScript syntax
cc20a22a 408 (ECMA-262 3rd edition) used as a lightweight data interchange format.
0352532e
AE
409
410Simplejson exposes an API familiar to users of the standard library marshal
411and pickle modules. It is the externally maintained version of the json
412library contained in Python 2.6, but maintains compatibility with Python 2.5
413and (currently) has significant performance advantages, even without using
414the optional C extension for speedups. Simplejson is also supported on
415Python 3.3+.")
416 (license x11)))
417
418(define-public python2-simplejson
419 (package-with-python2 python-simplejson))
421a80a2
AE
420
421
422(define-public python2-pyicu
423 (package
424 (name "python2-pyicu")
425 (version "1.5")
426 (source
427 (origin
428 (method url-fetch)
429 (uri (string-append "https://pypi.python.org/packages/source/P/PyICU/PyICU-"
430 version ".tar.gz"))
431 (sha256
432 (base32
433 "011vwflpir8wvh48mvi6d9a7vw0f43bkwv0w6bzxbzmvz20ax5vm"))))
434 (build-system python-build-system)
435 (inputs
436 `(("icu4c" ,icu4c)))
437 (arguments
438 `(#:python ,python-2 ; Python 3 works also, but needs special care for
439 ; linking with libpython3.3m
440 #:tests? #f)) ; no check target
441 (home-page "http://pyicu.osafoundation.org/")
442 (synopsis
443 "Python extension wrapping the ICU C++ API.")
444 (description
445 "PyICU is a python extension wrapping the ICU C++ API.")
446 (license x11)))
cc20a22a
LC
447
448(define-public python2-dogtail
449 ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and
450 ;; spaces in indentation" with Python 3.
451 (package
452 (name "python2-dogtail")
453 (version "0.8.2")
454 (source (origin
455 (method url-fetch)
456 (uri (string-append
457 "https://fedorahosted.org/released/dogtail/dogtail-"
458 version ".tar.gz"))
459 (sha256
460 (base32
461 "1yc4cg7ip87z15gyd4wy2vzbywrjc52a3m8r8gqy2b50d65llcg1"))))
462 (build-system python-build-system)
463 (arguments `(#:python ,python-2
464 #:tests? #f)) ; invalid command "test"
465 (home-page "https://fedorahosted.org/dogtail/")
466 (synopsis "GUI test tool and automation framework written in ​Python")
467 (description
468 "dogtail is a GUI test tool and automation framework written in Python.
469It uses Accessibility (a11y) technologies to communicate with desktop
470applications. dogtail scripts are written in Python and executed like any
471other Python program.")
472 (license gpl2+)))
515e6878 473
011b18c3
LC
474(define-public python2-empy
475 (package
476 (name "python2-empy")
477 (version "3.3")
478 (source (origin
479 (method url-fetch)
480 (uri (string-append "http://www.alcyone.com/software/empy/empy-"
481 version ".tar.gz"))
482 (sha256
483 (base32
484 "01g8mmkfnvjdmlhsihwyx56lrg7r5m5d2fg6mnxsvy6g0dnl69f6"))))
485 (build-system python-build-system)
486 (arguments
487 `(#:python ,python-2
488 #:phases (alist-replace
489 'check
490 (lambda _
491 (zero? (system* "./test.sh")))
492 %standard-phases)))
493 (home-page "http://www.alcyone.com/software/empy/")
494 (synopsis "Templating system for Python")
495 (description
496 "EmPy is a system for embedding Python expressions and statements in
497template text; it takes an EmPy source file, processes it, and produces
498output. This is accomplished via expansions, which are special signals to the
499EmPy system and are set off by a special prefix (by default the at sign, @).
500EmPy can expand arbitrary Python expressions and statements in this way, as
501well as a variety of special forms. Textual data not explicitly delimited in
502this way is sent unaffected to the output, allowing Python to be used in
503effect as a markup language. Also supported are callbacks via hooks,
504recording and playback via diversions, and dynamic, chainable filters. The
505system is highly configurable via command line options and embedded
506commands.")
507 (license lgpl2.1+)))
508
8deeda0c
LC
509(define-public python2-element-tree
510 (package
511 (name "python2-element-tree")
512 (version "1.2.6")
513 (source (origin
514 (method url-fetch)
515 (uri (string-append
516 "http://effbot.org/media/downloads/elementtree-"
517 version "-20050316.tar.gz"))
518 (sha256
519 (base32
520 "016bphqnlg0l4vslahhw4r0aanw95bpypy65r1i1acyb2wj5z7dj"))))
521 (build-system python-build-system)
522 (arguments
523 `(#:python ,python-2 ; seems to be part of Python 3
524 #:tests? #f)) ; no 'test' sub-command
525 (synopsis "Toolkit for XML processing in Python")
526 (description
527 "ElementTree is a Python library supporting lightweight XML processing.")
528 (home-page "http://effbot.org/zone/element-index.htm")
529 (license (x11-style "http://docs.python.org/2/license.html"
530 "Like \"CWI LICENSE AGREEMENT FOR PYTHON \
5310.9.0 THROUGH 1.2\"."))))
532
533(define-public python2-pybugz
534 (package
535 (name "python2-pybugz")
536 (version "0.6.11")
537 (source (origin
538 (method url-fetch)
539 (uri (string-append
540 "http://bits.liquidx.net/projects/pybugz/pybugz-"
541 version ".tar.gz"))
542 (sha256
543 (base32
544 "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd"))))
545 (build-system python-build-system)
546 (arguments
547 `(#:python ,python-2 ; SyntaxError with Python 3
548 #:tests? #f)) ; no 'test' sub-command
549 (inputs `(("element-tree" ,python2-element-tree)))
550 (synopsis "Python and command-line interface to Bugzilla")
551 (description
552 "PyBugz is a Python library and command-line tool to query the Bugzilla
553bug tracking system. It is meant as an aid to speed up interaction with the
554bug tracker.")
555 (home-page "http://www.liquidx.net/pybugz/")
556 (license gpl2)))
557
515e6878
LC
558(define-public scons
559 (package
560 (name "scons")
561 (version "2.1.0")
562 (source (origin
563 (method url-fetch)
564 (uri (string-append "mirror://sourceforge/scons/scons-"
565 version ".tar.gz"))
566 (sha256
567 (base32
568 "07cjn4afb2cljjrd3cr7xf062qq58z8q96f58z6yplhdyqafsfa1"))))
569 (build-system python-build-system)
570 (arguments
571 ;; With Python 3.x, fails to build with a syntax error.
572 `(#:python ,python-2
573 #:tests? #f)) ; no 'python setup.py test' command
574 (home-page "http://scons.org/")
575 (synopsis "Software construction tool written in Python")
576 (description
577 "SCons is a software construction tool. Think of SCons as an improved,
578cross-platform substitute for the classic Make utility with integrated
579functionality similar to autoconf/automake and compiler caches such as ccache.
580In short, SCons is an easier, more reliable and faster way to build
581software.")
582 (license x11)))
011b18c3 583