Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm
This commit is contained in:
		
						commit
						fcc39864db
					
				
					 283 changed files with 23915 additions and 6384 deletions
				
			
		|  | @ -8,8 +8,6 @@ | |||
|    (name "andreas")) | ||||
|   ("2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5" | ||||
|    (name "ajgrf")) | ||||
|   ("306F CB8F 2C01 C25D 29D3  0556 61EF 502E F602 52F2" | ||||
|    (name "alexvong1995")) | ||||
|   ("4FB9 9F49 2B12 A365 7997  E664 8246 0C08 2A0E E98F" | ||||
|    (name "alezost")) | ||||
|   ("50F3 3E2E 5B0C 3D90 0424  ABE8 9BDC F497 A4BB CC7F" | ||||
|  | @ -27,8 +25,6 @@ | |||
|   (;; primary: "34FF 38BC D151 25A6 E340  A0B5 3453 2F9F AFCA 8B8E" | ||||
|    "A0C5 E352 2EF8 EF5C 64CD  B7F0 FD73 CAC7 19D3 2566" | ||||
|    (name "bavier")) | ||||
|   ("BCF8 F737 2CED 080A 67EB  592D 2A6A D9F4 AAC2 0DF6" | ||||
|    (name "benwoodcroft")) | ||||
|   ("45CC 63B8 5258 C9D5 5F34  B239 D37D 0EA7 CECC 3912" | ||||
|    (name "biscuolo")) | ||||
|   ("7988 3B9F 7D6A 4DBF 3719  0367 2506 A96C CF63 0B21" | ||||
|  | @ -92,8 +88,6 @@ | |||
|    (name "lfam")) | ||||
|   ("148B CB8B D80B FB16 B1DE  0E91 45A8 B1E8 6BCD 10A6" | ||||
|    (name "lle_bout")) | ||||
|   ("2AE3 1395 932B E642 FC0E  D99C 9BED 6EDA 32E5 B0BC" | ||||
|    (name "lsl88")) | ||||
|   ("8887 84C4 1459 ACCB 83E7  E84C 634C 6E89 79FA BEC2" | ||||
|    (name "m1gu3l")) | ||||
|   ("CBF5 9755 CBE7 E7EF EF18  3FB1 DD40 9A15 D822 469D" | ||||
|  | @ -121,12 +115,12 @@ | |||
|    (name "pgarlick")) | ||||
|   ("3A86 380E 58A8 B942 8D39  60E1 327C 1EF3 8DF5 4C32" | ||||
|    (name "phant0mas")) | ||||
|   ("CD2D 5EAA A98C CB37 DA91  D6B0 5F58 1664 7F8B E551" | ||||
|    (name "raghavgururajan")) | ||||
|   ("74D6 A930 F44B 9B84 9EA5  5606 C166 AA49 5F7F 189C" | ||||
|    (name "reepca")) | ||||
|   ("BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC" | ||||
|    (name "rekado")) | ||||
|   ("0154 E1B9 1CC9 D9EF 7764  8DE7 F3A7 27DB 44FC CA36" | ||||
|    (name "rhelling")) | ||||
|   (;; From commit cc51c03ff867d4633505354819c6d88af88bf919 (March 2020). | ||||
|    ;; See <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00070.html>. | ||||
|    "F556 FD94 FB8F 8B87 79E3  6832 CBD0 CD51 38C1 9AFC" | ||||
|  | @ -138,22 +132,10 @@ | |||
|   (;; primary: "D6B0 C593 DA8C 5EDC A44C  7A58 C336 91F7 1188 B004" | ||||
|    "A02C 2D82 0EF4 B25B A6B5  1D90 2AC6 A5EC 1C35 7C59" | ||||
|    (name "samplet")) | ||||
|   ("77DD AD2D 97F5 31BB C0F3  C7FD DFB5 EB09 AA62 5423" | ||||
|    (name "sleep_walker")) | ||||
|   ("F494 72F4 7A59 00D5 C235  F212 89F9 6D48 08F3 59C7" | ||||
|    (name "snape")) | ||||
|   ("9ADE 9ECF 2B19 C180 9C99  5CEA A1F4 CFCC 5283 6BAC" | ||||
|    (name "taylanub")) | ||||
| 
 | ||||
|   ;; https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00826.html | ||||
|   (;; primary: "1DD1 681F E285 E07F 11DC  0C59 2E15 A6BC D77D 54FD" | ||||
|    "3D2C DA58 819C 08C2 A649  D43D 5C3B 064C 724A 5726" | ||||
|    (name "thomasd")) | ||||
| 
 | ||||
|   ("6580 7361 3BFC C5C7 E2E4  5D45 DC51 8FC8 7F97 16AA" | ||||
|    (name "vagrantc")) | ||||
|   (;; primary: "C955 CC5D C048 7FB1 7966  40A9 199A F6A3 67E9 4ABB" | ||||
|    "7238 7123 8EAC EB63 4548  5857 167F 8EA5 001A FA9C" | ||||
|    (name "wigust")) | ||||
|   ("FF47 8FB2 64DE 32EC 2967  25A3 DDC0 F535 8812 F8F2" | ||||
|    (name "wingo")))) | ||||
|    (name "wigust")))) | ||||
|  |  | |||
|  | @ -126,6 +126,7 @@ MODULES =					\ | |||
|   guix/cache.scm				\ | ||||
|   guix/cve.scm					\ | ||||
|   guix/workers.scm				\ | ||||
|   guix/ipfs.scm					\ | ||||
|   guix/build-system.scm				\ | ||||
|   guix/build-system/android-ndk.scm		\ | ||||
|   guix/build-system/ant.scm			\ | ||||
|  |  | |||
|  | @ -285,8 +285,7 @@ interface (FFI) of Guile.") | |||
|                                                     #:select? select?)) | ||||
|     (gexp->script "compute-guix-derivation" | ||||
|                   #~(begin | ||||
|                       (use-modules (ice-9 match) | ||||
|                                    (ice-9 threads)) | ||||
|                       (use-modules (ice-9 match)) | ||||
| 
 | ||||
|                       (eval-when (expand load eval) | ||||
|                         ;; (gnu packages …) modules are going to be looked up | ||||
|  | @ -320,23 +319,9 @@ interface (FFI) of Guile.") | |||
|                                    (guix derivations) | ||||
|                                    (srfi srfi-1)) | ||||
| 
 | ||||
|                       (define (spin system) | ||||
|                         (define spin | ||||
|                           (circular-list "-" "\\" "|" "/" "-" "\\" "|" "/")) | ||||
| 
 | ||||
|                         (format (current-error-port) | ||||
|                                 "Computing Guix derivation for '~a'...  " | ||||
|                                 system) | ||||
|                         (when (isatty? (current-error-port)) | ||||
|                           (let loop ((spin spin)) | ||||
|                             (display (string-append "\b" (car spin)) | ||||
|                                      (current-error-port)) | ||||
|                             (force-output (current-error-port)) | ||||
|                             (sleep 1) | ||||
|                             (loop (cdr spin))))) | ||||
| 
 | ||||
|                       (match (command-line) | ||||
|                         ((_ source system version protocol-version) | ||||
|                         ((_ source system version protocol-version | ||||
|                             build-output) | ||||
|                          ;; The current input port normally wraps a file | ||||
|                          ;; descriptor connected to the daemon, or it is | ||||
|                          ;; connected to /dev/null.  In the former case, reuse | ||||
|  | @ -349,16 +334,18 @@ interface (FFI) of Guile.") | |||
|                                                               (current-input-port) | ||||
|                                                               "w+0") | ||||
|                                                              #:version proto) | ||||
|                                            (open-connection)))) | ||||
|                            (call-with-new-thread | ||||
|                             (lambda () | ||||
|                               (spin system))) | ||||
|                                            (open-connection))) | ||||
|                                 (sock  (socket AF_UNIX SOCK_STREAM 0))) | ||||
|                            ;; Connect to BUILD-OUTPUT and send it the raw | ||||
|                            ;; build output. | ||||
|                            (connect sock AF_UNIX build-output) | ||||
| 
 | ||||
|                            (display | ||||
|                             (and=> | ||||
|                              ;; Silence autoload warnings and the likes. | ||||
|                              (parameterize ((current-warning-port | ||||
|                                              (%make-void-port "w"))) | ||||
|                                              (%make-void-port "w")) | ||||
|                                             (current-build-output-port sock)) | ||||
|                                (run-with-store store | ||||
|                                  (guix-derivation source version | ||||
|                                                   #$guile-version | ||||
|  | @ -370,6 +357,28 @@ interface (FFI) of Guile.") | |||
|                              derivation-file-name)))))) | ||||
|                   #:module-path (list source)))) | ||||
| 
 | ||||
| (define (proxy input output) | ||||
|   "Dump the contents of INPUT to OUTPUT until EOF is reached on INPUT. | ||||
| Display a spinner when nothing happens." | ||||
|   (define spin | ||||
|     (circular-list "-" "\\" "|" "/" "-" "\\" "|" "/")) | ||||
| 
 | ||||
|   (setvbuf input 'block 16384) | ||||
|   (let loop ((spin spin)) | ||||
|     (match (select (list input) '() '() 1) | ||||
|       ((() () ()) | ||||
|        (when (isatty? (current-error-port)) | ||||
|          (display (string-append "\b" (car spin)) | ||||
|                   (current-error-port)) | ||||
|          (force-output (current-error-port))) | ||||
|        (loop (cdr spin))) | ||||
|       (((_) () ()) | ||||
|        ;; Read from INPUT as much as can be read without blocking. | ||||
|        (let ((bv (get-bytevector-some input))) | ||||
|          (unless (eof-object? bv) | ||||
|            (put-bytevector output bv) | ||||
|            (loop spin))))))) | ||||
| 
 | ||||
| (define (call-with-clean-environment thunk) | ||||
|   (let ((env (environ))) | ||||
|     (dynamic-wind | ||||
|  | @ -426,7 +435,14 @@ files." | |||
|       ;; way, we know 'open-pipe*' will not close it on 'exec'.  If PORT is | ||||
|       ;; not a file port (e.g., it's an SSH channel), then the subprocess's | ||||
|       ;; stdin will actually be /dev/null. | ||||
|       (let* ((pipe   (with-input-from-port port | ||||
|       (let* ((sock   (socket AF_UNIX SOCK_STREAM 0)) | ||||
|              (node   (let ((file (string-append (or (getenv "TMPDIR") "/tmp") | ||||
|                                                 "/guix-build-output-" | ||||
|                                                 (number->string (getpid))))) | ||||
|                        (bind sock AF_UNIX file) | ||||
|                        (listen sock 1) | ||||
|                        file)) | ||||
|              (pipe   (with-input-from-port port | ||||
|                        (lambda () | ||||
|                          ;; Make sure BUILD is not influenced by | ||||
|                          ;; $GUILE_LOAD_PATH & co. | ||||
|  | @ -442,30 +458,45 @@ files." | |||
|                                       (if (file-port? port) | ||||
|                                           (number->string | ||||
|                                            (logior major minor)) | ||||
|                                           "none")))))) | ||||
|              (str    (get-string-all pipe)) | ||||
|              (status (close-pipe pipe))) | ||||
|         (match str | ||||
|           ((? eof-object?) | ||||
|            (error "build program failed" (list build status))) | ||||
|           ((? derivation-path? drv) | ||||
|            (mbegin %store-monad | ||||
|              (return (newline (current-error-port))) | ||||
|              ((store-lift add-temp-root) drv) | ||||
|              (return (read-derivation-from-file drv)))) | ||||
|           ("#f" | ||||
|            ;; Unsupported PULL-VERSION. | ||||
|            (return #f)) | ||||
|           ((? string? str) | ||||
|            (raise (condition | ||||
|                    (&message | ||||
|                     (message (format #f "You found a bug: the program '~a' | ||||
|                                           "none") | ||||
|                                       node)))))) | ||||
|         (format (current-error-port) "Computing Guix derivation for '~a'...  " | ||||
|                 system) | ||||
| 
 | ||||
|         ;; Wait for a connection on SOCK and proxy build output so it can be | ||||
|         ;; processed according to the settings currently in effect (build | ||||
|         ;; traces, verbosity level, and so on). | ||||
|         (match (accept sock) | ||||
|           ((port . _) | ||||
|            (close-port sock) | ||||
|            (delete-file node) | ||||
|            (proxy port (current-build-output-port)))) | ||||
| 
 | ||||
|         ;; Now that the build output connection was closed, read the result, a | ||||
|         ;; derivation file name, from PIPE. | ||||
|         (let ((str    (get-string-all pipe)) | ||||
|               (status (close-pipe pipe))) | ||||
|           (match str | ||||
|             ((? eof-object?) | ||||
|              (error "build program failed" (list build status))) | ||||
|             ((? derivation-path? drv) | ||||
|              (mbegin %store-monad | ||||
|                (return (newline (current-error-port))) | ||||
|                ((store-lift add-temp-root) drv) | ||||
|                (return (read-derivation-from-file drv)))) | ||||
|             ("#f" | ||||
|              ;; Unsupported PULL-VERSION. | ||||
|              (return #f)) | ||||
|             ((? string? str) | ||||
|              (raise (condition | ||||
|                      (&message | ||||
|                       (message (format #f "You found a bug: the program '~a' | ||||
| failed to compute the derivation for Guix (version: ~s; system: ~s; | ||||
| host version: ~s; pull-version: ~s). | ||||
| Please report it by email to <~a>.~%" | ||||
|                                      (derivation->output-path build) | ||||
|                                      version system %guix-version pull-version | ||||
|                                      %guix-bug-report-address))))))))))) | ||||
|                                        (derivation->output-path build) | ||||
|                                        version system %guix-version pull-version | ||||
|                                        %guix-bug-report-address)))))))))))) | ||||
| 
 | ||||
| ;; This file is loaded by 'guix pull'; return it the build procedure. | ||||
| build | ||||
|  |  | |||
|  | @ -126,10 +126,10 @@ Store}, for information about this), usually @file{/var}.  Note that you | |||
| will probably not run @command{make install} at the end (you don't have | ||||
| to) but it's still important to pass the right @code{localstatedir}. | ||||
| 
 | ||||
| Finally, you have to invoke @code{make check} to run tests | ||||
| (@pxref{Running the Test Suite}).  If anything | ||||
| fails, take a look at installation instructions (@pxref{Installation}) | ||||
| or send a message to the @email{guix-devel@@gnu.org, mailing list}. | ||||
| Finally, you have to invoke @code{make && make check} to build Guix and | ||||
| run the tests (@pxref{Running the Test Suite}).  If anything fails, take | ||||
| a look at installation instructions (@pxref{Installation}) or send a | ||||
| message to the @email{guix-devel@@gnu.org, mailing list}. | ||||
| 
 | ||||
| From there on, you can authenticate all the commits included in your | ||||
| checkout by running: | ||||
|  | @ -445,6 +445,14 @@ the project name chosen upstream, with underscores replaced with | |||
| hyphens.  For instance, GNUnet is available as @code{gnunet}, and | ||||
| SDL_net as @code{sdl-net}. | ||||
| 
 | ||||
| A noteworthy exception to this rule is when the project name is only a | ||||
| single character, or if an older maintained project with the same name | ||||
| already exists---regardless of whether it has already been packaged for | ||||
| Guix.  Use common sense to make such names unambiguous and meaningful. | ||||
| For example, Guix's package for the shell called ``s'' upstream is | ||||
| @code{s-shell} and @emph{not} @code{s}.  Feel free to ask your fellow | ||||
| hackers for inspiration. | ||||
| 
 | ||||
| We do not add @code{lib} prefixes for library packages, unless these are | ||||
| already part of the official project name.  But @pxref{Python | ||||
| Modules} and @ref{Perl Modules} for special rules concerning modules for | ||||
|  |  | |||
							
								
								
									
										499
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										499
									
								
								doc/guix.texi
									
										
									
									
									
								
							|  | @ -31,14 +31,14 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* | |||
| Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari@* | ||||
| Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* | ||||
| Copyright @copyright{} 2016 Ben Woodcroft@* | ||||
| Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@* | ||||
| Copyright @copyright{} 2016 John Darrington@* | ||||
| Copyright @copyright{} 2016, 2017 Nikita Gillmann@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@* | ||||
| Copyright @copyright{} 2016 Alex ter Weele@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* | ||||
| Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* | ||||
| Copyright @copyright{} 2017, 2018, 2020, 2021 Mathieu Othacehe@* | ||||
| Copyright @copyright{} 2017 Federico Beffa@* | ||||
|  | @ -49,7 +49,7 @@ Copyright @copyright{} 2017, 2021 Christopher Lemmer Webber@* | |||
| Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@* | ||||
| Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* | ||||
| Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@* | ||||
| Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@* | ||||
| Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice@* | ||||
| Copyright @copyright{} 2017 George Clemmer@* | ||||
| Copyright @copyright{} 2017 Andy Wingo@* | ||||
| Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@* | ||||
|  | @ -87,6 +87,7 @@ Copyright @copyright{} 2020 Daniel Brooks@* | |||
| Copyright @copyright{} 2020 John Soo@* | ||||
| Copyright @copyright{} 2020 Jonathan Brielmaier@* | ||||
| Copyright @copyright{} 2020 Edgar Vincent@* | ||||
| Copyright @copyright{} 2021 Maxime Devos@* | ||||
| 
 | ||||
| Permission is granted to copy, distribute and/or modify this document | ||||
| under the terms of the GNU Free Documentation License, Version 1.3 or | ||||
|  | @ -240,13 +241,13 @@ Channels | |||
| * Using a Custom Guix Channel::  Using a customized Guix. | ||||
| * Replicating Guix::            Running the @emph{exact same} Guix. | ||||
| * Channel Authentication::      How Guix verifies what it fetches. | ||||
| * Channels with Substitutes::   Using channels with available substitutes. | ||||
| * Creating a Channel::          How to write your custom channel. | ||||
| * Package Modules in a Sub-directory::  Specifying the channel's package modules location. | ||||
| * Declaring Channel Dependencies::  How to depend on other channels. | ||||
| * Specifying Channel Authorizations::  Defining channel authors authorizations. | ||||
| * Primary URL::                 Distinguishing mirror to original. | ||||
| * Writing Channel News::        Communicating information to channel's users. | ||||
| * Channels with Substitutes::   Using channels with available substitutes. | ||||
| 
 | ||||
| Development | ||||
| 
 | ||||
|  | @ -342,7 +343,7 @@ Services | |||
| * DNS Services::                DNS daemons. | ||||
| * VPN Services::                VPN daemons. | ||||
| * Network File System::         NFS related services. | ||||
| * Continuous Integration::      The Cuirass service. | ||||
| * Continuous Integration::      Cuirass and Laminar services. | ||||
| * Power Management Services::   Extending battery life. | ||||
| * Audio Services::              The MPD. | ||||
| * Virtualization Services::     Virtualization services. | ||||
|  | @ -523,6 +524,17 @@ supported; in particular, there is no ongoing work to ensure that this | |||
| architecture still works.  Should someone decide they wish to revive this | ||||
| architecture then the code is still available. | ||||
| 
 | ||||
| @item powerpc64le-linux | ||||
| little-endian 64-bit Power ISA processors, Linux-Libre kernel.  This | ||||
| includes POWER9 systems such as the | ||||
| @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, | ||||
| RYF Talos II mainboard}. This platform is available as a "technology | ||||
| preview": although it is supported, substitutes are not yet available | ||||
| from the build farm (@pxref{Substitutes}), and some packages may fail to | ||||
| build (@pxref{Tracking Bugs and Patches}).  That said, the Guix | ||||
| community is actively working on improving this support, and now is a | ||||
| great time to try it and get involved! | ||||
| 
 | ||||
| @end table | ||||
| 
 | ||||
| With Guix@tie{}System, you @emph{declare} all aspects of the operating system | ||||
|  | @ -534,7 +546,7 @@ Manual}), the well-known GNU utilities and tool chain, as well as the | |||
| graphical environment or system services of your choice. | ||||
| 
 | ||||
| Guix System is available on all the above platforms except | ||||
| @code{mips64el-linux}. | ||||
| @code{mips64el-linux} and @code{powerpc64le-linux}. | ||||
| 
 | ||||
| @noindent | ||||
| For information on porting to other architectures or kernels, | ||||
|  | @ -641,7 +653,7 @@ If that command fails because you do not have the required public key, | |||
| then run this command to import it: | ||||
| 
 | ||||
| @example | ||||
| $ wget @value{OPENPGP-SIGNING-KEY-URL} \ | ||||
| $ wget '@value{OPENPGP-SIGNING-KEY-URL}' \ | ||||
|       -qO - | gpg --import - | ||||
| @end example | ||||
| 
 | ||||
|  | @ -836,7 +848,8 @@ version 0.1.0 or later; | |||
| @item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib}; | ||||
| @item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi}; | ||||
| @item | ||||
| @c FIXME: Specify a version number once a release has been made. | ||||
| @c FIXME: We need the #:fetch-options parameter of 'submodule-update', | ||||
| @c which appeared in 0.5.0.  Change below after string freeze. | ||||
| @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.3.0 | ||||
| or later; | ||||
| @item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON} | ||||
|  | @ -1043,10 +1056,10 @@ Bash syntax and the @code{shadow} commands): | |||
| @c for why `-G' is needed. | ||||
| @example | ||||
| # groupadd --system guixbuild | ||||
| # for i in `seq -w 1 10`; | ||||
| # for i in $(seq -w 1 10); | ||||
|   do | ||||
|     useradd -g guixbuild -G guixbuild           \ | ||||
|             -d /var/empty -s `which nologin`    \ | ||||
|             -d /var/empty -s $(which nologin)   \ | ||||
|             -c "Guix build user $i" --system    \ | ||||
|             guixbuilder$i; | ||||
|   done | ||||
|  | @ -1417,7 +1430,7 @@ the Guix daemon. | |||
| @code{guix_daemon_socket_t} isn’t actually used.  None of the socket | ||||
| operations involve contexts that have anything to do with | ||||
| @code{guix_daemon_socket_t}.  It doesn’t hurt to have this unused label, | ||||
| but it would be preferrable to define socket rules for only this label. | ||||
| but it would be preferable to define socket rules for only this label. | ||||
| 
 | ||||
| @item | ||||
| @code{guix gc} cannot access arbitrary links to profiles.  By design, | ||||
|  | @ -4213,7 +4226,7 @@ Return the derivation(s) leading to the given store items | |||
| For example, this command: | ||||
| 
 | ||||
| @example | ||||
| guix gc --derivers `guix package -I ^emacs$ | cut -f4` | ||||
| guix gc --derivers $(guix package -I ^emacs$ | cut -f4) | ||||
| @end example | ||||
| 
 | ||||
| @noindent | ||||
|  | @ -4694,7 +4707,7 @@ these procedures. | |||
| Inferior packages can be used transparently like any other package or | ||||
| file-like object in G-expressions (@pxref{G-Expressions}).  They are also | ||||
| transparently handled by the @code{packages->manifest} procedure, which is | ||||
| commonly use in manifests (@pxref{Invoking guix package, the | ||||
| commonly used in manifests (@pxref{Invoking guix package, the | ||||
| @option{--manifest} option of @command{guix package}}).  Thus you can insert | ||||
| an inferior package pretty much anywhere you would insert a regular package: | ||||
| in manifests, in the @code{packages} field of your @code{operating-system} | ||||
|  | @ -5009,13 +5022,13 @@ updates. | |||
| * Using a Custom Guix Channel::  Using a customized Guix. | ||||
| * Replicating Guix::            Running the @emph{exact same} Guix. | ||||
| * Channel Authentication::      How Guix verifies what it fetches. | ||||
| * Channels with Substitutes::   Using channels with available substitutes. | ||||
| * Creating a Channel::          How to write your custom channel. | ||||
| * Package Modules in a Sub-directory::  Specifying the channel's package modules location. | ||||
| * Declaring Channel Dependencies::  How to depend on other channels. | ||||
| * Specifying Channel Authorizations::  Defining channel authors authorizations. | ||||
| * Primary URL::                 Distinguishing mirror to original. | ||||
| * Writing Channel News::        Communicating information to channel's users. | ||||
| * Channels with Substitutes::   Using channels with available substitutes. | ||||
| @end menu | ||||
| 
 | ||||
| @node Specifying Additional Channels | ||||
|  | @ -5171,6 +5184,31 @@ introduction from a trusted source since that is the root of your trust. | |||
| 
 | ||||
| If you're curious about the authentication mechanics, read on! | ||||
| 
 | ||||
| @node Channels with Substitutes | ||||
| @section Channels with Substitutes | ||||
| 
 | ||||
| When running @command{guix pull}, Guix will first compile the | ||||
| definitions of every available package.  This is an expensive operation | ||||
| for which substitutes (@pxref{Substitutes}) may be available.  The | ||||
| following snippet in @file{channels.scm} will ensure that @command{guix | ||||
| pull} uses the latest commit with available substitutes for the package | ||||
| definitions: this is done by querying the continuous integration | ||||
| server at @url{https://ci.guix.gnu.org}. | ||||
| 
 | ||||
| @lisp | ||||
| (use-modules (guix ci)) | ||||
| 
 | ||||
| (list (channel-with-substitutes-available | ||||
|        %default-guix-channel | ||||
|        "https://ci.guix.gnu.org")) | ||||
| @end lisp | ||||
| 
 | ||||
| Note that this does not mean that all the packages that you will | ||||
| install after running @command{guix pull} will have available | ||||
| substitutes.  It only ensures that @command{guix pull} will not try to | ||||
| compile package definitions.  This is particularly useful when using | ||||
| machines with limited resources. | ||||
| 
 | ||||
| @node Creating a Channel | ||||
| @section Creating a Channel | ||||
| 
 | ||||
|  | @ -5487,31 +5525,6 @@ xgettext -o news.po -l scheme -ken etc/news.txt | |||
| To sum up, yes, you could use your channel as a blog.  But beware, this | ||||
| is @emph{not quite} what your users might expect. | ||||
| 
 | ||||
| @node Channels with Substitutes | ||||
| @section Channels with Substitutes | ||||
| 
 | ||||
| When running @command{guix pull}, Guix will first compile the | ||||
| definitions of every available package.  This is an expensive operation | ||||
| for which substitutes (@pxref{Substitutes}) may be available.  The | ||||
| following snippet in @file{channels.scm} will ensure that @command{guix | ||||
| pull} uses the latest commit with available substitutes for the package | ||||
| definitions: this is done by querying the continuous integration | ||||
| server at @url{https://ci.guix.gnu.org}. | ||||
| 
 | ||||
| @lisp | ||||
| (use-modules (guix ci)) | ||||
| 
 | ||||
| (list (channel-with-substitutes-available | ||||
|        %default-guix-channel | ||||
|        "https://ci.guix.gnu.org")) | ||||
| @end lisp | ||||
| 
 | ||||
| Note that this does not mean that all the packages that you will | ||||
| install after running @command{guix pull} will have available | ||||
| substitutes.  It only ensures that @command{guix pull} will not try to | ||||
| compile package definitions.  This is particularly useful when using | ||||
| machines with limited resources. | ||||
| 
 | ||||
| @c ********************************************************************* | ||||
| @node Development | ||||
| @chapter Development | ||||
|  | @ -7288,55 +7301,7 @@ standards, GNU Coding Standards}). | |||
| In a nutshell, packages using it are configured, built, and installed with | ||||
| the usual @code{./configure && make && make check && make install} | ||||
| command sequence.  In practice, a few additional steps are often needed. | ||||
| All these steps are split up in separate @dfn{phases}, | ||||
| notably@footnote{Please see the @code{(guix build gnu-build-system)} | ||||
| modules for more details about the build phases.}: | ||||
| 
 | ||||
| @table @code | ||||
| @item unpack | ||||
| Unpack the source tarball, and change the current directory to the | ||||
| extracted source tree.  If the source is actually a directory, copy it | ||||
| to the build tree, and enter that directory. | ||||
| 
 | ||||
| @item patch-source-shebangs | ||||
| Patch shebangs encountered in source files so they refer to the right | ||||
| store file names.  For instance, this changes @code{#!/bin/sh} to | ||||
| @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}. | ||||
| 
 | ||||
| @item configure | ||||
| Run the @file{configure} script with a number of default options, such | ||||
| as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified | ||||
| by the @code{#:configure-flags} argument. | ||||
| 
 | ||||
| @item build | ||||
| Run @code{make} with the list of flags specified with | ||||
| @code{#:make-flags}.  If the @code{#:parallel-build?} argument is true | ||||
| (the default), build with @code{make -j}. | ||||
| 
 | ||||
| @item check | ||||
| Run @code{make check}, or some other target specified with | ||||
| @code{#:test-target}, unless @code{#:tests? #f} is passed.  If the | ||||
| @code{#:parallel-tests?} argument is true (the default), run @code{make | ||||
| check -j}. | ||||
| 
 | ||||
| @item install | ||||
| Run @code{make install} with the flags listed in @code{#:make-flags}. | ||||
| 
 | ||||
| @item patch-shebangs | ||||
| Patch shebangs on the installed executable files. | ||||
| 
 | ||||
| @item strip | ||||
| Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} | ||||
| is false), copying them to the @code{debug} output when available | ||||
| (@pxref{Installing Debugging Files}). | ||||
| @end table | ||||
| 
 | ||||
| @vindex %standard-phases | ||||
| The build-side module @code{(guix build gnu-build-system)} defines | ||||
| @code{%standard-phases} as the default list of build phases. | ||||
| @code{%standard-phases} is a list of symbol/procedure pairs, where the | ||||
| procedure implements the actual phase. | ||||
| 
 | ||||
| All these steps are split up in separate @dfn{phases}. | ||||
| @xref{Build Phases}, for more info on build phases and ways to customize | ||||
| them. | ||||
| 
 | ||||
|  | @ -7346,6 +7311,84 @@ Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix | |||
| build-system gnu)} module for a complete list).  We call these the | ||||
| @dfn{implicit inputs} of a package, because package definitions do not | ||||
| have to mention them. | ||||
| 
 | ||||
| This build system supports a number of keyword arguments, which can be | ||||
| passed @i{via} the @code{arguments} field of a package.  Here are some | ||||
| of the main parameters: | ||||
| 
 | ||||
| @table @code | ||||
| @item #:phases | ||||
| This argument specifies build-side code that evaluates to an alist of | ||||
| build phases.  @xref{Build Phases}, for more information. | ||||
| 
 | ||||
| @item #:configure-flags | ||||
| This is a list of flags (strings) passed to the @command{configure} | ||||
| script.  @xref{Defining Packages}, for an example. | ||||
| 
 | ||||
| @item #:make-flags | ||||
| This list of strings contains flags passed as arguments to | ||||
| @command{make} invocations in the @code{build}, @code{check}, and | ||||
| @code{install} phases. | ||||
| 
 | ||||
| @item #:out-of-source? | ||||
| This Boolean, @code{#f} by default, indicates whether to run builds in a | ||||
| build directory separate from the source tree. | ||||
| 
 | ||||
| When it is true, the @code{configure} phase creates a separate build | ||||
| directory, changes to that directory, and runs the @code{configure} | ||||
| script from there.  This is useful for packages that require it, such as | ||||
| @code{glibc}. | ||||
| 
 | ||||
| @item #:tests? | ||||
| This Boolean, @code{#t} by default, indicates whether the @code{check} | ||||
| phase should run the package's test suite. | ||||
| 
 | ||||
| @item #:test-target | ||||
| This string, @code{"check"} by default, gives the name of the makefile | ||||
| target used by the @code{check} phase. | ||||
| 
 | ||||
| @item #:parallel-build? | ||||
| @itemx #:parallel-tests? | ||||
| These Boolean values specify whether to build, respectively run the test | ||||
| suite, in parallel, with the @code{-j} flag of @command{make}.  When | ||||
| they are true, @code{make} is passed @code{-j@var{n}}, where @var{n} is | ||||
| the number specified as the @option{--cores} option of | ||||
| @command{guix-daemon} or that of the @command{guix} client command | ||||
| (@pxref{Common Build Options, @option{--cores}}). | ||||
| 
 | ||||
| @cindex RUNPATH, validation | ||||
| @item #:validate-runpath? | ||||
| This Boolean, @code{#t} by default, determines whether to ``validate'' | ||||
| the @code{RUNPATH} of ELF binaries (@code{.so} shared libraries as well | ||||
| as executables) previously installed by the @code{install} phase. | ||||
| 
 | ||||
| This validation step consists in making sure that all the shared | ||||
| libraries needed by an ELF binaries, which are listed as | ||||
| @code{DT_NEEDED} entries in its @code{PT_DYNAMIC} segment, appear in the | ||||
| @code{DT_RUNPATH} entry of that binary.  In other words, it ensures that | ||||
| running or using those binaries will not result in a ``file not found'' | ||||
| error at run time.  @xref{Options, @option{-rpath},, ld, The GNU | ||||
| Linker}, for more information on @code{RUNPATH}. | ||||
| 
 | ||||
| @item #:substitutable? | ||||
| This Boolean, @code{#t} by default, tells whether the package outputs | ||||
| should be substitutable---i.e., whether users should be able to obtain | ||||
| substitutes for them instead of building locally (@pxref{Substitutes}). | ||||
| 
 | ||||
| @item #:allowed-references | ||||
| @itemx #:disallowed-references | ||||
| When true, these arguments must be a list of dependencies that must not | ||||
| appear among the references of the build results.  If, upon build | ||||
| completion, some of these references are retained, the build process | ||||
| fails. | ||||
| 
 | ||||
| This is useful to ensure that a package does not erroneously keep a | ||||
| reference to some of it build-time inputs, in cases where doing so | ||||
| would, for example, unnecessarily increase its size (@pxref{Invoking | ||||
| guix size}). | ||||
| @end table | ||||
| 
 | ||||
| Most other build systems support these keyword arguments. | ||||
| @end defvr | ||||
| 
 | ||||
| Other @code{<build-system>} objects are defined to support other | ||||
|  | @ -7754,13 +7797,13 @@ The Julia package name is read from the file @file{Project.toml}.  This | |||
| value can be overridden by passing the argument @code{#:julia-package-name} | ||||
| (which must be correctly capitalized). | ||||
| 
 | ||||
| Julia packages usually manage they binary dependencies via | ||||
| Julia packages usually manage their binary dependencies via | ||||
| @code{JLLWrappers.jl}, a Julia package that creates a module (named | ||||
| after the wrapped library followed by @code{_jll.jl}. | ||||
| 
 | ||||
| To add the binary path @code{_jll.jl} packages, you need to patch the | ||||
| files under @file{src/wrappers/}, replacing the call to the macro | ||||
| @code{JLLWrappers.@@generate_wrapper_header}, adding as a secound | ||||
| @code{JLLWrappers.@@generate_wrapper_header}, adding as a second | ||||
| argument containing the store path the binary. | ||||
| 
 | ||||
| As an example, in the MbedTLS Julia package, we add a build phase | ||||
|  | @ -8246,16 +8289,53 @@ exception is the ``bare-bones'' @code{trivial-build-system} | |||
| (@pxref{Build Systems}). | ||||
| 
 | ||||
| As discussed in the previous section, those build systems provide a | ||||
| standard list of phases.  For @code{gnu-build-system}, the standard | ||||
| phases include an @code{unpack} phase to unpack the source code tarball, | ||||
| a @command{configure} phase to run @code{./configure}, a @code{build} | ||||
| phase to run @command{make}, and (among others) an @code{install} phase | ||||
| to run @command{make install}; @pxref{Build Systems}, for a more | ||||
| detailed view of these phases.  Likewise, @code{cmake-build-system} | ||||
| inherits these phases, but its @code{configure} phase runs | ||||
| @command{cmake} instead of @command{./configure}.  Other build systems, | ||||
| such as @code{python-build-system}, have a wholly different list of | ||||
| standard phases.  All this code runs on the @dfn{build side}: it is | ||||
| standard list of phases.  For @code{gnu-build-system}, the main build | ||||
| phases are the following: | ||||
| 
 | ||||
| @table @code | ||||
| @item unpack | ||||
| Unpack the source tarball, and change the current directory to the | ||||
| extracted source tree.  If the source is actually a directory, copy it | ||||
| to the build tree, and enter that directory. | ||||
| 
 | ||||
| @item patch-source-shebangs | ||||
| Patch shebangs encountered in source files so they refer to the right | ||||
| store file names.  For instance, this changes @code{#!/bin/sh} to | ||||
| @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}. | ||||
| 
 | ||||
| @item configure | ||||
| Run the @file{configure} script with a number of default options, such | ||||
| as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified | ||||
| by the @code{#:configure-flags} argument. | ||||
| 
 | ||||
| @item build | ||||
| Run @code{make} with the list of flags specified with | ||||
| @code{#:make-flags}.  If the @code{#:parallel-build?} argument is true | ||||
| (the default), build with @code{make -j}. | ||||
| 
 | ||||
| @item check | ||||
| Run @code{make check}, or some other target specified with | ||||
| @code{#:test-target}, unless @code{#:tests? #f} is passed.  If the | ||||
| @code{#:parallel-tests?} argument is true (the default), run @code{make | ||||
| check -j}. | ||||
| 
 | ||||
| @item install | ||||
| Run @code{make install} with the flags listed in @code{#:make-flags}. | ||||
| 
 | ||||
| @item patch-shebangs | ||||
| Patch shebangs on the installed executable files. | ||||
| 
 | ||||
| @item strip | ||||
| Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} | ||||
| is false), copying them to the @code{debug} output when available | ||||
| (@pxref{Installing Debugging Files}). | ||||
| @end table | ||||
| 
 | ||||
| Other build systems have similar phases, with some variations.  For | ||||
| example, @code{cmake-build-system} has same-named phases but its | ||||
| @code{configure} phases runs @code{cmake} instead of @code{./configure}. | ||||
| Others, such as @code{python-build-system}, have a wholly different list | ||||
| of standard phases.  All this code runs on the @dfn{build side}: it is | ||||
| evaluated when you actually build the package, in a dedicated build | ||||
| process spawned by the build daemon (@pxref{Invoking guix-daemon}). | ||||
| 
 | ||||
|  | @ -8266,6 +8346,7 @@ is a procedure that accepts an arbitrary number of arguments.  By | |||
| convention, those procedures receive information about the build in the | ||||
| form of @dfn{keyword parameters}, which they can use or ignore. | ||||
| 
 | ||||
| @vindex %standard-phases | ||||
| For example, here is how @code{(guix build gnu-build-system)} defines | ||||
| @code{%standard-phases}, the variable holding its alist of build | ||||
| phases@footnote{We present a simplified view of those build phases, but | ||||
|  | @ -10130,7 +10211,7 @@ Similarly, the following command builds all the available packages: | |||
| 
 | ||||
| @example | ||||
| guix build --quiet --keep-going \ | ||||
|   `guix package -A | cut -f1,2 --output-delimiter=@@` | ||||
|   $(guix package -A | cut -f1,2 --output-delimiter=@@) | ||||
| @end example | ||||
| 
 | ||||
| @var{package-or-derivation} may be either the name of a package found in | ||||
|  | @ -10263,9 +10344,10 @@ guix-daemon, @option{--timeout}}). | |||
| @cindex build logs, verbosity | ||||
| @item -v @var{level} | ||||
| @itemx --verbosity=@var{level} | ||||
| Use the given verbosity @var{level}, an integer.  Choosing 0 means that no | ||||
| output is produced, 1 is for quiet output, and 2 shows all the build log | ||||
| output on standard error. | ||||
| Use the given verbosity @var{level}, an integer.  Choosing 0 means that | ||||
| no output is produced, 1 is for quiet output; 2 is similar to 1 but it | ||||
| additionally displays download URLs; 3 shows all the build log output on | ||||
| standard error. | ||||
| 
 | ||||
| @item --cores=@var{n} | ||||
| @itemx -c @var{n} | ||||
|  | @ -10835,8 +10917,8 @@ This works regardless of how packages or derivations are specified.  For | |||
| instance, the following invocations are equivalent: | ||||
| 
 | ||||
| @example | ||||
| guix build --log-file `guix build -d guile` | ||||
| guix build --log-file `guix build guile` | ||||
| guix build --log-file $(guix build -d guile) | ||||
| guix build --log-file $(guix build guile) | ||||
| guix build --log-file guile | ||||
| guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)' | ||||
| @end example | ||||
|  | @ -11551,13 +11633,13 @@ Select the given repository (a repository name).  Possible values include: | |||
| Import metadata for a Go module using | ||||
| @uref{https://proxy.golang.org, proxy.golang.org}. | ||||
| 
 | ||||
| This importer is highly experimental. See the source code for more info | ||||
| about the current state. | ||||
| 
 | ||||
| @example | ||||
| guix import go gopkg.in/yaml.v2 | ||||
| @end example | ||||
| 
 | ||||
| It is possible to use a package specification with a @code{@@VERSION} | ||||
| suffix to import a specific version. | ||||
| 
 | ||||
| Additional options include: | ||||
| 
 | ||||
| @table @code | ||||
|  | @ -11566,6 +11648,14 @@ Additional options include: | |||
| Traverse the dependency graph of the given upstream package recursively | ||||
| and generate package expressions for all those packages that are not yet | ||||
| in Guix. | ||||
| @item --pin-versions | ||||
| When using this option, the importer preserves the exact versions of the | ||||
| Go modules dependencies instead of using their latest available | ||||
| versions.  This can be useful when attempting to import packages that | ||||
| recursively depend on former versions of themselves to build.  When | ||||
| using this mode, the symbol of the package is made by appending the | ||||
| version to its name, so that multiple versions of the same package can | ||||
| coexist. | ||||
| @end table | ||||
| @end table | ||||
| 
 | ||||
|  | @ -11577,10 +11667,13 @@ is welcome here (@pxref{Contributing}). | |||
| @section Invoking @command{guix refresh} | ||||
| 
 | ||||
| @cindex @command {guix refresh} | ||||
| The primary audience of the @command{guix refresh} command is developers | ||||
| of the GNU software distribution.  By default, it reports any packages | ||||
| provided by the distribution that are outdated compared to the latest | ||||
| upstream version, like this: | ||||
| The primary audience of the @command{guix refresh} command is packagers. | ||||
| As a user, you may be interested in the @option{--with-latest} option, | ||||
| which can bring you package update superpowers built upon @command{guix | ||||
| refresh} (@pxref{Package Transformation Options, | ||||
| @option{--with-latest}}).  By default, @command{guix refresh} reports | ||||
| any packages provided by the distribution that are outdated compared to | ||||
| the latest upstream version, like this: | ||||
| 
 | ||||
| @example | ||||
| $ guix refresh | ||||
|  | @ -11708,6 +11801,8 @@ list of updaters).  Currently, @var{updater} may be one of: | |||
| the updater for GNU packages; | ||||
| @item savannah | ||||
| the updater for packages hosted at @uref{https://savannah.gnu.org, Savannah}; | ||||
| @item sourceforge | ||||
| the updater for packages hosted at @uref{https://sourceforge.net, SourceForge}; | ||||
| @item gnome | ||||
| the updater for GNOME packages; | ||||
| @item kde | ||||
|  | @ -11752,6 +11847,12 @@ gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to | |||
| gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9 | ||||
| @end example | ||||
| 
 | ||||
| @item --list-updaters | ||||
| @itemx -L | ||||
| List available updaters and exit (see @option{--type} above). | ||||
| 
 | ||||
| For each updater, display the fraction of packages it covers; at the | ||||
| end, display the fraction of packages covered by all these updaters. | ||||
| @end table | ||||
| 
 | ||||
| In addition, @command{guix refresh} can be passed one or more package | ||||
|  | @ -11764,7 +11865,13 @@ $ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8 | |||
| @noindent | ||||
| The command above specifically updates the @code{emacs} and | ||||
| @code{idutils} packages.  The @option{--select} option would have no | ||||
| effect in this case. | ||||
| effect in this case.  You might also want to update definitions that | ||||
| correspond to the packages installed in your profile: | ||||
| 
 | ||||
| @example | ||||
| $ ./pre-inst-env guix refresh -u \ | ||||
|        $(guix package --list-installed | cut -f1) | ||||
| @end example | ||||
| 
 | ||||
| When considering whether to upgrade a package, it is sometimes | ||||
| convenient to know which packages would be affected by the upgrade and | ||||
|  | @ -11773,13 +11880,6 @@ be used when passing @command{guix refresh} one or more package names: | |||
| 
 | ||||
| @table @code | ||||
| 
 | ||||
| @item --list-updaters | ||||
| @itemx -L | ||||
| List available updaters and exit (see @option{--type} above). | ||||
| 
 | ||||
| For each updater, display the fraction of packages it covers; at the | ||||
| end, display the fraction of packages covered by all these updaters. | ||||
| 
 | ||||
| @item --list-dependent | ||||
| @itemx -l | ||||
| List top-level dependent packages that would need to be rebuilt as a | ||||
|  | @ -12336,7 +12436,7 @@ For this type of graph, it is also possible to pass a @file{.drv} file | |||
| name instead of a package name, as in: | ||||
| 
 | ||||
| @example | ||||
| guix graph -t derivation `guix system build -d my-config.scm` | ||||
| guix graph -t derivation $(guix system build -d my-config.scm) | ||||
| @end example | ||||
| 
 | ||||
| @item module | ||||
|  | @ -12365,7 +12465,7 @@ example, the command below produces the reference graph of your profile | |||
| (which can be big!): | ||||
| 
 | ||||
| @example | ||||
| guix graph -t references `readlink -f ~/.guix-profile` | ||||
| guix graph -t references $(readlink -f ~/.guix-profile) | ||||
| @end example | ||||
| 
 | ||||
| @item referrers | ||||
|  | @ -12937,7 +13037,7 @@ their dependencies over to @var{host}, logged in as @var{user}: | |||
| 
 | ||||
| @example | ||||
| guix copy --to=@var{user}@@@var{host} \ | ||||
|           coreutils `readlink -f ~/.guix-profile` | ||||
|           coreutils $(readlink -f ~/.guix-profile) | ||||
| @end example | ||||
| 
 | ||||
| If some of the items to be copied are already present on @var{host}, | ||||
|  | @ -13498,6 +13598,14 @@ following expression returns a list that contains all the services in | |||
|         %desktop-services) | ||||
| @end lisp | ||||
| 
 | ||||
| Alternatively, the @code{modify-services} macro can be used: | ||||
| 
 | ||||
| @lisp | ||||
| (modify-services %desktop-services | ||||
|   (delete avahi-service-type)) | ||||
| @end lisp | ||||
| 
 | ||||
| 
 | ||||
| @unnumberedsubsec Instantiating the System | ||||
| 
 | ||||
| Assuming the @code{operating-system} declaration | ||||
|  | @ -14808,7 +14916,7 @@ declaration. | |||
| * DNS Services::                DNS daemons. | ||||
| * VPN Services::                VPN daemons. | ||||
| * Network File System::         NFS related services. | ||||
| * Continuous Integration::      The Cuirass service. | ||||
| * Continuous Integration::      Cuirass and Laminar services. | ||||
| * Power Management Services::   Extending battery life. | ||||
| * Audio Services::              The MPD. | ||||
| * Virtualization Services::     Virtualization services. | ||||
|  | @ -15180,6 +15288,12 @@ in automatically without prompting for their login name or password. | |||
| @item @code{hardware-acceleration?} (default: #f) | ||||
| Whether to use hardware acceleration. | ||||
| 
 | ||||
| @item @code{font-engine} (default: @code{"pango"}) | ||||
| Font engine used in Kmscon. | ||||
| 
 | ||||
| @item @code{font-size} (default: @code{12}) | ||||
| Font size used in Kmscon. | ||||
| 
 | ||||
| @item @code{kmscon} (default: @var{kmscon}) | ||||
| The Kmscon package to use. | ||||
| 
 | ||||
|  | @ -15630,7 +15744,7 @@ This allows neighboring Guix devices with discovery on (see | |||
| @code{guix-configuration} above) to discover this @command{guix publish} | ||||
| instance and to automatically download substitutes from it. | ||||
| 
 | ||||
| @item @code{compression} (default: @code{'(("gzip" 3))}) | ||||
| @item @code{compression} (default: @code{'(("gzip" 3) ("zstd" 3))}) | ||||
| This is a list of compression method/level tuple used when compressing | ||||
| substitutes.  For example, to compress all substitutes with @emph{both} lzip | ||||
| at level 7 and gzip at level 9, write: | ||||
|  | @ -16399,7 +16513,7 @@ netfilter project that aims to replace the existing iptables, ip6tables, | |||
| arptables and ebtables framework.  It provides a new packet filtering | ||||
| framework, a new user-space utility @command{nft}, and a compatibility layer | ||||
| for iptables.  This service comes with a default ruleset | ||||
| @code{%default-nftables-ruleset} that rejecting all incomming connections | ||||
| @code{%default-nftables-ruleset} that rejecting all incoming connections | ||||
| except those to the ssh port 22.  To use it, simply write: | ||||
| 
 | ||||
| @lisp | ||||
|  | @ -16802,7 +16916,7 @@ Data type representing the configuration for @code{syncthing-service-type}. | |||
| List of command-line arguments passing to @code{syncthing} binary. | ||||
| 
 | ||||
| @item @code{logflags} (default: @var{0}) | ||||
| Sum of loging flags, see | ||||
| Sum of logging flags, see | ||||
| @uref{https://docs.syncthing.net/users/syncthing.html#cmdoption-logflags, Syncthing documentation logflags}. | ||||
| 
 | ||||
| @item @code{user} (default: @var{#f}) | ||||
|  | @ -17472,6 +17586,37 @@ address, delete everything except these options: | |||
| @end table | ||||
| @end deftp | ||||
| 
 | ||||
| @cindex IPFS | ||||
| @defvr {Scheme Variable} ipfs-service-type | ||||
| The service type for connecting to the @uref{https://ipfs.io,IPFS network}, | ||||
| a global, versioned, peer-to-peer file system. Pass it a | ||||
| @code{ipfs-configuration} to change the ports used for the gateway and API. | ||||
| 
 | ||||
| Here's an example configuration, using some non-standard ports: | ||||
| 
 | ||||
| @lisp | ||||
| (service ipfs-service-type | ||||
|          (ipfs-configuration | ||||
|           (gateway "/ip4/127.0.0.1/tcp/8880") | ||||
|           (api "/ip4/127.0.0.1/tcp/8881"))) | ||||
| @end lisp | ||||
| @end defvr | ||||
| 
 | ||||
| @deftp {Data Type} ipfs-configuration | ||||
| Data type representing the configuration of IPFS. | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{package} (default: @code{go-ipfs}) | ||||
| Package object of IPFS. | ||||
| 
 | ||||
| @item @code{gateway} (default: @code{"/ip4/127.0.0.1/tcp/8082"}) | ||||
| Address of the gateway, in ‘multiaddress’ format. | ||||
| 
 | ||||
| @item @code{api} (default: @code{"/ip4/127.0.0.1/tcp/5001"}) | ||||
| Address of the API endpoint, in ‘multiaddress’ format. | ||||
| @end table | ||||
| @end deftp | ||||
| 
 | ||||
| @cindex keepalived | ||||
| @deffn {Scheme Variable} keepalived-service-type | ||||
| This is the type for the @uref{https://www.keepalived.org/, Keepalived} | ||||
|  | @ -17761,9 +17906,8 @@ and tty8. | |||
|                    (service slim-service-type (slim-configuration | ||||
|                                                (display ":1") | ||||
|                                                (vt "vt8"))) | ||||
|                    (remove (lambda (service) | ||||
|                              (eq? (service-kind service) gdm-service-type)) | ||||
|                            %desktop-services)))) | ||||
|                    (modify-services %desktop-services | ||||
|                      (delete gdm-service-type))))) | ||||
| @end lisp | ||||
| 
 | ||||
| @end defvr | ||||
|  | @ -19697,12 +19841,15 @@ configuration. | |||
| @item @code{ident-file} (default: @code{%default-postgres-ident}) | ||||
| Filename or G-expression for the user name mapping configuration. | ||||
| 
 | ||||
| @item @code{socket-directory} (default: @code{"/var/run/postgresql"}) | ||||
| @item @code{socket-directory} (default: @code{#false}) | ||||
| Specifies the directory of the Unix-domain socket(s) on which PostgreSQL | ||||
| is to listen for connections from client applications.  If set to | ||||
| @code{#false} PostgreSQL does not listen on any Unix-domain sockets, in | ||||
| is to listen for connections from client applications. If set to | ||||
| @code{""} PostgreSQL does not listen on any Unix-domain sockets, in | ||||
| which case only TCP/IP sockets can be used to connect to the server. | ||||
| 
 | ||||
| By default, the @code{#false} value means the PostgreSQL default value | ||||
| will be used, which is currently @samp{/tmp}. | ||||
| 
 | ||||
| @item @code{extra-config} (default: @code{'()}) | ||||
| List of additional keys and values to include in the PostgreSQL config | ||||
| file.  Each entry in the list should be a list where the first element | ||||
|  | @ -25887,7 +26034,7 @@ this amount of time.  After this period, resolvers will invalidate their cache | |||
| and check again that it still exists. | ||||
| 
 | ||||
| @item @code{nx} (default: @code{3600}) | ||||
| Default TTL of inexistant records.  This delay is usually short because you want | ||||
| Default TTL of inexistent records.  This delay is usually short because you want | ||||
| your new domains to reach everyone quickly. | ||||
| 
 | ||||
| @end table | ||||
|  | @ -27311,6 +27458,64 @@ the store items being published. | |||
| @end table | ||||
| @end deftp | ||||
| 
 | ||||
| @subsubheading Laminar | ||||
| 
 | ||||
| @uref{https://laminar.ohwg.net/, Laminar} is a lightweight and modular | ||||
| Continuous Integration service.  It doesn't have a configuration web UI | ||||
| instead uses version-controllable configuration files and scripts. | ||||
| 
 | ||||
| Laminar encourages the use of existing tools such as bash and cron | ||||
| instead of reinventing them. | ||||
| 
 | ||||
| @defvr {Scheme Procedure} laminar-service-type | ||||
| The type of the Laminar service.  Its value must be a | ||||
| @code{laminar-configuration} object, as described below. | ||||
| 
 | ||||
| All configuration values have defaults, a minimal configuration to get | ||||
| Laminar running is shown below. By default, the web interface is | ||||
| available on port 8080. | ||||
| 
 | ||||
| @lisp | ||||
| (service laminar-service-type) | ||||
| @end lisp | ||||
| @end defvr | ||||
| 
 | ||||
| @deftp {Data Type} laminar-configuration | ||||
| Data type representing the configuration of Laminar. | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{laminar} (default: @code{laminar}) | ||||
| The Laminar package to use. | ||||
| 
 | ||||
| @item @code{home-directory} (default: @code{"/var/lib/laminar"}) | ||||
| The directory for job configurations and run directories. | ||||
| 
 | ||||
| @item @code{bind-http} (default: @code{"*:8080"}) | ||||
| The interface/port or unix socket on which laminard should listen for | ||||
| incoming connections to the web frontend. | ||||
| 
 | ||||
| @item @code{bind-rpc} (default: @code{"unix-abstract:laminar"}) | ||||
| The interface/port or unix socket on which laminard should listen for | ||||
| incoming commands such as build triggers. | ||||
| 
 | ||||
| @item @code{title} (default: @code{"Laminar"}) | ||||
| The page title to show in the web frontend. | ||||
| 
 | ||||
| @item @code{keep-rundirs} (default: @code{0}) | ||||
| Set to an integer defining how many rundirs to keep per job.  The | ||||
| lowest-numbered ones will be deleted.  The default is 0, meaning all run | ||||
| dirs will be immediately deleted. | ||||
| 
 | ||||
| @item @code{archive-url} (default: @code{#f}) | ||||
| The web frontend served by laminard will use this URL to form links to | ||||
| artefacts archived jobs. | ||||
| 
 | ||||
| @item @code{base-url} (default: @code{#f}) | ||||
| Base URL to use for links to laminar itself. | ||||
| 
 | ||||
| @end table | ||||
| @end deftp | ||||
| 
 | ||||
| @node Power Management Services | ||||
| @subsection Power Management Services | ||||
| 
 | ||||
|  | @ -28719,7 +28924,7 @@ service: | |||
| @lisp | ||||
| (service qemu-binfmt-service-type | ||||
|          (qemu-binfmt-configuration | ||||
|            (platforms (lookup-qemu-platforms "arm")) | ||||
|            (platforms (lookup-qemu-platforms "arm")))) | ||||
| @end lisp | ||||
| 
 | ||||
| You can run: | ||||
|  | @ -31030,7 +31235,7 @@ coordinator. | |||
| 
 | ||||
| @deftp {Data Type} guix-build-coordinator-agent-dynamic-auth | ||||
| Data type representing an agent authenticating with a coordinator via a | ||||
| dyanmic auth token and agent name. | ||||
| dynamic auth token and agent name. | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{agent-name} | ||||
|  | @ -31047,7 +31252,7 @@ database, and is used by the agent to authenticate. | |||
| 
 | ||||
| @deftp {Data Type} guix-build-coordinator-agent-dynamic-auth-with-file | ||||
| Data type representing an agent authenticating with a coordinator via a | ||||
| dyanmic auth token read from a file and agent name. | ||||
| dynamic auth token read from a file and agent name. | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{agent-name} | ||||
|  | @ -32899,8 +33104,8 @@ system configuration file.  You can then load the image and launch a | |||
| Docker container using commands like the following: | ||||
| 
 | ||||
| @example | ||||
| image_id="`docker load < guix-system-docker-image.tar.gz`" | ||||
| container_id="`docker create $image_id`" | ||||
| image_id="$(docker load < guix-system-docker-image.tar.gz)" | ||||
| container_id="$(docker create $image_id)" | ||||
| docker start $container_id | ||||
| @end example | ||||
| 
 | ||||
|  | @ -33424,7 +33629,7 @@ The default @command{run-vm.sh} script that is returned by an invocation of | |||
| @command{guix system vm} does not add a @command{-nic user} flag by default. | ||||
| To get network access from within the vm add the @code{(dhcp-client-service)} | ||||
| to your system definition and start the VM using | ||||
| @command{`guix system vm config.scm` -nic user}.  An important caveat of using | ||||
| @command{$(guix system vm config.scm) -nic user}.  An important caveat of using | ||||
| @command{-nic user} for networking is that @command{ping} will not work, because | ||||
| it uses the ICMP protocol.  You'll have to use a different command to check for | ||||
| network connectivity, for example @command{guix download}. | ||||
|  | @ -33439,13 +33644,13 @@ To enable SSH inside a VM you need to add an SSH server like | |||
| 22 by default, to the host.  You can do this with | ||||
| 
 | ||||
| @example | ||||
| `guix system vm config.scm` -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22 | ||||
| $(guix system vm config.scm) -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22 | ||||
| @end example | ||||
| 
 | ||||
| To connect to the VM you can run | ||||
| 
 | ||||
| @example | ||||
| ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 | ||||
| ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 localhost | ||||
| @end example | ||||
| 
 | ||||
| The @command{-p} tells @command{ssh} the port you want to connect to. | ||||
|  | @ -34201,7 +34406,7 @@ This service represents PID@tie{}1. | |||
| @cindex man pages | ||||
| @cindex manual pages | ||||
| In most cases packages installed with Guix come with documentation. | ||||
| There are two main documentation formats: ``Info'', a browseable | ||||
| There are two main documentation formats: ``Info'', a browsable | ||||
| hypertext format used for GNU software, and ``manual pages'' (or ``man | ||||
| pages''), the linear documentation format traditionally found on Unix. | ||||
| Info manuals are accessed with the @command{info} command or with Emacs, | ||||
|  | @ -34507,7 +34712,7 @@ To verify which Bash your whole profile refers to, you can run | |||
| (@pxref{Invoking guix gc}): | ||||
| 
 | ||||
| @example | ||||
| guix gc -R `readlink -f ~/.guix-profile` | grep bash | ||||
| guix gc -R $(readlink -f ~/.guix-profile) | grep bash | ||||
| @end example | ||||
| 
 | ||||
| @noindent | ||||
|  | @ -34515,7 +34720,7 @@ guix gc -R `readlink -f ~/.guix-profile` | grep bash | |||
| Likewise for a complete Guix system generation: | ||||
| 
 | ||||
| @example | ||||
| guix gc -R `guix system build my-config.scm` | grep bash | ||||
| guix gc -R $(guix system build my-config.scm) | grep bash | ||||
| @end example | ||||
| 
 | ||||
| Lastly, to check which Bash running processes are using, you can use the | ||||
|  | @ -34625,7 +34830,7 @@ traditional bootstrap of the rest of the Guix System. | |||
| 
 | ||||
| The only significant binary bootstrap seeds that remain@footnote{ | ||||
| Ignoring the 68KB @code{mescc-tools}; that will be removed later, | ||||
| together with @code{mes}.} are a Scheme intepreter and a Scheme | ||||
| together with @code{mes}.} are a Scheme interpreter and a Scheme | ||||
| compiler: GNU Mes and GNU Guile@footnote{Not shown in this graph are the | ||||
| static binaries for @file{bash}, @code{tar}, and @code{xz} that are used | ||||
| to get Guile running.}. | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| !# | ||||
| 
 | ||||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -28,7 +28,10 @@ | |||
| 
 | ||||
| (import (sxml xpath) | ||||
|         (srfi srfi-1) | ||||
|         (srfi srfi-2) | ||||
|         (srfi srfi-9) | ||||
|         (srfi srfi-11) | ||||
|         (srfi srfi-26) | ||||
|         (ice-9 format) | ||||
|         (ice-9 popen) | ||||
|         (ice-9 match) | ||||
|  | @ -63,7 +66,8 @@ LINE-NO in PORT." | |||
|   (make-hunk file-name | ||||
|              old-line-number | ||||
|              new-line-number | ||||
|              diff) | ||||
|              diff-lines | ||||
|              definition?) | ||||
|   hunk? | ||||
|   (file-name       hunk-file-name) | ||||
|   ;; Line number before the change | ||||
|  | @ -71,38 +75,45 @@ LINE-NO in PORT." | |||
|   ;; Line number after the change | ||||
|   (new-line-number hunk-new-line-number) | ||||
|   ;; The full diff to be used with "git apply --cached" | ||||
|   (diff hunk-diff)) | ||||
|   (diff-lines hunk-diff-lines) | ||||
|   ;; Does this hunk add a definition? | ||||
|   (definition? hunk-definition?)) | ||||
| 
 | ||||
| (define* (hunk->patch hunk #:optional (port (current-output-port))) | ||||
|   (let ((file-name (hunk-file-name hunk))) | ||||
|     (format port | ||||
|             "diff --git a/~a b/~a~%--- a/~a~%+++ b/~a~%~a" | ||||
|             file-name file-name file-name file-name | ||||
|             (hunk-diff hunk)))) | ||||
|             (string-join (hunk-diff-lines hunk) "")))) | ||||
| 
 | ||||
| (define (diff-info) | ||||
|   "Read the diff and return a list of <hunk> values." | ||||
|   (let ((port (open-pipe* OPEN_READ | ||||
|                           "git" "diff" | ||||
|                           "git" "diff-files" | ||||
|                           "--no-prefix" | ||||
|                           ;; Do not include any context lines.  This makes it | ||||
|                           ;; easier to find the S-expression surrounding the | ||||
|                           ;; change. | ||||
|                           "--unified=0"))) | ||||
|                           ;; Only include one context line to avoid lumping in | ||||
|                           ;; new definitions with changes to existing | ||||
|                           ;; definitions. | ||||
|                           "--unified=1" | ||||
|                           "gnu"))) | ||||
|     (define (extract-line-number line-tag) | ||||
|       (abs (string->number | ||||
|             (car (string-split line-tag #\,))))) | ||||
|     (define (read-hunk) | ||||
|       (reverse | ||||
|        (let loop ((lines '())) | ||||
|          (let ((line (read-line port 'concat))) | ||||
|            (cond | ||||
|             ((eof-object? line) lines) | ||||
|             ((or (string-prefix? "@@ " line) | ||||
|                  (string-prefix? "diff --git" line)) | ||||
|              (unget-string port line) | ||||
|              lines) | ||||
|             (else (loop (cons line lines)))))))) | ||||
|       (let loop ((lines '()) | ||||
|                  (definition? #false)) | ||||
|         (let ((line (read-line port 'concat))) | ||||
|           (cond | ||||
|            ((eof-object? line) | ||||
|             (values (reverse lines) definition?)) | ||||
|            ((or (string-prefix? "@@ " line) | ||||
|                 (string-prefix? "diff --git" line)) | ||||
|             (unget-string port line) | ||||
|             (values (reverse lines) definition?)) | ||||
|            (else | ||||
|             (loop (cons line lines) | ||||
|                   (or definition? | ||||
|                       (string-prefix? "+(define" line)))))))) | ||||
|     (define info | ||||
|       (let loop ((acc '()) | ||||
|                  (file-name #f)) | ||||
|  | @ -116,29 +127,42 @@ LINE-NO in PORT." | |||
|            ((string-prefix? "@@ " line) | ||||
|             (match (string-split line #\space) | ||||
|               ((_ old-start new-start . _) | ||||
|                (loop (cons (make-hunk file-name | ||||
|                                       (extract-line-number old-start) | ||||
|                                       (extract-line-number new-start) | ||||
|                                       (string-join (cons* line "\n" | ||||
|                                                           (read-hunk)) "")) | ||||
|                            acc) | ||||
|                      file-name)))) | ||||
|                (let-values | ||||
|                    (((diff-lines definition?) (read-hunk))) | ||||
|                  (loop (cons (make-hunk file-name | ||||
|                                         (extract-line-number old-start) | ||||
|                                         (extract-line-number new-start) | ||||
|                                         (cons (string-append line "\n") | ||||
|                                               diff-lines) | ||||
|                                         definition?) acc) | ||||
|                        file-name))))) | ||||
|            (else (loop acc file-name)))))) | ||||
|     (close-pipe port) | ||||
|     info)) | ||||
| 
 | ||||
| (define (lines-to-first-change hunk) | ||||
|   "Return the number of diff lines until the first change." | ||||
|   (1- (count (lambda (line) | ||||
|                ((negate char-set-contains?) | ||||
|                 (char-set #\+ #\-) | ||||
|                 (string-ref line 0))) | ||||
|              (hunk-diff-lines hunk)))) | ||||
| 
 | ||||
| (define (old-sexp hunk) | ||||
|   "Using the diff information in HUNK return the unmodified S-expression | ||||
| corresponding to the top-level definition containing the staged changes." | ||||
|   ;; TODO: We can't seek with a pipe port... | ||||
|   (let* ((port (open-pipe* OPEN_READ | ||||
|                            "git" "show" (string-append "HEAD:" | ||||
|                                                        (hunk-file-name hunk)))) | ||||
|                            "git" "cat-file" "-p" (string-append | ||||
|                                                   "HEAD:" | ||||
|                                                   (hunk-file-name hunk)))) | ||||
|          (contents (get-string-all port))) | ||||
|     (close-pipe port) | ||||
|     (call-with-input-string contents | ||||
|       (lambda (port) | ||||
|         (surrounding-sexp port (hunk-old-line-number hunk)))))) | ||||
|         (surrounding-sexp port | ||||
|                           (+ (lines-to-first-change hunk) | ||||
|                              (hunk-old-line-number hunk))))))) | ||||
| 
 | ||||
| (define (new-sexp hunk) | ||||
|   "Using the diff information in HUNK return the modified S-expression | ||||
|  | @ -146,9 +170,10 @@ corresponding to the top-level definition containing the staged changes." | |||
|   (call-with-input-file (hunk-file-name hunk) | ||||
|     (lambda (port) | ||||
|       (surrounding-sexp port | ||||
|                         (hunk-new-line-number hunk))))) | ||||
|                         (+ (lines-to-first-change hunk) | ||||
|                            (hunk-new-line-number hunk)))))) | ||||
| 
 | ||||
| (define* (commit-message file-name old new #:optional (port (current-output-port))) | ||||
| (define* (change-commit-message file-name old new #:optional (port (current-output-port))) | ||||
|   "Print ChangeLog commit message for changes between OLD and NEW." | ||||
|   (define (get-values expr field) | ||||
|     (match ((sxpath `(// ,field quasiquote *)) expr) | ||||
|  | @ -193,6 +218,12 @@ corresponding to the top-level definition containing the staged changes." | |||
|                                          (listify added))))))))) | ||||
|             '(inputs propagated-inputs native-inputs))) | ||||
| 
 | ||||
| (define* (add-commit-message file-name variable-name #:optional (port (current-output-port))) | ||||
|   "Print ChangeLog commit message for a change to FILE-NAME adding a definition." | ||||
|   (format port | ||||
|           "gnu: Add ~a.~%~%* ~a (~a): New variable.~%" | ||||
|           variable-name file-name variable-name)) | ||||
| 
 | ||||
| (define (group-hunks-by-sexp hunks) | ||||
|   "Return a list of pairs associating all hunks with the S-expression they are | ||||
| modifying." | ||||
|  | @ -218,14 +249,45 @@ modifying." | |||
|           (cons* new (old-sexp (first hunks)) hunks))) | ||||
|        (group-hunks-by-sexp hunks))) | ||||
| 
 | ||||
| (define %delay 1000) | ||||
| 
 | ||||
| (define (main . args) | ||||
|   (match (diff-info) | ||||
|     (() | ||||
|      (display "Nothing to be done." (current-error-port))) | ||||
|      (display "Nothing to be done.\n" (current-error-port))) | ||||
|     (hunks | ||||
|      (for-each (match-lambda | ||||
|                  ((new old . hunks) | ||||
|                   (for-each (lambda (hunk) | ||||
|      (let-values | ||||
|          (((definitions changes) | ||||
|            (partition hunk-definition? hunks))) | ||||
| 
 | ||||
|        ;; Additions. | ||||
|        (for-each (lambda (hunk) | ||||
|                    (and-let* | ||||
|                        ((define-line (find (cut string-prefix? "+(define" <>) | ||||
|                                            (hunk-diff-lines hunk))) | ||||
|                         (variable-name (and=> (string-tokenize define-line) second))) | ||||
|                      (add-commit-message (hunk-file-name hunk) variable-name) | ||||
|                      (let ((port (open-pipe* OPEN_WRITE                    | ||||
|                                              "git" "apply"                 | ||||
|                                              "--cached"                    | ||||
|                                              "--unidiff-zero")))           | ||||
|                        (hunk->patch hunk port)                             | ||||
|                        (unless (eqv? 0 (status:exit-val (close-pipe port)))  | ||||
|                          (error "Cannot apply"))) | ||||
| 
 | ||||
|                      (let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-"))) | ||||
|                        (add-commit-message (hunk-file-name hunk) | ||||
|                                            variable-name port) | ||||
|                        (usleep %delay) | ||||
|                        (unless (eqv? 0 (status:exit-val (close-pipe port))) | ||||
|                          (error "Cannot commit")))) | ||||
|                    (usleep %delay)) | ||||
|                  definitions) | ||||
| 
 | ||||
|        ;; Changes. | ||||
|        (for-each (match-lambda | ||||
|                    ((new old . hunks) | ||||
|                     (for-each (lambda (hunk) | ||||
|                                 (let ((port (open-pipe* OPEN_WRITE | ||||
|                                                         "git" "apply" | ||||
|                                                         "--cached" | ||||
|  | @ -233,18 +295,20 @@ modifying." | |||
|                                   (hunk->patch hunk port) | ||||
|                                   (unless (eqv? 0 (status:exit-val (close-pipe port))) | ||||
|                                     (error "Cannot apply"))) | ||||
|                                 (sleep 1)) | ||||
|                                 (usleep %delay)) | ||||
|                               hunks) | ||||
|                     (commit-message (hunk-file-name (first hunks)) | ||||
|                                     old new | ||||
|                                     (current-output-port)) | ||||
|                     (change-commit-message (hunk-file-name (first hunks)) | ||||
|                                            old new | ||||
|                                            (current-output-port)) | ||||
|                     (let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-"))) | ||||
|                       (commit-message (hunk-file-name (first hunks)) | ||||
|                                       old new | ||||
|                                       port) | ||||
|                       (sleep 1) | ||||
|                       (change-commit-message (hunk-file-name (first hunks)) | ||||
|                                              old new | ||||
|                                              port) | ||||
|                       (usleep %delay) | ||||
|                       (unless (eqv? 0 (status:exit-val (close-pipe port))) | ||||
|                         (error "Cannot commit"))))) | ||||
|                (new+old+hunks hunks))))) | ||||
|                  ;; XXX: we recompute the hunks here because previous | ||||
|                  ;; insertions lead to offsets. | ||||
|                  (new+old+hunks (diff-info))))))) | ||||
| 
 | ||||
| (main) | ||||
|  |  | |||
|  | @ -330,15 +330,20 @@ sys_create_build_user() | |||
|         _msg "${PAS}group <guixbuild> created" | ||||
|     fi | ||||
| 
 | ||||
|     if [ $(getent group kvm) ]; then | ||||
|         _msg "${INF}group kvm exists and build users will be added to it" | ||||
| 	local KVMGROUP=,kvm | ||||
|     fi | ||||
| 
 | ||||
|     for i in $(seq -w 1 10); do | ||||
|         if id "guixbuilder${i}" &>/dev/null; then | ||||
|             _msg "${INF}user is already in the system, reset" | ||||
|             usermod -g guixbuild -G guixbuild           \ | ||||
|             usermod -g guixbuild -G guixbuild${KVMGROUP}     \ | ||||
|                     -d /var/empty -s "$(which nologin)" \ | ||||
|                     -c "Guix build user $i"             \ | ||||
|                     "guixbuilder${i}"; | ||||
|         else | ||||
|             useradd -g guixbuild -G guixbuild           \ | ||||
|             useradd -g guixbuild -G guixbuild${KVMGROUP}     \ | ||||
|                     -d /var/empty -s "$(which nologin)" \ | ||||
|                     -c "Guix build user $i" --system    \ | ||||
|                     "guixbuilder${i}"; | ||||
|  |  | |||
							
								
								
									
										94
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										94
									
								
								etc/news.scm
									
										
									
									
									
								
							|  | @ -12,6 +12,8 @@ | |||
| ;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;; Copyright © 2021 Leo Famulari <leo@famulari.name> | ||||
| ;; Copyright © 2021 Zhu Zihao <all_but_last@163.com> | ||||
| ;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> | ||||
| ;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> | ||||
| ;; | ||||
| ;; Copying and distribution of this file, with or without modification, are | ||||
| ;; permitted in any medium without royalty provided the copyright notice and | ||||
|  | @ -20,6 +22,98 @@ | |||
| (channel-news | ||||
|  (version 0) | ||||
| 
 | ||||
|  (entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586") | ||||
|         (title | ||||
|          (en "Risk of local privilege escalation during user account creation") | ||||
|          (de "Risiko lokaler Rechteausweitung während der Erstellung von Benutzerkonten")) | ||||
|         (body | ||||
|          (en "A security vulnerability that can lead to local privilege | ||||
| escalation has been found in the code that creates user accounts on Guix | ||||
| System---Guix on other distros is unaffected.  The system is only vulnerable | ||||
| during the activation of user accounts that do not already exist. | ||||
| 
 | ||||
| This bug is fixed and Guix System users are advised to upgrade their system, | ||||
| with a command along the lines of: | ||||
| 
 | ||||
| @example | ||||
| guix system reconfigure /run/current-system/configuration.scm | ||||
| @end example | ||||
| 
 | ||||
| The attack can happen when @command{guix system reconfigure} is running. | ||||
| Running @command{guix system reconfigure} can trigger the creation of new user | ||||
| accounts if the configuration specifies new accounts.  If a user whose account | ||||
| is being created manages to log in after the account has been created but | ||||
| before ``skeleton files'' copied to its home directory have the right | ||||
| ownership, they may, by creating an appropriately-named symbolic link in the | ||||
| home directory pointing to a sensitive file, such as @file{/etc/shadow}, get | ||||
| root privileges. | ||||
| 
 | ||||
| See @uref{https://issues.guix.gnu.org/47584} for more information on this | ||||
| bug.") | ||||
|          (de "Eine Sicherheitslücke, die eine lokale Rechteausweitung zur | ||||
| Folge haben kann, wurde in dem Code gefunden, mit dem Benutzerkonten auf Guix | ||||
| System angelegt werden — Guix auf anderen Distributionen ist nicht betroffen. | ||||
| Das System kann nur während der Aktivierung noch nicht existierender | ||||
| Benutzerkonten angegriffen werden. | ||||
| 
 | ||||
| Der Fehler wurde behoben und wir empfehlen Nutzern von Guix System, ihre | ||||
| Systeme zu aktualisieren, mit einem Befehl wie: | ||||
| 
 | ||||
| @example | ||||
| guix system reconfigure /run/current-system/configuration.scm | ||||
| @end example | ||||
| 
 | ||||
| Der Angriff kann erfolgen, während @command{guix system reconfigure} läuft. | ||||
| Wenn @command{guix system reconfigure} ausgeführt wird, kann das die Erzeugung | ||||
| neuer Benutzerkonten auslösen, wenn in der Konfiguration neue Konten angegeben | ||||
| wurden.  Wenn ein Benutzer, dessen Konto gerade angelegt wird, es | ||||
| fertigbringt, sich anzumelden, bevor „Skeleton-Dateien“ in seinem Persönlichen | ||||
| Verzeichnis den richtigen Besitzer haben, kann er durch Anlegen einer gezielt | ||||
| benannten symbolischen Verknüpfung in seinem Persönlichen Verzeichnis auf eine | ||||
| sensible Datei wie @file{/etc/shadow} Administratorrechte erlangen. | ||||
| 
 | ||||
| Siehe @uref{https://issues.guix.gnu.org/47584} für mehr Informationen zu | ||||
| diesem Fehler."))) | ||||
| 
 | ||||
|  (entry (commit "e52ec6c64a17a99ae4bb6ff02309067499915b06") | ||||
|         (title | ||||
|          (en "New supported platform: powerpc64le-linux") | ||||
|          (de "Neue Plattform wird unterstützt: powerpc64le-linux") | ||||
|          (fr "Nouvelle plate-forme prise en charge : powerpc64le-linux")) | ||||
|         (body | ||||
|          (en "A new platform, powerpc64le-linux, has been added for | ||||
| little-endian 64-bit Power ISA processors using the Linux-Libre kernel.  This | ||||
| includes POWER9 systems such as the | ||||
| @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, | ||||
| RYF Talos II mainboard}. This platform is available as a \"technology | ||||
| preview\": although it is supported, substitutes are not yet available from | ||||
| the build farm, and some packages may fail to build.  In addition, Guix System | ||||
| is not yet available on this platform.  That said, the Guix community is | ||||
| actively working on improving this support, and now is a great time to try it | ||||
| and get involved!") | ||||
|          (de "Eine neue Plattform, powerpc64le-linux, wurde hinzugefügt. Mit | ||||
| ihr können Prozessoren mit 64-Bit-Power-Befehlssatz, little-endian, mit dem | ||||
| Linux-Libre-Kernel betrieben werden.  Dazu gehören POWER9-Systeme wie die | ||||
| @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, | ||||
| RYF-zertifizierte Talos-II-Hauptplatine}.  Bei der Plattform handelt es sich | ||||
| um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine | ||||
| Substitute von der Erstellungsfarm und bei manchen Paketen könnte die | ||||
| Erstellung fehlschlagen.  Des Weiteren ist Guix System auf dieser Plattform | ||||
| noch nicht verfügbar.  Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese | ||||
| Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie | ||||
| auszuprobieren und mitzumachen!") | ||||
|          (fr "Une nouvelle plate-forme, powerpc64le-linux, a été ajoutée pour | ||||
| les processeurs POWER 64-bits utilisant le noyau Linux-libre.  Ça inclut les | ||||
| systèmes POWER9 tels que les | ||||
| @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, | ||||
| cartes Talos II RYF}.  Il s'agit pour le moment d'un « avant-goût » de la | ||||
| technologie : bien que la plate-forme soit prise en charge, la ferme de | ||||
| compilation ne fournit pas encore de substituts et certains paquets risquent | ||||
| de ne pas compiler.  En outre, Guix System n'est pas encore disponible sur | ||||
| cette plate-forme.  Ceci dit, la communauté Guix travaille activement pour | ||||
| améliorer cette prise en charge et c'est maintenant un bon moment pour | ||||
| l'essayer et pour s'impliquer !"))) | ||||
| 
 | ||||
|  (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e") | ||||
|         (title | ||||
|          (en "Update on previous @command{guix-daemon} local privilege escalation") | ||||
|  |  | |||
|  | @ -666,7 +666,7 @@ relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to | |||
| MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from | ||||
| MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix. | ||||
| 
 | ||||
| It is important to note that these symlinks need to be relativ, as the absolute | ||||
| It is important to note that these symlinks need to be relative, as the absolute | ||||
| paths on the TFTP server side are unknown. | ||||
| 
 | ||||
| It is also important to note that both symlinks will point outside the TFTP root | ||||
|  |  | |||
|  | @ -107,7 +107,8 @@ Warning: this is currently suspect to a TOCTTOU race!" | |||
|                                  (directory %skeleton-directory) | ||||
|                                  uid gid) | ||||
|   "Copy the account skeletons from DIRECTORY to HOME.  When UID is an integer, | ||||
| make it the owner of all the files created; likewise for GID." | ||||
| make it the owner of all the files created except the home directory; likewise | ||||
| for GID." | ||||
|   (define (set-owner file) | ||||
|     (when (or uid gid) | ||||
|       (chown file (or uid -1) (or gid -1)))) | ||||
|  | @ -115,7 +116,6 @@ make it the owner of all the files created; likewise for GID." | |||
|   (let ((files (scandir directory (negate dot-or-dot-dot?) | ||||
|                         string<?))) | ||||
|     (mkdir-p home) | ||||
|     (set-owner home) | ||||
|     (for-each (lambda (file) | ||||
|                 (let ((target (string-append home "/" file))) | ||||
|                   (copy-recursively (string-append directory "/" file) | ||||
|  | @ -215,10 +215,15 @@ they already exist." | |||
|                  (uid (passwd:uid pw)) | ||||
|                  (gid (passwd:gid pw))) | ||||
|             (mkdir-p home) | ||||
|             (chown home uid gid) | ||||
|             (chmod home #o700) | ||||
|             (copy-account-skeletons home | ||||
|                                     #:uid uid #:gid gid)))))) | ||||
|                                     #:uid uid #:gid gid) | ||||
| 
 | ||||
|             ;; It is important 'chown' be called after | ||||
|             ;; 'copy-account-skeletons'.  Otherwise, a malicious user with | ||||
|             ;; good timing could create a symlink in HOME that would be | ||||
|             ;; dereferenced by 'copy-account-skeletons'. | ||||
|             (chown home uid gid)))))) | ||||
| 
 | ||||
|   (for-each ensure-user-home users)) | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										60
									
								
								gnu/ci.scm
									
										
									
									
									
								
							
							
						
						
									
										60
									
								
								gnu/ci.scm
									
										
									
									
									
								
							|  | @ -79,12 +79,9 @@ | |||
| 
 | ||||
| (define* (derivation->job name drv | ||||
|                           #:key | ||||
|                           period | ||||
|                           (max-silent-time 3600) | ||||
|                           (timeout 3600)) | ||||
|   "Return a Cuirass job called NAME and describing DRV.  PERIOD is the minimal | ||||
| duration that must separate two evaluations of the same job. If PERIOD is | ||||
| false, then the job will be evaluated as soon as possible. | ||||
|   "Return a Cuirass job called NAME and describing DRV. | ||||
| 
 | ||||
| MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when | ||||
| building the derivation." | ||||
|  | @ -98,7 +95,6 @@ building the derivation." | |||
|                    (derivation->output-paths drv))) | ||||
|     (#:nix-name . ,(derivation-name drv)) | ||||
|     (#:system . ,(derivation-system drv)) | ||||
|     (#:period . ,period) | ||||
|     (#:max-silent-time . ,max-silent-time) | ||||
|     (#:timeout . ,timeout))) | ||||
| 
 | ||||
|  | @ -237,14 +233,11 @@ SYSTEM." | |||
|   (* 3600 hours)) | ||||
| 
 | ||||
| (define (image-jobs store system) | ||||
|   "Return a list of jobs that build images for SYSTEM.  Those jobs are | ||||
| expensive in storage and I/O operations, hence their periodicity is limited by | ||||
| passing the PERIOD argument." | ||||
|   "Return a list of jobs that build images for SYSTEM." | ||||
|   (define (->job name drv) | ||||
|     (let ((name (string-append name "." system))) | ||||
|       (parameterize ((%graft? #f)) | ||||
|         (derivation->job name drv | ||||
|                          #:period (hours 48))))) | ||||
|         (derivation->job name drv)))) | ||||
| 
 | ||||
|   (define (build-image image) | ||||
|     (run-with-store store | ||||
|  | @ -324,29 +317,25 @@ passing the PERIOD argument." | |||
|                            #:key source commit) | ||||
|   "Return a list of jobs for the system tests." | ||||
|   (define (->job test) | ||||
|     (parameterize ((current-guix-package | ||||
|                     (channel-source->package source #:commit commit))) | ||||
|       (let ((name (string-append "test." (system-test-name test) | ||||
|                                  "." system)) | ||||
|             (drv (run-with-store store | ||||
|                    (mbegin %store-monad | ||||
|                      (set-current-system system) | ||||
|                      (set-grafting #f) | ||||
|                      (set-guile-for-build (default-guile)) | ||||
|                      (system-test-value test))))) | ||||
|     (let ((name (string-append "test." (system-test-name test) | ||||
|                                "." system)) | ||||
|           (drv (run-with-store store | ||||
|                  (mbegin %store-monad | ||||
|                    (set-current-system system) | ||||
|                    (set-grafting #f) | ||||
|                    (set-guile-for-build (default-guile)) | ||||
|                    (system-test-value test))))) | ||||
| 
 | ||||
|         ;; Those tests are extremely expensive in I/O operations and storage | ||||
|         ;; size, use the "period" attribute to run them with a period of at | ||||
|         ;; least 48 hours. | ||||
|         (derivation->job name drv | ||||
|                          #:period (hours 24))))) | ||||
|       (derivation->job name drv))) | ||||
| 
 | ||||
|   (if (member system %guix-system-supported-systems) | ||||
|       ;; Override the value of 'current-guix' used by system tests.  Using a | ||||
|       ;; channel instance makes tests that rely on 'current-guix' less | ||||
|       ;; expensive.  It also makes sure we get a valid Guix package when this | ||||
|       ;; code is not running from a checkout. | ||||
|       (map ->job (all-system-tests)) | ||||
|       (parameterize ((current-guix-package | ||||
|                       (channel-source->package source #:commit commit))) | ||||
|         (map ->job (all-system-tests))) | ||||
|       '())) | ||||
| 
 | ||||
| (define (tarball-jobs store system) | ||||
|  | @ -354,8 +343,7 @@ passing the PERIOD argument." | |||
|   (define (->job name drv) | ||||
|     (let ((name (string-append name "." system))) | ||||
|       (parameterize ((%graft? #f)) | ||||
|         (derivation->job name drv | ||||
|                          #:period (hours 24))))) | ||||
|         (derivation->job name drv)))) | ||||
| 
 | ||||
|   ;; XXX: Add a job for the stable Guix? | ||||
|   (list | ||||
|  | @ -495,11 +483,6 @@ valid." | |||
|                        (package->job store package system)))) | ||||
|             (append | ||||
|              (filter-map job all) | ||||
|              (image-jobs store system) | ||||
|              (system-test-jobs store system | ||||
|                                #:source source | ||||
|                                #:commit commit) | ||||
|              (tarball-jobs store system) | ||||
|              (cross-jobs store system)))) | ||||
|          ('core | ||||
|           ;; Build core packages only. | ||||
|  | @ -519,6 +502,17 @@ valid." | |||
|           (let ((hello (specification->package "hello"))) | ||||
|             (list (package-job store (job-name hello) | ||||
|                                hello system)))) | ||||
|          ('images | ||||
|           ;; Build Guix System images only. | ||||
|           (image-jobs store system)) | ||||
|          ('system-tests | ||||
|           ;; Build Guix System tests only. | ||||
|           (system-test-jobs store system | ||||
|                             #:source source | ||||
|                             #:commit commit)) | ||||
|          ('tarball | ||||
|           ;; Build Guix tarball only. | ||||
|           (tarball-jobs store system)) | ||||
|          (('channels . channels) | ||||
|           ;; Build only the packages from CHANNELS. | ||||
|           (let ((all (all-packages))) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -20,6 +20,7 @@ | |||
| (define-module (gnu installer steps) | ||||
|   #:use-module (guix records) | ||||
|   #:use-module (guix build utils) | ||||
|   #:use-module (guix i18n) | ||||
|   #:use-module (gnu installer utils) | ||||
|   #:use-module (ice-9 match) | ||||
|   #:use-module (ice-9 pretty-print) | ||||
|  | @ -245,8 +246,13 @@ found in RESULTS." | |||
|   (mkdir-p (dirname filename)) | ||||
|   (call-with-output-file filename | ||||
|     (lambda (port) | ||||
|       (format port ";; This is an operating system configuration generated~%") | ||||
|       (format port ";; by the graphical installer.~%") | ||||
|       ;; TRANSLATORS: This is a comment within a Scheme file.  Each line must | ||||
|       ;; start with ";; " (two semicolons and a space).  Please keep line | ||||
|       ;; length below 60 characters. | ||||
|       (display (G_ "\ | ||||
| ;; This is an operating system configuration generated | ||||
| ;; by the graphical installer.\n") | ||||
|                port) | ||||
|       (newline port) | ||||
|       (for-each (lambda (part) | ||||
|                   (if (null? part) | ||||
|  |  | |||
							
								
								
									
										28
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								gnu/local.mk
									
										
									
									
									
								
							|  | @ -34,13 +34,14 @@ | |||
| # Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
 | ||||
| # Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 | ||||
| # Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
 | ||||
| # Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 | ||||
| # Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 | ||||
| # Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 | ||||
| # Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 | ||||
| # Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
 | ||||
| # Copyright © 2020 Vinicius Monego <monego@posteo.net>
 | ||||
| # Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | ||||
| # Copyright © 2021 Greg Hogan <code@greghogan.com>
 | ||||
| # Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 | ||||
| #
 | ||||
| # This file is part of GNU Guix.
 | ||||
| #
 | ||||
|  | @ -694,6 +695,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/tests/desktop.scm				\
 | ||||
|   %D%/tests/dict.scm				\
 | ||||
|   %D%/tests/docker.scm				\
 | ||||
|   %D%/tests/file-sharing.scm			\
 | ||||
|   %D%/tests/ganeti.scm				\
 | ||||
|   %D%/tests/guix.scm				\
 | ||||
|   %D%/tests/monitoring.scm                      \
 | ||||
|  | @ -887,6 +889,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/cdparanoia-fpic.patch			\
 | ||||
|   %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch 	\
 | ||||
|   %D%/packages/patches/ceph-disable-cpu-optimizations.patch	\
 | ||||
|   %D%/packages/patches/chez-scheme-build-util-paths-backport.patch      \
 | ||||
|   %D%/packages/patches/chmlib-inttypes.patch			\
 | ||||
|   %D%/packages/patches/cl-asdf-config-directories.patch		\
 | ||||
|   %D%/packages/patches/clamav-config-llvm-libs.patch		\
 | ||||
|  | @ -912,7 +915,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/collectd-5.11.0-noinstallvar.patch		\
 | ||||
|   %D%/packages/patches/combinatorial-blas-awpm.patch		\
 | ||||
|   %D%/packages/patches/combinatorial-blas-io-fix.patch		\
 | ||||
|   %D%/packages/patches/containerd-test-with-go1.13.patch		\
 | ||||
|   %D%/packages/patches/coreutils-ls.patch			\
 | ||||
|   %D%/packages/patches/cpufrequtils-fix-aclocal.patch		\
 | ||||
|   %D%/packages/patches/crawl-upgrade-saves.patch		\
 | ||||
|  | @ -920,6 +922,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/clucene-contribs-lib.patch               \
 | ||||
|   %D%/packages/patches/cube-nocheck.patch			\
 | ||||
|   %D%/packages/patches/curl-use-ssl-cert-env.patch		\
 | ||||
|   %D%/packages/patches/curl-7.76-use-ssl-cert-env.patch	\
 | ||||
|   %D%/packages/patches/cursynth-wave-rand.patch			\
 | ||||
|   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
 | ||||
|   %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
 | ||||
|  | @ -1078,6 +1081,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/ghostscript-no-header-id.patch		\
 | ||||
|   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
 | ||||
|   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
 | ||||
|   %D%/packages/patches/gimp-make-gegl-introspect-optional.patch	\
 | ||||
|   %D%/packages/patches/glib-appinfo-watch.patch			\
 | ||||
|   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
 | ||||
|   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
 | ||||
|  | @ -1195,6 +1199,10 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/id3lib-UTF16-writing-bug.patch			\
 | ||||
|   %D%/packages/patches/idris-disable-test.patch			\
 | ||||
|   %D%/packages/patches/ilmbase-fix-tests.patch			\
 | ||||
|   %D%/packages/patches/imagemagick-CVE-2020-27829.patch		\
 | ||||
|   %D%/packages/patches/imagemagick-ReadDCMImage-fix.patch	\
 | ||||
|   %D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch	\
 | ||||
|   %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch	\
 | ||||
|   %D%/packages/patches/inkscape-poppler-0.76.patch		\
 | ||||
|   %D%/packages/patches/intel-xed-fix-nondeterminism.patch	\
 | ||||
|   %D%/packages/patches/intltool-perl-compatibility.patch	\
 | ||||
|  | @ -1230,8 +1238,9 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
 | ||||
|   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
 | ||||
|   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
 | ||||
|   %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
 | ||||
|   %D%/packages/patches/libvirt-add-install-prefix.patch	\
 | ||||
|   %D%/packages/patches/libziparchive-add-includes.patch		\
 | ||||
|   %D%/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch \
 | ||||
|   %D%/packages/patches/localed-xorg-keyboard.patch		\
 | ||||
|   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
 | ||||
|   %D%/packages/patches/kiki-level-selection-crash.patch		\
 | ||||
|  | @ -1328,11 +1337,12 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/lierolibre-try-building-other-arch.patch	\
 | ||||
|   %D%/packages/patches/linbox-fix-pkgconfig.patch		\
 | ||||
|   %D%/packages/patches/linkchecker-tests-require-network.patch	\
 | ||||
|   %D%/packages/patches/linphoneqt-tabbutton.patch		\
 | ||||
|   %D%/packages/patches/linphone-desktop-without-sdk.patch           \
 | ||||
|   %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
 | ||||
|   %D%/packages/patches/linux-pam-no-setfsuid.patch		\
 | ||||
|   %D%/packages/patches/lirc-localstatedir.patch			\
 | ||||
|   %D%/packages/patches/lirc-reproducible-build.patch		\
 | ||||
|   %D%/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch	\
 | ||||
|   %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch	\
 | ||||
|   %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch	\
 | ||||
|   %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch	\
 | ||||
|  | @ -1351,6 +1361,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/lvm2-static-link.patch			\
 | ||||
|   %D%/packages/patches/mailutils-fix-uninitialized-variable.patch	\
 | ||||
|   %D%/packages/patches/make-impure-dirs.patch			\
 | ||||
|   %D%/packages/patches/mariadb-CVE-2021-27928.patch		\
 | ||||
|   %D%/packages/patches/mars-install.patch			\
 | ||||
|   %D%/packages/patches/mars-sfml-2.3.patch			\
 | ||||
|   %D%/packages/patches/maxima-defsystem-mkdir.patch		\
 | ||||
|  | @ -1362,7 +1373,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/mcrypt-CVE-2012-4527.patch			\
 | ||||
|   %D%/packages/patches/libmemcached-build-with-gcc7.patch	\
 | ||||
|   %D%/packages/patches/libmhash-hmac-fix-uaf.patch		\
 | ||||
|   %D%/packages/patches/mediastreamer2-srtp2.patch		\
 | ||||
|   %D%/packages/patches/mesa-skip-tests.patch			\
 | ||||
|   %D%/packages/patches/mescc-tools-boot.patch			\
 | ||||
|   %D%/packages/patches/metabat-fix-compilation.patch		\
 | ||||
|  | @ -1434,7 +1444,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/opencascade-oce-glibc-2.26.patch		\
 | ||||
|   %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch	\
 | ||||
|   %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch	\
 | ||||
|   %D%/packages/patches/opendht-fix-jami.patch			\
 | ||||
|   %D%/packages/patches/openfoam-4.1-cleanup.patch			\
 | ||||
|   %D%/packages/patches/openjdk-10-idlj-reproducibility.patch	\
 | ||||
|   %D%/packages/patches/openmpi-mtl-priorities.patch		\
 | ||||
|  | @ -1486,7 +1495,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
 | ||||
|   %D%/packages/patches/picprog-non-intel-support.patch		\
 | ||||
|   %D%/packages/patches/pidgin-add-search-path.patch		\
 | ||||
|   %D%/packages/patches/pidgin-vv-gst.patch                        \
 | ||||
|   %D%/packages/patches/pinball-const-fix.patch			\
 | ||||
|   %D%/packages/patches/pinball-cstddef.patch			\
 | ||||
|   %D%/packages/patches/pinball-missing-separators.patch		\
 | ||||
|  | @ -1521,7 +1529,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/pybugz-stty.patch			\
 | ||||
|   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
 | ||||
|   %D%/packages/patches/pyqt-configure.patch			\
 | ||||
|   %D%/packages/patches/pyqt-public-sip.patch			\
 | ||||
|   %D%/packages/patches/python-2-deterministic-build-info.patch	\
 | ||||
|   %D%/packages/patches/python-2.7-adjust-tests.patch		\
 | ||||
|   %D%/packages/patches/python-2.7-search-paths.patch		\
 | ||||
|  | @ -1575,6 +1582,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/qemu-build-info-manual.patch		\
 | ||||
|   %D%/packages/patches/qemu-CVE-2021-20203.patch		\
 | ||||
|   %D%/packages/patches/qemu-glibc-2.27.patch 			\
 | ||||
|   %D%/packages/patches/qemu-glibc-2.30.patch 			\
 | ||||
|   %D%/packages/patches/qpdfview-qt515-compat.patch		\
 | ||||
|   %D%/packages/patches/qrcodegen-cpp-make-install.patch		\
 | ||||
|   %D%/packages/patches/qt4-ldflags.patch			\
 | ||||
|  | @ -1603,6 +1611,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/ripperx-missing-file.patch		\
 | ||||
|   %D%/packages/patches/rpcbind-CVE-2017-8779.patch		\
 | ||||
|   %D%/packages/patches/rtags-separate-rct.patch			\
 | ||||
|   %D%/packages/patches/racket-sh-via-rktio.patch		\
 | ||||
|   %D%/packages/patches/racket-store-checksum-override.patch	\
 | ||||
|   %D%/packages/patches/remake-impure-dirs.patch			\
 | ||||
|   %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch	\
 | ||||
|  | @ -1610,7 +1619,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch		\
 | ||||
|   %D%/packages/patches/rnp-unbundle-googletest.patch		\
 | ||||
|   %D%/packages/patches/ruby-sanitize-system-libxml.patch	\
 | ||||
|   %D%/packages/patches/runc-CVE-2019-5736.patch			\
 | ||||
|   %D%/packages/patches/rust-coresimd-doctest.patch		\
 | ||||
|   %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch	\
 | ||||
|   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
 | ||||
|  | @ -1730,6 +1738,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/unzip-zipbomb-part2.patch		\
 | ||||
|   %D%/packages/patches/unzip-zipbomb-part3.patch		\
 | ||||
|   %D%/packages/patches/unzip-32bit-zipbomb-fix.patch    \
 | ||||
|   %D%/packages/patches/upx-CVE-2021-20285.patch		\
 | ||||
|   %D%/packages/patches/ustr-fix-build-with-gcc-5.patch		\
 | ||||
|   %D%/packages/patches/util-linux-tests.patch			\
 | ||||
|   %D%/packages/patches/upower-builddir.patch			\
 | ||||
|  | @ -1761,6 +1770,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch			\
 | ||||
|   %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch			\
 | ||||
|   %D%/packages/patches/wpa-supplicant-CVE-2021-27803.patch	\
 | ||||
|   %D%/packages/patches/wpa-supplicant-CVE-2021-30004.patch	\
 | ||||
|   %D%/packages/patches/x265-arm-flags.patch			\
 | ||||
|   %D%/packages/patches/xf86-video-ark-remove-mibstore.patch	\
 | ||||
|   %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
 | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -26,13 +27,15 @@ | |||
|   #:use-module (guix licenses) | ||||
|   #:use-module (gnu packages attr) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages hurd) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (guix build-system gnu)) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system python)) | ||||
| 
 | ||||
| (define-public acl | ||||
|   (package | ||||
|  | @ -93,3 +96,41 @@ | |||
|     (description | ||||
|      "Library and tools for manipulating access control lists.") | ||||
|     (license (list gpl2+ lgpl2.1+)))) | ||||
| 
 | ||||
| (define-public python-pylibacl | ||||
|   (package | ||||
|     (name "python-pylibacl") | ||||
|     (version "0.6.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (pypi-uri "pylibacl" version)) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'disable-tests | ||||
|            (lambda* (#:key outputs inputs #:allow-other-keys) | ||||
|              ;; These tests operate on real files, but our tempfs does not support | ||||
|              ;; ACLs | ||||
|              (substitute* "tests/test_acls.py" | ||||
|                (("( *)def test_applyto(_extended(_mixed)?)?" match indent) | ||||
|                 (string-append indent "@pytest.mark.skip(reason=\"guix\")\n" match))) | ||||
|              #t)) | ||||
|          (replace 'check | ||||
|            (lambda* (#:key inputs outputs tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|                (add-installed-pythonpath inputs outputs) | ||||
|                (invoke "pytest" "tests")) | ||||
|                #t))))) | ||||
|     (inputs `(("acl" ,acl))) | ||||
|     (native-inputs `(("python-pytest" ,python-pytest))) | ||||
|     (home-page "https://pylibacl.k1024.org/") | ||||
|     (synopsis "POSIX.1e ACLs for python") | ||||
|     (description "Python 3.4+ extension module that allows you to manipulate | ||||
| the POSIX.1e Access Control Lists present in some OS/file-systems | ||||
| combinations.") | ||||
|     (license lgpl2.1+))) | ||||
|  |  | |||
|  | @ -40,6 +40,7 @@ | |||
| ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> | ||||
| ;;; Copyright © 2021 qblade <qblade@protonmail.com> | ||||
| ;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org> | ||||
| ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -330,6 +331,38 @@ interface and is based on GNU Guile.") | |||
|              #t))) | ||||
|        ,@(package-arguments shepherd))))) | ||||
| 
 | ||||
| (define-public cfm | ||||
|   (package | ||||
|     (name "cfm") | ||||
|     (version "0.6.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/WillEccles/cfm") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "14gapia902f29wa4dlrrj8jcwcff9bfvyhjccw9ddy2gxx2g8wmr")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no test suite | ||||
|        #:make-flags | ||||
|        (list (string-append "CC=" ,(cc-for-target)) | ||||
|              (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          ;; Keeping xdg-open optional avoids a size increase of 293%. | ||||
|          (delete 'configure))))         ; no configure script | ||||
|     (home-page "https://eccles.dev/cfm/") | ||||
|     (synopsis | ||||
|      "Simple terminal file manager with @command{vi}-inspired key bindings") | ||||
|     (description | ||||
|      "The Cactus File Manager (@command{cfm}) helps you manage your files | ||||
| visually from a text terminal.  It aims to be simple and fast, with key bindings | ||||
| inspired by @command{vi}.") | ||||
|     (license license:mpl2.0))) | ||||
| 
 | ||||
| (define-public cloud-utils | ||||
|   (package | ||||
|     (name "cloud-utils") | ||||
|  | @ -463,7 +496,7 @@ graphs and can export its output to different formats.") | |||
| (define-public facter | ||||
|   (package | ||||
|     (name "facter") | ||||
|     (version "4.0.51") | ||||
|     (version "4.0.52") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -472,7 +505,7 @@ graphs and can export its output to different formats.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1s98rq2wjmh8bqdfdibvfp9j2ynd97k0c4hairryrzl9nna3j542")))) | ||||
|                 "05j4q87sak1f1isj7ngzr59h3j3xskfwjjwfv0xd7lhwcaxg3a3c")))) | ||||
|     (build-system ruby-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -1027,6 +1060,36 @@ recursive runs on the generated subnets.  (also IPv6) | |||
| @end itemize\n") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public prips | ||||
|   (package | ||||
|     (name "prips") | ||||
|     (version "1.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://devel.ringlet.net/files/sys/" | ||||
|                            name "/" name "-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1a33vbl4w603mk6mm5r3vhk87fy3dfk5wdpch0yd3ncbkg3fmvqn")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags (list (string-append "CC=" ,(cc-for-target))) | ||||
|        #:test-target "test" | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (delete 'configure) | ||||
|                   (replace 'install | ||||
|                     (lambda* (#:key outputs #:allow-other-keys) | ||||
|                       (let ((out (assoc-ref outputs "out"))) | ||||
|                         (install-file "prips" | ||||
|                                       (string-append out "/bin")))))))) | ||||
|     (native-inputs `(("perl-test-harness" ,perl-test-harness))) | ||||
|     (synopsis "Tool that prints the IP addresses in a given range") | ||||
|     (description "Prips can be used to print all of the IP addresses in | ||||
|  a given range.  This allows the enhancement of tools only work | ||||
|  on one host at a time (e.g. whois).") | ||||
|     (home-page "https://devel.ringlet.net/sysutils/prips/") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public alive | ||||
|   (package | ||||
|     (name "alive") | ||||
|  | @ -1663,7 +1726,8 @@ features of sudo with a fraction of the codebase.") | |||
|                      (string-append "#" line))) | ||||
|                   #t)) | ||||
|               (patches | ||||
|                (search-patches "wpa-supplicant-CVE-2021-27803.patch")))) | ||||
|                (search-patches "wpa-supplicant-CVE-2021-27803.patch" | ||||
|                                "wpa-supplicant-CVE-2021-30004.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -1829,7 +1893,8 @@ command.") | |||
|                (base32 | ||||
|                 "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8")) | ||||
|               (patches | ||||
|                (search-patches "wpa-supplicant-CVE-2021-27803.patch")))) | ||||
|                (search-patches "wpa-supplicant-CVE-2021-27803.patch" | ||||
|                                "wpa-supplicant-CVE-2021-30004.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -1966,7 +2031,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") | |||
| (define-public acpica | ||||
|   (package | ||||
|     (name "acpica") | ||||
|     (version "20210105") | ||||
|     (version "20210331") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1974,7 +2039,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1gi7qzfywg118g5nlqn5lawxk25pg2sz01gmbz40vvmikks4ri9r")))) | ||||
|                 "1h98pvc9iy1c49cid0ppjwk5zsy2m1xbvfqb72pkwkrd4rn35arx")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("flex" ,flex) | ||||
|                      ("bison" ,bison))) | ||||
|  | @ -2928,13 +2993,13 @@ a new command using the matched rule, and runs it.") | |||
| (define-public di | ||||
|   (package | ||||
|     (name "di") | ||||
|     (version "4.49") | ||||
|     (version "4.50") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/diskinfo-di/di-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1y38jhp2bpwbwzdzjlhgfqc7bxxz9cwapxd61799zjf54jkslkf0")))) | ||||
|         (base32 "0aj9ldkvmj8fmrk685vd2gagz0q8lwsn2nfbx6r6mza94mn8pw42")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; obscure test failures | ||||
|  | @ -3506,14 +3571,14 @@ information tool.") | |||
| (define-public nnn | ||||
|   (package | ||||
|     (name "nnn") | ||||
|     (version "3.5") | ||||
|     (version "3.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/jarun/nnn/releases/download/v" | ||||
|                            version "/nnn-v" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1ww18vvfjkvi36rcamw8kpix4bhk71w5bw9kmnh158crah1x8dp6")))) | ||||
|         (base32 "1dbq16cdipij5ws59ab3alfmxli7n4wx28ip7gsyq8ncxg598l47")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("ncurses" ,ncurses) | ||||
|  | @ -4105,14 +4170,14 @@ tcpdump and snoop.") | |||
| (define-public pam-mount | ||||
|   (package | ||||
|     (name "pam-mount") | ||||
|     (version "2.17") | ||||
|     (version "2.18") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/pam-mount/pam_mount/" | ||||
|                            "pam_mount-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1q2n6a2ah6nghdn8i6ad2wj247njwb5nx48cggxknaa6lqxylidy")))) | ||||
|         (base32 "0832nh2qf9pisgwnbgx6hkylx5d7i416l19y3ly4ifv7k1p7mxqa")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("perl" ,perl) | ||||
|  | @ -4124,7 +4189,7 @@ tcpdump and snoop.") | |||
|        ("linux-pam" ,linux-pam) | ||||
|        ("lvm2" ,lvm2) | ||||
|        ("openssl" ,openssl) | ||||
|        ("pcre" ,pcre) | ||||
|        ("pcre2" ,pcre2) | ||||
|        ("libmount" ,util-linux "lib") | ||||
|        ("util-linux" ,util-linux))) | ||||
|     (arguments | ||||
|  | @ -4288,7 +4353,7 @@ entries, providing commands to add, remove, comment, and search.") | |||
| (define-public nmrpflash | ||||
|   (package | ||||
|     (name "nmrpflash") | ||||
|     (version "0.9.14") | ||||
|     (version "0.9.15") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -4297,7 +4362,7 @@ entries, providing commands to add, remove, comment, and search.") | |||
|          (url "https://github.com/jclehner/nmrpflash") | ||||
|          (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1")) | ||||
|         (base32 "0ssfls1sfh8w748qsnkfgndlpw395100x2yynzbk5jd56scxvp20")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|  | @ -4503,7 +4568,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.") | |||
| (define-public nq | ||||
|   (package | ||||
|     (name "nq") | ||||
|     (version "0.3.1") | ||||
|     (version "0.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -4512,7 +4577,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99")))) | ||||
|         (base32 "0sdamjzvmf6cxhjmd1rjvn7zm6k10fp5n6vabyxd3yl30cgrxw2i")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("perl" ,perl))) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2014 John Darringon <jmd@gnu.org> | ||||
| ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> | ||||
| ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | ||||
|  | @ -108,16 +108,25 @@ formats.") | |||
| (define-public qrencode | ||||
|   (package | ||||
|     (name "qrencode") | ||||
|     (version "4.0.2") | ||||
|     (version "4.1.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "https://fukuchi.org/works/qrencode/qrencode-" version | ||||
|                     ".tar.bz2")) | ||||
|               (uri (string-append "https://fukuchi.org/works/qrencode/" | ||||
|                                   "qrencode-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1d2q5d3v8g3hsi3h5jq4n177bjhf3kawms09immw7p187f6jgjy9")))) | ||||
|                 "08v9d8jn26bva2a8x4hghq3mgl8zcid393iqkidwyhc05xrxjmg4")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("--with-tests") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'check | ||||
|            (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|                (with-directory-excursion "tests" | ||||
|                  (invoke "./test_basic.sh"))) | ||||
|              #t))))) | ||||
|     (inputs `(("libpng" ,libpng))) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     (synopsis "Encode data into a QR Code symbol") | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
|  | @ -563,14 +563,14 @@ these types and other mathematical functions.") | |||
| (define-public ntl | ||||
|   (package | ||||
|    (name "ntl") | ||||
|    (version "11.4.3") | ||||
|    (version "11.4.4") | ||||
|    (source (origin | ||||
|             (method url-fetch) | ||||
|             (uri (string-append "https://shoup.net/ntl/ntl-" | ||||
|                                 version ".tar.gz")) | ||||
|             (sha256 | ||||
|              (base32 | ||||
|               "1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp")) | ||||
|               "1nr1h27j2gdz6badzz9lk2pknxhdijqdxqhd3haryh0sw616wzwx")) | ||||
|             (modules '((guix build utils))) | ||||
|             (snippet | ||||
|              '(begin | ||||
|  |  | |||
|  | @ -44,14 +44,14 @@ | |||
| (define-public clamav | ||||
|   (package | ||||
|     (name "clamav") | ||||
|     (version "0.103.1") | ||||
|     (version "0.103.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://www.clamav.net/downloads/production/" | ||||
|                                   "clamav-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0mz2aq8dh4i7mh59r71scczgyjbsj8l0a51nkwxsys5ji5xw823k")) | ||||
|                 "1lhv4xw89sszi519agvc9mi6jz5aiivm9yr6lciy8qk2csnd1dfl")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|  |  | |||
|  | @ -343,7 +343,7 @@ package for the Game Boy and Game Boy Color.  It consists of: | |||
| (define-public wla-dx | ||||
|   (package | ||||
|     (name "wla-dx") | ||||
|     (version "9.11") | ||||
|     (version "9.12") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -352,7 +352,7 @@ package for the Game Boy and Game Boy Color.  It consists of: | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0i8pxvyaih79pqnyvqyqd9rwdid91pna76cap0k1n5zhg8xswf2f")))) | ||||
|                 "1wlbqv2rgk9q6m9an1mi0i29250zl8lw7zipki2bbi9mczpyczli")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      `(("sphinx" ,python-sphinx)))      ; to generate man pages | ||||
|  |  | |||
|  | @ -118,7 +118,7 @@ for reading and writing.") | |||
| (define-public erfa | ||||
|   (package | ||||
|     (name "erfa") | ||||
|     (version "1.7.2") | ||||
|     (version "1.7.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -127,7 +127,7 @@ for reading and writing.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1vsqwvzlk7r8q7nwyb7i710blcfdl5kwcm2va9km07a820nsp84a")))) | ||||
|         (base32 "0nh12dr7gk4ki55lz95pkm4fpf7kazirra3zax9pab6v4qql4hlw")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("automake" ,automake) | ||||
|  | @ -137,8 +137,10 @@ for reading and writing.") | |||
|     (home-page "https://github.com/liberfa/erfa") | ||||
|     (synopsis "Essential Routines for Fundamental Astronomy") | ||||
|     (description | ||||
|      "ERFA is a C library containing key algorithms for astronomy, and is based | ||||
| on the SOFA library published by the International Astronomical Union (IAU).") | ||||
|      "The @acronym{ERFA, Essential Routines for Fundamental Astronomy} C library | ||||
| contains key algorithms for astronomy, and is based on the @acronym{SOFA, | ||||
| Standards of Fundamental Astronomy} library published by the @acronym{IAU, | ||||
| International Astronomical Union}.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public eye | ||||
|  | @ -399,7 +401,7 @@ deconvolution).  Such post-processing is not performed by Stackistry.") | |||
| (define-public stellarium | ||||
|   (package | ||||
|     (name "stellarium") | ||||
|     (version "0.20.4") | ||||
|     (version "0.21.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -407,7 +409,7 @@ deconvolution).  Such post-processing is not performed by Stackistry.") | |||
|                            "/releases/download/v" version | ||||
|                            "/stellarium-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1253zlr0mi4kdbj119spxk7spg4rkahb4rlpd0hz1d81mnv3n0v3")))) | ||||
|         (base32 "04vg2asj9gygwnrs32scqc8192ln2lyqa9v7cjqk8zd4frkwszwp")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|      `(("qtbase" ,qtbase) | ||||
|  | @ -1009,13 +1011,13 @@ astronomical images, especially when there is no WCS information available.") | |||
| (define-public python-skyfield | ||||
|   (package | ||||
|     (name "python-skyfield") | ||||
|     (version "1.36") | ||||
|     (version "1.38") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "skyfield" version)) | ||||
|        (sha256 | ||||
|         (base32 "1dm1327a4qv3klj9blrvddbhl72v1fqz52ym9km8qjj9vdkpywh6")))) | ||||
|         (base32 "1qi1l8qn6irdv6w41qq30s2yjwak7h6ayywr1pry9gwcm2c25bv5")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      ;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
| ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> | ||||
| ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> | ||||
| ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> | ||||
|  | @ -78,6 +78,7 @@ | |||
|   #:use-module (gnu packages gnome) | ||||
|   #:use-module (gnu packages gnunet) ; libmicrohttpd | ||||
|   #:use-module (gnu packages gperf) | ||||
|   #:use-module (gnu packages gstreamer) | ||||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages guile) | ||||
|   #:use-module (gnu packages icu4c) | ||||
|  | @ -567,11 +568,11 @@ streams from live audio.") | |||
| (define-public ardour | ||||
|   (package | ||||
|     (name "ardour") | ||||
|     (version "5.12") | ||||
|     (version "6.6") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://git.ardour.org/ardour/ardour.git") | ||||
|                     (url "git://git.ardour.org/ardour/ardour.git") | ||||
|                     (commit version))) | ||||
|               (snippet | ||||
|                ;; Ardour expects this file to exist at build time.  The revision | ||||
|  | @ -581,15 +582,16 @@ streams from live audio.") | |||
|                     "libs/ardour/revision.cc" | ||||
|                   (lambda (port) | ||||
|                     (format port ,(string-append "#include \"ardour/revision.h\" | ||||
| namespace ARDOUR { const char* revision = \"" version "\" ; }")) | ||||
| namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")) | ||||
|                     #t))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr")) | ||||
|                 "0k5rxh8b3d8si3lj01gfqj0pmd448d8sj4asnb205mwhwbfgn0cp")) | ||||
|               (file-name (string-append name "-" version)))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("--cxx11"          ; required by gtkmm | ||||
|                            "--optimize" | ||||
|                            "--no-phone-home"  ; don't contact ardour.org | ||||
|                            "--freedesktop"    ; build .desktop file | ||||
|                            "--test")          ; build unit tests | ||||
|  | @ -619,8 +621,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")) | |||
|                                             ver ".appdata.xml") | ||||
|                              (string-append share "/appdata/"))) | ||||
|              #t))) | ||||
|        #:test-target "test" | ||||
|        #:python ,python-2)) | ||||
|        #:test-target "test")) | ||||
|     (inputs | ||||
|      `(("alsa-lib" ,alsa-lib) | ||||
|        ("atkmm" ,atkmm) | ||||
|  | @ -628,6 +629,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")) | |||
|        ("boost" ,boost) | ||||
|        ("cairomm" ,cairomm) | ||||
|        ("curl" ,curl) | ||||
|        ("dbus" ,dbus) | ||||
|        ("eudev" ,eudev) | ||||
|        ("fftw" ,fftw) | ||||
|        ("fftwf" ,fftwf) | ||||
|  | @ -644,17 +646,21 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")) | |||
|        ("libsndfile" ,libsndfile) | ||||
|        ("libusb" ,libusb) | ||||
|        ("libvorbis" ,libvorbis) | ||||
|        ("libwebsockets" ,libwebsockets) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("lilv" ,lilv) | ||||
|        ("lrdf" ,lrdf) | ||||
|        ("lv2" ,lv2) | ||||
|        ("openssl" ,openssl)  ; Required by libwebsockets. | ||||
|        ("pangomm" ,pangomm) | ||||
|        ("python-rdflib" ,python-rdflib) | ||||
|        ("pulseaudio" ,pulseaudio) | ||||
|        ("readline" ,readline) | ||||
|        ("redland" ,redland) | ||||
|        ("rubberband" ,rubberband) | ||||
|        ("serd" ,serd) | ||||
|        ("sord" ,sord) | ||||
|        ("soundtouch" ,soundtouch) | ||||
|        ("sratom" ,sratom) | ||||
|        ("suil" ,suil) | ||||
|        ("taglib" ,taglib) | ||||
|  | @ -3259,31 +3265,26 @@ stretching and pitch scaling of audio.  This package contains the library.") | |||
| (define-public wavpack | ||||
|   (package | ||||
|     (name "wavpack") | ||||
|     (version "5.3.2") | ||||
|     (version "5.4.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/dbry/WavPack") | ||||
|              (commit "e4e8d191e8dd74cbdbeaef3232c16a7ef517e68d"))) | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/dbry/WavPack/releases/download/" | ||||
|                            version "/wavpack-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1zj8svk6giy1abq3940sz32ygz7zldppxl47852zgn5wfm3l2spx")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|         (base32 "0ycbqarw25x7208jilh86vwwiqklr7f617jps9mllqc659mnmpjb")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags | ||||
|        (list "--disable-static") | ||||
|        (list "--disable-static" | ||||
|              "--enable-tests") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'bootstrap | ||||
|            ;; Running ./autogen.sh would cause premature configuration. | ||||
|            (lambda _ | ||||
|              (invoke "autoreconf" "-vif") | ||||
|          (replace 'check | ||||
|            (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|                (invoke "./cli/wvtest" "--default" "--short")) | ||||
|              #t))))) | ||||
|     (native-inputs | ||||
|      `(("autoconf" ,autoconf) | ||||
|        ("automake" ,automake) | ||||
|        ("libtool" ,libtool))) | ||||
|     (home-page "https://www.wavpack.com/") | ||||
|     (synopsis "Hybrid lossless audio codec") | ||||
|     (description | ||||
|  | @ -4093,7 +4094,7 @@ kbps at 24 bit/96 kHz.") | |||
|     (home-page "https://github.com/Arkq/bluez-alsa") | ||||
|     (synopsis "Bluetooth ALSA backend") | ||||
|     (description "This project is a rebirth of a direct integration between | ||||
| Bluez and ALSA.  Since Bluez >= 5, the build-in integration has been removed | ||||
| Bluez and ALSA.  Since Bluez >= 5, the built-in integration has been removed | ||||
| in favor of 3rd party audio applications.  From now on, Bluez acts as a | ||||
| middleware between an audio application, which implements Bluetooth audio | ||||
| profile, and a Bluetooth audio device.  BlueALSA registers all known Bluetooth | ||||
|  | @ -4260,7 +4261,7 @@ the following features: | |||
|       (home-page "https://github.com/werman/noise-suppression-for-voice") | ||||
|       (synopsis "Speech denoise LV2 plugin based on Xiph's RNNoise library") | ||||
|       (description "RNNoise is a library that uses deep learning to apply | ||||
| noise supression to audio sources with voice presence.  This package provides | ||||
| noise suppression to audio sources with voice presence.  This package provides | ||||
| an LV2 audio plugin.") | ||||
|       (license license:lgpl3+)))) | ||||
| 
 | ||||
|  | @ -4465,7 +4466,7 @@ library.") | |||
| (define-public faudio | ||||
|   (package | ||||
|     (name "faudio") | ||||
|     (version "19.11") | ||||
|     (version "21.04") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -4474,19 +4475,24 @@ library.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp")))) | ||||
|         (base32 "1g3zp7igh4ns31sqnxddxqhgibijngkbcqqsj23i9d1lah6k4747")))) | ||||
|     (arguments | ||||
|      '(#:tests? #f                      ; No tests. | ||||
|        #:configure-flags '("-DFFMPEG=ON"))) | ||||
|        #:configure-flags '("-DGSTREAMER=ON"))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     (inputs `(("ffmpeg" ,ffmpeg) | ||||
|     (inputs `(("gstreamer" ,gstreamer) | ||||
|               ("gst-plugins-base" ,gst-plugins-base) | ||||
|               ("sdl2" ,sdl2))) | ||||
|     (home-page "https://github.com/FNA-XNA/FAudio") | ||||
|     (synopsis "XAudio reimplementation") | ||||
|     (description "FAudio is an XAudio reimplementation that focuses solely on | ||||
| developing fully accurate DirectX Audio runtime libraries.") | ||||
|     (license license:zlib))) | ||||
|     (license | ||||
|      (list license:zlib | ||||
|            ;; stb & utils/{ui,wav}common are dual-licenced under either of: | ||||
|            license:expat | ||||
|            license:public-domain)))) | ||||
| 
 | ||||
| (define-public gnaural | ||||
|   (package | ||||
|  | @ -4922,7 +4928,7 @@ minimum.") | |||
| (define-public libinstpatch | ||||
|   (package | ||||
|     (name "libinstpatch") | ||||
|     (version "1.1.5") | ||||
|     (version "1.1.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -4931,7 +4937,7 @@ minimum.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0psx4hc5yksfd3k2xqsc7c8lbz2d4yybikyddyd9hlkhq979cmjb")))) | ||||
|         (base32 "1w3nk0vvd1cxic70n45zjip0bdsrja969myvyvkhq3ngbarbykir")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f)) ;there are no tests | ||||
|  | @ -5134,14 +5140,14 @@ while still staying in time.") | |||
| (define-public butt | ||||
|   (package | ||||
|     (name "butt") | ||||
|     (version "0.1.28") | ||||
|     (version "0.1.29") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/butt/butt/butt-" | ||||
|                                   version "/butt-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1rbp4v6dlyapld6y4aqbpfmcaiafa06f2zqd1rhk4r3ld3bndafm")))) | ||||
|                 "0nbz0z4d7krvhmnwn10594gwc61gn2dlb5fazmynjfisrfdswqlg")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -5178,7 +5184,7 @@ while still staying in time.") | |||
|                                         version "_manual.pdf")) | ||||
|                     (sha256 | ||||
|                      (base32 | ||||
|                       "04wz2sqhk22h9gymwh5r6kp6sxc994mia8rg9lwpmy1r18w4pvsl")))))) | ||||
|                       "1hhgdhdg5s86hjcbwh856gcd3kcch0i5xgi3i3v02zz3xmzl7gg3")))))) | ||||
|     (home-page "https://danielnoethen.de/butt/") | ||||
|     (synopsis "Audio streaming tool") | ||||
|     (description "Butt is a tool to stream audio to a ShoutCast or | ||||
|  |  | |||
|  | @ -545,7 +545,7 @@ complexity of working with shared libraries across platforms.") | |||
|       (native-inputs | ||||
|        `(("help2man" ,help2man))) | ||||
|       (home-page "https://savannah.gnu.org/projects/config") | ||||
|       (synopsis "Ubiquitious config.guess and config.sub scripts") | ||||
|       (synopsis "Ubiquitous config.guess and config.sub scripts") | ||||
|       (description "The `config.guess' script tries to guess a canonical system triple, | ||||
| and `config.sub' validates and canonicalizes.  These are used as part of | ||||
| configuration in nearly all GNU packages (and many others).") | ||||
|  |  | |||
|  | @ -8146,7 +8146,7 @@ CONFIG_HYPERV_BALLOON=m | |||
| # | ||||
| CONFIG_XEN_BALLOON=y | ||||
| CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y | ||||
| CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512 | ||||
| CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 | ||||
| CONFIG_XEN_SCRUB_PAGES_DEFAULT=y | ||||
| CONFIG_XEN_DEV_EVTCHN=m | ||||
| CONFIG_XEN_BACKEND=y | ||||
|  |  | |||
|  | @ -8212,7 +8212,7 @@ CONFIG_HYPERV_BALLOON=m | |||
| # | ||||
| CONFIG_XEN_BALLOON=y | ||||
| CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y | ||||
| CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512 | ||||
| CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 | ||||
| CONFIG_XEN_SCRUB_PAGES_DEFAULT=y | ||||
| CONFIG_XEN_DEV_EVTCHN=m | ||||
| CONFIG_XEN_BACKEND=y | ||||
|  |  | |||
|  | @ -147,18 +147,7 @@ | |||
|          (delete 'configure) | ||||
|          (replace 'build | ||||
|            ;; Build Axoloti firmware with cross-compiler | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (let* ((toolchain (assoc-ref inputs "cross-toolchain")) | ||||
|                     (headers   (string-append | ||||
|                                 toolchain | ||||
|                                 "/arm-none-eabi/include:" | ||||
|                                 toolchain | ||||
|                                 "/arm-none-eabi/include/arm-none-eabi/armv7e-m"))) | ||||
|                (setenv "CROSS_CPATH" headers) | ||||
|                (setenv "CROSS_CPLUS_INCLUDE_PATH" headers) | ||||
|                (setenv "CROSS_LIBRARY_PATH" | ||||
|                        (string-append toolchain | ||||
|                                       "/arm-none-eabi/lib"))) | ||||
|            (lambda _ | ||||
|              (with-directory-excursion "platform_linux" | ||||
|                (invoke "sh" "compile_firmware.sh")))) | ||||
|          (replace 'install | ||||
|  |  | |||
|  | @ -1236,7 +1236,9 @@ command.") | |||
| (define-public tzdata | ||||
|   (package | ||||
|     (name "tzdata") | ||||
|     (version "2020f") | ||||
|     ;; This package should be kept in sync with python-pytz in (gnu packages | ||||
|     ;; time). | ||||
|     (version "2021a") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append | ||||
|  | @ -1244,7 +1246,7 @@ command.") | |||
|                    version ".tar.gz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "10b8cr55x6ji14n3kqkn3avj1s9b79b8gszh81fxrrisij8k248j")))) | ||||
|                "022fn6gkmp7pamlgab04x0dm5hnyn2m2fcnyr3pvm36612xd5rrr")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f | ||||
|  | @ -1303,7 +1305,7 @@ command.") | |||
|                                 version ".tar.gz")) | ||||
|                           (sha256 | ||||
|                            (base32 | ||||
|                             "1i998crd9fxdfhv4jd241j1arx0ng7j7cvczpmj4y5j5fwmfmvng")))))) | ||||
|                             "1l02b0jiwp3fl0xd6227i69d26rmx3yrnq0ssq9vvdmm4jhvyipb")))))) | ||||
|     (home-page "https://www.iana.org/time-zones") | ||||
|     (synopsis "Database of current and historical time zones") | ||||
|     (description "The Time Zone Database (often called tz or zoneinfo) | ||||
|  |  | |||
|  | @ -619,6 +619,32 @@ as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.") | |||
|      "This package exposes an annotation database generated from Ensembl.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene | ||||
|   (package | ||||
|     (name "r-txdb-dmelanogaster-ucsc-dm6-ensgene") | ||||
|     (version "3.12.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "TxDb.Dmelanogaster.UCSC.dm6.ensGene" | ||||
|                               version 'annotation)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0yij7zyqkmmr13389rs2gfa5anvvw648nnl1kjbsgvyxkggif8q4")))) | ||||
|     (properties | ||||
|      `((upstream-name . "TxDb.Dmelanogaster.UCSC.dm6.ensGene"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-annotationdbi" ,r-annotationdbi) | ||||
|        ("r-genomicfeatures" ,r-genomicfeatures))) | ||||
|     (home-page | ||||
|      "https://bioconductor.org/packages/TxDb.Dmelanogaster.UCSC.dm6.ensGene") | ||||
|     (synopsis "Annotation package for TxDb object(s)") | ||||
|     (description | ||||
|      "This package exposes an annotation databases generated from UCSC by | ||||
| exposing these as TxDb objects.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-txdb-hsapiens-ucsc-hg19-knowngene | ||||
|   (package | ||||
|     (name "r-txdb-hsapiens-ucsc-hg19-knowngene") | ||||
|  | @ -1087,7 +1113,7 @@ package @code{affy}.") | |||
|     (properties `((upstream-name . "gageData"))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "https://bioconductor.org/packages/gageData") | ||||
|     (synopsis "Auxillary data for gage package") | ||||
|     (synopsis "Auxiliary data for the gage package") | ||||
|     (description | ||||
|      "This is a supportive data package for the software package @code{gage}. | ||||
| However, the data supplied here are also useful for gene set or pathway | ||||
|  | @ -1233,6 +1259,39 @@ data.  In addition, provides numerous plotting functions for commonly | |||
| used visualizations.") | ||||
|    (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-delayedarray | ||||
|   (package | ||||
|     (name "r-delayedarray") | ||||
|     (version "0.16.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "DelayedArray" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0w1wppy6m2iv41852dscg3y19sq84ahdx3m7c2p2pxjcznmv6hys")))) | ||||
|     (properties | ||||
|      `((upstream-name . "DelayedArray"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-matrix" ,r-matrix) | ||||
|        ("r-matrixgenerics" ,r-matrixgenerics))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/DelayedArray") | ||||
|     (synopsis "Delayed operations on array-like objects") | ||||
|     (description | ||||
|      "Wrapping an array-like object (typically an on-disk object) in a | ||||
| @code{DelayedArray} object allows one to perform common array operations on it | ||||
| without loading the object in memory.  In order to reduce memory usage and | ||||
| optimize performance, operations on the object are either delayed or executed | ||||
| using a block processing mechanism.  Note that this also works on in-memory | ||||
| array-like objects like @code{DataFrame} objects (typically with Rle columns), | ||||
| @code{Matrix} objects, and ordinary arrays and data frames.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-bluster | ||||
|   (package | ||||
|    (name "r-bluster") | ||||
|  | @ -1315,6 +1374,60 @@ naming and share the same rich and consistent \"Vector API\" as much as | |||
| possible.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| ;; This is a CRAN package, but it depends on r-biobase and r-limma from Bioconductor. | ||||
| (define-public r-absfiltergsea | ||||
|   (package | ||||
|     (name "r-absfiltergsea") | ||||
|     (version "1.5.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "AbsFilterGSEA" version)) | ||||
|        (sha256 | ||||
|         (base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w")))) | ||||
|     (properties `((upstream-name . "AbsFilterGSEA"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biobase" ,r-biobase) | ||||
|        ("r-deseq" ,r-deseq) | ||||
|        ("r-limma" ,r-limma) | ||||
|        ("r-rcpp" ,r-rcpp) | ||||
|        ("r-rcpparmadillo" ,r-rcpparmadillo))) | ||||
|     (home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/") | ||||
|     (synopsis "Improved false positive control of gene-permuting with absolute filtering") | ||||
|     (description | ||||
|      "This package provides a function that performs gene-permuting of a gene-set | ||||
| enrichment analysis (GSEA) calculation with or without the absolute filtering. | ||||
|   Without filtering, users can perform (original) two-tailed or one-tailed | ||||
| absolute GSEA.") | ||||
|     (license license:gpl2))) | ||||
| 
 | ||||
| ;; This is a CRAN package, but it depends on r-biobase from Bioconductor. | ||||
| (define-public r-bisquerna | ||||
|   (package | ||||
|    (name "r-bisquerna") | ||||
|    (version "1.0.4") | ||||
|    (source (origin | ||||
|             (method url-fetch) | ||||
|             (uri (cran-uri "BisqueRNA" version)) | ||||
|             (sha256 | ||||
|              (base32 | ||||
|               "01g34n87ml7n3pck77497ddgbv3rr5p4153ac8ninpgjijlm3jw2")))) | ||||
|    (properties `((upstream-name . "BisqueRNA"))) | ||||
|    (build-system r-build-system) | ||||
|    (propagated-inputs | ||||
|     `(("r-biobase" ,r-biobase) | ||||
|       ("r-limsolve" ,r-limsolve))) | ||||
|    (home-page "https://www.biorxiv.org/content/10.1101/669911v1") | ||||
|    (synopsis "Decomposition of bulk expression with single-cell sequencing") | ||||
|    (description "This package provides tools to accurately estimate cell type | ||||
| abundances from heterogeneous bulk expression.  A reference-based method | ||||
| utilizes single-cell information to generate a signature matrix and | ||||
| transformation of bulk expression for accurate regression based estimates. | ||||
| A marker-based method utilizes known cell-specific marker genes to measure | ||||
| relative abundances across samples.") | ||||
|    (license license:gpl3))) | ||||
| 
 | ||||
| ;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19 | ||||
| ;; from Bioconductor. | ||||
| (define-public r-deconstructsigs | ||||
|  | @ -1559,6 +1672,35 @@ structure.") | |||
| microarrays.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-annotationdbi | ||||
|   (package | ||||
|     (name "r-annotationdbi") | ||||
|     (version "1.52.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "AnnotationDbi" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) | ||||
|     (properties | ||||
|      `((upstream-name . "AnnotationDbi"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biobase" ,r-biobase) | ||||
|        ("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-dbi" ,r-dbi) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-rsqlite" ,r-rsqlite) | ||||
|        ("r-s4vectors" ,r-s4vectors))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/AnnotationDbi") | ||||
|     (synopsis "Annotation database interface") | ||||
|     (description | ||||
|      "This package provides user interface and database connection code for | ||||
| annotation data packages using SQLite data storage.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-annotationforge | ||||
|   (package | ||||
|     (name "r-annotationforge") | ||||
|  | @ -1591,6 +1733,148 @@ microarrays.") | |||
| databases.  Packages produced are intended to be used with AnnotationDbi.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biobase | ||||
|   (package | ||||
|     (name "r-biobase") | ||||
|     (version "2.50.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Biobase" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Biobase"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics))) | ||||
|     (home-page "https://bioconductor.org/packages/Biobase") | ||||
|     (synopsis "Base functions for Bioconductor") | ||||
|     (description | ||||
|      "This package provides functions that are needed by many other packages | ||||
| on Bioconductor or which replace R functions.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biomart | ||||
|   (package | ||||
|     (name "r-biomart") | ||||
|     (version "2.46.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "biomaRt" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) | ||||
|     (properties | ||||
|      `((upstream-name . "biomaRt"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-annotationdbi" ,r-annotationdbi) | ||||
|        ("r-biocfilecache" ,r-biocfilecache) | ||||
|        ("r-httr" ,r-httr) | ||||
|        ("r-openssl" ,r-openssl) | ||||
|        ("r-progress" ,r-progress) | ||||
|        ("r-rappdirs" ,r-rappdirs) | ||||
|        ("r-stringr" ,r-stringr) | ||||
|        ("r-xml" ,r-xml) | ||||
|        ("r-xml2" ,r-xml2))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/biomaRt") | ||||
|     (synopsis "Interface to BioMart databases") | ||||
|     (description | ||||
|      "biomaRt provides an interface to a growing collection of databases | ||||
| implementing the @url{BioMart software suite, http://www.biomart.org}.  The | ||||
| package enables retrieval of large amounts of data in a uniform way without | ||||
| the need to know the underlying database schemas or write complex SQL queries. | ||||
| Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, | ||||
| Wormbase and dbSNP mapped to Ensembl.  These major databases give biomaRt | ||||
| users direct access to a diverse set of data and enable a wide range of | ||||
| powerful online queries from gene annotation to database mining.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biocparallel | ||||
|   (package | ||||
|     (name "r-biocparallel") | ||||
|     (version "1.24.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "BiocParallel" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) | ||||
|     (properties | ||||
|      `((upstream-name . "BiocParallel"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'make-reproducible | ||||
|            (lambda _ | ||||
|              ;; Remove generated documentation. | ||||
|              (for-each delete-file | ||||
|                        '("inst/doc/BiocParallel_BatchtoolsParam.pdf" | ||||
|                          "inst/doc/Introduction_To_BiocParallel.pdf" | ||||
|                          "inst/doc/Errors_Logs_And_Debugging.pdf" | ||||
|                          "inst/doc/BiocParallel_BatchtoolsParam.R" | ||||
|                          "inst/doc/Introduction_To_BiocParallel.R" | ||||
|                          "inst/doc/Errors_Logs_And_Debugging.R")) | ||||
| 
 | ||||
|              ;; Remove time-dependent macro | ||||
|              (substitute* '("inst/doc/BiocParallel_BatchtoolsParam.Rnw" | ||||
|                             "inst/doc/Introduction_To_BiocParallel.Rnw" | ||||
|                             "inst/doc/Errors_Logs_And_Debugging.Rnw" | ||||
|                             "vignettes/BiocParallel_BatchtoolsParam.Rnw" | ||||
|                             "vignettes/Introduction_To_BiocParallel.Rnw" | ||||
|                             "vignettes/Errors_Logs_And_Debugging.Rnw") | ||||
|                (("\\today") "later")) | ||||
| 
 | ||||
|              ;; Initialize the random number generator seed when building. | ||||
|              (substitute* "R/internal_rng_stream.R" | ||||
|                (("\"L'Ecuyer-CMRG\"\\)" m) | ||||
|                 (string-append | ||||
|                  m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n")))))))) | ||||
|     (propagated-inputs | ||||
|      `(("r-futile-logger" ,r-futile-logger) | ||||
|        ("r-snow" ,r-snow) | ||||
|        ("r-bh" ,r-bh))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/BiocParallel") | ||||
|     (synopsis "Bioconductor facilities for parallel evaluation") | ||||
|     (description | ||||
|      "This package provides modified versions and novel implementation of | ||||
| functions for parallel evaluation, tailored to use with Bioconductor | ||||
| objects.") | ||||
|     (license (list license:gpl2+ license:gpl3+)))) | ||||
| 
 | ||||
| (define-public r-biostrings | ||||
|   (package | ||||
|     (name "r-biostrings") | ||||
|     (version "2.58.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Biostrings" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Biostrings"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-crayon" ,r-crayon) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (home-page "https://bioconductor.org/packages/Biostrings") | ||||
|     (synopsis "String objects and algorithms for biological sequences") | ||||
|     (description | ||||
|      "This package provides memory efficient string containers, string | ||||
| matching algorithms, and other utilities, for fast manipulation of large | ||||
| biological sequences or sets of sequences.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-category | ||||
|   (package | ||||
|     (name "r-category") | ||||
|  | @ -1764,13 +2048,13 @@ high-throughput sequencing experiments.") | |||
| (define-public r-genomeinfodb | ||||
|   (package | ||||
|     (name "r-genomeinfodb") | ||||
|     (version "1.26.4") | ||||
|     (version "1.26.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "GenomeInfoDb" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1sbhdpgabqbi749ixih8nlmq5id7sg8y6kkfj46r00642rc293ys")))) | ||||
|                 "1wy4dwiv0pgim975var802z565py4a0nakx6zdvbhry4c0dfczd1")))) | ||||
|     (properties | ||||
|      `((upstream-name . "GenomeInfoDb"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -1791,6 +2075,37 @@ translation between different chromosome sequence naming conventions (e.g., | |||
| names in their natural, rather than lexicographic, order.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-genomicranges | ||||
|   (package | ||||
|     (name "r-genomicranges") | ||||
|     (version "1.42.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "GenomicRanges" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) | ||||
|     (properties | ||||
|      `((upstream-name . "GenomicRanges"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-genomeinfodb" ,r-genomeinfodb) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/GenomicRanges") | ||||
|     (synopsis "Representation and manipulation of genomic intervals") | ||||
|     (description | ||||
|      "This package provides tools to efficiently represent and manipulate | ||||
| genomic annotations and alignments is playing a central role when it comes to | ||||
| analyzing high-throughput sequencing data (a.k.a. NGS data).  The | ||||
| GenomicRanges package defines general purpose containers for storing and | ||||
| manipulating genomic intervals and variables defined along a genome.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-gostats | ||||
|   (package | ||||
|     (name "r-gostats") | ||||
|  | @ -1871,6 +2186,25 @@ Enrichment Analysis} (GSEA).") | |||
| the Human Protein Atlas project.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-limma | ||||
|   (package | ||||
|     (name "r-limma") | ||||
|     (version "3.46.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "limma" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "http://bioinf.wehi.edu.au/limma") | ||||
|     (synopsis "Package for linear models for microarray and RNA-seq data") | ||||
|     (description "This package can be used for the analysis of gene expression | ||||
| studies, especially the use of linear models for analysing designed experiments | ||||
| and the assessment of differential expression.  The analysis methods apply to | ||||
| different technologies, including microarrays, RNA-seq, and quantitative PCR.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public r-rbgl | ||||
|   (package | ||||
|     (name "r-rbgl") | ||||
|  | @ -1975,6 +2309,49 @@ reports together for a particular project that can be viewed in a web | |||
| browser.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-rsamtools | ||||
|   (package | ||||
|     (name "r-rsamtools") | ||||
|     (version "2.6.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Rsamtools" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Rsamtools"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'use-system-zlib | ||||
|            (lambda _ | ||||
|              (substitute* "DESCRIPTION" | ||||
|                (("zlibbioc, ") "")) | ||||
|              (substitute* "NAMESPACE" | ||||
|                (("import\\(zlibbioc\\)") "")) | ||||
|              #t))))) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-biocparallel" ,r-biocparallel) | ||||
|        ("r-biostrings" ,r-biostrings) | ||||
|        ("r-bitops" ,r-bitops) | ||||
|        ("r-genomeinfodb" ,r-genomeinfodb) | ||||
|        ("r-genomicranges" ,r-genomicranges) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-rhtslib" ,r-rhtslib) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") | ||||
|     (synopsis "Interface to samtools, bcftools, and tabix") | ||||
|     (description | ||||
|      "This package provides an interface to the @code{samtools}, | ||||
| @code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence | ||||
| Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed | ||||
| tab-delimited (tabix) files.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public r-shortread | ||||
|   (package | ||||
|     (name "r-shortread") | ||||
|  | @ -2110,6 +2487,42 @@ annotation infrastructure.") | |||
| coding changes and predict coding outcomes.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-xvector | ||||
|   (package | ||||
|     (name "r-xvector") | ||||
|     (version "0.30.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "XVector" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) | ||||
|     (properties | ||||
|      `((upstream-name . "XVector"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'use-system-zlib | ||||
|            (lambda _ | ||||
|              (substitute* "DESCRIPTION" | ||||
|                (("zlibbioc, ") "")) | ||||
|              (substitute* "NAMESPACE" | ||||
|                (("import\\(zlibbioc\\)") "")) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("zlib" ,zlib))) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors))) | ||||
|     (home-page "https://bioconductor.org/packages/XVector") | ||||
|     (synopsis "Representation and manpulation of external sequences") | ||||
|     (description | ||||
|      "This package provides memory efficient S4 classes for storing sequences | ||||
| \"externally\" (behind an R external pointer, or on disk).") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-geneplotter | ||||
|   (package | ||||
|     (name "r-geneplotter") | ||||
|  | @ -2318,14 +2731,14 @@ signal in the input, that lead to spurious peaks during peak calling.") | |||
| (define-public r-diffbind | ||||
|   (package | ||||
|     (name "r-diffbind") | ||||
|     (version "3.0.14") | ||||
|     (version "3.0.15") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "DiffBind" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1siabhjd0w7bb6v2gfhsm9j7c7c86z8m6lfsyl8p84h0zhjs2vrw")))) | ||||
|          "06f613s8d9z51njyf839g22gwybx9zs5n6xghwr5j1ad2n4m6qwi")))) | ||||
|     (properties `((upstream-name . "DiffBind"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -2532,14 +2945,14 @@ determining dependencies between variables, code improvement suggestions.") | |||
| (define-public r-chippeakanno | ||||
|   (package | ||||
|     (name "r-chippeakanno") | ||||
|     (version "3.24.1") | ||||
|     (version "3.24.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "ChIPpeakAnno" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0qdkwjv8s46d1kmgg2chijv7yzy9sv49kiks18w8x2z89prn15gj")))) | ||||
|          "0l417aygs89wf1j9fjpfjhahzskbpbgcrm8xpx3qm4s0307vfzkw")))) | ||||
|     (properties `((upstream-name . "ChIPpeakAnno"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -2548,6 +2961,7 @@ determining dependencies between variables, code improvement suggestions.") | |||
|        ("r-biomart" ,r-biomart) | ||||
|        ("r-biostrings" ,r-biostrings) | ||||
|        ("r-dbi" ,r-dbi) | ||||
|        ("r-dplyr" ,r-dplyr) | ||||
|        ("r-ensembldb" ,r-ensembldb) | ||||
|        ("r-genomeinfodb" ,r-genomeinfodb) | ||||
|        ("r-genomicalignments" ,r-genomicalignments) | ||||
|  | @ -6521,14 +6935,14 @@ annotations.") | |||
| (define-public r-rsubread | ||||
|   (package | ||||
|     (name "r-rsubread") | ||||
|     (version "2.4.2") | ||||
|     (version "2.4.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "Rsubread" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1wczrw5jb69x45hd3rdqqs9vkysdqwlxn9h3kjzn57r4x5q7jrra")))) | ||||
|          "0c4akc89p5467n5rzq9bi7h0h15rbpqpvh7fw42qcj7g2vc41wba")))) | ||||
|     (properties `((upstream-name . "Rsubread"))) | ||||
|     (build-system r-build-system) | ||||
|     (inputs `(("zlib" ,zlib))) | ||||
|  | @ -7987,14 +8401,14 @@ data.") | |||
| (define-public r-universalmotif | ||||
|   (package | ||||
|     (name "r-universalmotif") | ||||
|     (version "1.8.3") | ||||
|     (version "1.8.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "universalmotif" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1ys2kbayc1rzv8nzi60208yfslm4kzynndfg7vw2n0c30dvzycrc")))) | ||||
|          "0pmi5mp5v0srr482vlkfmkp28bywq969fvv9g5kjl5rxki963zmr")))) | ||||
|     (properties | ||||
|      `((upstream-name . "universalmotif"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -10140,8 +10554,8 @@ experiments, and visualize de influence of the involved factors.") | |||
| by spectral counts, to discover differentially expressed proteins between two | ||||
| biological conditions.  Three tests are available: Poisson GLM regression, | ||||
| quasi-likelihood GLM regression, and the negative binomial of the edgeR | ||||
| package.The three models admit blocking factors to control for nuissance | ||||
| variables.To assure a good level of reproducibility a post-test filter is | ||||
| package.  The three models admit blocking factors to control for nuisance | ||||
| variables.  To assure a good level of reproducibility a post-test filter is | ||||
| available, where we may set the minimum effect size considered biologicaly | ||||
| relevant, and the minimum expression of the most abundant condition.") | ||||
|     (license license:gpl2))) | ||||
|  | @ -10415,14 +10829,14 @@ family of feature/genome hypotheses.") | |||
| (define-public r-gviz | ||||
|   (package | ||||
|     (name "r-gviz") | ||||
|     (version "1.34.0") | ||||
|     (version "1.34.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "Gviz" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0v7bz46b91dnrr55ah42ljj1i2xs3090s4w0lw8098pag00p4vh2")))) | ||||
|          "0bmlfz9ri1gkwyl605a2hqi5b8jdpvynrxwghwmrsd657ip6c7n1")))) | ||||
|     (properties `((upstream-name . "Gviz"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -10677,7 +11091,7 @@ the earlier snpMatrix package, allowing for uncertainty in genotypes.") | |||
|     (description | ||||
|      "This package implements functions for combinatorial and differential | ||||
| analysis of ChIP-seq data.  It includes uni- and multivariate peak-calling, | ||||
| export to genome browser viewable files, and functi ons for enrichment | ||||
| export to genome browser viewable files, and functions for enrichment | ||||
| analyses.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com> | ||||
| ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> | ||||
| ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> | ||||
| ;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> | ||||
|  | @ -2546,15 +2546,27 @@ accessing bigWig files.") | |||
| (define-public python-schema-salad | ||||
|   (package | ||||
|     (name "python-schema-salad") | ||||
|     (version "7.0.20200811075006") | ||||
|     (version "7.1.20210316164414") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (pypi-uri "schema-salad" version)) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0wanbwmqb189x1m0vacnhpivfsr8rwbqknngivzxxs8j46yj80bg")))) | ||||
|           "04jaykdpgfnkrghvli5swxzqp7yba842am4bz42hcfljsmkrxvrk")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'check 'skip-failing-tests | ||||
|            (lambda _ | ||||
|              ;; Skip tests that require network access. | ||||
|              (substitute* "schema_salad/tests/test_cwl11.py" | ||||
|                (("^def test_(secondaryFiles|outputBinding)" all) | ||||
|                 (string-append "@pytest.mark.skip(reason=" | ||||
|                                "\"test requires network access\")\n" | ||||
|                                all))) | ||||
|              #t))))) | ||||
|     (propagated-inputs | ||||
|      `(("python-cachecontrol" ,python-cachecontrol-0.11) | ||||
|        ("python-lockfile" ,python-lockfile) | ||||
|  | @ -2582,7 +2594,7 @@ and record oriented data modeling and the Semantic Web.") | |||
| (define-public cwltool | ||||
|   (package | ||||
|     (name "cwltool") | ||||
|     (version "3.0.20201121085451") | ||||
|     (version "3.0.20210319143721") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -2591,7 +2603,7 @@ and record oriented data modeling and the Semantic Web.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1awf99n7aglxc5zszrlrv6jxp355jp45ws7wpsgjlgcdv7advn0w")))) | ||||
|                 "1sgs9ckyxb9f9169mc3wm9lnjg4080ai42xqsrwpw9l8apy4c9m5")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -2599,8 +2611,9 @@ and record oriented data modeling and the Semantic Web.") | |||
|          (add-after 'unpack 'loosen-version-restrictions | ||||
|            (lambda _ | ||||
|              (substitute* "setup.py" | ||||
|                (("== 1.5.1") ">=1.5.1") ; prov | ||||
|                ((", < 3.5") ""))        ; shellescape | ||||
|                (("== 1.5.1") ">=1.5.1")   ; prov | ||||
|                ((", < 3.5") "")           ; shellescape | ||||
|                ((" >= 6.0.2, < 6.2") "")) ; pytest | ||||
|              #t)) | ||||
|          (add-after 'unpack 'dont-use-git | ||||
|            (lambda _ | ||||
|  | @ -2612,6 +2625,7 @@ and record oriented data modeling and the Semantic Web.") | |||
|          (add-after 'unpack 'modify-tests | ||||
|            (lambda _ | ||||
|              ;; Tries to connect to the internet. | ||||
|              (delete-file "tests/test_content_type.py") | ||||
|              (delete-file "tests/test_udocker.py") | ||||
|              (delete-file "tests/test_http_input.py") | ||||
|              (substitute* "tests/test_load_tool.py" | ||||
|  | @ -6235,7 +6249,7 @@ subsequent visualization, annotation and storage of results.") | |||
| (define-public plink-ng | ||||
|   (package (inherit plink) | ||||
|     (name "plink-ng") | ||||
|     (version "1.90b4") | ||||
|     (version "2.00a2.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -6244,29 +6258,26 @@ subsequent visualization, annotation and storage of results.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "02npdwgkpfkdnhw819rhj5kw02a5k5m90b14zq9zzya4hyg929c0")))) | ||||
|         (base32 "1p88lz9agzjlspjhciz61qjc36cfniv4nkxszyy0njqyc5rzc0cd")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f ;no "check" target | ||||
|      `(#:tests? #f ;no "check" target | ||||
|        #:make-flags (list "BLASFLAGS=-llapack -lopenblas" | ||||
|                           "CFLAGS=-Wall -O2 -DDYNAMIC_ZLIB=1" | ||||
|                           "ZLIB=-lz" | ||||
|                           "-f" "Makefile.std") | ||||
|                           "BIN=plink prettify" | ||||
|                           (string-append "CC=" ,(cc-for-target)) | ||||
|                           (string-append "PREFIX=" (assoc-ref %outputs "out")) | ||||
|                           "DESTDIR=") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'chdir | ||||
|            (lambda _ (chdir "1.9") #t)) | ||||
|          (delete 'configure) ; no "configure" script | ||||
|          (replace 'install | ||||
|                   (lambda* (#:key outputs #:allow-other-keys) | ||||
|                     (let ((bin (string-append (assoc-ref outputs "out") | ||||
|                                               "/bin/"))) | ||||
|                       (install-file "plink" bin) | ||||
|                       #t)))))) | ||||
|          (delete 'configure)))) ; no "configure" script | ||||
|     (inputs | ||||
|      `(("zlib" ,zlib) | ||||
|        ("lapack" ,lapack) | ||||
|        ("openblas" ,openblas))) | ||||
|      `(("lapack" ,lapack) | ||||
|        ("openblas" ,openblas) | ||||
|        ("zlib" ,zlib))) | ||||
|     (home-page "https://www.cog-genomics.org/plink/") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
|  | @ -6728,9 +6739,9 @@ of these reads to align data quickly through a hash-based indexing scheme.") | |||
|     (synopsis "Biological sequence analysis tool for NGS reads") | ||||
|     (description | ||||
|      "SortMeRNA is a biological sequence analysis tool for filtering, mapping | ||||
| and operational taxonomic unit (OTU) picking of next generation | ||||
| sequencing (NGS) reads.  The core algorithm is based on approximate seeds and | ||||
| allows for fast and sensitive analyses of nucleotide sequences.  The main | ||||
| and @acronym{OTU, operational taxonomic unit} picking of @acronym{NGS, next | ||||
| generation sequencing} reads.  The core algorithm is based on approximate seeds | ||||
| and allows for fast and sensitive analyses of nucleotide sequences.  The main | ||||
| application of SortMeRNA is filtering rRNA from metatranscriptomic data.") | ||||
|     ;; The source includes x86 specific code | ||||
|     (supported-systems '("x86_64-linux" "i686-linux")) | ||||
|  | @ -7622,311 +7633,6 @@ including VCF header and contents in RDF and JSON.") | |||
|     (home-page "https://github.com/vcflib/bio-vcf") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public r-limma | ||||
|   (package | ||||
|     (name "r-limma") | ||||
|     (version "3.46.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "limma" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "http://bioinf.wehi.edu.au/limma") | ||||
|     (synopsis "Package for linear models for microarray and RNA-seq data") | ||||
|     (description "This package can be used for the analysis of gene expression | ||||
| studies, especially the use of linear models for analysing designed experiments | ||||
| and the assessment of differential expression.  The analysis methods apply to | ||||
| different technologies, including microarrays, RNA-seq, and quantitative PCR.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public r-xvector | ||||
|   (package | ||||
|     (name "r-xvector") | ||||
|     (version "0.30.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "XVector" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) | ||||
|     (properties | ||||
|      `((upstream-name . "XVector"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'use-system-zlib | ||||
|            (lambda _ | ||||
|              (substitute* "DESCRIPTION" | ||||
|                (("zlibbioc, ") "")) | ||||
|              (substitute* "NAMESPACE" | ||||
|                (("import\\(zlibbioc\\)") "")) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("zlib" ,zlib))) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors))) | ||||
|     (home-page "https://bioconductor.org/packages/XVector") | ||||
|     (synopsis "Representation and manpulation of external sequences") | ||||
|     (description | ||||
|      "This package provides memory efficient S4 classes for storing sequences | ||||
| \"externally\" (behind an R external pointer, or on disk).") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-genomicranges | ||||
|   (package | ||||
|     (name "r-genomicranges") | ||||
|     (version "1.42.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "GenomicRanges" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) | ||||
|     (properties | ||||
|      `((upstream-name . "GenomicRanges"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-genomeinfodb" ,r-genomeinfodb) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/GenomicRanges") | ||||
|     (synopsis "Representation and manipulation of genomic intervals") | ||||
|     (description | ||||
|      "This package provides tools to efficiently represent and manipulate | ||||
| genomic annotations and alignments is playing a central role when it comes to | ||||
| analyzing high-throughput sequencing data (a.k.a. NGS data).  The | ||||
| GenomicRanges package defines general purpose containers for storing and | ||||
| manipulating genomic intervals and variables defined along a genome.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biobase | ||||
|   (package | ||||
|     (name "r-biobase") | ||||
|     (version "2.50.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Biobase" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Biobase"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics))) | ||||
|     (home-page "https://bioconductor.org/packages/Biobase") | ||||
|     (synopsis "Base functions for Bioconductor") | ||||
|     (description | ||||
|      "This package provides functions that are needed by many other packages | ||||
| on Bioconductor or which replace R functions.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-annotationdbi | ||||
|   (package | ||||
|     (name "r-annotationdbi") | ||||
|     (version "1.52.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "AnnotationDbi" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) | ||||
|     (properties | ||||
|      `((upstream-name . "AnnotationDbi"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biobase" ,r-biobase) | ||||
|        ("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-dbi" ,r-dbi) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-rsqlite" ,r-rsqlite) | ||||
|        ("r-s4vectors" ,r-s4vectors))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/AnnotationDbi") | ||||
|     (synopsis "Annotation database interface") | ||||
|     (description | ||||
|      "This package provides user interface and database connection code for | ||||
| annotation data packages using SQLite data storage.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biomart | ||||
|   (package | ||||
|     (name "r-biomart") | ||||
|     (version "2.46.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "biomaRt" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) | ||||
|     (properties | ||||
|      `((upstream-name . "biomaRt"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-annotationdbi" ,r-annotationdbi) | ||||
|        ("r-biocfilecache" ,r-biocfilecache) | ||||
|        ("r-httr" ,r-httr) | ||||
|        ("r-openssl" ,r-openssl) | ||||
|        ("r-progress" ,r-progress) | ||||
|        ("r-rappdirs" ,r-rappdirs) | ||||
|        ("r-stringr" ,r-stringr) | ||||
|        ("r-xml" ,r-xml) | ||||
|        ("r-xml2" ,r-xml2))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/biomaRt") | ||||
|     (synopsis "Interface to BioMart databases") | ||||
|     (description | ||||
|      "biomaRt provides an interface to a growing collection of databases | ||||
| implementing the @url{BioMart software suite, http://www.biomart.org}.  The | ||||
| package enables retrieval of large amounts of data in a uniform way without | ||||
| the need to know the underlying database schemas or write complex SQL queries. | ||||
| Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, | ||||
| Wormbase and dbSNP mapped to Ensembl.  These major databases give biomaRt | ||||
| users direct access to a diverse set of data and enable a wide range of | ||||
| powerful online queries from gene annotation to database mining.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-biocparallel | ||||
|   (package | ||||
|     (name "r-biocparallel") | ||||
|     (version "1.24.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "BiocParallel" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) | ||||
|     (properties | ||||
|      `((upstream-name . "BiocParallel"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-futile-logger" ,r-futile-logger) | ||||
|        ("r-snow" ,r-snow) | ||||
|        ("r-bh" ,r-bh))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/BiocParallel") | ||||
|     (synopsis "Bioconductor facilities for parallel evaluation") | ||||
|     (description | ||||
|      "This package provides modified versions and novel implementation of | ||||
| functions for parallel evaluation, tailored to use with Bioconductor | ||||
| objects.") | ||||
|     (license (list license:gpl2+ license:gpl3+)))) | ||||
| 
 | ||||
| (define-public r-biostrings | ||||
|   (package | ||||
|     (name "r-biostrings") | ||||
|     (version "2.58.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Biostrings" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Biostrings"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-crayon" ,r-crayon) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (home-page "https://bioconductor.org/packages/Biostrings") | ||||
|     (synopsis "String objects and algorithms for biological sequences") | ||||
|     (description | ||||
|      "This package provides memory efficient string containers, string | ||||
| matching algorithms, and other utilities, for fast manipulation of large | ||||
| biological sequences or sets of sequences.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-rsamtools | ||||
|   (package | ||||
|     (name "r-rsamtools") | ||||
|     (version "2.6.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "Rsamtools" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) | ||||
|     (properties | ||||
|      `((upstream-name . "Rsamtools"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'use-system-zlib | ||||
|            (lambda _ | ||||
|              (substitute* "DESCRIPTION" | ||||
|                (("zlibbioc, ") "")) | ||||
|              (substitute* "NAMESPACE" | ||||
|                (("import\\(zlibbioc\\)") "")) | ||||
|              #t))))) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-biocparallel" ,r-biocparallel) | ||||
|        ("r-biostrings" ,r-biostrings) | ||||
|        ("r-bitops" ,r-bitops) | ||||
|        ("r-genomeinfodb" ,r-genomeinfodb) | ||||
|        ("r-genomicranges" ,r-genomicranges) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-rhtslib" ,r-rhtslib) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-xvector" ,r-xvector))) | ||||
|     (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") | ||||
|     (synopsis "Interface to samtools, bcftools, and tabix") | ||||
|     (description | ||||
|      "This package provides an interface to the @code{samtools}, | ||||
| @code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence | ||||
| Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed | ||||
| tab-delimited (tabix) files.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public r-delayedarray | ||||
|   (package | ||||
|     (name "r-delayedarray") | ||||
|     (version "0.16.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "DelayedArray" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) | ||||
|     (properties | ||||
|      `((upstream-name . "DelayedArray"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("r-biocgenerics" ,r-biocgenerics) | ||||
|        ("r-s4vectors" ,r-s4vectors) | ||||
|        ("r-iranges" ,r-iranges) | ||||
|        ("r-matrix" ,r-matrix) | ||||
|        ("r-matrixgenerics" ,r-matrixgenerics))) | ||||
|     (native-inputs | ||||
|      `(("r-knitr" ,r-knitr))) | ||||
|     (home-page "https://bioconductor.org/packages/DelayedArray") | ||||
|     (synopsis "Delayed operations on array-like objects") | ||||
|     (description | ||||
|      "Wrapping an array-like object (typically an on-disk object) in a | ||||
| @code{DelayedArray} object allows one to perform common array operations on it | ||||
| without loading the object in memory.  In order to reduce memory usage and | ||||
| optimize performance, operations on the object are either delayed or executed | ||||
| using a block processing mechanism.  Note that this also works on in-memory | ||||
| array-like objects like @code{DataFrame} objects (typically with Rle columns), | ||||
| @code{Matrix} objects, and ordinary arrays and data frames.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-summarizedexperiment | ||||
|   (package | ||||
|     (name "r-summarizedexperiment") | ||||
|  | @ -8045,13 +7751,13 @@ as well as query and modify the browser state, such as the current viewport.") | |||
| (define-public r-genomicfeatures | ||||
|   (package | ||||
|     (name "r-genomicfeatures") | ||||
|     (version "1.42.2") | ||||
|     (version "1.42.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "GenomicFeatures" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "17ns5hvx5q8mrmkgb6linspwml62mi34i6al5bxlib5xi9d9f04s")))) | ||||
|                 "168cf261vmcqffbzassavkjyz9a2af0l6zbv9cagkx6b1qrk3siz")))) | ||||
|     (properties | ||||
|      `((upstream-name . "GenomicFeatures"))) | ||||
|     (build-system r-build-system) | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ | |||
| ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> | ||||
| ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -47,6 +48,7 @@ | |||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages shells) | ||||
|   #:use-module (gnu packages mpi) | ||||
|   #:use-module (srfi srfi-1)) | ||||
| 
 | ||||
| (define (version-with-underscores version) | ||||
|  | @ -333,6 +335,30 @@ Boost.Thread.") | |||
| signals and slots system.") | ||||
|     (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt")))) | ||||
| 
 | ||||
| 
 | ||||
| (define-public boost-mpi | ||||
|   (package | ||||
|     (inherit boost) | ||||
|     (name "boost-mpi") | ||||
|     (native-inputs | ||||
|      `(("perl" ,perl) | ||||
|        ,@(if (%current-target-system) | ||||
|              '() | ||||
|              `(("python" ,python-wrapper))) | ||||
|        ("openmpi" , openmpi))) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments boost) | ||||
|       ((#:phases phases) | ||||
|        `(modify-phases ,phases | ||||
|           (add-after 'configure 'update-jam | ||||
|             (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|               (let ((output-port (open-file "project-config.jam" "a"))) | ||||
|                 (display "using mpi ;" output-port) | ||||
|                 (newline output-port) | ||||
|                 (close output-port)))))))) | ||||
|     (home-page "https://www.boost.org") | ||||
|     (synopsis "Message Passing Interface (MPI) library for C++"))) | ||||
| 
 | ||||
| (define-public mdds | ||||
|   (package | ||||
|     (name "mdds") | ||||
|  |  | |||
|  | @ -478,15 +478,15 @@ tree binary files.  These are board description files used by Linux and BSD.") | |||
| (define u-boot | ||||
|   (package | ||||
|     (name "u-boot") | ||||
|     (version "2021.01") | ||||
|     (version "2021.04") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "ftp://ftp.denx.de/pub/u-boot/" | ||||
|                     "https://ftp.denx.de/pub/u-boot/" | ||||
|                     "u-boot-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0m04glv9kn3bhs62sn675w60wkrl4m3a4hnbnnw67s3l198y21xl")))) | ||||
|                 "06p1vymf0dl6jc2xy5w7p42mpgppa46lmpm2ishmgsycnldqnhqd")))) | ||||
|     (native-inputs | ||||
|      `(("bc" ,bc) | ||||
|        ("bison" ,bison) | ||||
|  |  | |||
|  | @ -316,7 +316,7 @@ resembles Python.") | |||
| (define-public meson-next | ||||
|   (package | ||||
|     (inherit meson) | ||||
|     (version "0.57.1") | ||||
|     (version "0.57.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/mesonbuild/meson/" | ||||
|  | @ -324,7 +324,7 @@ resembles Python.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj")))))) | ||||
|                 "1iac7p99zfgkznq4qlnkk7b8xwwlilcrnkf33sczm56yqnqyg0rs")))))) | ||||
| 
 | ||||
| (define-public premake4 | ||||
|   (package | ||||
|  | @ -535,3 +535,43 @@ besides executing the make build command, updates the JSON compilation | |||
| database file corresponding to that build, resulting in a command-line | ||||
| interface similar to Bear.") | ||||
|     (license license:gpl3))) | ||||
| 
 | ||||
| (define-public build | ||||
|   (package | ||||
|     (name "build") | ||||
|     (version "0.3.10") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.codesynthesis.com/download/" | ||||
|                            "build/" (version-major+minor version) | ||||
|                            "/build-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1lx5rpnmsbip43zpp0a57sl5rm7pjb0y6i2si6rfglfp4p9d3z76")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags (list (string-append "install_prefix=" %output)) | ||||
|        #:tests? #f | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (delete 'build) | ||||
|                   (delete 'configure)))) | ||||
|     (home-page "https://www.codesynthesis.com/projects/build/") | ||||
|     (synopsis "Massively-parallel build system implemented on top of GNU make") | ||||
|     (description "Build is a massively-parallel software build system | ||||
| implemented on top of GNU Make, designed with the following tasks in mind: | ||||
| @itemize | ||||
| @item configuration | ||||
| @item building | ||||
| @item testing | ||||
| @item installation | ||||
| @end itemize | ||||
| Build has features such as: | ||||
| @itemize | ||||
| @item Position-independent makefiles. | ||||
| @item Non-recursive multi-makefile include-based structure. | ||||
| @item Leaf makefiles are full-fledged GNU makefiles, not just variable definitions. | ||||
| @item Complete dependency graph. | ||||
| @item Inter-project dependency tracking. | ||||
| @item Extensible language/compiler framework. | ||||
| @end itemize") | ||||
|     (license license:gpl2+))) | ||||
|  |  | |||
|  | @ -546,7 +546,7 @@ portability.") | |||
| (define-public aws-c-common | ||||
|   (package | ||||
|     (name "aws-c-common") | ||||
|     (version "0.5.2") | ||||
|     (version "0.5.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -555,7 +555,7 @@ portability.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg")))) | ||||
|                 "03fcvh3l1l6fkzkcbaprk10qmy8l77zhmh60h1px2ik09sqd9p72")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags | ||||
|  |  | |||
|  | @ -156,7 +156,7 @@ the <tz.h> library for handling time zones and leap seconds.") | |||
|     (native-inputs | ||||
|      `(("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("perl" ,perl) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ | |||
| ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -22,7 +23,7 @@ | |||
|   #:use-module (guix packages) | ||||
|   #:use-module ((guix licenses) #:select (gpl3+)) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages compression)) | ||||
|  | @ -30,25 +31,32 @@ | |||
| (define-public ccache | ||||
|   (package | ||||
|     (name "ccache") | ||||
|     (version "3.7.12") | ||||
|     (version "4.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/ccache/ccache/releases/download/v" | ||||
|                            version "/ccache-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "005liq8csgxdn7m9hj2ah07hishww855p8sc96y1hrnwc21lwbx0")))) | ||||
|     (build-system gnu-build-system) | ||||
|         (base32 "0kx9ggbbm899zwyyxvm4dgzn1b95zi1niz0l734pi5y3i0cb251g")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs `(("perl" ,perl)     ; for test/run | ||||
|                      ("which" ,(@ (gnu packages base) which)))) | ||||
|     (inputs `(("zlib" ,zlib))) | ||||
|     (inputs `(("zlib" ,zlib) | ||||
|               ("zstd" ,zstd "lib"))) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (add-before 'check 'setup-tests | ||||
|                     (lambda _ | ||||
|                       (substitute* '("unittest/test_hashutil.c" "test/suites/base.bash") | ||||
|                         (("#!/bin/sh") (string-append "#!" (which "sh")))) | ||||
|                       #t))))) | ||||
|      '(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'setup-tests | ||||
|            (lambda _ | ||||
|              (substitute* '("unittest/test_hashutil.cpp" "test/suites/base.bash") | ||||
|                (("#!/bin/sh") (string-append "#!" (which "sh")))) | ||||
|              #t)) | ||||
|          ;; tests require a writable HOME | ||||
|          (add-before 'check 'set-home | ||||
|            (lambda _ | ||||
|              (setenv "HOME" (getenv "TMPDIR")) | ||||
| 	     #t))))) | ||||
|     (home-page "https://ccache.dev/") | ||||
|     (synopsis "Compiler cache") | ||||
|     (description | ||||
|  |  | |||
|  | @ -111,7 +111,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.") | |||
| (define-public le-certs | ||||
|   (package | ||||
|     (name "le-certs") | ||||
|     (version "0") | ||||
|     (version "1") | ||||
|     (source #f) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|  | @ -119,9 +119,12 @@ taken from the NSS package and thus ultimately from the Mozilla project.") | |||
|        #:builder | ||||
|        (begin | ||||
|          (use-modules (guix build utils)) | ||||
|          (let ((root (assoc-ref %build-inputs "isrgrootx1.pem")) | ||||
|                (intermediate (assoc-ref %build-inputs "letsencryptauthorityx3.pem")) | ||||
|                (backup (assoc-ref %build-inputs "letsencryptauthorityx4.pem")) | ||||
|          (let ((root-rsa (assoc-ref %build-inputs "isrgrootx1.pem")) | ||||
|                (root-ecdsa (assoc-ref %build-inputs "isrgrootx2.pem")) | ||||
|                (intermediate-rsa (assoc-ref %build-inputs "letsencryptauthorityr3.pem")) | ||||
|                (intermediate-ecdsa (assoc-ref %build-inputs "letsencryptauthoritye1.pem")) | ||||
|                (backup-rsa (assoc-ref %build-inputs "letsencryptauthorityr4.pem")) | ||||
|                (backup-ecdsa (assoc-ref %build-inputs "letsencryptauthoritye2.pem")) | ||||
|                (out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs")) | ||||
|                (openssl (assoc-ref %build-inputs "openssl")) | ||||
|                (perl (assoc-ref %build-inputs "perl"))) | ||||
|  | @ -130,7 +133,9 @@ taken from the NSS package and thus ultimately from the Mozilla project.") | |||
|              (lambda (cert) | ||||
|                (copy-file cert (string-append out "/" | ||||
|                                               (strip-store-file-name cert)))) | ||||
|              (list root intermediate backup)) | ||||
|              (list root-rsa root-ecdsa | ||||
|                    intermediate-rsa intermediate-ecdsa | ||||
|                    backup-rsa backup-ecdsa)) | ||||
| 
 | ||||
|            ;; Create hash symlinks suitable for OpenSSL ('SSL_CERT_DIR' and | ||||
|            ;; similar.) | ||||
|  | @ -150,26 +155,55 @@ taken from the NSS package and thus ultimately from the Mozilla project.") | |||
|            (sha256 | ||||
|             (base32 | ||||
|              "1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92")))) | ||||
|        ;; "Let’s Encrypt Authority X3", the active Let's Encrypt intermediate | ||||
|        ;; certificate. | ||||
|        ("letsencryptauthorityx3.pem" | ||||
|       ; Upcoming ECDSA Let's Encrypt root certificate, "ISRG Root X2" | ||||
|       ; Let's Encrypt describes it as "Active, limited availability" | ||||
|       ("isrgrootx2.pem" | ||||
|         ,(origin | ||||
|            (method url-fetch) | ||||
|            (uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem") | ||||
|            (uri "https://letsencrypt.org/certs/isrg-root-x2.pem") | ||||
|            (sha256 | ||||
|             (base32 | ||||
|              "100lxxvqv4fj563bm03zzk5r36hq5jx9nnrajzs38g825c5k0cg2")))) | ||||
|        ;; "Let’s Encrypt Authority X4", the backup Let's Encrypt intermediate | ||||
|        ;; certificate.  This will be used for disaster recovery and will only be | ||||
|        ;; used should Let's Encrypt lose the ability to issue with "Let’s | ||||
|        ;; Encrypt Authority X3". | ||||
|        ("letsencryptauthorityx4.pem" | ||||
|         ,(origin | ||||
|            (method url-fetch) | ||||
|            (uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem") | ||||
|            (sha256 | ||||
|             (base32 | ||||
|              "0d5256gwf73drq6q6jala28rfzhrgbk5pjfq27vc40ly91pdyh8m")))))) | ||||
|              "04xh8912nwkghqydbqvvmslpqbcafgxgjh9qnn0z2vgy24g8hgd1")))) | ||||
|       ;; "Let’s Encrypt Authority R3", the active Let's Encrypt intermediate | ||||
|       ;; RSA certificate. | ||||
|       ("letsencryptauthorityr3.pem" | ||||
|        ,(origin | ||||
|           (method url-fetch) | ||||
|           (uri "https://letsencrypt.org/certs/lets-encrypt-r3.pem") | ||||
|           (sha256 | ||||
|            (base32 | ||||
|             "0clxry49rx6qd3pgbzknpgzywbg3j96zy0227wwjnwivqj7inzhp")))) | ||||
|       ;; "Let’s Encrypt Authority E1", the active Let's Encrypt intermediate | ||||
|       ;; ECDSA certificate. | ||||
|       ("letsencryptauthoritye1.pem" | ||||
|        ,(origin | ||||
|           (method url-fetch) | ||||
|           (uri "https://letsencrypt.org/certs/lets-encrypt-e1.pem") | ||||
|           (sha256 | ||||
|            (base32 | ||||
|             "1zwrc6dlk1qig0z23x6x7fib14rrw41ccbf2ds0rw75zccc59xx0")))) | ||||
|       ;; "Let’s Encrypt Authority R4", the backup Let's Encrypt intermediate | ||||
|       ;; RSA certificate.  This will be used for disaster recovery and will only be | ||||
|       ;; used should Let's Encrypt lose the ability to issue with "Let’s | ||||
|       ;; Encrypt Authority R3". | ||||
|       ("letsencryptauthorityr4.pem" | ||||
|        ,(origin | ||||
|           (method url-fetch) | ||||
|           (uri "https://letsencrypt.org/certs/lets-encrypt-r4.pem") | ||||
|           (sha256 | ||||
|            (base32 | ||||
|             "09bzxzbwb9x2xxan3p1fyj1pi2p5yks0879gwz5f28y9mzq8vmd8")))) | ||||
|       ;; "Let’s Encrypt Authority E2", the backup Let's Encrypt intermediate | ||||
|       ;; ECDSA certificate.  This will be used for disaster recovery and will | ||||
|       ;; only be used should Let's Encrypt lose the ability to issue with "Let’s | ||||
|       ;; Encrypt Authority E1". | ||||
|       ("letsencryptauthoritye2.pem" | ||||
|        ,(origin | ||||
|           (method url-fetch) | ||||
|           (uri "https://letsencrypt.org/certs/lets-encrypt-e2.pem") | ||||
|           (sha256 | ||||
|            (base32 | ||||
|             "1wfmsa29lyi9dkh6xdcamb2rhkp5yl2ppnsgrzcrjl5c7gbqh9ml")))))) | ||||
|     (home-page "https://letsencrypt.org/certificates/") | ||||
|     (synopsis "Let's Encrypt root and intermediate certificates") | ||||
|     (description "This package provides a certificate store containing only the | ||||
|  |  | |||
|  | @ -24,11 +24,11 @@ | |||
| ;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net> | ||||
| ;;; Copyright © 2017 Nikita <nikita@n0.is> | ||||
| ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> | ||||
| ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> | ||||
| ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> | ||||
| ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> | ||||
|  | @ -562,7 +562,7 @@ and it supports a very flexible form of test discovery.") | |||
| (define-public doctest | ||||
|   (package | ||||
|     (name "doctest") | ||||
|     (version "2.4.5") | ||||
|     (version "2.4.6") | ||||
|     (home-page "https://github.com/onqtam/doctest") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|  | @ -570,7 +570,7 @@ and it supports a very flexible form of test discovery.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1pc34dvpgdzx3paqdf0khgs87kvjncx27yn434f5ic33r1lwr9r4")))) | ||||
|                 "14m3q6d96zg6d99x1152jkly50gdjrn5ylrbhax53pfgfzzc5yqx")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (synopsis "C++ test framework") | ||||
|     (description | ||||
|  | @ -1089,6 +1089,37 @@ supports coverage of subprocesses.") | |||
| (define-public python2-pytest-cov | ||||
|   (package-with-python2 python-pytest-cov)) | ||||
| 
 | ||||
| (define-public python-pytest-httpserver | ||||
|   (package | ||||
|     (name "python-pytest-httpserver") | ||||
|     (version "1.0.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "pytest_httpserver" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0vbls0j570l5my83j4jnk5blmnir44i0w511azlh41nl6k8rac5f")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("python-pytest" ,python-pytest))) | ||||
|     (propagated-inputs | ||||
|      `(("python-werkzeug" ,python-werkzeug))) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'check 'fix-library-loading | ||||
|            (lambda _ | ||||
|              (setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":.")))) | ||||
|          (replace 'check | ||||
|            (lambda _ | ||||
|              (invoke "pytest" "tests" "-vv") | ||||
|              (invoke "pytest" "tests" "-vv" "--ssl")))))) | ||||
|     (home-page "https://github.com/csernazs/pytest-httpserver") | ||||
|     (synopsis "HTTP server for pytest") | ||||
|     (description "Pytest plugin library to test http clients without | ||||
| contacting the real http server.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-pytest-runner | ||||
|   (package | ||||
|     (name "python-pytest-runner") | ||||
|  | @ -1704,7 +1735,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.") | |||
| (define-public python-testpath | ||||
|   (package | ||||
|     (name "python-testpath") | ||||
|     (version "0.2") | ||||
|     (version "0.4.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1714,7 +1745,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0r4iiizjql6ny1ln7ciw7rrbjadz1s9zrf2hl0xkgnh3ypd8936f")))) | ||||
|          "1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; this package does not even have a setup.py | ||||
|  | @ -1723,19 +1754,25 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.") | |||
|                   (srfi srfi-1)) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'install) | ||||
|          (replace 'build | ||||
|            (lambda _ | ||||
|              ;; A ZIP archive should be generated, but it fails with "ZIP does | ||||
|              ;; not support timestamps before 1980".  Luckily, | ||||
|              ;; SOURCE_DATE_EPOCH is respected, which we set to some time in | ||||
|              ;; 1980. | ||||
|              (setenv "SOURCE_DATE_EPOCH" "315532800") | ||||
|              (invoke "flit" "build"))) | ||||
|          (replace 'install | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let* ((version (last | ||||
|                               (string-split (assoc-ref inputs "python") #\-))) | ||||
|                     (x.y (string-join (take (string-split version #\.) 2) | ||||
|                                         ".")) | ||||
|                     (dir (string-append | ||||
|                           (assoc-ref outputs "out") | ||||
|                           "/lib/python" x.y "/site-packages/testpath"))) | ||||
|                (mkdir-p dir) | ||||
|                (copy-recursively "testpath" dir)) | ||||
|              #t))))) | ||||
|              (add-installed-pythonpath inputs outputs) | ||||
|              (let ((out (assoc-ref outputs "out"))) | ||||
|                (for-each (lambda (wheel) | ||||
|                            (format #true wheel) | ||||
|                            (invoke "python" "-m" "pip" "install" | ||||
|                                    wheel (string-append "--prefix=" out))) | ||||
|                          (find-files "dist" "\\.whl$")))))))) | ||||
|     (native-inputs | ||||
|      `(("python-flit" ,python-flit))) | ||||
|     (home-page "https://github.com/takluyver/testpath") | ||||
|     (synopsis "Test utilities for code working with files and commands") | ||||
|     (description | ||||
|  | @ -2687,7 +2724,7 @@ provides a simple way to achieve this.") | |||
|     (native-inputs | ||||
|      `(("vala" ,vala) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
| 
 | ||||
|        ;; For tests. | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ | |||
| ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> | ||||
| ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -29,6 +30,7 @@ | |||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix gexp) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|  | @ -43,23 +45,27 @@ | |||
|   #:use-module (srfi srfi-1)) | ||||
| 
 | ||||
| (define nanopass | ||||
|   (let ((version "1.9.1")) | ||||
|   (let ((version "1.9.2")) | ||||
|     (origin | ||||
|       (method git-fetch) | ||||
|       (uri (git-reference | ||||
|             (url "https://github.com/nanopass/nanopass-framework-scheme") | ||||
|             (commit (string-append "v" version)))) | ||||
|       (sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) | ||||
|       (sha256 (base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i")) | ||||
|       (file-name (git-file-name "nanopass" version))))) | ||||
| 
 | ||||
| (define stex | ||||
|   (let ((version "1.2.2")) | ||||
|   ;; This commit includes a fix, which we would otherwise want to use as | ||||
|   ;; patch.  Let's revert to tagged releases as soon as one becomes available. | ||||
|   (let* ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") | ||||
|          (version "1.2.2") | ||||
|          (version (git-version version "1" commit))) | ||||
|     (origin | ||||
|       (method git-fetch) | ||||
|       (uri (git-reference | ||||
|             (url "https://github.com/dybvig/stex") | ||||
|             (commit (string-append "v" version)))) | ||||
|       (sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) | ||||
|             (commit commit))) | ||||
|       (sha256 (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d")) | ||||
|       (file-name (git-file-name "stex" version))))) | ||||
| 
 | ||||
| (define-public chez-scheme | ||||
|  | @ -74,21 +80,41 @@ | |||
|              (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (patches | ||||
|         (search-patches | ||||
|          ;; backported from upstream: remove on next release | ||||
|          "chez-scheme-build-util-paths-backport.patch")) | ||||
|        (snippet | ||||
|         ;; remove bundled libraries | ||||
|         (with-imported-modules '((guix build utils)) | ||||
|           #~(begin | ||||
|               (use-modules (guix build utils)) | ||||
|               (for-each (lambda (dir) | ||||
|                           (when (directory-exists? dir) | ||||
|                             (delete-file-recursively dir))) | ||||
|                         '("stex" | ||||
|                           "nanopass" | ||||
|                           "lz4" | ||||
|                           "zlib"))))))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("ncurses" ,ncurses) | ||||
|        ("libuuid" ,util-linux "lib") | ||||
|        ("libx11" ,libx11) | ||||
|        ("lz4" ,lz4) | ||||
|        ("lz4:static" ,lz4 "static") | ||||
|        ("xorg-rgb" ,xorg-rgb) | ||||
|        ("nanopass" ,nanopass) | ||||
|      `(("libuuid" ,util-linux "lib") | ||||
|        ("zlib" ,zlib) | ||||
|        ("zlib:static" ,zlib "static") | ||||
|        ("stex" ,stex))) | ||||
|        ("lz4" ,lz4) | ||||
|        ("lz4:static" ,lz4 "static") | ||||
|        ;; for expeditor: | ||||
|        ("ncurses" ,ncurses) | ||||
|        ;; for X11 clipboard support in expeditor: | ||||
|        ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 | ||||
|        ("libx11" ,libx11))) | ||||
|     (native-inputs | ||||
|      `(("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek | ||||
|      `(("nanopass" ,nanopass) ; source only | ||||
|        ;; for docs | ||||
|        ("stex" ,stex) | ||||
|        ("xorg-rgb" ,xorg-rgb) | ||||
|        ("texlive" ,(texlive-union (list texlive-latex-oberdiek | ||||
|                                         texlive-generic-epsf))) | ||||
|        ("ghostscript" ,ghostscript) | ||||
|        ("netpbm" ,netpbm))) | ||||
|  | @ -98,96 +124,54 @@ | |||
|             (files (list (string-append "lib/csv" version "-site")))))) | ||||
|     (outputs '("out" "doc")) | ||||
|     (arguments | ||||
|      `(#:modules ((guix build gnu-build-system) | ||||
|                   (guix build utils) | ||||
|                   (ice-9 match)) | ||||
|      `(#:modules | ||||
|        ((guix build gnu-build-system) | ||||
|         (guix build utils) | ||||
|         (ice-9 ftw) | ||||
|         (ice-9 match)) | ||||
|        #:test-target "test" | ||||
|        #:configure-flags | ||||
|        (list ,(match (or (%current-target-system) (%current-system)) | ||||
|                 ("x86_64-linux" '(list "--machine=ta6le")) | ||||
|                 ("i686-linux" '(list "--machine=ti3le")) | ||||
|                 ;; Let autodetection have its attempt on other architectures. | ||||
|                 (_ | ||||
|                  '()))) | ||||
|        '("--threads") ;; TODO when we fix armhf, it doesn't support --threads | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch-processor-detection | ||||
|            (lambda _ (substitute* "configure" | ||||
|                        (("uname -a") "uname -m")) | ||||
|                    #t)) | ||||
|          ;; Adapt the custom 'configure' script. | ||||
|          ;; put these where configure expects them to be | ||||
|          (add-after 'unpack 'unpack-nanopass+stex | ||||
|            (lambda* (#:key native-inputs inputs #:allow-other-keys) | ||||
|              (for-each (lambda (dep) | ||||
|                          (define src | ||||
|                            (assoc-ref (or native-inputs inputs) dep)) | ||||
|                          (copy-recursively src dep | ||||
|                                            #:keep-mtime? #t)) | ||||
|                        '("nanopass" "stex")) | ||||
|                #t)) | ||||
|          ;; NOTE: the custom Chez 'configure' script doesn't allow | ||||
|          ;; unrecognized flags, such as those automatically added | ||||
|          ;; by `gnu-build-system`. | ||||
|          (replace 'configure | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out")) | ||||
|                    (nanopass (assoc-ref inputs "nanopass")) | ||||
|                    (stex (assoc-ref inputs "stex")) | ||||
|                    (lz4-static (assoc-ref inputs "lz4:static")) | ||||
|                    (zlib-static (assoc-ref inputs "zlib:static")) | ||||
|                    (unpack (assoc-ref %standard-phases 'unpack)) | ||||
|                    (patch-source-shebangs | ||||
|                     (assoc-ref %standard-phases 'patch-source-shebangs))) | ||||
|                (map (match-lambda | ||||
|                       ((src orig-name new-name) | ||||
|                        (with-directory-excursion "." | ||||
|                          (apply unpack (list #:source src)) | ||||
|                          (apply patch-source-shebangs (list #:source src))) | ||||
|                        (delete-file-recursively new-name) | ||||
|                        (invoke "mv" orig-name new-name))) | ||||
|                     `((,nanopass "source" "nanopass") | ||||
|                       (,stex "source" "stex"))) | ||||
|                ;; The configure step wants to CURL all submodules as it | ||||
|                ;; detects a checkout without submodules. Disable curling, | ||||
|                ;; and manually patch the needed modules for compilation. | ||||
|                (substitute* "configure" | ||||
|                  (("! -f '") "-d '")) ; working around CURL. | ||||
|                (substitute* (find-files "mats" "Mf-.*") | ||||
|                  (("^[[:space:]]+(cc ) *") "\tgcc ")) | ||||
|                (substitute* | ||||
|                    (find-files "." (string-append | ||||
|                                     "(" | ||||
|                                     "Mf-[a-zA-Z0-9.]+" | ||||
|                                     "|Makefile[a-zA-Z0-9.]*" | ||||
|                                     "|checkin" | ||||
|                                     "|stex\\.stex" | ||||
|                                     "|newrelease" | ||||
|                                     "|workarea" | ||||
|                                     "|unix\\.ms" | ||||
|                                     "|^6\\.ms" | ||||
|                                     ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read | ||||
|                                     ")")) | ||||
|                  (("/bin/rm") (which "rm")) | ||||
|                  (("/bin/ln") (which "ln")) | ||||
|                  (("/bin/cp") (which "cp")) | ||||
|                  (("/bin/echo") (which "echo"))) | ||||
|                (substitute* "makefiles/installsh" | ||||
|                  (("/bin/true") (which "true"))) | ||||
|                (substitute* "stex/Makefile" | ||||
|                  (("PREFIX=/usr") (string-append "PREFIX=" out))) | ||||
|                (invoke "./configure" "--threads" | ||||
|                        (string-append "ZLIB=" zlib-static "/lib/libz.a") | ||||
|                        (string-append "LZ4=" lz4-static "/lib/liblz4.a") | ||||
|                        (string-append "--installprefix=" out))))) | ||||
|          ;; Installation of the documentation requires a running "chez". | ||||
|          (add-after 'install 'install-doc | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let ((doc (string-append (assoc-ref outputs "doc") | ||||
|                                        "/share/doc/" ,name "-" ,version))) | ||||
|                (invoke "make" "docs") | ||||
|                (with-directory-excursion "csug" | ||||
|                  (substitute* "Makefile" | ||||
|                    ;; The ‘installdir=’ can't be overruled on the command line. | ||||
|                    (("/tmp/csug9") doc) | ||||
|                    ;; $m is the ‘machine type’, e.g. ‘ta6le’ on x86_64, but is | ||||
|                    ;; set incorrectly for some reason, e.g. to ‘a6le’ on x86_64. | ||||
|                    ;; Avoid the whole mess by running the (machine-independent) | ||||
|                    ;; ‘installsh’ script at its original location. | ||||
|                    (("\\$m/installsh") "makefiles/installsh")) | ||||
|                  (invoke "make" "install") | ||||
|                  (install-file "csug.pdf" doc)) | ||||
|                (with-directory-excursion "release_notes" | ||||
|                  (install-file "release_notes.pdf" doc)) | ||||
|            (lambda* (#:key inputs outputs | ||||
|                            (configure-flags '()) | ||||
|                            #:allow-other-keys) | ||||
|              (let* ((zlib-static (assoc-ref inputs "zlib:static")) | ||||
|                     (lz4-static (assoc-ref inputs "lz4:static")) | ||||
|                     (out (assoc-ref outputs "out")) | ||||
|                     ;; add flags which are always required: | ||||
|                     (flags (cons* | ||||
|                             (string-append "--installprefix=" out) | ||||
|                             (string-append "ZLIB=" zlib-static "/lib/libz.a") | ||||
|                             (string-append "LZ4=" lz4-static "/lib/liblz4.a") | ||||
|                             ;; Guix will do compress man pages, | ||||
|                             ;; and letting Chez try causes an error | ||||
|                             "--nogzip-man-pages" | ||||
|                             configure-flags))) | ||||
|                (format #t "configure flags: ~s~%" flags) | ||||
|                ;; Some makefiles (for tests) don't seem to propagate CC | ||||
|                ;; properly, so we take it out of their hands: | ||||
|                (setenv "CC" ,(cc-for-target)) | ||||
|                (apply invoke | ||||
|                       "./configure" | ||||
|                       flags) | ||||
|                #t))) | ||||
|          ;; The binary file name is called "scheme" as the one from MIT/GNU | ||||
|          ;; The binary file name is called "scheme" as is the one from MIT/GNU | ||||
|          ;; Scheme.  We add a symlink to use in case both are installed. | ||||
|          (add-after 'install 'install-symlink | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|  | @ -202,16 +186,75 @@ | |||
|                                                    "/" name ".boot"))) | ||||
|                     (find-files lib "scheme.boot")) | ||||
|                #t))) | ||||
|          (add-before 'reset-gzip-timestamps 'make-manpages-writable | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (map (lambda (file) | ||||
|                     (make-file-writable file)) | ||||
|                   (find-files (string-append (assoc-ref outputs "out") | ||||
|                                              "/share/man") | ||||
|                               ".*\\.gz$")) | ||||
|              #t))))) | ||||
|     ;; According to the documentation MIPS is not supported. | ||||
|     ;; Cross-compiling for the Raspberry Pi is supported, but not native ARM. | ||||
|          ;; Building explicitly lets us avoid using substitute* | ||||
|          ;; to re-write makefiles. | ||||
|          (add-after 'install-symlink 'prepare-stex | ||||
|            (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) | ||||
|              (let* ((stex+version | ||||
|                      (strip-store-file-name | ||||
|                       (assoc-ref (or native-inputs inputs) "stex"))) | ||||
|                     ;; Eventually we want to install stex as a real | ||||
|                     ;; package so it's reusable. For now: | ||||
|                     (stex-output "/tmp") | ||||
|                     (doc-dir (string-append stex-output | ||||
|                                             "/share/doc/" | ||||
|                                             stex+version))) | ||||
|                (with-directory-excursion "stex" | ||||
|                  (invoke "make" | ||||
|                          "install" | ||||
|                          (string-append "LIB=" | ||||
|                                         stex-output | ||||
|                                         "/lib/" | ||||
|                                         stex+version) | ||||
|                          (string-append "Scheme=" | ||||
|                                         (assoc-ref outputs "out") | ||||
|                                         "/bin/scheme")) | ||||
|                  (for-each (lambda (pth) | ||||
|                              (install-file pth doc-dir)) | ||||
|                            '("ReadMe" ; includes the license | ||||
|                              "doc/stex.html" | ||||
|                              "doc/stex.css" | ||||
|                              "doc/stex.pdf")) | ||||
|                  #t)))) | ||||
|          ;; Building the documentation requires stex and a running scheme. | ||||
|          ;; FIXME: this is probably wrong for cross-compilation | ||||
|          (add-after 'prepare-stex 'install-doc | ||||
|            (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) | ||||
|              (let* ((chez+version (strip-store-file-name | ||||
|                                    (assoc-ref outputs "out"))) | ||||
|                     (stex+version | ||||
|                      (strip-store-file-name | ||||
|                       (assoc-ref (or native-inputs inputs) "stex"))) | ||||
|                     (scheme (string-append (assoc-ref outputs "out") | ||||
|                                            "/bin/scheme")) | ||||
|                     ;; see note on stex-output in phase build-stex, above: | ||||
|                     (stexlib (string-append "/tmp" | ||||
|                                             "/lib/" | ||||
|                                             stex+version)) | ||||
|                     (doc-dir (string-append (assoc-ref outputs "doc") | ||||
|                                             "/share/doc/" | ||||
|                                             chez+version))) | ||||
|                (define* (stex-make #:optional (suffix "")) | ||||
|                  (invoke "make" | ||||
|                          "install" | ||||
|                          (string-append "Scheme=" scheme) | ||||
|                          (string-append "STEXLIB=" stexlib) | ||||
|                          (string-append "installdir=" doc-dir suffix))) | ||||
|                (with-directory-excursion "csug" | ||||
|                  (stex-make "/csug")) | ||||
|                (with-directory-excursion "release_notes" | ||||
|                  (stex-make "/release_notes")) | ||||
|                (with-directory-excursion doc-dir | ||||
|                  (symlink "release_notes/release_notes.pdf" | ||||
|                           "release_notes.pdf") | ||||
|                  (symlink "csug/csug9_5.pdf" | ||||
|                           "csug.pdf")) | ||||
|                #t)))))) | ||||
|     ;; Chez Scheme does not have a  MIPS backend. | ||||
|     ;; FIXME: Debian backports patches to get armhf working. | ||||
|     ;; We should too. It is the Chez machine type arm32le | ||||
|     ;; (no threaded version upstream yet, though there is in | ||||
|     ;; Racket's fork), more specifically (per the release notes) ARMv6. | ||||
|     (supported-systems (fold delete %supported-systems | ||||
|                              '("mips64el-linux" "armhf-linux"))) | ||||
|     (home-page "https://cisco.github.io/ChezScheme/") | ||||
|  |  | |||
|  | @ -21,8 +21,6 @@ | |||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix gexp) | ||||
|   #:use-module (guix store) | ||||
|   #:use-module (guix monads) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix utils) | ||||
|  | @ -305,7 +303,7 @@ | |||
|                   (string-append "ungoogled-chromium-" category "-" name)))) | ||||
|     (sha256 (base32 hash)))) | ||||
| 
 | ||||
| (define %ungoogled-revision "89.0.4389.90-1") | ||||
| (define %ungoogled-revision "89.0.4389.114-1") | ||||
| (define %debian-revision "debian/84.0.4147.105-1") | ||||
| 
 | ||||
| (define %debian-patches | ||||
|  | @ -325,7 +323,7 @@ | |||
|                                   %ungoogled-revision))) | ||||
|     (sha256 | ||||
|      (base32 | ||||
|       "0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79")))) | ||||
|       "0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s")))) | ||||
| 
 | ||||
| (define %guix-patches | ||||
|   (list (local-file | ||||
|  | @ -466,7 +464,7 @@ | |||
|                                   ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi")) | ||||
|                 "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet (force ungoogled-chromium-snippet)))) | ||||
|     (build-system gnu-build-system) | ||||
|  |  | |||
|  | @ -25,49 +25,38 @@ | |||
|   #:use-module ((guix licenses) #:prefix l:) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages boost) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages docbook) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages databases) | ||||
|   #:use-module (gnu packages guile) | ||||
|   #:use-module (gnu packages guile-xyz) | ||||
|   #:use-module (gnu packages gnupg) | ||||
|   #:use-module (gnu packages lisp-xyz) | ||||
|   #:use-module (gnu packages mail) | ||||
|   #:use-module (gnu packages package-management) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages perl-compression) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages serialization) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #:use-module (gnu packages texinfo) | ||||
|   #:use-module (gnu packages version-control) | ||||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages xml) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system gnu)) | ||||
| 
 | ||||
| (define-public guile-mastodon-dev | ||||
|   (let ((commit "88115d85221876b1baea4accb7c76995da32f479") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (inherit guile-mastodon) | ||||
|       (name "guile-mastodon") | ||||
|       (version (git-version "0.0.1" revision commit)) | ||||
|       (home-page "https://framagit.org/mothacehe/guile-mastodon.git") | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url home-page) | ||||
|                       (commit commit))) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "04dgxliz9bmhn0f7h1n0dj0r5h0fzhg80nxl1rpbxh4zs1yw9qvj")) | ||||
|                 (file-name (string-append name "-" version "-checkout"))))))) | ||||
| 
 | ||||
| (define-public cuirass | ||||
|   (let ((commit "6f4a203a0bb2d441d091d561c1735fbe2d170cf7") | ||||
|         (revision "2")) | ||||
|   (let ((commit "922cc66089035d4dbc277df06366e41a0806bffb") | ||||
|         (revision "11")) | ||||
|     (package | ||||
|       (name "cuirass") | ||||
|       (version (git-version "1.0.0" revision commit)) | ||||
|  | @ -80,17 +69,29 @@ | |||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "120cnnjy4j2dinfmas1ddmqzzc7ikj9c76sl4li6g6dn8g7s8f69")))) | ||||
|            "1kanag19dvaqpij7j6gznsfzajc5iir9qj6vq016bc4al5x6ggj4")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        '(#:modules ((guix build utils) | ||||
|        `(#:modules ((guix build utils) | ||||
|                     (guix build gnu-build-system) | ||||
|                     (ice-9 rdelim) | ||||
|                     (ice-9 popen)) | ||||
|          #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass | ||||
|          ;; XXX: HTTP tests fail on aarch64 due to Fibers errors, disable them | ||||
|          ;; on that architecture for now. | ||||
|          #:tests? ,(let ((s (or (%current-target-system) | ||||
|                                 (%current-system)))) | ||||
|                      (not (string-prefix? "aarch64" s))) | ||||
|          #:parallel-tests? #f | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-before 'bootstrap 'fix-version-gen | ||||
|              (lambda _ | ||||
|               (patch-shebang "build-aux/git-version-gen") | ||||
| 
 | ||||
|               (call-with-output-file ".tarball-version" | ||||
|                 (lambda (port) | ||||
|                   (display ,version port))))) | ||||
|            (add-before 'check 'set-PATH-for-tests | ||||
|              (lambda* (#:key inputs #:allow-other-keys) | ||||
|                (let ((pg (assoc-ref inputs "ephemeralpg")) | ||||
|  | @ -158,7 +159,7 @@ | |||
|          ("guile-squee" ,guile-squee) | ||||
|          ("guile-git" ,guile-git) | ||||
|          ("guile-zlib" ,guile-zlib) | ||||
|          ("guile-mastodon" ,guile-mastodon-dev) | ||||
|          ("guile-mastodon" ,guile-mastodon) | ||||
|          ("gnutls" ,gnutls) | ||||
|          ("mailutils" ,mailutils) | ||||
|          ;; FIXME: this is propagated by "guile-git", but it needs to be among | ||||
|  | @ -186,5 +187,120 @@ | |||
|       (description | ||||
|        "Cuirass is a continuous integration tool using GNU Guix.  It is | ||||
| intended as a replacement for Hydra.") | ||||
|       (home-page "https://www.gnu.org/software/guix/") | ||||
|       (home-page "https://guix.gnu.org/cuirass/") | ||||
|       (license l:gpl3+)))) | ||||
| 
 | ||||
| (define-public laminar | ||||
|   (package | ||||
|     (name "laminar") | ||||
|     (version "1.0") | ||||
|     (source | ||||
|      (origin (method url-fetch) | ||||
|              (uri (string-append "https://github.com/ohwgiles/laminar/archive/" | ||||
|                                  version | ||||
|                                  ".tar.gz")) | ||||
|              (file-name (string-append name "-" version ".tar.gz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "11m6h3rdmj2rsmsryy7r40gqccj4gg1cnqwy6blscs87gx4s423g")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; TODO Can't build tests | ||||
|        #:configure-flags | ||||
|        (list "-DCMAKE_CXX_STANDARD=17" | ||||
|              ;; "-DBUILD_TESTS=true" TODO: objcopy: js/stPskyUS: can't add | ||||
|              ;; section '.note.GNU-stack': file format not recognized | ||||
|              (string-append "-DLAMINAR_VERSION=" ,version)) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch-CMakeLists.txt | ||||
|            (lambda _ | ||||
|              (substitute* "CMakeLists.txt" | ||||
|                (("file\\(DOWNLOAD.*\n$") | ||||
|                 "# file download removed by Guix --") | ||||
|                (("install\\(FILES etc/laminar.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)") | ||||
|                 "") | ||||
|                (("install\\(FILES \\$\\{CMAKE\\_CURRENT\\_BINARY\\_DIR\\}\\/laminar\\.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)") | ||||
|                 "") | ||||
|                (("install\\(FILES etc/laminar\\.conf DESTINATION \\/etc\\)") "") | ||||
|                (("\\/usr\\/") "")) | ||||
|              #t)) | ||||
|          (add-after 'configure 'copy-in-javascript-and-css | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (use-modules (ice-9 popen)) | ||||
| 
 | ||||
|              (mkdir-p "../build/js") | ||||
|              (for-each (lambda (name) | ||||
|                          (let* ((file | ||||
|                                  (assoc-ref inputs (string-append name ".js"))) | ||||
|                                 (port | ||||
|                                  (open-pipe* OPEN_READ "uglify-js" file)) | ||||
|                                 (destination | ||||
|                                  (string-append | ||||
|                                   "../build/js/" name ".min.js"))) | ||||
| 
 | ||||
|                            (call-with-output-file destination | ||||
|                              (lambda (output-port) | ||||
|                                (dump-port port output-port))) | ||||
| 
 | ||||
|                            (let ((exit (close-pipe port))) | ||||
|                              (unless (zero? exit) | ||||
|                                (error "uglify-js failed" exit))))) | ||||
| 
 | ||||
|                        '("vue" | ||||
|                          "vue-router" | ||||
|                          "Chart")) | ||||
| 
 | ||||
|              ;; ansi_up.js isn't minified | ||||
|              (copy-file (assoc-ref inputs "ansi_up.js") | ||||
|                         "../build/js/ansi_up.js") | ||||
| 
 | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("capnproto" ,capnproto) | ||||
|        ("rapidjson" ,rapidjson) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("boost" ,boost) | ||||
|        ("zlib" ,zlib))) | ||||
|     (native-inputs | ||||
|      `(("googletest" ,googletest) | ||||
|        ("uglify-js" ,uglify-js) | ||||
| 
 | ||||
|        ("vue.js" | ||||
|         ,(origin (method url-fetch) | ||||
|                  (uri (string-append "https://raw.githubusercontent.com/" | ||||
|                                      "vuejs/vue/v2.6.12/dist/vue.js")) | ||||
|                  (sha256 | ||||
|                   (base32 | ||||
|                    "1mq2dn6yqbmzar77xf4x2bvvanf9xc9nwfq06sksl5zmr300m7qm")))) | ||||
|        ("vue-router.js" | ||||
|         ,(origin (method url-fetch) | ||||
|                  (uri (string-append "https://raw.githubusercontent.com/" | ||||
|                                      "vuejs/vue-router/v3.4.8/dist/vue-router.js")) | ||||
|                  (sha256 | ||||
|                   (base32 | ||||
|                    "1hkrbgzhpnrsb4zdafslqagy1vkac6bkdj7kh49js2lhkp9z4nj5")))) | ||||
|        ("ansi_up.js" | ||||
|         ,(origin (method url-fetch) | ||||
|                  (uri (string-append "https://raw.githubusercontent.com/" | ||||
|                                      "drudru/ansi_up/v1.3.0/ansi_up.js")) | ||||
|                  (sha256 | ||||
|                   (base32 | ||||
|                    "1993dywxqi2ylnxybwk7m0s0bg2bq7kfllpyr0s8ck6chd0p8i6r")))) | ||||
|        ("Chart.js" | ||||
|         ,(origin (method url-fetch) | ||||
|                  (uri (string-append "https://github.com/chartjs/Chart.js/" | ||||
|                                      "releases/download/v2.7.2/Chart.js")) | ||||
|                  (sha256 | ||||
|                   (base32 | ||||
|                    "05m3gk6hqjx92j20drnk7q075qpjraywqaf25lnglmsgsgpiqsr7")))))) | ||||
|     (synopsis "Lightweight continuous integration service") | ||||
|     (description | ||||
|      "Laminar is a lightweight and modular continuous integration service.  It | ||||
| doesn't have a configuration web UI instead uses version-controllable | ||||
| configuration files and scripts. | ||||
| 
 | ||||
| Laminar encourages the use of existing tools such as bash and cron instead of | ||||
| reinventing them.") | ||||
|     (home-page "https://laminar.ohwg.net/") | ||||
|     (license l:gpl3+))) | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013, 2015, 2018, 2020 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2013, 2015, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
|  | @ -180,7 +180,7 @@ around in a large, deeply nested project.") | |||
|     (version "2.26") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "http://www.dwheeler.com/sloccount/sloccount-" | ||||
|               (uri (string-append "https://dwheeler.com/sloccount/sloccount-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|  | @ -221,7 +221,7 @@ around in a large, deeply nested project.") | |||
|         #:make-flags (list (string-append "PREFIX=" | ||||
|                                           (assoc-ref %outputs "out"))))) | ||||
|     (inputs `(("perl" ,perl))) | ||||
|     (home-page "http://www.dwheeler.com/sloccount/") | ||||
|     (home-page "https://dwheeler.com/sloccount/") | ||||
|     (synopsis "Count physical source lines of code (SLOC)") | ||||
|     (description | ||||
|      "SLOCCount is a set of the programs for counting source lines of | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> | ||||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> | ||||
| ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> | ||||
| ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
|  | @ -2072,7 +2072,8 @@ decompression is a little bit slower.") | |||
|                                  version "/upx-" version "-src.tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7")))) | ||||
|                "051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7")) | ||||
|              (patches (search-patches "upx-CVE-2021-20285.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("perl" ,perl))) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> | ||||
| ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
|  | @ -17,6 +17,8 @@ | |||
| ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> | ||||
| ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> | ||||
| ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute> | ||||
| ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> | ||||
| 
 | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -37,6 +39,7 @@ | |||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system gnu) | ||||
|  | @ -45,6 +48,7 @@ | |||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages boost) | ||||
|   #:use-module (gnu packages build-tools) | ||||
|   #:use-module (gnu packages c) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages code) | ||||
|  | @ -59,12 +63,14 @@ | |||
|   #:use-module (gnu packages llvm) | ||||
|   #:use-module (gnu packages logging) | ||||
|   #:use-module (gnu packages maths) | ||||
|   #:use-module (gnu packages onc-rpc) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages popt) | ||||
|   #:use-module (gnu packages pretty-print) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #:use-module (gnu packages web)) | ||||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages xml)) | ||||
| 
 | ||||
| (define-public range-v3 | ||||
|   (package | ||||
|  | @ -267,7 +273,7 @@ combination of these streams.") | |||
| (define-public xsimd | ||||
|   (package | ||||
|     (name "xsimd") | ||||
|     (version "7.4.9") | ||||
|     (version "7.4.10") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -275,7 +281,7 @@ combination of these streams.") | |||
|              (url "https://github.com/QuantStack/xsimd") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 "11by8gbshm4vv6flqp0ihff8c6nmbaqq7ms93b38rrq68bigcply")) | ||||
|         (base32 "097yvxrxdldi5s5m4nsxv8f4gwv9xj42mqig98a1z3hkjj1j2gn5")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|  | @ -482,7 +488,7 @@ tools (containers, algorithms) used by other QuantStack packages.") | |||
| (define-public ccls | ||||
|   (package | ||||
|     (name "ccls") | ||||
|     (version "0.20201025") | ||||
|     (version "0.20201219") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -490,8 +496,7 @@ tools (containers, algorithms) used by other QuantStack packages.") | |||
|              (url "https://github.com/MaskRay/ccls") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "13v00q1bz8g0ckw1sv0zyicbc44irc00vhwxdv3vvwlvylm7s21p")) | ||||
|         (base32 "0nkg92rgb1x6scpiwdamfrd1ag87j7ajxyn5qi861r916m5mh9m8")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|  | @ -1015,3 +1020,194 @@ Linear Congruential Generator (LCG) with a permutation function to increase | |||
| output randomness while retaining speed, simplicity, and conciseness.") | ||||
|       (home-page "https://www.pcg-random.org") | ||||
|       (license (list license:expat license:asl2.0))))) ; dual licensed | ||||
| 
 | ||||
| (define-public libcutl | ||||
|   (package | ||||
|     (name "libcutl") | ||||
|     (version "1.10.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "https://www.codesynthesis.com/download/libcutl/" | ||||
|                     (version-major+minor version) | ||||
|                     "/libcutl-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "070j2x02m4gm1fn7gnymrkbdxflgzxwl7m96aryv8wp3f3366l8j")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|                   ;; Remove bundled sources. | ||||
|                   (with-directory-excursion "cutl/details" | ||||
|                     (for-each delete-file-recursively | ||||
|                               ;; FIXME: Boost_RegEx isn't being detected. | ||||
|                               (list | ||||
|                                ;;"boost" | ||||
|                                "expat"))))))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags (list "--disable-static" | ||||
|                                ;;"--with-external-boost" | ||||
|                                "--with-external-expat"))) | ||||
|     (inputs | ||||
|      `(;;("boost ,boost) | ||||
|        ("expat" ,expat))) | ||||
|     (home-page "https://www.codesynthesis.com/projects/libcutl/") | ||||
|     (synopsis "C++ utility library with generic and independent components") | ||||
|     (description "libcutl is a C++ utility library.  It contains a collection | ||||
| of generic and independent components such as meta-programming tests, smart | ||||
| pointers, containers, compiler building blocks, etc.") | ||||
|     (license (list license:expat        ;everything except... | ||||
|                    license:boost1.0)))) ;...the files under cutl/details/boost | ||||
| 
 | ||||
| (define-public libxsd-frontend | ||||
|   (package | ||||
|     (name "libxsd-frontend") | ||||
|     (version "2.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.codesynthesis.com/download/" | ||||
|                            "libxsd-frontend/" (version-major+minor version) | ||||
|                            "/libxsd-frontend-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1nmzchsvwvn66jpmcx18anzyl1a3l309x1ld4zllrg37ijc31fim")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:test-target "test" | ||||
|        #:imported-modules ((guix build copy-build-system) | ||||
|                            ,@%gnu-build-system-modules) | ||||
|        #:modules (((guix build copy-build-system) #:prefix copy:) | ||||
|                   (guix build gnu-build-system) | ||||
|                   (guix build utils)) | ||||
|        #:make-flags (list (string-append "--include-dir=" | ||||
|                                          (assoc-ref %build-inputs "build") | ||||
|                                          "/include/")) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure) | ||||
|          (replace 'install | ||||
|            (lambda args | ||||
|              (apply (assoc-ref copy:%standard-phases 'install) | ||||
|                     #:install-plan | ||||
|                     '(("xsd-frontend" "include/xsd-frontend" | ||||
|                        #:include-regexp ("\\.?xx$")) | ||||
|                       ("xsd-frontend" "lib" | ||||
|                        #:include-regexp ("\\.so$"))) | ||||
|                     args)))))) | ||||
|     (native-inputs | ||||
|      `(("build" ,build))) | ||||
|     (inputs | ||||
|      `(("libcutl" ,libcutl) | ||||
|        ("libxerces-c" ,xerces-c))) | ||||
|     (synopsis "XSD Front-end") | ||||
|     (description "@code{libxsd-frontend} is a compiler frontend for the W3C | ||||
| XML Schema definition language.  It includes a parser, semantic graph types | ||||
| and a traversal mechanism.") | ||||
|     (home-page "https://www.codesynthesis.com/projects/libxsd-frontend/") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public cli | ||||
|   (package | ||||
|     (name "cli") | ||||
|     (version "1.1.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.codesynthesis.com/download/" | ||||
|                            "cli/" (version-major+minor version) | ||||
|                            "/cli-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "0bg0nsai2q4h3mldpnj0jz4iy4svs0bcfvmq0v0c9cdyknny606g")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:test-target "test" | ||||
|        #:make-flags (list (string-append "--include-dir=" | ||||
|                                          (assoc-ref %build-inputs "build") | ||||
|                                          "/include") | ||||
|                           (string-append "install_prefix=" | ||||
|                                          (assoc-ref %outputs "out"))) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch | ||||
|            (lambda _ | ||||
|              (substitute* (find-files "." "\\.make$") | ||||
|                (("build-0\\.3") | ||||
|                 (string-append (assoc-ref %build-inputs "build") | ||||
|                                "/include/build-0.3"))) | ||||
|              ;; Add the namespace prefix, to avoid errors such as "error: | ||||
|              ;; ‘iterate_and_dispatch’ was not declared in this scope". | ||||
|              (substitute* (find-files "." "\\.?xx$") | ||||
|                (("add \\(typeid \\(type\\), \\*this\\);" all) | ||||
|                 (string-append "traverser_map<B>::" all)) | ||||
|                (("iterate_and_dispatch \\(s\\.names_begin.*;" all) | ||||
|                 (string-append "edge_dispatcher::" all))))) | ||||
|          (delete 'configure)))) | ||||
|     (native-inputs | ||||
|      `(("build" ,build))) | ||||
|     (inputs | ||||
|      `(("libcutl" ,libcutl))) | ||||
|     (synopsis "C++ Command Line Interface (CLI) definition language") | ||||
|     (description "@code{cli} is a domain-specific language (DSL) for defining | ||||
| command line interfaces of C++ programs.  It allows you to describe the | ||||
| options that your program supports, their types, default values, and | ||||
| documentation.") | ||||
|     (home-page "https://codesynthesis.com/projects/cli/") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public xsd | ||||
|   (package | ||||
|     (name "xsd") | ||||
|     (version "4.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.codesynthesis.com/download/" | ||||
|                            "xsd/" (version-major+minor version) | ||||
|                            "/xsd-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1hi9ppxd34np8ydv1h0vgc2qpdmgcd1cdzgk30aidv670xjg91fx")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" "doc"))            ;3.8 MiB of doc and examples | ||||
|     (arguments | ||||
|      `(#:test-target "test" | ||||
|        #:make-flags (list (string-append "--include-dir=" | ||||
|                                          (assoc-ref %build-inputs "build") | ||||
|                                          "/include/") | ||||
|                           (string-append "install_prefix=" | ||||
|                                          (assoc-ref %outputs "out"))) | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (add-after 'install 'move-doc | ||||
|                     (lambda* (#:key outputs #:allow-other-keys) | ||||
|                       (let ((out (assoc-ref outputs "out")) | ||||
|                             (doc (assoc-ref outputs "doc"))) | ||||
|                         (mkdir-p (string-append doc "/share/doc")) | ||||
|                         (rename-file (string-append out "/share/doc/xsd") | ||||
|                                      (string-append doc "/share/doc/xsd-" | ||||
|                                                     ,version))))) | ||||
|                   (delete 'configure)))) | ||||
|     (native-inputs | ||||
|      `(("build" ,build) | ||||
|        ("cli" ,cli))) | ||||
|     (inputs | ||||
|      `(("libcutl" ,libcutl) | ||||
|        ("libnsl" ,libnsl) | ||||
|        ("libxsd-frontend" ,libxsd-frontend))) | ||||
|     (propagated-inputs | ||||
|      ;; The code XSD generates requires the following library at run time; | ||||
|      ;; propagate it for convenience. | ||||
|      `(("xerces-c" ,xerces-c))) | ||||
|     (synopsis "XML Data Binding for C++") | ||||
|     (description "CodeSynthesis XSD (also known as libxsd or xsdcxx) is an XML | ||||
| Schema to C++ data binding compiler.  Provided with an XML instance | ||||
| specification (XML Schema), it generates C++ classes that represent the given | ||||
| vocabulary as well as XML parsing and serialization code.  The data stored in | ||||
| XML can then be accessed using types and functions that semantically | ||||
| correspond to an application domain rather than dealing with the intricacies | ||||
| of reading and writing XML.") | ||||
|     (home-page "https://codesynthesis.com/projects/xsd/") | ||||
|     ;; Exceptions are made to allow using the generated source files as well | ||||
|     ;; as the libxsd library in free software projects whose license is | ||||
|     ;; incompatible with the GPL v2.  Refer to the file named FLOSSE for the | ||||
|     ;; details. | ||||
|     (license license:gpl2+))) | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1934,6 +1934,7 @@ interactive applications.") | |||
|         ("rust-arbitrary" ,rust-arbitrary-0.4) | ||||
|         ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3) | ||||
|         ("rust-arrayvec" ,rust-arrayvec-0.5) | ||||
|         ("rust-assert-cmd" ,rust-assert-cmd-1) | ||||
|         ("rust-av-metrics" ,rust-av-metrics-0.6) | ||||
|         ("rust-backtrace" ,rust-backtrace-0.3) | ||||
|         ("rust-bitstream-io" ,rust-bitstream-io-1) | ||||
|  | @ -1942,6 +1943,7 @@ interactive applications.") | |||
|         ("rust-cfg-if" ,rust-cfg-if-1) | ||||
|         ("rust-clap" ,rust-clap-2) | ||||
|         ("rust-console" ,rust-console-0.14) | ||||
|         ("rust-criterion" ,rust-criterion-0.3) | ||||
|         ("rust-crossbeam" ,rust-crossbeam-0.8) | ||||
|         ("rust-dav1d-sys" ,rust-dav1d-sys-0.3) | ||||
|         ("rust-fern" ,rust-fern-0.6) | ||||
|  | @ -1957,6 +1959,7 @@ interactive applications.") | |||
|         ("rust-num-derive" ,rust-num-derive-0.3) | ||||
|         ("rust-num-traits" ,rust-num-traits-0.2) | ||||
|         ("rust-paste" ,rust-paste-1) | ||||
|         ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) | ||||
|         ("rust-rand" ,rust-rand-0.8) | ||||
|         ("rust-rand-chacha" ,rust-rand-chacha-0.3) | ||||
|         ("rust-rayon" ,rust-rayon-1) | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> | ||||
| ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm> | ||||
| ;;; Copyright @ 2021 Zheng Junjie <873216071@qq.com> | ||||
| ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> | ||||
| ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
|  | @ -12978,6 +12978,26 @@ Standard.") | |||
|      "Streaming transcoding for encoding_rs.") | ||||
|     (license (list license:asl2.0 license:expat)))) | ||||
| 
 | ||||
| (define-public rust-endian-type-0.1 | ||||
|   (package | ||||
|     (name "rust-endian-type") | ||||
|     (version "0.1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "endian-type" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0bbh88zaig1jfqrm7w3gx0pz81kw2jakk3055vbgapw3dmk08ky3")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments `(#:skip-build? #t)) | ||||
|     (home-page "https://github.com/Lolirofle/endian-type") | ||||
|     (synopsis "Type safe wrappers for types with a defined byte order") | ||||
|     (description | ||||
|      "This crates provides type safe wrappers for types with a defined byte | ||||
| order.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-enum-as-inner-0.3 | ||||
|   (package | ||||
|     (name "rust-enum-as-inner") | ||||
|  | @ -13950,7 +13970,7 @@ supported in purely NFA-based implementations.") | |||
|     (synopsis "Find the physical space used by a file") | ||||
|     (description | ||||
|      "@code{filesize} abstracts platform-specific methods of determining the | ||||
| real space used by files, taking into account filesystem compression and | ||||
| real space used by files, taking into account file system compression and | ||||
| sparse files.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
|  | @ -17252,6 +17272,29 @@ highlighting for a large number of languages, git integration, and automatic | |||
| paging.") | ||||
|     (license (list license:expat license:asl2.0)))) | ||||
| 
 | ||||
| (define-public rust-hamcrest2-0.3 | ||||
|   (package | ||||
|     (name "rust-hamcrest2") | ||||
|     (version "0.3.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "hamcrest2" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0x8hx7jyzz2bl0wf6nir62imd26yhp6qcr7zf76cjpg05p33gy29")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|        (("rust-num" ,rust-num-0.2) | ||||
|         ("rust-regex" ,rust-regex-1)))) | ||||
|     (home-page "https://github.com/Valloric/hamcrest2-rust") | ||||
|     (synopsis "Rust port of the Hamcrest testing library") | ||||
|     (description | ||||
|      "This package provides a port of the Hamcrest testing library.") | ||||
|     (license (list license:expat license:asl2.0)))) | ||||
| 
 | ||||
| (define-public rust-handlebars-2 | ||||
|   (package | ||||
|     (name "rust-handlebars") | ||||
|  | @ -18038,8 +18081,8 @@ Hash-based Message Authentication Code}.") | |||
|     (home-page "https://github.com/pantsman0/rust-hmac-sha1") | ||||
|     (synopsis "Minimal implementation of HMAC-SHA1 in Rust") | ||||
|     (description | ||||
|      "This package is a pure Rust implementation of the Hash-based Message | ||||
| Authentication Code Algoritm (HMAC) for SHA1.") | ||||
|      "This package is a pure Rust implementation of the @acronym{HMAC, | ||||
| Hash-based Message Authentication Code algorithm} for SHA1.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public rust-hostname-0.3 | ||||
|  | @ -22313,14 +22356,13 @@ image together with its neighboring pixels.") | |||
|     (name "rust-lopdf") | ||||
|     (version "0.26.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "lopdf" version)) | ||||
|        (file-name | ||||
|         (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1wqnmibs8qzi6pr3ig4h3sg6bfkkgyv4ngdng81x069725r056ml")))) | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (crate-uri "lopdf" version)) | ||||
|         (file-name | ||||
|           (string-append name "-" version ".tar.gz")) | ||||
|         (sha256 | ||||
|          (base32 "1wqnmibs8qzi6pr3ig4h3sg6bfkkgyv4ngdng81x069725r056ml")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:cargo-inputs | ||||
|  | @ -22328,7 +22370,7 @@ image together with its neighboring pixels.") | |||
|         ("rust-dtoa" ,rust-dtoa-0.4) | ||||
|         ("rust-encoding" ,rust-encoding-0.2) | ||||
|         ("rust-flate2" ,rust-flate2-1) | ||||
|         ("rust-image" ,rust-image-0.23) | ||||
|         ("rust-image" ,rust-image-0.20) | ||||
|         ("rust-itoa" ,rust-itoa-0.4) | ||||
|         ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) | ||||
|         ("rust-log" ,rust-log-0.4) | ||||
|  | @ -22336,17 +22378,7 @@ image together with its neighboring pixels.") | |||
|         ("rust-nom" ,rust-nom-6) | ||||
|         ("rust-pom" ,rust-pom-3) | ||||
|         ("rust-rayon" ,rust-rayon-1) | ||||
|         ("rust-time" ,rust-time-0.2)) | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (add-before 'check 'disable-problematic-tests | ||||
|                     (lambda _ | ||||
|                       ;; This tests depends on the test_1_create.pdf file | ||||
|                       ;; having created by create_document, but the file does | ||||
|                       ;; not always exist at the time the test run (see: | ||||
|                       ;; https://github.com/J-F-Liu/lopdf/issues/137). | ||||
|                       (substitute* "src/parser_aux.rs" | ||||
|                         (("fn load_and_save" all) | ||||
|                          (string-append "#[ignore] " all)))))))) | ||||
|         ("rust-time" ,rust-time-0.2)))) | ||||
|     (home-page "https://github.com/J-F-Liu/lopdf") | ||||
|     (synopsis "Rust library for PDF document manipulation") | ||||
|     (description | ||||
|  | @ -24853,6 +24885,27 @@ cryptographic library.") | |||
| release (fork of debug_unreachable)") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-nibble-vec-0.1 | ||||
|   (package | ||||
|     (name "rust-nibble-vec") | ||||
|     (version "0.1.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "nibble_vec" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0hsdp3s724s30hkqz74ky6sqnadhp2xwcj1n1hzy4vzkz4yxi9bp")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|        (("rust-smallvec" ,rust-smallvec-1)))) | ||||
|     (home-page "https://github.com/michaelsproul/rust_nibble_vec") | ||||
|     (synopsis "Vector data-structure for half-byte values") | ||||
|     (description "NibbleVec is a data structure for storing a sequence of half-bytes.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-nickel-0.11 | ||||
|   (package | ||||
|     (name "rust-nickel") | ||||
|  | @ -24918,8 +24971,36 @@ selectors.  You can use the jQuery-like syntax to query and manipulate an HTML | |||
| document quickly.") | ||||
|     (license (list license:expat license:asl2.0)))) | ||||
| 
 | ||||
| (define-public rust-nix-0.20 | ||||
|   (package | ||||
|     (name "rust-nix") | ||||
|     (version "0.20.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "nix" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|        (("rust-bitflags" ,rust-bitflags-1) | ||||
|         ("rust-cc" ,rust-cc-1) | ||||
|         ("rust-cfg-if" ,rust-cfg-if-1) | ||||
|         ("rust-libc" ,rust-libc-0.2)))) | ||||
|     (home-page "https://github.com/nix-rust/nix") | ||||
|     (synopsis "Rust friendly bindings to *nix APIs") | ||||
|     (description | ||||
|      "Nix seeks to provide friendly bindings to various *nix platform APIs. | ||||
| The goal is to not provide a 100% unified interface, but to unify what can be | ||||
| while still providing platform specific APIs.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-nix-0.19 | ||||
|   (package | ||||
|     (inherit rust-nix-0.20) | ||||
|     (name "rust-nix") | ||||
|     (version "0.19.1") | ||||
|     (source | ||||
|  | @ -24929,7 +25010,6 @@ document quickly.") | |||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1wk1pmaf9pv84sc4jf19gm1as2yq3ydwcx0n5nc1bpsgzq6bmk5j")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; test suite hangs | ||||
|        #:cargo-inputs | ||||
|  | @ -24944,14 +25024,7 @@ document quickly.") | |||
|         ("rust-rand" ,rust-rand-0.6) | ||||
|         ("rust-semver" ,rust-semver-0.9) | ||||
|         ("rust-sysctl" ,rust-sysctl-0.1) | ||||
|         ("rust-tempfile" ,rust-tempfile-3)))) | ||||
|     (home-page "https://github.com/nix-rust/nix") | ||||
|     (synopsis "Rust friendly bindings to *nix APIs") | ||||
|     (description | ||||
|      "Nix seeks to provide friendly bindings to various *nix platform APIs. | ||||
| The goal is to not provide a 100% unified interface, but to unify what can be | ||||
| while still providing platform specific APIs.") | ||||
|     (license license:expat))) | ||||
|         ("rust-tempfile" ,rust-tempfile-3)))))) | ||||
| 
 | ||||
| (define-public rust-nix-0.18 | ||||
|   (package | ||||
|  | @ -31051,6 +31124,31 @@ that must be shared-mutable, but merely may use atomic instructions to do so.") | |||
| radix.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public rust-radix-trie-0.2 | ||||
|   (package | ||||
|     (name "rust-radix-trie") | ||||
|     (version "0.2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "radix_trie" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1zaq3im5ss03w91ij11cj97vvzc5y1f3064d9pi2ysnwziww2sf0")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|        (("rust-endian-type" ,rust-endian-type-0.1) | ||||
|         ("rust-nibble-vec" ,rust-nibble-vec-0.1) | ||||
|         ("rust-serde" ,rust-serde-1)))) | ||||
|     (home-page "https://github.com/michaelsproul/rust_radix_trie") | ||||
|     (synopsis "Generic radix trie data-structure") | ||||
|     (description | ||||
|      "This is a Radix Trie implementation in Rust, building on the lessons | ||||
| learnt from TrieMap and Sequence Trie.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-rand-0.8 | ||||
|   (package | ||||
|     (name "rust-rand") | ||||
|  | @ -31271,14 +31369,14 @@ useful types and distributions, and some randomness-related algorithms.") | |||
| (define-public rust-rand-core-0.6 | ||||
|   (package | ||||
|     (name "rust-rand-core") | ||||
|     (version "0.6.1") | ||||
|     (version "0.6.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rand_core" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1rfjrcyaj7blz2nawv2pypm5kqc59p80n6f5pg691399iggxf9n0")))) | ||||
|         (base32 "1rvas1afjvd2827b8mf2ilg78h3ksl9npkrdds3wbw9x33mndkrl")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -33090,14 +33188,14 @@ MessagePack format.") | |||
| (define-public rust-rocket-0.4 | ||||
|   (package | ||||
|     (name "rust-rocket") | ||||
|     (version "0.4.6") | ||||
|     (version "0.4.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rocket" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1sb6i0y65hq4wy4awa14diyv19wcd1sii2mfjdlcwam3mbbfbisg")))) | ||||
|         (base32 "04ybnhjw92zaan92lsmx6mkhqc9cpsg3885svb3wzyj39pyzvsvz")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -33127,14 +33225,14 @@ and speed.") | |||
| (define-public rust-rocket-codegen-0.4 | ||||
|   (package | ||||
|     (name "rust-rocket-codegen") | ||||
|     (version "0.4.6") | ||||
|     (version "0.4.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rocket_codegen" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0n4k00fwwabvkjvnl62gwdc5v7rsg6bnmmwwiwm5bzpmdnqm94ai")))) | ||||
|         (base32 "18s2dll8c4sd26s8cfr6cizj5z55xwnk6r6x7b2wvcf8n9ajrb6f")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -33155,14 +33253,14 @@ and speed.") | |||
| (define-public rust-rocket-http-0.4 | ||||
|   (package | ||||
|     (name "rust-rocket-http") | ||||
|     (version "0.4.6") | ||||
|     (version "0.4.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rocket_http" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0msjjclqcgh8kpa54b4kv6zbybambc9kmkfm1q5adiq3fbg8gl59")))) | ||||
|         (base32 "0ga98nbcga8amg4xhrfkn1wljnqx9h0vv7mnay9g66vsxl042dnf")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -35152,8 +35250,46 @@ sub-processes using a fork-like interface.") | |||
|         ("rust-tempfile" ,rust-tempfile-3) | ||||
|         ("rust-wait-timeout" ,rust-wait-timeout-0.2)))))) | ||||
| 
 | ||||
| (define-public rust-rustyline-8 | ||||
|   (package | ||||
|     (name "rust-rustyline") | ||||
|     (version "8.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rustyline" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "14z8hyx33ygyhm5ihcl9n2g646dawlw3ajavnbbb3vnizjbvbqdr")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|        (("rust-bitflags" ,rust-bitflags-1) | ||||
|         ("rust-cfg-if" ,rust-cfg-if-1) | ||||
|         ("rust-dirs-next" ,rust-dirs-next-2) | ||||
|         ("rust-fs2" ,rust-fs2-0.4) | ||||
|         ("rust-libc" ,rust-libc-0.2) | ||||
|         ("rust-log" ,rust-log-0.4) | ||||
|         ("rust-memchr" ,rust-memchr-2) | ||||
|         ("rust-nix" ,rust-nix-0.20) | ||||
|         ("rust-radix-trie" ,rust-radix-trie-0.2) | ||||
|         ("rust-scopeguard" ,rust-scopeguard-1) | ||||
|         ("rust-smallvec" ,rust-smallvec-1) | ||||
|         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) | ||||
|         ("rust-unicode-width" ,rust-unicode-width-0.1) | ||||
|         ("rust-utf8parse" ,rust-utf8parse-0.2) | ||||
|         ("rust-winapi" ,rust-winapi-0.3) | ||||
|         ("skim" ,skim)))) | ||||
|     (home-page "https://github.com/kkawakam/rustyline") | ||||
|     (synopsis "Readline implementation in Rust") | ||||
|     (description | ||||
|      "Rustyline is a readline implementation based on the linenoise package.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public rust-rustyline-7 | ||||
|   (package | ||||
|     (inherit rust-rustyline-8) | ||||
|     (name "rust-rustyline") | ||||
|     (version "7.1.0") | ||||
|     (source | ||||
|  | @ -35163,7 +35299,6 @@ sub-processes using a fork-like interface.") | |||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1v1czmy3ir7d06xldp8bg94l97hrm15hcgdxxkq3cwbizhdk09w2")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|        #:cargo-inputs | ||||
|  | @ -35180,12 +35315,7 @@ sub-processes using a fork-like interface.") | |||
|         ("rust-unicode-width" ,rust-unicode-width-0.1) | ||||
|         ("rust-utf8parse" ,rust-utf8parse-0.2) | ||||
|         ("rust-winapi" ,rust-winapi-0.3) | ||||
|         ("skim" ,skim-0.7)))) | ||||
|     (home-page "https://github.com/kkawakam/rustyline") | ||||
|     (synopsis "Readline implementation in Rust") | ||||
|     (description | ||||
|      "Rustyline, a readline implementation based on the linenoise package.") | ||||
|     (license license:expat))) | ||||
|         ("skim" ,skim-0.7)))))) | ||||
| 
 | ||||
| (define-public rust-rustyline-6 | ||||
|   (package | ||||
|  | @ -35673,8 +35803,9 @@ with one of the implemented strategies.") | |||
|        (("rust-fs2" ,rust-fs2-0.4)))) | ||||
|     (home-page "https://github.com/dtolnay/scratch") | ||||
|     (synopsis "Compile-time temporary directory") | ||||
|     (description "This crate exposes a compile-time temporary directory sharable | ||||
| by multiple crates in a build graph and erased by @code{cargo clean}.") | ||||
|     (description "This crate exposes a compile-time temporary directory | ||||
| shareable by multiple crates in a build graph and erased by @code{cargo | ||||
| clean}.") | ||||
|     (license (list license:expat license:asl2.0)))) | ||||
| 
 | ||||
| (define-public rust-scrypt-0.3 | ||||
|  | @ -38890,7 +39021,7 @@ I/O programming.") | |||
| (define-public rust-smallvec-1 | ||||
|   (package | ||||
|     (name "rust-smallvec") | ||||
|     (version "1.4.1") | ||||
|     (version "1.6.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -38899,7 +39030,7 @@ I/O programming.") | |||
|         (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0gqgmbfj8228lc55xxg331flizzwq6hfyy6gw4j2y6hni6fwnmrp")))) | ||||
|          "0kk08axr0ybfbjzk65a41k84mb6sfhyajmfndaka9igkx34kf3zy")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:cargo-inputs | ||||
|  |  | |||
|  | @ -153,7 +153,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)" | |||
|                                "--disable-decimal-float" ;would need libc | ||||
|                                "--disable-libcilkrts" | ||||
| 
 | ||||
|                               ,@(if (equal? "powerpc64le-linux-gnu" target) | ||||
|                               ,@(if (string-prefix? "powerpc64le-" target) | ||||
|                                    ;; On POWER9 (little endian) glibc needs | ||||
|                                    ;; the 128-bit long double type. | ||||
|                                    '("--with-long-double-128") | ||||
|  |  | |||
|  | @ -773,15 +773,18 @@ data on your platform, so the seed itself will be as random as possible. | |||
| (define-public crypto++ | ||||
|   (package | ||||
|     (name "crypto++") | ||||
|     (version "8.4.0") | ||||
|     (version "8.5.0") | ||||
|     (source (origin | ||||
|               (method url-fetch/zipbomb) | ||||
|               (uri (string-append "https://cryptopp.com/cryptopp" | ||||
|                                   (string-join (string-split version #\.) "") | ||||
|                                   ".zip")) | ||||
|               (method git-fetch) | ||||
|               (uri | ||||
|                (git-reference | ||||
|                 (url "https://github.com/weidai11/cryptopp") | ||||
|                 (commit | ||||
|                  (string-append "CRYPTOPP_" | ||||
|                                 (string-replace-substring version "." "_"))))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16kvfm11xv7j9a3yykzysjgw38a9b7lnc5n5x5h82g395k6ybxf0")))) | ||||
|                 "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -35,7 +35,7 @@ | |||
| (define-public cryptsetup | ||||
|   (package | ||||
|    (name "cryptsetup") | ||||
|    (version "2.3.4") | ||||
|    (version "2.3.5") | ||||
|    (source (origin | ||||
|             (method url-fetch) | ||||
|             (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v" | ||||
|  | @ -43,7 +43,7 @@ | |||
|                                 "/cryptsetup-" version ".tar.xz")) | ||||
|             (sha256 | ||||
|              (base32 | ||||
|               "0wrpz2fzbsszmsgxxbssxjgylpyiindh24z8g13m2fxmjsxyw5lx")))) | ||||
|               "1hbhzlv4vbib1da20vnrqaikhxi7ljnchbzrv8v2a4sd8ipr9nff")))) | ||||
|    (build-system gnu-build-system) | ||||
|    (arguments | ||||
|     `(#:configure-flags | ||||
|  |  | |||
|  | @ -744,14 +744,15 @@ printer/driver specific, but spooler-independent PPD file.") | |||
| (define-public foo2zjs | ||||
|   (package | ||||
|     (name "foo2zjs") | ||||
|     (version "20200610") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               ;; XXX: This is an unversioned URL! | ||||
|               (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz") | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11ddx6wf8b5ksl4fqw6fnyz9m3y470lryyrskkya2bsch2bvj9lg")))) | ||||
|     (version "20200610.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        ;; The upstream tarball is unversioned: use a stable snapshot. | ||||
|        (uri (string-append "https://web.archive.org/web/20210224094943if_/" | ||||
|                            "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "03ncif50n7ck7drggqxbc7w0kgzdb90ha0dbvqk98ky8lw3k76xd")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|  |  | |||
|  | @ -62,6 +62,7 @@ | |||
|               (base32 | ||||
|                "1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3")) | ||||
|              (patches (search-patches "curl-use-ssl-cert-env.patch")))) | ||||
|    (replacement curl/fixed) | ||||
|    (build-system gnu-build-system) | ||||
|    (outputs '("out" | ||||
|               "doc"))                             ;1.2 MiB of man3 pages | ||||
|  | @ -145,6 +146,20 @@ tunneling, and so on.") | |||
| (define-public curl-minimal | ||||
|   (deprecated-package "curl-minimal" curl)) | ||||
| 
 | ||||
| (define-public curl/fixed | ||||
|   (package | ||||
|     (inherit curl) | ||||
|     (version "7.76.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (inherit (package-source curl)) | ||||
|        (uri (string-append "https://curl.haxx.se/download/curl-" | ||||
|                            version ".tar.xz")) | ||||
|        (patches (search-patches "curl-7.76-use-ssl-cert-env.patch")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3")))))) | ||||
| 
 | ||||
| (define-public kurly | ||||
|   (package | ||||
|     (name "kurly") | ||||
|  |  | |||
|  | @ -48,6 +48,7 @@ | |||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> | ||||
| ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> | ||||
| ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -734,6 +735,7 @@ Language.") | |||
|                             (append (find-files "extra/wolfssl") | ||||
|                                     (find-files "zlib"))) | ||||
|                   #t)))) | ||||
|     (replacement mariadb/fixed) | ||||
|     (build-system cmake-build-system) | ||||
|     (outputs '("out" "lib" "dev")) | ||||
|     (arguments | ||||
|  | @ -969,6 +971,13 @@ Language.") | |||
| as a drop-in replacement of MySQL.") | ||||
|     (license license:gpl2))) | ||||
| 
 | ||||
| (define mariadb/fixed | ||||
|   (package | ||||
|     (inherit mariadb) | ||||
|     (source (origin | ||||
|               (inherit (package-source mariadb)) | ||||
|               (patches (search-patches "mariadb-CVE-2021-27928.patch")))))) | ||||
| 
 | ||||
| (define-public mariadb-connector-c | ||||
|   (package | ||||
|     (name "mariadb-connector-c") | ||||
|  | @ -994,6 +1003,31 @@ as a drop-in replacement of MySQL.") | |||
| developed in C/C++ to MariaDB and MySQL databases.") | ||||
|     (license license:lgpl2.1+))) | ||||
| 
 | ||||
| (define-public galera | ||||
|   (package | ||||
|     (name "galera") | ||||
|     (version "26.4.7") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (commit "bac8171266cb982fe013ce496d78085438c6f23e") | ||||
|                     (url "https://github.com/codership/galera") | ||||
|                     (recursive? #t))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 "0h7s670pcasq8wzprhyxqfca2cghi62b8xz2kikb2a86wd453qil")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|      `(("check" ,check) | ||||
|        ("boost" ,boost) | ||||
|        ("openssl" ,openssl))) | ||||
|     (home-page "https://github.com/codership/galera/") | ||||
|     (synopsis "Extension to the MariaDB database server") | ||||
|     (description | ||||
|      "Galera is a wsrep-provider that is used with MariaDB for load-balancing | ||||
| and high-availability (HA).") | ||||
|     (license license:gpl2)))                  ;'COPYING' says "version 2" only | ||||
| 
 | ||||
| ;; Don't forget to update the other postgresql packages when upgrading this one. | ||||
| (define-public postgresql-13 | ||||
|   (package | ||||
|  | @ -2467,7 +2501,10 @@ can autogenerate peewee models using @code{pwiz}, a model generator.") | |||
|                     (lambda _ | ||||
|                       (substitute* "setup.py" | ||||
|                         (("pypika>=0\\.44\\.0,<0\\.45\\.0") "pypika") | ||||
|                         (("aiosqlite>=0.16.0,<0.17.0") "aiosqlite")) | ||||
|                         (("aiosqlite>=0.16.0,<0.17.0") "aiosqlite") | ||||
|                         (("pytz>=2020\\.4,<2021\\.0") "pytz") | ||||
|                         ;; Not required, since ciso8601 is used. | ||||
|                         (("'iso8601>=0\\.1\\.13,<0\\.2\\.0',") "")) | ||||
|                       #t))))) | ||||
|     (native-inputs | ||||
|      `(("python-asynctest" ,python-asynctest) | ||||
|  | @ -2476,6 +2513,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.") | |||
|      `(("python-aiosqlite" ,python-aiosqlite) | ||||
|        ("python-pypika" ,python-pypika) | ||||
|        ("python-ciso8601" ,python-ciso8601) | ||||
|        ("python-pytz" ,python-pytz) | ||||
|        ("python-typing-extensions" | ||||
|         ,python-typing-extensions))) | ||||
|     (home-page | ||||
|  | @ -3776,7 +3814,8 @@ The drivers officially supported by @code{libdbi} are: | |||
|                (base32 | ||||
|                 "14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|     (propagated-inputs | ||||
|      ;; Headers of soci has include-references to headers of these inputs. | ||||
|      `(("firebird" ,firebird) | ||||
|        ("postgresql" ,postgresql) | ||||
|        ("sqlite" ,sqlite) | ||||
|  | @ -3799,14 +3838,14 @@ PostreSQL, SQLite, ODBC and MySQL.") | |||
| (define-public freetds | ||||
|   (package | ||||
|     (name "freetds") | ||||
|     (version "1.2.18") | ||||
|     (version "1.2.19") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.freetds.org/files/stable/" | ||||
|                            "freetds-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1hspvwxwdd1apadsy2b40dpjik8kfwcvdamvhpg3lnm15n02fb50")))) | ||||
|         (base32 "11xf2w8gh2p9cq4i38jfvdiwgig8wqbg098xjc08kx4iii8lxy3m")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      ;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection, | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> | ||||
| ;;; | ||||
|  | @ -41,7 +41,7 @@ | |||
| (define-public debian-archive-keyring | ||||
|   (package | ||||
|     (name "debian-archive-keyring") | ||||
|     (version "2019.1") | ||||
|     (version "2021.1.1") | ||||
|     (source | ||||
|       (origin | ||||
|         (method git-fetch) | ||||
|  | @ -51,7 +51,7 @@ | |||
|         (file-name (git-file-name name version)) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0bphwji3ywk1zi5bq8bhqk7l51fwjy1idwsw7zfqnxca8m5wvw1g")))) | ||||
|           "0dcmv7y1k6j3a646kr0rkd2a0c4j2wrz868bh8j9zjx1npzns73q")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:test-target "verify-results" | ||||
|  | @ -84,7 +84,7 @@ contains the archive keys used for that.") | |||
| (define-public ubuntu-keyring | ||||
|   (package | ||||
|     (name "ubuntu-keyring") | ||||
|     (version "2018.09.18.1") | ||||
|     (version "2021.03.26") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -92,7 +92,7 @@ contains the archive keys used for that.") | |||
|                             "+files/" name "_" version ".tar.gz")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0csx2n62rj9rxjv4y8qhby7l9rbybfwrb0406pc2cjr7f2yk91af")))) | ||||
|           "1ccvwh4s51viyhcg8gh189jmvbrhc5wv1bbp4minz3200rffsbj9")))) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|      `(#:modules ((guix build utils)) | ||||
|  | @ -284,7 +284,7 @@ other apt sources typically provided by open source developers.") | |||
| (define-public dpkg | ||||
|   (package | ||||
|     (name "dpkg") | ||||
|     (version "1.20.7.1") | ||||
|     (version "1.20.9") | ||||
|     (source | ||||
|       (origin | ||||
|         (method git-fetch) | ||||
|  | @ -294,7 +294,7 @@ other apt sources typically provided by open source developers.") | |||
|         (file-name (git-file-name name version)) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0d1cppigwhpv0z1ac94gjalkzs3n0gjyi383pkhz1h9d4fvmadk9")))) | ||||
|           "16wlb8hwbdvxar187bjd4pzdzj95g3l2ryi2khqqmwbyca4sjm1n")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> | ||||
| ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> | ||||
|  | @ -179,12 +179,13 @@ tools that process C/C++ code.") | |||
|                    ("aarch64-linux"  "aarch64") | ||||
|                    ("armhf-linux"    "arm") | ||||
|                    ("mips64el-linux" "mips64el") | ||||
|                    ("powerpc-linux"  "ppc") | ||||
|                    ;; Prevent errors when querying this package on unsupported | ||||
|                    ;; platforms, e.g. when running "guix package --search=" | ||||
|                    (_                "UNSUPPORTED")))) | ||||
|     (package | ||||
|       (name "american-fuzzy-lop") | ||||
|       (version "2.56b")             ;It seems all releases have the 'b' suffix | ||||
|       (version "2.57b")             ;It seems all releases have the 'b' suffix | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|  | @ -192,7 +193,7 @@ tools that process C/C++ code.") | |||
|                (url "https://github.com/google/AFL") | ||||
|                (commit (string-append "v" version)))) | ||||
|          (sha256 | ||||
|           (base32 "1q1g59gkm48aa4cg9h70jx4i2gapmypgp5rzs156b2avd95vwkn1")) | ||||
|           (base32 "0ks0s8iizp7mpc9mlpv126rsny0dkljfsw68689g9jiisjz2z530")) | ||||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system gnu-build-system) | ||||
|       (inputs | ||||
|  | @ -254,6 +255,7 @@ down the road.") | |||
|                    ("aarch64-linux"  "aarch64") | ||||
|                    ("armhf-linux"    "arm") | ||||
|                    ("mips64el-linux" "mips64el") | ||||
|                    ("powerpc-linux"  "ppc") | ||||
|                    ;; Prevent errors when querying this package on unsupported | ||||
|                    ;; platforms, e.g. when running "guix package --search=" | ||||
|                    (_                "UNSUPPORTED")))) | ||||
|  | @ -269,7 +271,8 @@ down the road.") | |||
|               (base32 | ||||
|                "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw")) | ||||
|              (patches | ||||
|               (search-patches "qemu-glibc-2.27.patch")))) | ||||
|               (search-patches "qemu-glibc-2.27.patch" | ||||
|                               "qemu-glibc-2.30.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(;; Running tests in parallel can occasionally lead to failures, like: | ||||
|  |  | |||
|  | @ -72,7 +72,7 @@ | |||
| (define-public diffoscope | ||||
|   (package | ||||
|     (name "diffoscope") | ||||
|     (version "170") | ||||
|     (version "172") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -81,7 +81,7 @@ | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0s1z4yc5d10ns4x28d2lm8py30r7sq4764q6b8yxcwxwfrjibmb0")))) | ||||
|                 "1lglxn9h8s7kvmfd2rsyhrcv3y8a4bppbxr9nf2sgnlbdln1vwqq")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases (modify-phases %standard-phases | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| ;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> | ||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2016, 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> | ||||
| ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> | ||||
|  | @ -302,17 +302,69 @@ fdisk.  fdisk is used for the creation and manipulation of disk partition | |||
| tables, and it understands a variety of different formats.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public gpart | ||||
|   ;; The latest (0.3) release is from 2015 and is missing a crash fix. | ||||
|   (let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "gpart") | ||||
|       (version (git-version "0.3" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/baruch/gpart") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "1dassswliaiwhhmx7yz540yyxgk53fvg672dbvgc5q0v6cqrh5jx")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        `(#:configure-flags | ||||
|          (list (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/" | ||||
|                               ,name "-" ,version)) | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'unpack 'skip-premature-configuration | ||||
|              (lambda _ | ||||
|                (substitute* "autogen.sh" | ||||
|                  (("\\./configure") ""))))))) | ||||
|       (native-inputs | ||||
|        `(("autoconf" ,autoconf) | ||||
|          ("automake" ,automake))) | ||||
|       (home-page "https://github.com/baruch/gpart") | ||||
|       (synopsis "Guess and recover PC-style partition tables") | ||||
|       (description | ||||
|        "Gpart tries to guess the partitions on a PC-style, MBR-partitioned disk | ||||
| after they have been inadvertently deleted or the primary partition table at | ||||
| sector 0 damaged.  In both cases, the contents of these partitions still exist | ||||
| on the disk but the operating system cannot access them. | ||||
| 
 | ||||
| Gpart ignores the partition table and scans each sector of the device or image | ||||
| file for several known file system and partition types.  Only partitions which | ||||
| have been formatted in some way can be recognized.  Several file system guessing | ||||
| modules are built in; more can be written and loaded at run time. | ||||
| 
 | ||||
| The guessed table can be restored manually, for example with @command{fdisk}, | ||||
| written to a file, or---if you firmly believe it's entirely correct---directly | ||||
| to disk. | ||||
| 
 | ||||
| It should be stressed that gpart does a very heuristic job.  It can easily be | ||||
| right in its guesswork but it can also be terribly wrong.  Never believe its | ||||
| output without any plausibility checks.") | ||||
|       (license license:gpl2+)))) | ||||
| 
 | ||||
| (define-public gptfdisk | ||||
|   (package | ||||
|     (name "gptfdisk") | ||||
|     (version "1.0.6") | ||||
|     (version "1.0.7") | ||||
|     (source | ||||
|      (origin | ||||
|       (method url-fetch) | ||||
|       (uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/" | ||||
|                           version "/gptfdisk-" version ".tar.gz")) | ||||
|       (sha256 | ||||
|        (base32 "1a4c2ss6n2s6x8v11h79jykh96y46apd6i838ka0ngx58gb53ifx")))) | ||||
|        (base32 "1h1871gwlq05gdc2wym98ghfmq6pn5lh8g5cqy3r49svz2vh8h3m")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|  | @ -363,6 +415,8 @@ scheme.") | |||
|       (sha256 | ||||
|        (base32 "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags (list (string-append "CXX=" ,(cxx-for-target))))) | ||||
|     (home-page "https://www.gnu.org/software/ddrescue/ddrescue.html") | ||||
|     (synopsis "Data recovery utility") | ||||
|     (native-inputs `(("lzip" ,lzip))) | ||||
|  |  | |||
|  | @ -48,13 +48,13 @@ | |||
| (define-public python-django | ||||
|   (package | ||||
|     (name "python-django") | ||||
|     (version "3.1.7") | ||||
|     (version "3.1.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "Django" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "19v5lfijnjx18y9ax962z3gnbxy9k8i3w4j0qfzcp85nx4p7kkij")))) | ||||
|                 "1b0ymqv09b523k3c2jnpb2gjy2fsy6irbfyc2g9x5hjyw41k2fgq")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|  | @ -120,13 +120,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.") | |||
| (define-public python-django-2.2 | ||||
|   (package | ||||
|     (inherit python-django) | ||||
|     (version "2.2.19") | ||||
|     (version "2.2.20") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "Django" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0hysjf8bz4g8xrn2cdx6pmawimpyr6ag2fg3jxsnc1byr3g3bhih")))) | ||||
|                 "0r3a6gbhwngxl172yy6n0sq5knibl2vxc0wbk1g8licfbzfgjs95")))) | ||||
|     (native-inputs | ||||
|      `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. | ||||
|        ("python-selenium" ,python-selenium) | ||||
|  |  | |||
|  | @ -18,6 +18,7 @@ | |||
| ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> | ||||
| ;;; Copyright © 2020 Simon South <simon@simonsouth.net> | ||||
| ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -277,7 +278,7 @@ prompt the user with the option to go with insecure DNS only.") | |||
| (define-public dnsmasq | ||||
|   (package | ||||
|     (name "dnsmasq") | ||||
|     (version "2.84") | ||||
|     (version "2.85") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -285,7 +286,7 @@ prompt the user with the option to go with insecure DNS only.") | |||
|                     version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0305a0c3snwqcv77sipyynr55xip1fp2843yn04pc4vk9g39acb0")))) | ||||
|                 "1yhjwgz8g5qrqvxh6bbmg3443zi8qqjks3q872wyb1zn7n0d765d")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  | @ -538,14 +539,14 @@ asynchronous fashion.") | |||
| (define-public nsd | ||||
|   (package | ||||
|     (name "nsd") | ||||
|     (version "4.3.5") | ||||
|     (version "4.3.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-" | ||||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0wj490rxqs86z8s4lxjwk06ry5pvkdqqyq1cf83z7mxk60zb98kx")))) | ||||
|         (base32 "062zwx4k5rgpg2c0b4721ldj36aj8clrxv79mlfw9b15ap7w1rmy")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -812,7 +813,7 @@ Extensions} (DNSSEC).") | |||
| (define-public knot | ||||
|   (package | ||||
|     (name "knot") | ||||
|     (version "3.0.4") | ||||
|     (version "3.0.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -821,7 +822,7 @@ Extensions} (DNSSEC).") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1mbjl18zi8yxs7pa3395lqjwdw0agjbfpl32x42i6d9zb8fsblzs")) | ||||
|         (base32 "16rgcmgj21w2niyz45d3zjlci9i22gxcvfzqw7g5zwsjdy9610nx")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|  | @ -942,14 +943,14 @@ synthesis, and on-the-fly re-configuration.") | |||
| (define-public knot-resolver | ||||
|   (package | ||||
|     (name "knot-resolver") | ||||
|     (version "5.3.0") | ||||
|     (version "5.3.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://secure.nic.cz/files/knot-resolver/" | ||||
|                                   "knot-resolver-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0gp3ivv3zccz4b6s1wxbsvvlrc837lw2g089l3cbvzsg7z0b4v7v")))) | ||||
|                 "1j99sz6r1hdvvd8rffx1917r9cyb7z46ivp5934sq57irmxnnkcx")))) | ||||
|     (build-system meson-build-system) | ||||
|     (outputs '("out" "doc")) | ||||
|     (arguments | ||||
|  | @ -1109,20 +1110,17 @@ attempts the update when it has changed.") | |||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public hnsd | ||||
|   ;; There have been no releases yet, hence this commit. | ||||
|   (let ((revision "0") | ||||
|         (commit "895d89c25d316d18df9d374fe78aae3902bc89fb")) | ||||
|    (package | ||||
|      (name "hnsd") | ||||
|      (version (git-version "0.0" revision commit)) | ||||
|      (version "1.0.0") | ||||
|      (source (origin | ||||
|                (method git-fetch) | ||||
|                (uri (git-reference | ||||
|                      (url "https://github.com/handshake-org/hnsd") | ||||
|                      (commit commit))) | ||||
|                      (commit (string-append "v" version)))) | ||||
|                (sha256 | ||||
|                 (base32 | ||||
|                  "0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16")) | ||||
|                  "1kdgff8rf8gmvwz2p758ilbjxpvz4xm6z41pa5353asg6xb853bb")) | ||||
|                (file-name (git-file-name name version)) | ||||
|                (modules '((guix build utils))) | ||||
|                (snippet | ||||
|  | @ -1159,7 +1157,7 @@ attempts the update when it has changed.") | |||
|      (description | ||||
|       "@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming | ||||
| System (HNS) peer-to-peer network.") | ||||
|      (license license:expat)))) | ||||
|      (license license:expat))) | ||||
| 
 | ||||
| (define-public libmicrodns | ||||
|   (package | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2021 Mark H Weaver <mhw@netris.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -35,6 +36,7 @@ | |||
|   #:use-module (guix licenses) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module ((guix build utils) #:select (alist-replace)) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (guix build-system python)) | ||||
|  | @ -469,6 +471,17 @@ DB2LaTeX.") | |||
|     ;; lib/contrib/which is under an X11 license | ||||
|     (license gpl2+))) | ||||
| 
 | ||||
| ;; This is a variant of the 'dblatex' package that is not updated often.  It | ||||
| ;; is intended to be used as a native-input at build-time only, e.g. by | ||||
| ;; 'gtk-doc' for generating package documentation.  This allows the main | ||||
| ;; 'dblatex' and 'imagemagick' packages to be freely updated on the 'master' | ||||
| ;; branch without triggering an excessive number of rebuilds. | ||||
| (define-public dblatex/stable | ||||
|   (hidden-package | ||||
|    (package/inherit dblatex | ||||
|      (inputs (alist-replace "imagemagick" `(,imagemagick/stable) | ||||
|                             (package-inputs dblatex)))))) | ||||
| 
 | ||||
| (define-public docbook-utils | ||||
|   (package | ||||
|     (name "docbook-utils") | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2016 David Thompson <davet@gnu.org> | ||||
| ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> | ||||
| ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> | ||||
|  | @ -177,7 +177,7 @@ Python without keeping their credentials in a Docker configuration file.") | |||
| (define-public containerd | ||||
|   (package | ||||
|     (name "containerd") | ||||
|     (version "1.3.10") | ||||
|     (version "1.4.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -186,49 +186,55 @@ Python without keeping their credentials in a Docker configuration file.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "10fz7359aydbz0yb01qkrsq2diypayfal618lvvb1x0gvgkp526i")))) | ||||
|         (base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/containerd/containerd" | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'chdir 'patch-paths | ||||
|            (lambda* (#:key inputs import-path outputs #:allow-other-keys) | ||||
|              ;; TODO: Patch "socat", "unpigz". | ||||
|              (with-directory-excursion (string-append "src/" import-path) | ||||
|                (substitute* "./runtime/v1/linux/runtime.go" | ||||
|                  (("defaultRuntime[ \t]*=.*") | ||||
|                   (string-append "defaultRuntime = \"" | ||||
|                                  (assoc-ref inputs "runc") | ||||
|                                  "/sbin/runc\"\n")) | ||||
|                  (("defaultShim[ \t]*=.*") | ||||
|                   (string-append "defaultShim = \"" | ||||
|                                  (assoc-ref outputs "out") | ||||
|                                  "/bin/containerd-shim\"\n"))) | ||||
|                (substitute* "./vendor/github.com/containerd/go-runc/runc.go" | ||||
|                  (("DefaultCommand[ \t]*=.*") | ||||
|                   (string-append "DefaultCommand = \"" | ||||
|                                  (assoc-ref inputs "runc") | ||||
|                                  "/sbin/runc\"\n"))) | ||||
|                (substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go" | ||||
|                  (("exec\\.Command\\(\"losetup\"") ; ) | ||||
|                   (string-append "exec.Command(\"" | ||||
|                                  (assoc-ref inputs "util-linux") | ||||
|                                  "/sbin/losetup\""))) ;) | ||||
|                #t))) | ||||
|          (replace 'build | ||||
|            (lambda* (#:key import-path (make-flags '()) #:allow-other-keys) | ||||
|              (with-directory-excursion (string-append "src/" import-path) | ||||
|                (apply invoke "make" make-flags)))) | ||||
|          (replace 'install | ||||
|            (lambda* (#:key import-path outputs (make-flags '()) #:allow-other-keys) | ||||
|              (with-directory-excursion (string-append "src/" import-path) | ||||
|                (let* ((out (assoc-ref outputs "out"))) | ||||
|                  (apply invoke "make" (string-append "DESTDIR=" out) "install" | ||||
|                         make-flags)))))))) | ||||
|      (let ((make-flags (list (string-append "VERSION=" version) | ||||
|                              "REVISION=0"))) | ||||
|        `(#:import-path "github.com/containerd/containerd" | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'chdir 'patch-paths | ||||
|              (lambda* (#:key inputs import-path outputs #:allow-other-keys) | ||||
|                (with-directory-excursion (string-append "src/" import-path) | ||||
|                  (substitute* "runtime/v1/linux/runtime.go" | ||||
|                    (("defaultRuntime[ \t]*=.*") | ||||
|                     (string-append "defaultRuntime = \"" | ||||
|                                    (assoc-ref inputs "runc") | ||||
|                                    "/sbin/runc\"\n")) | ||||
|                    (("defaultShim[ \t]*=.*") | ||||
|                     (string-append "defaultShim = \"" | ||||
|                                    (assoc-ref outputs "out") | ||||
|                                    "/bin/containerd-shim\"\n"))) | ||||
|                  (substitute* "vendor/github.com/containerd/go-runc/runc.go" | ||||
|                    (("DefaultCommand[ \t]*=.*") | ||||
|                     (string-append "DefaultCommand = \"" | ||||
|                                    (assoc-ref inputs "runc") | ||||
|                                    "/sbin/runc\"\n"))) | ||||
|                  (substitute* "vendor/github.com/containerd/continuity/testutil\ | ||||
| /loopback/loopback_linux.go" | ||||
|                    (("exec\\.Command\\(\"losetup\"") | ||||
|                     (string-append "exec.Command(\"" | ||||
|                                    (assoc-ref inputs "util-linux") | ||||
|                                    "/sbin/losetup\""))) | ||||
|                  (substitute* "archive/compression/compression.go" | ||||
|                    (("exec\\.LookPath\\(\"unpigz\"\\)") | ||||
|                     (string-append "\"" (assoc-ref inputs "pigz") | ||||
|                                    "/bin/unpigz\", error(nil)")))))) | ||||
|            (replace 'build | ||||
|              (lambda* (#:key import-path #:allow-other-keys) | ||||
|                (with-directory-excursion (string-append "src/" import-path) | ||||
|                  (apply invoke "make" ',make-flags)))) | ||||
|            (replace 'install | ||||
|              (lambda* (#:key import-path outputs #:allow-other-keys) | ||||
|                (with-directory-excursion (string-append "src/" import-path) | ||||
|                  (let* ((out (assoc-ref outputs "out"))) | ||||
|                    (apply invoke "make" (string-append "DESTDIR=" out) "install" | ||||
|                           ',make-flags))))))))) | ||||
|     (inputs | ||||
|      `(("btrfs-progs" ,btrfs-progs) | ||||
|        ("libseccomp" ,libseccomp) | ||||
|        ("pigz" ,pigz) | ||||
|        ("runc" ,runc) | ||||
|        ("util-linux" ,util-linux))) | ||||
|     (native-inputs | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> | ||||
| ;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2017, 2019, 2020, 2021 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
|  | @ -58,10 +58,14 @@ | |||
|   #:use-module (gnu packages pdf) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-build) | ||||
|   #:use-module (gnu packages python-compression) | ||||
|   #:use-module (gnu packages python-crypto) | ||||
|   #:use-module (gnu packages python-web) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages qt) | ||||
|   #:use-module (gnu packages serialization) | ||||
|   #:use-module (gnu packages speech) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages time) | ||||
|   #:use-module (gnu packages tls) | ||||
|  | @ -88,10 +92,30 @@ | |||
|     (description "CHMLIB is a library for dealing with ITSS/CHM format files.") | ||||
|     (license license:lgpl2.1+))) | ||||
| 
 | ||||
| (define-public python-pychm | ||||
|   (package | ||||
|     (name "python-pychm") | ||||
|     (version "0.8.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "pychm" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16")))) | ||||
|     (build-system python-build-system) | ||||
|     (inputs | ||||
|      `(("chmlib" ,chmlib))) | ||||
|     (home-page "https://github.com/dottedmag/pychm") | ||||
|     (synopsis "Handle CHM files") | ||||
|     (description "This package provides a Python module for interacting | ||||
| with Microsoft Compiled HTML (CHM) files") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public calibre | ||||
|   (package | ||||
|     (name "calibre") | ||||
|     (version "4.18.0") | ||||
|     (version "5.14.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -100,7 +124,7 @@ | |||
|                             version ".tar.xz")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw")) | ||||
|           "0w8j9r9qa56r8gm9b10dwh8zrzqlv79s2br82jqg02lrnrbwwv0q")) | ||||
|         (modules '((guix build utils))) | ||||
|         (snippet | ||||
|           '(begin | ||||
|  | @ -112,8 +136,6 @@ | |||
|                 "")) | ||||
| 
 | ||||
|              ;; Remove unneeded resources. | ||||
|              (delete-file "resources/viewer.js") | ||||
|              (delete-file "resources/viewer.html") | ||||
|              (delete-file "resources/mozilla-ca-certs.pem") | ||||
|              (delete-file "resources/calibre-portable.bat") | ||||
|              (delete-file "resources/calibre-portable.sh") | ||||
|  | @ -125,57 +147,60 @@ | |||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|        ("qtbase" ,qtbase) ; for qmake | ||||
|        ("python2-flake8" ,python2-flake8) | ||||
|        ("python-flake8" ,python-flake8) | ||||
|        ("python-pyqt-builder" ,python-pyqt-builder) | ||||
|        ("xdg-utils" ,xdg-utils))) | ||||
|     (inputs | ||||
|      `(("chmlib" ,chmlib) | ||||
|        ("fontconfig" ,fontconfig) | ||||
|      `(("fontconfig" ,fontconfig) | ||||
|        ("font-liberation" ,font-liberation) | ||||
|        ("glib" ,glib) | ||||
|        ("hunspell" ,hunspell) | ||||
|        ("hyphen" ,hyphen) | ||||
|        ("icu4c" ,icu4c) | ||||
|        ("js-mathjax" ,js-mathjax) | ||||
|        ("libmtp" ,libmtp) | ||||
|        ("libpng" ,libpng) | ||||
|        ("libjpeg" ,libjpeg-turbo) | ||||
|        ("libjxr" ,libjxr) | ||||
|        ("libusb" ,libusb) | ||||
|        ("openssl" ,openssl) | ||||
|        ("optipng" ,optipng) | ||||
|        ("podofo" ,podofo) | ||||
|        ("poppler" ,poppler) | ||||
|        ("python" ,python-2) | ||||
|        ("python2-apsw" ,python2-apsw) | ||||
|        ("python2-beautifulsoup4" ,python2-beautifulsoup4) | ||||
|        ("python2-chardet" ,python2-chardet) | ||||
|        ("python2-cssselect" ,python2-cssselect) | ||||
|        ("python2-css-parser" ,python2-css-parser) | ||||
|        ("python2-dateutil" ,python2-dateutil) | ||||
|        ("python2-dbus" ,python2-dbus) | ||||
|        ("python2-dnspython" ,python2-dnspython-1.16) | ||||
|        ("python2-dukpy" ,python2-dukpy) | ||||
|        ("python2-feedparser" ,python2-feedparser) | ||||
|        ("python2-html2text" ,python2-html2text) | ||||
|        ("python2-html5-parser" ,python2-html5-parser) | ||||
|        ("python2-html5lib" ,python2-html5lib) | ||||
|        ("python2-lxml" ,python2-lxml) | ||||
|        ("python2-markdown" ,python2-markdown) | ||||
|        ("python2-mechanize" ,python2-mechanize) | ||||
|        ;; python2-msgpack is needed for the network content server to work. | ||||
|        ("python2-msgpack" ,python2-msgpack) | ||||
|        ("python2-netifaces" ,python2-netifaces) | ||||
|        ("python2-odfpy" ,python2-odfpy) | ||||
|        ("python2-pillow" ,python2-pillow) | ||||
|        ("python2-psutil" ,python2-psutil) | ||||
|        ("python2-pygments" ,python2-pygments) | ||||
|        ("python2-pyqtwebengine" ,python2-pyqtwebengine) | ||||
|        ("python2-pyqt" ,python2-pyqt) | ||||
|        ("python2-sip" ,python2-sip) | ||||
|        ("python2-regex" ,python2-regex) | ||||
|        ("python-apsw" ,python-apsw) | ||||
|        ("python-beautifulsoup4" ,python-beautifulsoup4) | ||||
|        ("python-cchardet" ,python-cchardet) | ||||
|        ("python-css-parser" ,python-css-parser) | ||||
|        ("python-cssselect" ,python-cssselect) | ||||
|        ("python-dateutil" ,python-dateutil) | ||||
|        ("python-dbus" ,python-dbus) | ||||
|        ("python-dnspython" ,python-dnspython-1.16) | ||||
|        ("python-dukpy" ,python-dukpy) | ||||
|        ("python-feedparser" ,python-feedparser) | ||||
|        ("python-html2text" ,python-html2text) | ||||
|        ("python-html5-parser" ,python-html5-parser) | ||||
|        ("python-html5lib" ,python-html5lib) | ||||
|        ("python-lxml" ,python-lxml) | ||||
|        ("python-markdown" ,python-markdown) | ||||
|        ("python-mechanize" ,python-mechanize) | ||||
|        ;; python-msgpack is needed for the network content server to work. | ||||
|        ("python-msgpack" ,python-msgpack) | ||||
|        ("python-netifaces" ,python-netifaces) | ||||
|        ("python-odfpy" ,python-odfpy) | ||||
|        ("python-pillow" ,python-pillow) | ||||
|        ("python-psutil" ,python-psutil) | ||||
|        ("python-py7zr" ,python-py7zr) | ||||
|        ("python-pychm" ,python-pychm) | ||||
|        ("python-pycryptodome" ,python-pycryptodome) | ||||
|        ("python-pygments" ,python-pygments) | ||||
|        ("python-pyqt" ,python-pyqt) | ||||
|        ("python-pyqtwebengine" ,python-pyqtwebengine) | ||||
|        ("python-regex" ,python-regex) | ||||
|        ("python-speechd" ,speech-dispatcher) | ||||
|        ("python-zeroconf" ,python-zeroconf) | ||||
|        ("qtwebengine" ,qtwebengine) | ||||
|        ("sqlite" ,sqlite))) | ||||
|     (arguments | ||||
|      `(#:python ,python-2 | ||||
|        ;; Calibre is using setuptools by itself, but the setup.py is not | ||||
|      `(;; Calibre is using setuptools by itself, but the setup.py is not | ||||
|        ;; compatible with the shim wrapper (taken from pip) we are using. | ||||
|        #:use-setuptools? #f | ||||
|        #:phases | ||||
|  | @ -207,18 +232,27 @@ | |||
|          (add-before 'build 'configure | ||||
|           (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|             (let ((podofo (assoc-ref inputs "podofo")) | ||||
|                   (pyqt (assoc-ref inputs "python2-pyqt")) | ||||
|                   (python-sip (assoc-ref inputs "python2-sip")) | ||||
|                   (pyqt (assoc-ref inputs "python-pyqt")) | ||||
|                   (python-sip (assoc-ref inputs "python-sip")) | ||||
|                   (out (assoc-ref outputs "out"))) | ||||
|               (substitute* "setup/build_environment.py" | ||||
|                 (("= get_sip_dir\\(\\)") | ||||
|                  (string-append "= '" pyqt "/share/sip'"))) | ||||
| 
 | ||||
|               (substitute* "setup/build.py" | ||||
|                 (("\\[tool.sip.bindings.pictureflow\\]") | ||||
|                  "[tool.sip.bindings.pictureflow] | ||||
| tags = [\"WS_X11\"]") | ||||
|                 (("\\[tool.sip.project\\]") | ||||
|                  (string-append "[tool.sip.project] | ||||
| sip-include-dirs = [\"" pyqt "/share/sip" "\"]"))) | ||||
|               (substitute* "src/calibre/ebooks/pdf/pdftohtml.py" | ||||
|                 (("PDFTOHTML = 'pdftohtml'") | ||||
|                  (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") | ||||
|                                 "/bin/pdftohtml\""))) | ||||
| 
 | ||||
|               ;; get_exe_path looks in poppler's output for these binaries. Make | ||||
|               ;; it not do that. | ||||
|               (substitute* "src/calibre/utils/img.py" | ||||
|                 (("get_exe_path..jpegtran..") (string-append "'" (which "jpegtran") "'")) | ||||
|                 (("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg") "'")) | ||||
|                 (("get_exe_path..optipng..") (string-append "'" (which "optipng") "'")) | ||||
|                 (("get_exe_path..JxrDecApp..") (string-append "'" (which "JxrDecApp") "'"))) | ||||
|               ;; Calibre thinks we are installing desktop files into a home | ||||
|               ;; directory, but here we butcher the script in to installing | ||||
|               ;; to calibres /share directory. | ||||
|  | @ -237,7 +271,6 @@ | |||
|                                       "/share/fonts") | ||||
|                        "/tmp/.fonts") | ||||
| 
 | ||||
|               (setenv "SIP_BIN" (string-append python-sip "/bin/sip")) | ||||
|               (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) | ||||
|               (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")) | ||||
|               ;; This informs the tests we are a continuous integration | ||||
|  | @ -248,13 +281,11 @@ | |||
|               ;; fix it, so I'm not sure how to fix it.  TODO: Fix test and remove this. | ||||
|               (setenv "SKIP_QT_BUILD_TEST" "true") | ||||
|               #t))) | ||||
|          (add-after 'build 'build-extra | ||||
|          (add-after 'install 'install-rapydscript | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (invoke "python2" "setup.py" "mathjax""--system-mathjax" | ||||
|                      "--path-to-mathjax" (string-append | ||||
|                                           (assoc-ref inputs "js-mathjax") | ||||
|                                           "/share/javascript/mathjax")) | ||||
|              (invoke "python2" "setup.py" "rapydscript") | ||||
|               ;; Unset so QtWebengine doesn't dump temporary files here. | ||||
|              (unsetenv "XDG_DATA_HOME") | ||||
|              (invoke "python" "setup.py" "rapydscript") | ||||
|              #t)) | ||||
|          (add-after 'install 'install-man-pages | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|  |  | |||
|  | @ -689,17 +689,6 @@ language and very flexible regarding to new or unknown keyboard layouts.") | |||
|         (sha256 | ||||
|          (base32 "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib")))) | ||||
|     (build-system qt-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'configure 'patch-makefiles | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (let ((qtdec (assoc-ref inputs "qtdeclarative"))) | ||||
|                (substitute* '("src/CMakeFiles/ktouch_autogen.dir/build.make" | ||||
|                               "src/CMakeFiles/ktouch.dir/build.make") | ||||
|                  (("/gnu/store/.*qmlcachegen") | ||||
|                   (string-append qtdec "/bin/qmlcachegen")))) | ||||
|              #t))))) | ||||
|     (native-inputs | ||||
|      `(("extra-cmake-modules" ,extra-cmake-modules) | ||||
|        ("kdoctools" ,kdoctools) | ||||
|  |  | |||
|  | @ -38,14 +38,14 @@ | |||
| (define-public gnu-efi | ||||
|   (package | ||||
|     (name "gnu-efi") | ||||
|     (version "3.0.12") | ||||
|     (version "3.0.13") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/gnu-efi/" | ||||
|                            "gnu-efi-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1")))) | ||||
|         (base32 "0z9v5pl5pmlw8pjpd66iyh9pml2hh6pqd4c5qilywilw4wazgk1g")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; none exist | ||||
|  |  | |||
|  | @ -85,7 +85,7 @@ | |||
| ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io> | ||||
| ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> | ||||
| ;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net> | ||||
| ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> | ||||
| ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> | ||||
| ;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com> | ||||
| ;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com> | ||||
| ;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me> | ||||
|  | @ -95,6 +95,8 @@ | |||
| ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org> | ||||
| ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> | ||||
| ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> | ||||
| ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> | ||||
| ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -139,6 +141,7 @@ | |||
|   #:use-module (gnu packages djvu) | ||||
|   #:use-module (gnu packages ebook) | ||||
|   #:use-module (gnu packages emacs) | ||||
|   #:use-module (gnu packages golang) | ||||
|   #:use-module (gnu packages guile) | ||||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages gnome) | ||||
|  | @ -937,6 +940,29 @@ Files with the @file{.graphql} and @file{.gql} extensions are | |||
| automatically opened with this mode.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-ghq | ||||
|   (package | ||||
|     (name "emacs-ghq") | ||||
|     (version "0.1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/rcoedo/emacs-ghq") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("ghq" ,ghq))) | ||||
|     (home-page "https://github.com/rcoedo/emacs-ghq") | ||||
|     (synopsis "Emacs interface for @code{ghq} tool") | ||||
|     (description | ||||
|      "This package provides a set of functions wrapping @code{ghq}, a tool for | ||||
| organizing remote Go repository clones.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-ghub | ||||
|   (package | ||||
|     (name "emacs-ghub") | ||||
|  | @ -1525,6 +1551,46 @@ reformat the current buffer using a command-line program, together with an | |||
| optional minor mode which can apply this command automatically on save.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-relative-buffers | ||||
|   (let ((release "0.0.1") | ||||
|         (revision "0") | ||||
|         (commit "9762fe268e9ff150dcec2e2e45d862d82d5c4008")) | ||||
|     (package | ||||
|       (name "emacs-relative-buffers") | ||||
|       (version (git-version release revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/emacsattic/relative-buffers") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "0fzhwbpyndwrmxip9zlcwkrr675l5pzwcygi45hv7w1hn39w0hxp")) | ||||
|          (snippet | ||||
|           '(begin | ||||
|              ;; Delete the Cask test runners. | ||||
|              (for-each delete-file '("Cask" "test/test-helper.el")) | ||||
|              #t)))) | ||||
|       (build-system emacs-build-system) | ||||
|       (arguments | ||||
|        `(#:tests? #t | ||||
|          #:test-command '("ert-runner"))) | ||||
|       (native-inputs | ||||
|        `(("ert-runner" ,emacs-ert-runner))) | ||||
|       (propagated-inputs | ||||
|        `(("emacs-dash" ,emacs-dash) | ||||
|          ("emacs-f" ,emacs-f) | ||||
|          ("emacs-s" ,emacs-s))) | ||||
|       (home-page "https://github.com/emacsattic/relative-buffers") | ||||
|       (synopsis "Minor mode to rename buffers by project structure") | ||||
|       (description | ||||
|        "This package provides a minor mode for renaming buffers according to | ||||
| project structure.  For Python buffers, that will be the whole module name. | ||||
| For temporary files and directories, that will be the relative path from the | ||||
| project root.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-relint | ||||
|   (package | ||||
|     (name "emacs-relint") | ||||
|  | @ -1742,14 +1808,14 @@ incrementally confined in Isearch manner.") | |||
| (define emacs-emms-print-metadata | ||||
|   (package | ||||
|     (name "emacs-emms-print-metadata") | ||||
|     (version "6.3") | ||||
|     (version "7.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "emms-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "12cfq503li0gcqmm5bmqz8yjvfdif5xvz0l9vx3g5jl6ljygwgmf")))) | ||||
|         (base32 "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags '("emms-print-metadata") | ||||
|  | @ -2210,14 +2276,14 @@ as a library for other Emacs packages.") | |||
| (define-public emacs-auctex | ||||
|   (package | ||||
|     (name "emacs-auctex") | ||||
|     (version "13.0.5") | ||||
|     (version "13.0.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "auctex-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319")))) | ||||
|         (base32 "00wp388rh2nnk8fam53kilykg90jylps31qxv9ijy1lsp1hqdjys")))) | ||||
|     (build-system emacs-build-system) | ||||
|     ;; We use 'emacs' because AUCTeX requires dbus at compile time | ||||
|     ;; ('emacs-minimal' does not provide dbus). | ||||
|  | @ -2522,15 +2588,15 @@ into mode hooks and is intended to be used that way.") | |||
| (define-public emacs-ggtags | ||||
|   (package | ||||
|     (name "emacs-ggtags") | ||||
|     (version "0.8.13") | ||||
|     (version "0.9.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/ggtags-" | ||||
|                            version ".el")) | ||||
|                            version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg")))) | ||||
|          "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (inputs | ||||
|      `(("global" ,global))) | ||||
|  | @ -2675,9 +2741,9 @@ using the DOT syntax, and use Graphviz to convert these files to diagrams.") | |||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public emacs-imenu-list | ||||
|   (let ((commit "46008738f8fef578a763c308cf6695e5b4d4aa77") | ||||
|         (revision "0") | ||||
|         (version "0.8")) | ||||
|   (let ((commit "b50222378412fbe321622a84cb2b036e084c697a") | ||||
|         (revision "1") | ||||
|         (version "0.9")) | ||||
|     (package | ||||
|       (name "emacs-imenu-list") | ||||
|       (version (git-version version revision commit)) | ||||
|  | @ -2690,7 +2756,7 @@ using the DOT syntax, and use Graphviz to convert these files to diagrams.") | |||
|            (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "14l3yw9y1nk103s7z5i1fmd6kvlb2p6ayi6sf9l1x1ydg9glrpl8")))) | ||||
|           (base32 "1936dd41fa05ndzf2bwhllvjz97iz0rflkazjipr7dvz5q072wj2")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (home-page "https://github.com/bmag/imenu-list") | ||||
|       (synopsis | ||||
|  | @ -3535,7 +3601,7 @@ representation.") | |||
| (define-public emacs-git-gutter | ||||
|   (package | ||||
|     (name "emacs-git-gutter") | ||||
|     (version "0.90") | ||||
|     (version "0.91") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -3544,7 +3610,7 @@ representation.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5")))) | ||||
|         (base32 "0zc9f73app1d7j4yb10sy4xidh5252ncyxlvr5kh0kiqk88ck6j9")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (home-page "https://github.com/syohex/emacs-git-gutter") | ||||
|     (synopsis "See and manage hunks of text in a version control system") | ||||
|  | @ -3587,7 +3653,7 @@ window.") | |||
| (define-public emacs-git-link | ||||
|   (package | ||||
|     (name "emacs-git-link") | ||||
|     (version "0.7.5") | ||||
|     (version "0.8.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -3596,7 +3662,7 @@ window.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6")))) | ||||
|         (base32 "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #t | ||||
|  | @ -4639,6 +4705,32 @@ Also included are keybindings for spec files and Dired buffers, as well as | |||
| snippets for yasnippet.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-mode-line-idle | ||||
|   ;; Package has no release.  Version is extracted from "Version:" keyword in | ||||
|   ;; main file. | ||||
|   (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241") | ||||
| 	(revision "1")) | ||||
|     (package | ||||
|       (name "emacs-mode-line-idle") | ||||
|       (version (git-version "0.1" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (uri (git-reference | ||||
|                (url "https://gitlab.com/ideasman42/emacs-mode-line-idle") | ||||
|                (commit commit))) | ||||
|          (sha256 | ||||
|           (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle") | ||||
|       (synopsis "Simple delayed text evaluation for the mode-line") | ||||
|       (description | ||||
|        "Mode Line Idle provides a convenient way to defer text evaluation | ||||
| which integrates into existing mode-line without requiring a minor mode or | ||||
| configuration.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-smart-mode-line | ||||
|   (package | ||||
|     (name "emacs-smart-mode-line") | ||||
|  | @ -8696,6 +8788,69 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") | |||
| programming language.") | ||||
|       (license license:expat))) | ||||
| 
 | ||||
| (define-public emacs-julia-repl | ||||
|   (package | ||||
|     (name "emacs-julia-repl") | ||||
|     (version "1.3.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/tpapp/julia-repl") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (home-page "https://github.com/tpapp/julia-repl") | ||||
|     (synopsis "Minor mode for interacting with a Julia REPL") | ||||
|     (description "This package provides a minor mode for interacting with a | ||||
| Julia REPL running inside Emacs.  The julia process is started in an ANSI | ||||
| terminal (term), which allows text formatting and colors, and interaction with | ||||
| the help system and the debugger.  It is recommended that you use this minor | ||||
| mode with the package emacs-julia-mode.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public emacs-julia-snail | ||||
|   (package | ||||
|     (name "emacs-julia-snail") | ||||
|     (version "1.0.0rc4")               ;rc5 requires CSTParser (julia package) | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/gcv/julia-snail") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'install 'JuliaSnail-jl | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out"))) | ||||
|                (install-file "JuliaSnail.jl" | ||||
|                              (string-append out "/share/emacs/site-lisp/"))) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("emacs-dash" ,emacs-dash) | ||||
|        ("emacs-s" ,emacs-s) | ||||
|        ("emacs-spinner" ,emacs-spinner) | ||||
|        ("emacs-xref" ,emacs-xref))) | ||||
|     (propagated-inputs | ||||
|      `(("libvterm" ,libvterm) | ||||
|        ("emacs-julia-mode" ,emacs-julia-mode) ;required by parser | ||||
|        ("emacs-parsec" ,emacs-parsec)         ;required by parser | ||||
|        ("emacs-vterm" ,emacs-vterm))) | ||||
|     (home-page "https://github.com/gcv/julia-snail") | ||||
|     (synopsis "Development environment and REPL interaction package for Julia") | ||||
|     (description "This package provides a development environment and REPL | ||||
| interaction package for Julia in the spirit of Common Lisp’s SLIME and | ||||
| Clojure’s CIDER.  It enables convenient and dynamic REPL-driven development.") | ||||
|     (license license:gpl3))) | ||||
| 
 | ||||
| (define-public emacs-smex | ||||
|   (package | ||||
|     (name "emacs-smex") | ||||
|  | @ -9079,6 +9234,30 @@ duplicated a lot.  Org-mode makes the book keeping of tags and feeds | |||
| much easier.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-elfeed-protocol | ||||
|   (package | ||||
|     (name "emacs-elfeed-protocol") | ||||
|     (version "0.8.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/fasheng/elfeed-protocol") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("emacs-elfeed" ,emacs-elfeed))) | ||||
|     (home-page "https://github.com/fasheng/elfeed-protocol") | ||||
|     (synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed") | ||||
|     (description | ||||
|      "Elfeed-protocol provides extra protocols to make self-hosting RSS | ||||
| readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work | ||||
| with Elfeed.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-elfeed-score | ||||
|   (package | ||||
|     (name "emacs-elfeed-score") | ||||
|  | @ -10905,13 +11084,13 @@ passive voice.") | |||
|     (name "emacs-org") | ||||
|     ;; emacs-org-contrib inherits from this package.  Please update it as | ||||
|     ;; well. | ||||
|     (version "9.4.4") | ||||
|     (version "9.4.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "05ma8n6hr10323d85ay8ai0xrpc9q2m93n8avqh7j9fmmb3bhr0b")))) | ||||
|         (base32 "0h5qhrd984vf17qc227wz68191xfgbpq32dyhw0lcz2d9i0pl3xk")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -10932,7 +11111,7 @@ passive voice.") | |||
|                     (doc-dir (string-append share "/doc/" ,name "-" ,version))) | ||||
|                (install-file "org.info" info-dir) | ||||
|                (install-file "orgguide.info" info-dir) | ||||
|                ;; XXX: "orgcard.pdf" is not built in Org 9.4.4. | ||||
|                ;; XXX: "orgcard.pdf" is not built in Org 9.4.5. | ||||
|                ;; (install-file "orgcard.pdf" doc-dir) | ||||
|                ) | ||||
|              #t))))) | ||||
|  | @ -10948,14 +11127,14 @@ programming and reproducible research.") | |||
|   (package | ||||
|     (inherit emacs-org) | ||||
|     (name "emacs-org-contrib") | ||||
|     (version "20201222") | ||||
|     (version "20210329") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://orgmode.org/elpa/" | ||||
|                            "org-plus-contrib-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "1pa8h5dpi5yj3j7v0aaby8sjwxvmgnbip2ilyl5pac1rlbz0jn40")) | ||||
|         (base32 "1l0ycz77hwmjb4sffhabb0d0hg1c9ypxbpbyv8xj5ib4nbi87f2h")) | ||||
|        ;; ob-sclang.el is packaged separately to avoid the dependency on | ||||
|        ;; SuperCollider and qtwebengine. | ||||
|        (modules '((guix build utils))) | ||||
|  | @ -12382,13 +12561,11 @@ using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.") | |||
|         (base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:include (cons "^lisp/" %default-include) | ||||
|        #:phases | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'add-source-to-load-path 'add-lisp-dir-to-emacs-load-path | ||||
|          (add-after 'unpack 'enter-source-directory | ||||
|            (lambda _ | ||||
|              (setenv "EMACSLOADPATH" | ||||
|                      (string-append (getcwd) "/lisp:" (getenv "EMACSLOADPATH")))))))) | ||||
|              (chdir "lisp")))))) | ||||
|     (propagated-inputs `(("emacs-projectile" ,emacs-projectile))) | ||||
|     (home-page "https://github.com/ejmr/php-mode") | ||||
|     (synopsis "Major mode for editing PHP code") | ||||
|  | @ -12473,14 +12650,14 @@ shuangpin, wubi and cangjie.") | |||
| (define-public emacs-posframe | ||||
|   (package | ||||
|     (name "emacs-posframe") | ||||
|     (version "0.8.8") | ||||
|     (version "1.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "posframe-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "1ij6brzcxv9viz37qafcinlfx5l20w8x8s6786r1rsda5n1xsmvd")))) | ||||
|         (base32 "1k06dbh9xqn2vix5qkcapl57v0c21b344r8dx6j5qr4jxirsn2x5")))) | ||||
|     (build-system emacs-build-system) | ||||
|     ;; emacs-minimal does not include the function font-info. | ||||
|     (arguments | ||||
|  | @ -19176,7 +19353,7 @@ try completing.  See @code{fish-completion-fallback-on-bash-p}.") | |||
| (define-public emacs-gif-screencast | ||||
|   (package | ||||
|     (name "emacs-gif-screencast") | ||||
|     (version "1.1") | ||||
|     (version "1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -19186,7 +19363,7 @@ try completing.  See @code{fish-completion-fallback-on-bash-p}.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9")))) | ||||
|          "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (inputs | ||||
|      `(("scrot" ,scrot) | ||||
|  | @ -21335,6 +21512,33 @@ DBI, and provides DB-accessing API and the simple management UI.") | |||
| to open SQLite databases.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-nice-citation | ||||
|   (let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "emacs-nice-citation") | ||||
|       (version (git-version "0.0.2" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/damiencollard/nice-citation") | ||||
|                (commit commit))) | ||||
|          (sha256 | ||||
|           (base32 "00xqr7haca5vd0bzd043lc6x4fjb903z96frz9b8cbd7spp63z7q")) | ||||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system emacs-build-system) | ||||
|       (home-page "https://github.com/damiencollard/nice-citation") | ||||
|       (synopsis "Depth-colored citations for Gnus") | ||||
|       (description | ||||
|        "This package replaces the traditional chevron citation marks @samp{>} | ||||
| with a Unicode vertical bar with the same color as the text it is quoting. | ||||
| 
 | ||||
| It is purely presentation: the underlying text is unchanged.  In particular, | ||||
| if you send a message containing a citation, it will contain the traditional | ||||
| chevron marks.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-nix-mode | ||||
|   (package | ||||
|     (name "emacs-nix-mode") | ||||
|  | @ -21470,6 +21674,31 @@ stored playlists.") | |||
| display a terminal in an Emacs buffer.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-vterm-toggle | ||||
|   ;; There have been no releases. | ||||
|   (let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "emacs-vterm-toggle") | ||||
|       (version (git-version "0.0.4" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/jixiuf/vterm-toggle") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "0r9n23wg9cfy10h5f9zqr8jpkvw34f9rylri3nxq870awjab7rqi")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs `(("emacs-vterm" ,emacs-vterm))) | ||||
|       (home-page "https://github.com/jixiuf/vterm-toggle") | ||||
|       (synopsis "Toggle between a vterm buffer and other buffers") | ||||
|       (description | ||||
|        "This package provides a DWIM way to switch from an Emacs buffer to | ||||
| a vterm buffer and back again.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-simple-mpc | ||||
|   ;; There have been no releases. | ||||
|   (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2") | ||||
|  | @ -22808,9 +23037,9 @@ based on diff output.") | |||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-all-the-icons-dired | ||||
|   (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519") | ||||
|   (let ((commit "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5") | ||||
|         (version "1.0") | ||||
|         (revision "1")) | ||||
|         (revision "2")) | ||||
|     (package | ||||
|       (name "emacs-all-the-icons-dired") | ||||
|       (version (git-version version revision commit)) | ||||
|  | @ -22823,7 +23052,7 @@ based on diff output.") | |||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy")))) | ||||
|            "0zhyhz4lhx0d8wwh1xxxf7ck4s621fk9757ql2ypxbr4iqh7sjlp")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs | ||||
|        `(("emacs-all-the-icons" ,emacs-all-the-icons))) | ||||
|  | @ -23299,6 +23528,39 @@ Dash docsets.") | |||
| through Dash docsets.") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public emacs-cascading-dir-locals | ||||
|   (let ((release "0.1") | ||||
|         (revision "0") | ||||
|         (commit "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0")) | ||||
|     (package | ||||
|       (name "emacs-cascading-dir-locals") | ||||
|       (version (git-version release revision commit)) | ||||
|       (home-page "https://github.com/fritzgrabo/cascading-dir-locals") | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url home-page) | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (synopsis "Apply all @file{.dir-locals.el} from root to current directory") | ||||
|       (description | ||||
|        "This package provides a global minor mode that changes how Emacs | ||||
| handles the lookup of applicable dir-locals files (@file{.dir-locals.el}): | ||||
| instead of starting at the directory of the visited file and moving up the | ||||
| directory tree only until a first dir-locals file is found, collect and apply | ||||
| all (!) dir-locals files found from the current directory up to the root one. | ||||
| 
 | ||||
| Values specified in files nearer to the current directory take precedence over | ||||
| values in files farther away from it. | ||||
| 
 | ||||
| You might want to use this to globally set dir-local variables that apply to | ||||
| all of your projects, then override or add variables on a per-project basis.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-calibredb | ||||
|   (package | ||||
|     (name "emacs-calibredb") | ||||
|  | @ -23438,14 +23700,14 @@ well as an option for visually flashing evaluated s-expressions.") | |||
| (define-public emacs-tramp | ||||
|   (package | ||||
|     (name "emacs-tramp") | ||||
|     (version "2.5.0.2") | ||||
|     (version "2.5.0.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "tramp-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "16f782rjkmxxs5sz3wv4d46i7hbl483ashmrkvljf7lpnrl91s93")))) | ||||
|         (base32 "0c77d1ihn17lzk9jb7ss346ryprnbii1zmijl6zj0kk4lm8fpfl3")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:emacs ,emacs                   ;need D-Bus | ||||
|  | @ -25248,21 +25510,21 @@ current buffer.") | |||
| (define-public emacs-repl-toggle | ||||
|   (package | ||||
|     (name "emacs-repl-toggle") | ||||
|     (version "0.6.1") | ||||
|     (version "0.7.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/tomterl/repl-toggle") | ||||
|              (url "https://git.sr.ht/~tomterl/repl-toggle") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd")) | ||||
|          "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system emacs-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("emacs-fullframe" ,emacs-fullframe))) | ||||
|     (home-page "https://github.com/tomterl/repl-toggle") | ||||
|     (home-page "https://git.sr.ht/~tomterl/repl-toggle") | ||||
|     (synopsis "Switch to and from current major mode's REPL") | ||||
|     (description "This package provides a function to switch to and from a | ||||
| REPL appropriate to the current major mode.") | ||||
|  | @ -25367,14 +25629,14 @@ interface.") | |||
| (define-public emacs-ivy-posframe | ||||
|   (package | ||||
|     (name "emacs-ivy-posframe") | ||||
|     (version "0.5.5") | ||||
|     (version "0.6.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "ivy-posframe-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "184730grclxmlw6nfs41d4g6fvz9c6xnclvwgqx1ii0xm7p9xy95")))) | ||||
|         (base32 "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("emacs-ivy" ,emacs-ivy) | ||||
|  | @ -25409,6 +25671,56 @@ can specify how popup-displaying functions occupy the screen.") | |||
|       (home-page "https://github.com/wasamasa/shackle") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-showtip | ||||
|   (let ((commit "930da302809a4257e8d69425455b29e1cc91949b") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "emacs-showtip") | ||||
|       (version (git-version "0.01" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/emacsorphanage/showtip") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "01zak0zhha6dp7a2hm28d065gjnc462iwpsfyxhbxgfzcdlicqc7")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (home-page "https://github.com/emacsorphanage/showtip") | ||||
|       (synopsis "Show tip at cursor") | ||||
|       (description | ||||
|        "This library provide one function to show tooltip near the cursor.") | ||||
|       (license license:gpl2+)))) | ||||
| 
 | ||||
| (define-public emacs-sdcv | ||||
|   ;; No tagged version upstream. | ||||
|   (let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" ) | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "emacs-sdcv") | ||||
|       (version (git-version "1.5.2" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/stardiviner/sdcv.el") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs | ||||
|        `(("emacs-popup" ,emacs-popup) | ||||
|          ("emacs-pos-tip" ,emacs-pos-tip) | ||||
|          ("emacs-showtip" ,emacs-showtip))) | ||||
|       (home-page "https://www.emacswiki.org/emacs/download/sdcv.el") | ||||
|       (synopsis "Emacs interface for @code{sdcv}") | ||||
|       (description | ||||
|        "This plugin translates words with @code{sdcv}, and displays | ||||
| translation using a tooltip or in a dedicated buffer.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-helm-lacarte | ||||
|   (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0") | ||||
|         (revision "1")) | ||||
|  | @ -26441,34 +26753,36 @@ snippets for Emacs.") | |||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public emacs-org-roam | ||||
|   (package | ||||
|     (name "emacs-org-roam") | ||||
|     (version "1.2.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/org-roam/org-roam") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0n8c0yxqb62i39kn0d5x83s96vwc0nbg0sx5hplffnbkfbj88bba")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("emacs-company" ,emacs-company) | ||||
|        ("emacs-dash" ,emacs-dash) | ||||
|        ("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3) | ||||
|        ("emacs-f" ,emacs-f) | ||||
|        ("emacs-org-ref" ,emacs-org-ref) | ||||
|        ("emacs-s" ,emacs-s))) | ||||
|     (home-page "https://github.com/org-roam/org-roam/") | ||||
|     (synopsis "Non-hierarchical note-taking with Org mode") | ||||
|     (description "Emacs Org Roam is a solution for taking non-hierarchical | ||||
|   (let ((commit "8ad57b121831eda8d226faa14ff2ba7ab652849c") | ||||
|         (revision "0") | ||||
|         (version "1.2.3")) | ||||
|     (package | ||||
|       (name "emacs-org-roam") | ||||
|       (version (git-version version revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/org-roam/org-roam") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "162qhb6rkpl1n0l8yhnwgagsx56ykaj9lchsny1id5z1257kgw9w")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs | ||||
|        `(("emacs-dash" ,emacs-dash) | ||||
|          ("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3) | ||||
|          ("emacs-f" ,emacs-f) | ||||
|          ("emacs-org" ,emacs-org) | ||||
|          ("emacs-s" ,emacs-s))) | ||||
|       (home-page "https://github.com/org-roam/org-roam/") | ||||
|       (synopsis "Non-hierarchical note-taking with Org mode") | ||||
|       (description "Emacs Org Roam is a solution for taking non-hierarchical | ||||
| notes with Org mode.  Notes are captured without hierarchy and are connected | ||||
| by tags.  Notes can be found and created quickly.  Org Roam should also work | ||||
| as a plug-and-play solution for anyone already using Org mode for their | ||||
| personal wiki.") | ||||
|     (license license:gpl3+))) | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-org-roam-bibtex | ||||
|   (package | ||||
|  | @ -27240,7 +27554,7 @@ rules about where space should be left to separate words and parentheses.") | |||
|     (description "This mode allows to paste whole buffers or parts of buffers | ||||
| to pastebin-like services.  It supports more than one service and will | ||||
| failover if one service fails.  More services can easily be added over time | ||||
| and prefered services can easily be configured.") | ||||
| and preferred services can easily be configured.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-keystore-mode | ||||
|  | @ -27302,6 +27616,39 @@ and prefered services can easily be configured.") | |||
|      "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-vertico | ||||
|   (package | ||||
|     (name "emacs-vertico") | ||||
|     (version "0.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/minad/vertico") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0ijahr9dzs7v56w2n74xp0akzbzbxlw5852bywc4h24xdspakj52")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'install 'build-doc | ||||
|            (lambda _ | ||||
|              (invoke "makeinfo" "vertico.texi")))))) | ||||
|     (native-inputs | ||||
|      `(("texinfo" ,texinfo))) | ||||
|     (home-page "https://github.com/minad/vertico") | ||||
|     (synopsis "Vertical interactive completion") | ||||
|     (description | ||||
|      "Vertico provides a minimalistic vertical completion UI, which is based | ||||
| on Emacs' default completion system.  By reusing the default system, it | ||||
| achieves full compatibility with built-in Emacs commands and completion | ||||
| tables.  Vertico is pretty bare-bone and only provides a minimal set of | ||||
| commands.  Additional optional enhancements can be provided externally by | ||||
| complementary packages.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-ivy-hydra | ||||
|   (package | ||||
|     (name "emacs-ivy-hydra") | ||||
|  | @ -27325,3 +27672,4 @@ and prefered services can easily be configured.") | |||
| quasi-prefix map, with many useful bindings.  These bindings are | ||||
| shorter than usual, using mostly unprefixed keys.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019 Jesse John Gildersleve <jessejohngildersleve@zohomail.eu> | ||||
| ;;; Copyright © 2019 Valentin Ignatev <valentignatev@gmail.com> | ||||
| ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> | ||||
|  | @ -77,14 +77,14 @@ | |||
| (define-public emacs | ||||
|   (package | ||||
|     (name "emacs") | ||||
|     (version "27.1") | ||||
|     (version "27.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnu/emacs/emacs-" | ||||
|                                   version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a")) | ||||
|                 "1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl")) | ||||
|               (patches (search-patches "emacs-exec-path.patch" | ||||
|                                        "emacs-fix-scheme-indent-function.patch" | ||||
|                                        "emacs-ignore-empty-xim-styles.patch" | ||||
|  |  | |||
|  | @ -8,6 +8,7 @@ | |||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> | ||||
| ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -147,7 +148,9 @@ | |||
|               (files '("arm-none-eabi/include"))) | ||||
|              (search-path-specification | ||||
|               (variable "CROSS_CPLUS_INCLUDE_PATH") | ||||
|               (files '("arm-none-eabi/include"))) | ||||
|               (files '("arm-none-eabi/include" | ||||
|                        "arm-none-eabi/include/c++" | ||||
|                        "arm-none-eabi/include/c++/arm-none-eabi"))) | ||||
|              (search-path-specification | ||||
|               (variable "CROSS_LIBRARY_PATH") | ||||
|               (files '("arm-none-eabi/lib")))))))) | ||||
|  | @ -227,7 +230,41 @@ usable on embedded products.") | |||
|            "--enable-lite-exit" | ||||
|            "--enable-newlib-global-atexit" | ||||
|            "--enable-newlib-nano-formatted-io" | ||||
|            "--disable-nls")))) | ||||
|            "--disable-nls")) | ||||
|        ((#:phases phases) | ||||
|         `(modify-phases ,phases | ||||
|            ;; XXX: Most arm toolchains offer both *.a and *_nano.a as newlib | ||||
|            ;; and newlib-nano respectively.  The headers are usually | ||||
|            ;; arm-none-eabi/include/newlib.h for newlib and | ||||
|            ;; arm-none-eabi/include/newlib-nano/newlib.h for newlib-nano.  We | ||||
|            ;; have two different toolchain packages for each which works but | ||||
|            ;; is a little strange. | ||||
|            (add-after 'install 'hardlink-newlib | ||||
|              (lambda* (#:key outputs #:allow-other-keys) | ||||
|                (let ((out (assoc-ref outputs "out"))) | ||||
|                  ;; The nano.specs file says that newlib-nano files should end | ||||
|                  ;; in "_nano.a" instead of just ".a".  Note that this applies | ||||
|                  ;; to all the multilib folders too. | ||||
|                  (for-each | ||||
|                   (lambda (file) | ||||
|                     (link file | ||||
|                           (string-append | ||||
|                            ;; Strip ".a" off the end | ||||
|                            (substring file 0 (- (string-length file) 2)) | ||||
|                            ;; Add "_nano.a" onto the end | ||||
|                            "_nano.a"))) | ||||
|                   (find-files | ||||
|                    out | ||||
|                    "^(libc.a|libg.a|librdimon.a|libstdc\\+\\+.a|libsupc\\+\\+.a)$")) | ||||
| 
 | ||||
|                  ;; newlib.h is usually in this location instead so both | ||||
|                  ;; newlib and newlib-nano can be in the toolchain at the same | ||||
|                  ;; time | ||||
|                  (mkdir (string-append out "/arm-none-eabi/include/newlib-nano")) | ||||
|                  (symlink | ||||
|                    "../newlib.h" | ||||
|                    (string-append out "/arm-none-eabi/include/newlib-nano/newlib.h")) | ||||
|                  #t))))))) | ||||
|     (synopsis "Newlib variant for small systems with limited memory"))) | ||||
| 
 | ||||
|  | ||||
|  | @ -317,7 +354,9 @@ usable on embedded products.") | |||
|               (files '("arm-none-eabi/include"))) | ||||
|              (search-path-specification | ||||
|               (variable "CROSS_CPLUS_INCLUDE_PATH") | ||||
|               (files '("arm-none-eabi/include"))) | ||||
|               (files '("arm-none-eabi/include" | ||||
|                        "arm-none-eabi/include/c++" | ||||
|                        "arm-none-eabi/include/c++/arm-none-eabi"))) | ||||
|              (search-path-specification | ||||
|               (variable "CROSS_LIBRARY_PATH") | ||||
|               (files '("arm-none-eabi/lib")))))))) | ||||
|  | @ -380,7 +419,7 @@ usable on embedded products.") | |||
|              "--with-newlib" | ||||
|              ,(string-append "--with-gxx-include-dir=" | ||||
|                              (assoc-ref %outputs "out") | ||||
|                              "/arm-none-eabi/include"))))) | ||||
|                              "/arm-none-eabi/include/c++"))))) | ||||
|       (native-inputs | ||||
|        `(("newlib" ,newlib) | ||||
|          ("xgcc" ,xgcc) | ||||
|  |  | |||
|  | @ -540,7 +540,7 @@ The following systems are supported: | |||
| (define-public mgba | ||||
|   (package | ||||
|     (name "mgba") | ||||
|     (version "0.8.4") | ||||
|     (version "0.9.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -549,7 +549,7 @@ The following systems are supported: | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0nqj4bnn5c2z1bq4bnbw1wznc0wpmq4sy3w8pipd6n6620b9m4qq")) | ||||
|         (base32 "16v08m9irping65d94vb5skp4m6nc63zj6bfajbzhmf944dswmi5")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         ;; Make sure we don't use the bundled software. | ||||
|  | @ -1589,7 +1589,7 @@ This is a part of the TiLP project.") | |||
| (define-public mame | ||||
|   (package | ||||
|     (name "mame") | ||||
|     (version "0.229") | ||||
|     (version "0.230") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1598,7 +1598,7 @@ This is a part of the TiLP project.") | |||
|              (commit (apply string-append "mame" (string-split version #\.))))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0s5q6fjk739p1bfh72fmh35xi13fwbrgjqrn45i5xzx3v3gadmbg")) | ||||
|         (base32 "0dk8q2691pycv9mq77h6sdfwjnwdrfwrblf8nwyykrmdawzi56ks")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         ;; Remove bundled libraries. | ||||
|  | @ -1743,7 +1743,7 @@ This is a part of the TiLP project.") | |||
|        ("texinfo" ,texinfo))) | ||||
|     (inputs | ||||
|      `(("alsa-lib" ,alsa-lib) | ||||
|        ("asio" ,asio) | ||||
|        ("asio" ,asio-1.12)              ;the bundled copy is at 1.11 | ||||
|        ("expat" ,expat) | ||||
|        ("flac" ,flac) | ||||
|        ("fontconfig" ,fontconfig) | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org> | ||||
| ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> | ||||
|  | @ -17,7 +17,7 @@ | |||
| ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> | ||||
| ;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> | ||||
| ;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | ||||
| ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> | ||||
| ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> | ||||
| ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> | ||||
|  | @ -112,6 +112,8 @@ | |||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages qt) | ||||
|   #:use-module (gnu packages readline) | ||||
|   #:use-module (gnu packages serialization) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages swig) | ||||
|   #:use-module (gnu packages tbb) | ||||
|   #:use-module (gnu packages tcl) | ||||
|  | @ -122,6 +124,7 @@ | |||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages wxwidgets) | ||||
|   #:use-module (gnu packages xml) | ||||
|   #:use-module (gnu packages xiph) | ||||
|   #:use-module (gnu packages openkinect) | ||||
|   #:use-module (gnu packages xorg)) | ||||
| 
 | ||||
|  | @ -266,7 +269,7 @@ plans and designs.") | |||
| suite grouped together under the gEDA name.  gEDA/gaf is a collection of tools | ||||
| which currently includes: gschem, a schematic capture program; gnetlist, a | ||||
| netlist generation program; gsymcheck, a syntax checker for schematic symbols; | ||||
| gattrib, a spreadsheet programm that manipulates the properties of symbols of | ||||
| gattrib, a spreadsheet programme that manipulates the properties of symbols of | ||||
| a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a | ||||
| tool to forward annotation from your schematic to layout using PCB; some minor | ||||
| utilities.") | ||||
|  | @ -1248,7 +1251,7 @@ replacement for the OpenDWG libraries.") | |||
| (define-public minicom | ||||
|   (package | ||||
|     (name "minicom") | ||||
|     (version "2.7.1") | ||||
|     (version "2.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1256,13 +1259,16 @@ replacement for the OpenDWG libraries.") | |||
|              (url "https://salsa.debian.org/minicom-team/minicom.git") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 "0f36wv015zpz1x895qv0z6marlynzyh0d5mfkyd7lfyy2xd1i2w0")) | ||||
|         (base32 "0kfihxbh9qkjk9m1932ajyqx384c2aj3d9yaphh3i9i7y1shxlpx")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("--enable-lock-dir=/var/lock") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'make-git-checkout-writable | ||||
|            (lambda _ | ||||
|              (for-each make-file-writable (find-files ".")))) | ||||
|          (replace 'bootstrap | ||||
|            ;; autogen.sh needlessly hard-codes aclocal-1.14. | ||||
|            (lambda _ | ||||
|  | @ -2016,256 +2022,6 @@ parallel computing platforms.  It also supports serial execution.") | |||
|     (license (list license:gpl2+ | ||||
|                    license:lgpl2.0+)))) ; freehdl's libraries | ||||
| 
 | ||||
| (define-public qucs | ||||
|   ;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git. | ||||
|   ;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this | ||||
|   ;; comment and update the package. | ||||
|   (let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "qucs") | ||||
|       (version (git-version "0.0.19" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/Qucs/qucs") | ||||
|                       (commit commit))) | ||||
|                 (sha256 | ||||
|                  (base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb")) | ||||
|                 (file-name (string-append name "-" version "-checkout")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        `(#:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-before 'bootstrap 'patch-bootstrap | ||||
|              (lambda _ | ||||
|                (for-each patch-shebang | ||||
|                          '("bootstrap" | ||||
|                            "qucs/bootstrap" | ||||
|                            "qucs-doc/bootstrap" | ||||
|                            "qucs-core/bootstrap")) | ||||
|                #t)) | ||||
|            (add-before 'configure 'patch-configure | ||||
|              (lambda* (#:key inputs #:allow-other-keys) | ||||
|                (substitute* "qucs/configure" | ||||
|                  (("\\$QTDIR") (assoc-ref inputs "qt4"))) | ||||
|                #t)) | ||||
|            (add-after 'patch-configure 'patch-scripts | ||||
|              (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|                (substitute* '("qucs/qucs/qucsdigi" | ||||
|                               "qucs/qucs/qucsdigilib" | ||||
|                               "qucs/qucs/qucsveri") | ||||
|                  (("\\$BINDIR") | ||||
|                   (string-append (assoc-ref outputs "out") "/bin")) | ||||
|                  (("freehdl-config") | ||||
|                   (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config")) | ||||
|                  (("freehdl-v2cc") | ||||
|                   (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc")) | ||||
|                  (("cp ") | ||||
|                   (string-append (assoc-ref inputs "coreutils") "/bin/cp ")) | ||||
|                  (("glibtool") | ||||
|                   (string-append (assoc-ref inputs "libtool") "/bin/libtool")) | ||||
|                  (("sed") | ||||
|                   (string-append (assoc-ref inputs "sed") "/bin/sed")) | ||||
|                  (("iverilog") | ||||
|                   (string-append (assoc-ref inputs "iverilog") "/bin/iverilog")) | ||||
|                  (("vvp") | ||||
|                   (string-append (assoc-ref inputs "iverilog") "/bin/vvp"))) | ||||
|                #t)) | ||||
|            (add-before 'check 'pre-check | ||||
|              (lambda _ | ||||
|                ;; The test suite requires a running X server. | ||||
|                (system "Xvfb :1 &") | ||||
|                (setenv "DISPLAY" ":1") | ||||
|                #t)) | ||||
|            (add-after 'install 'make-wrapper | ||||
|              (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|                (let ((out (assoc-ref outputs "out"))) | ||||
|                  ;; 'qucs' directly invokes gcc, hence this wrapping. | ||||
|                  (wrap-program (string-append out "/bin/qucs") | ||||
|                    `("CPLUS_INCLUDE_PATH" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                       "/include"))) | ||||
|                    `("PATH" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                       "/bin"))) | ||||
|                    `("LIBRARY_PATH" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                       "/lib"))) | ||||
|                    `("ADMSXMLBINDIR" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "adms") "/bin"))) | ||||
|                    `("ASCOBINDIR" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "asco") "/bin"))) | ||||
|                    `("QUCS_OCTAVE" ":" prefix | ||||
|                      (,(string-append (assoc-ref inputs "octave") "/bin/octave"))))) | ||||
|                #t))) | ||||
|          #:parallel-build? #f ; race condition | ||||
|          #:configure-flags '("--disable-doc"))) ; we need octave-epstk | ||||
|       (native-inputs | ||||
|        `(("autoconf" ,autoconf) | ||||
|          ("automake" ,automake) | ||||
|          ("bison" ,bison) | ||||
|          ("flex" ,flex) | ||||
|          ("gperf" ,gperf) | ||||
|          ("libtool-native" ,libtool) | ||||
|          ("pkg-config" ,pkg-config) | ||||
|          ("python" ,python-2) ; for tests | ||||
|          ("matplotlib" ,python2-matplotlib) ; for tests | ||||
|          ("numpy" ,python2-numpy) ; for tests | ||||
|          ("xorg-server" ,xorg-server-for-tests))) ; for tests | ||||
|       (inputs | ||||
|        `(("adms" ,adms) | ||||
|          ("asco" ,asco) | ||||
|          ("coreutils" ,coreutils) | ||||
|          ("freehdl" ,freehdl) | ||||
|          ("gcc-toolchain" ,gcc-toolchain) | ||||
|          ("iverilog" ,iverilog) | ||||
|          ("libtool" ,libtool) | ||||
|          ("octave" ,octave-cli) | ||||
|          ("qt4" ,qt-4) | ||||
|          ("sed" ,sed))) | ||||
|       (home-page "http://qucs.sourceforge.net/") | ||||
|       (synopsis "Circuit simulator with graphical user interface") | ||||
|       (description | ||||
|        "Qucs is a circuit simulator with graphical user interface.  The software | ||||
| aims to support all kinds of circuit simulation types---e.g. DC, AC, | ||||
| S-parameter, transient, noise and harmonic balance analysis.  Pure digital | ||||
| simulations are also supported.") | ||||
|       (license license:gpl2+)))) | ||||
| 
 | ||||
| (define-public qucs-s | ||||
|   (package | ||||
|     (name "qucs-s") | ||||
|     (version "0.0.21") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/ra3xdh/qucs_s/archive/" | ||||
|                                   version ".tar.gz")) | ||||
|               (file-name (string-append name "-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no tests | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'patch-scripts | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (substitute* '("qucs/qucsdigi" | ||||
|                             "qucs/qucsdigilib" | ||||
|                             "qucs/qucsveri") | ||||
|                (("\\$BINDIR") | ||||
|                 (string-append (assoc-ref inputs "qucs") "/bin")) | ||||
|                (("freehdl-config") | ||||
|                 (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config")) | ||||
|                (("freehdl-v2cc") | ||||
|                 (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc")) | ||||
|                (("cp ") | ||||
|                 (string-append (assoc-ref inputs "coreutils") "/bin/cp ")) | ||||
|                (("glibtool") | ||||
|                 (string-append (assoc-ref inputs "libtool") "/bin/libtool")) | ||||
|                (("sed") | ||||
|                 (string-append (assoc-ref inputs "sed") "/bin/sed")) | ||||
|                (("iverilog") | ||||
|                 (string-append (assoc-ref inputs "iverilog") "/bin/iverilog")) | ||||
|                (("vvp") | ||||
|                 (string-append (assoc-ref inputs "iverilog") "/bin/vvp"))) | ||||
|              #t)) | ||||
|          (add-after 'patch-scripts 'patch-paths | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (substitute* "qucs/main.cpp" | ||||
|                (((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir " | ||||
|                                 "\\+ \"qucsator\" \\+ executableSuffix")) | ||||
|                 (string-append "}{ QucsSettings.Qucsator = \"" | ||||
|                                (assoc-ref inputs "qucs") "/bin/qucsator\"")) | ||||
|                (((string-append "QucsSettings\\.XyceExecutable = " | ||||
|                                 "\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce")) | ||||
|                 (string-append "}{ QucsSettings.XyceExecutable = \"" | ||||
|                                (assoc-ref inputs "xyce-serial") "/bin/Xyce")) | ||||
|                (((string-append "else QucsSettings\\.XyceParExecutable = " | ||||
|                                 "\"mpirun -np %p /usr/local" | ||||
|                                 "/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce")) | ||||
|                 (string-append "QucsSettings.XyceParExecutable = \"" | ||||
|                                (assoc-ref inputs "mpi") "/bin/mpirun -np %p " | ||||
|                                (assoc-ref inputs "xyce-parallel") "/bin/Xyce")) | ||||
|                (("else QucsSettings\\.NgspiceExecutable = \"ngspice\"") | ||||
|                 (string-append "QucsSettings.NgspiceExecutable = " "\"" | ||||
|                                (assoc-ref inputs "ngspice") "/bin/ngspice\""))) | ||||
|              (substitute* "qucs/extsimkernels/ngspice.cpp" | ||||
|                (("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib")) | ||||
|              (substitute* "qucs/qucs_actions.cpp" | ||||
|                (("qucstrans") | ||||
|                 (string-append (assoc-ref inputs "qucs") "/bin/qucstrans")) | ||||
|                (("qucsattenuator") | ||||
|                 (string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator")) | ||||
|                (("qucsrescodes") | ||||
|                 (string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes"))) | ||||
|              #t)) | ||||
|          (add-after 'install 'install-scripts | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (for-each | ||||
|               (lambda (script) | ||||
|                 (let ((file (string-append "../qucs_s-" ,version | ||||
|                                            "/qucs/" script)) | ||||
|                       (out (assoc-ref outputs "out"))) | ||||
|                   (install-file file (string-append out "/bin")) | ||||
|                   (chmod (string-append out "/bin/" script) #o555))) | ||||
|               '("qucsdigi" "qucsdigilib" "qucsveri")) | ||||
|              #t)) | ||||
|          (add-after 'install-scripts 'make-wrapper | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (file (string-append out "/bin/qucs-s")) | ||||
|                     (qucs (assoc-ref inputs "qucs")) | ||||
|                     (qucsator (string-append qucs "/bin/qucsator"))) | ||||
|                (wrap-program file | ||||
|                  `("CPLUS_INCLUDE_PATH" ":" prefix | ||||
|                    (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                     "/include"))) | ||||
|                  `("PATH" ":" prefix | ||||
|                    (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                     "/bin"))) | ||||
|                  `("LIBRARY_PATH" ":" prefix | ||||
|                    (,(string-append (assoc-ref inputs "gcc-toolchain") | ||||
|                                     "/lib"))) | ||||
|                  `("QUCSATOR" ":" prefix (,qucsator)) | ||||
|                  `("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv"))) | ||||
|                  `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms") | ||||
|                                                                "/bin"))) | ||||
|                  `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco") | ||||
|                                                             "/bin"))) | ||||
|                  `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave") | ||||
|                                                              "/bin/octave")))) | ||||
|                (symlink qucsator (string-append out "/bin/qucsator")) | ||||
|                #t)))))) | ||||
|     (native-inputs | ||||
|      `(("libtool-native" ,libtool))) | ||||
|     (inputs | ||||
|      `(("adms" ,adms) | ||||
|        ("asco" ,asco) | ||||
|        ("coreutils" ,coreutils) | ||||
|        ("freehdl" ,freehdl) | ||||
|        ("gcc-toolchain" ,gcc-toolchain) | ||||
|        ("iverilog" ,iverilog) | ||||
|        ("libtool" ,libtool) | ||||
|        ("mpi" ,openmpi) | ||||
|        ("ngspice" ,ngspice) | ||||
|        ("octave" ,octave-cli) | ||||
|        ("qt4" ,qt-4) | ||||
|        ("qucs" ,qucs) | ||||
|        ("sed" ,sed) | ||||
|        ("xyce-serial" ,xyce-serial) | ||||
|        ("xyce-parallel" ,xyce-parallel))) | ||||
|     (home-page "https://ra3xdh.github.io/") | ||||
|     (synopsis "Circuit simulator with graphical user interface") | ||||
|     (description | ||||
|      "Qucs-S is a spin-off of the Qucs cross-platform circuit simulator. | ||||
| The S letter indicates SPICE.  The purpose of the Qucs-S subproject is to use | ||||
| free SPICE circuit simulation kernels with the Qucs GUI.  It provides the | ||||
| simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public librepcb | ||||
|   (package | ||||
|     (name "librepcb") | ||||
|  | @ -2601,104 +2357,120 @@ OpenSCAD code.  It supports syntax highlighting, indenting and refilling of | |||
| comments."))) | ||||
| 
 | ||||
| (define-public freecad | ||||
|   (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "freecad") | ||||
|       (version (git-version "0.18.5" revision commit-ref)) | ||||
|       (source | ||||
|         (origin | ||||
|           (method git-fetch) | ||||
|           (uri (git-reference | ||||
|                  (url "https://github.com/FreeCAD/FreeCAD") | ||||
|                  (commit commit-ref))) | ||||
|           (file-name (git-file-name name version)) | ||||
|           (sha256 | ||||
|             (base32 | ||||
|               "16965yxnp2pq7nm8z3p0pjkzjdyq62vfrj8j3nk26bwc898czyn2")))) | ||||
|       (build-system qt-build-system) | ||||
|       (native-inputs | ||||
|        `(("doxygen" ,doxygen) | ||||
|          ("graphviz" ,graphviz) | ||||
|          ("qttools" ,qttools) | ||||
|          ("pkg-config" ,pkg-config) | ||||
|          ("python-pyside-2-tools" ,python-pyside-2-tools) | ||||
|          ("swig" ,swig))) | ||||
|       (inputs | ||||
|        `(("boost" ,boost) | ||||
|          ("coin3D" ,coin3D) | ||||
|          ("eigen" ,eigen) | ||||
|          ("freetype" ,freetype) | ||||
|          ("glew" ,glew) | ||||
|          ("hdf5" ,hdf5-1.10) | ||||
|          ("libarea" ,libarea) | ||||
|          ("libmedfile" ,libmedfile) | ||||
|          ("libspnav" ,libspnav) | ||||
|          ("libxi" ,libxi) | ||||
|          ("libxmu" ,libxmu) | ||||
|          ("openmpi" ,openmpi) | ||||
|          ("opencascade-occt" ,opencascade-occt) | ||||
|          ("python-matplotlib" ,python-matplotlib) | ||||
|          ("python-pyside-2" ,python-pyside-2) | ||||
|          ("python-shiboken-2" ,python-shiboken-2) | ||||
|          ("python-pivy" ,python-pivy) | ||||
|          ("python-wrapper" ,python-wrapper) | ||||
|          ("qtbase" ,qtbase) | ||||
|          ("qtsvg" ,qtsvg) | ||||
|          ("qtx11extras" ,qtx11extras) | ||||
|          ("qtxmlpatterns" ,qtxmlpatterns) | ||||
|          ("qtwebkit" ,qtwebkit) | ||||
|          ("tbb" ,tbb) | ||||
|          ("vtk" ,vtk) | ||||
|          ("xerces-c" ,xerces-c) | ||||
|          ("zlib" ,zlib))) | ||||
|       (arguments | ||||
|        `(#:tests? #f | ||||
|          #:configure-flags | ||||
|          (list | ||||
|           "-DBUILD_QT5=ON" | ||||
|           (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib") | ||||
|           (string-append "-DPYSIDE2UICBINARY=" | ||||
|                          (assoc-ref %build-inputs "python-pyside-2-tools") | ||||
|                          "/bin/uic") | ||||
|           (string-append "-DPYSIDE2RCCBINARY=" | ||||
|                          (assoc-ref %build-inputs "python-pyside-2-tools") | ||||
|                          "/bin/rcc") | ||||
|           "-DPYSIDE_LIBRARY=PySide2::pyside2" | ||||
|           (string-append | ||||
|            "-DPYSIDE_INCLUDE_DIR=" | ||||
|            (assoc-ref %build-inputs "python-pyside-2") "/include;" | ||||
|            (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;" | ||||
|            (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;" | ||||
|            (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;" | ||||
|            (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;") | ||||
|           "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" | ||||
|           (string-append "-DSHIBOKEN_INCLUDE_DIR=" | ||||
|                          (assoc-ref %build-inputs "python-shiboken-2") | ||||
|                          "/include/shiboken2")) | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'install 'wrap-pythonpath | ||||
|              (lambda* (#:key outputs #:allow-other-keys) | ||||
|                (let ((out (assoc-ref outputs "out"))) | ||||
|                  (wrap-program (string-append out "/bin/FreeCAD") | ||||
|                    (list "GUIX_PYTHONPATH" | ||||
|                          'prefix (list (getenv "GUIX_PYTHONPATH")))))))))) | ||||
|       (home-page "https://www.freecadweb.org/") | ||||
|       (synopsis "Your Own 3D Parametric Modeler") | ||||
|       (description | ||||
|        "FreeCAD is a general purpose feature-based, parametric 3D modeler for | ||||
|   (package | ||||
|     (name "freecad") | ||||
|     (version "0.19.1") | ||||
|     (source | ||||
|       (origin | ||||
|         (method git-fetch) | ||||
|         (uri (git-reference | ||||
|                (url "https://github.com/FreeCAD/FreeCAD") | ||||
|                (commit version))) | ||||
|         (file-name (git-file-name name version)) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0")))) | ||||
|     (build-system qt-build-system) | ||||
|     (native-inputs | ||||
|      `(("doxygen" ,doxygen) | ||||
|        ("graphviz" ,graphviz) | ||||
|        ("qttools" ,qttools) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python-pyside-2-tools" ,python-pyside-2-tools) | ||||
|        ("swig" ,swig))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("coin3D" ,coin3D) | ||||
|        ("double-conversion" ,double-conversion) | ||||
|        ("eigen" ,eigen) | ||||
|        ("freetype" ,freetype) | ||||
|        ("gl2ps" ,gl2ps) | ||||
|        ("glew" ,glew) | ||||
|        ("hdf5" ,hdf5-1.10) | ||||
|        ("jsoncpp" ,jsoncpp) | ||||
|        ("libarea" ,libarea) | ||||
|        ("libjpeg-turbo" ,libjpeg-turbo) | ||||
|        ("libmedfile" ,libmedfile) | ||||
|        ("libspnav" ,libspnav) | ||||
|        ("libtheora" ,libtheora) | ||||
|        ("libtiff" ,libtiff) | ||||
|        ("libxi" ,libxi) | ||||
|        ("libxmlplusplus" ,libxmlplusplus) | ||||
|        ("libxmu" ,libxmu) | ||||
|        ("lz4" ,lz4) | ||||
|        ("netcdf" ,netcdf) | ||||
|        ("opencascade-occt" ,opencascade-occt) | ||||
|        ("openmpi" ,openmpi) | ||||
|        ("proj" ,proj) | ||||
|        ("python-gitpython" ,python-gitpython) | ||||
|        ("python-matplotlib" ,python-matplotlib) | ||||
|        ("python-pivy" ,python-pivy) | ||||
|        ("python-pyside-2" ,python-pyside-2) | ||||
|        ("python-pyyaml" ,python-pyyaml) | ||||
|        ("python-shiboken-2" ,python-shiboken-2) | ||||
|        ("python-wrapper" ,python-wrapper) | ||||
|        ("qtbase" ,qtbase) | ||||
|        ("qtsvg" ,qtsvg) | ||||
|        ("qtwebkit" ,qtwebkit) | ||||
|        ("qtx11extras" ,qtx11extras) | ||||
|        ("qtxmlpatterns" ,qtxmlpatterns) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("tbb" ,tbb) | ||||
|        ("vtk" ,vtk-8) | ||||
|        ("xerces-c" ,xerces-c) | ||||
|        ("zlib" ,zlib))) | ||||
|     (arguments | ||||
|      `(#:tests? #f          ; Project has no tests | ||||
|        #:configure-flags | ||||
|        (list | ||||
|         "-DBUILD_QT5=ON" | ||||
|         "-DBUILD_FLAT_MESH:BOOL=ON" | ||||
|         (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib") | ||||
|         (string-append "-DPYSIDE2UICBINARY=" | ||||
|                        (assoc-ref %build-inputs "python-pyside-2-tools") | ||||
|                        "/bin/uic") | ||||
|         (string-append "-DPYSIDE2RCCBINARY=" | ||||
|                        (assoc-ref %build-inputs "python-pyside-2-tools") | ||||
|                        "/bin/rcc") | ||||
|         "-DPYSIDE_LIBRARY=PySide2::pyside2" | ||||
|         (string-append | ||||
|          "-DPYSIDE_INCLUDE_DIR=" | ||||
|          (assoc-ref %build-inputs "python-pyside-2") "/include;" | ||||
|          (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;" | ||||
|          (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;" | ||||
|          (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;" | ||||
|          (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;") | ||||
|         "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" | ||||
|         (string-append "-DSHIBOKEN_INCLUDE_DIR=" | ||||
|                        (assoc-ref %build-inputs "python-shiboken-2") | ||||
|                        "/include/shiboken2")) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'restore-pythonpath | ||||
|            (lambda _ | ||||
|              (substitute* "src/Main/MainGui.cpp" | ||||
|                (("_?putenv\\(\"PYTHONPATH=\"\\);") "")))) | ||||
|          (add-after 'install 'wrap-pythonpath | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out"))) | ||||
|                (wrap-program (string-append out "/bin/FreeCAD") | ||||
|                  (list "PYTHONPATH" | ||||
|                        'prefix (list (getenv "PYTHONPATH")))))))))) | ||||
|     (home-page "https://www.freecadweb.org/") | ||||
|     (synopsis "Your Own 3D Parametric Modeler") | ||||
|     (description | ||||
|      "FreeCAD is a general purpose feature-based, parametric 3D modeler for | ||||
| CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and | ||||
| product design but also fits a wider range of uses in engineering, such as | ||||
| architecture or other engineering specialties.  It is 100% Open Source (LGPL2+ | ||||
| license) and extremely modular, allowing for very advanced extension and | ||||
| customization.") | ||||
|       (license | ||||
|        (list | ||||
|         license:lgpl2.1+ | ||||
|         license:lgpl2.0+ | ||||
|         license:gpl3+ | ||||
|         license:bsd-3))))) | ||||
|     (license | ||||
|      (list | ||||
|       license:lgpl2.1+ | ||||
|       license:lgpl2.0+ | ||||
|       license:gpl3+ | ||||
|       license:bsd-3)))) | ||||
| 
 | ||||
| (define-public libmedfile | ||||
|   (package | ||||
|  |  | |||
|  | @ -172,14 +172,14 @@ client.") | |||
| (define-public libime | ||||
|   (package | ||||
|     (name "libime") | ||||
|     (version "1.0.5") | ||||
|     (version "1.0.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" | ||||
|                            version "_dict.tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1w3cxk11kbfmz7snivxq948zfav6dy2245j12ghlxcmdxjshrlhq")))) | ||||
|         (base32 "1s8gzpzyn16pg9gm7kw1nhl09drdndi6j4mjam14ymqsrfsdqr1r")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|      `(("fcitx5" ,fcitx5) | ||||
|  | @ -190,7 +190,7 @@ client.") | |||
|        ("python" ,python)))             ;needed to run test | ||||
|     (home-page "https://github.com/fcitx/libime") | ||||
|     (synopsis "Library for implementing generic input method") | ||||
|     (description "Libime is a library for implmenting various input methods | ||||
|     (description "Libime is a library for implementing various input methods | ||||
| editors.") | ||||
|     (license license:lgpl2.1+))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -80,7 +80,7 @@ | |||
| (define-public autofs | ||||
|   (package | ||||
|     (name "autofs") | ||||
|     (version "5.1.6") | ||||
|     (version "5.1.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -88,7 +88,7 @@ | |||
|                            "v" (version-major version) "/" | ||||
|                            "autofs-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx")))) | ||||
|         (base32 "1myfz6a3wj2c4j9h5g44zj796fdi82jhp1s92w2hg6xp2632csx3")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -112,6 +112,12 @@ | |||
|                (("^searchpath=\".*\"") | ||||
|                 "searchpath=\"$PATH\"")) | ||||
|              #t)) | ||||
|          (add-before 'configure 'fix-rpath | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out"))) | ||||
|                (substitute* "Makefile.rules" | ||||
|                  (("^AUTOFS_LIB_LINK.*=" match) | ||||
|                   (string-append match " -Wl,-rpath=" out "/lib")))))) | ||||
|          (add-before 'install 'omit-obsolete-lookup_nis.so-link | ||||
|            ;; Building lookup_yp.so depends on $(YPCLNT) but this doesn't, | ||||
|            ;; leading to a make error.  Since it's broken, comment it out. | ||||
|  | @ -178,7 +184,7 @@ large and/or frequently changing (network) environment.") | |||
|     (home-page "https://bindfs.org") | ||||
|     (synopsis "Bind mount a directory and alter permission bits") | ||||
|     (description | ||||
|      "@command{bindfs} is a FUSE filesystem for mounting a directory to | ||||
|      "@command{bindfs} is a FUSE file system for mounting a directory to | ||||
| another location, similar to @command{mount --bind}.  It can be used for: | ||||
| @itemize | ||||
| @item Making a directory read-only. | ||||
|  | @ -245,9 +251,9 @@ another location, similar to @command{mount --bind}.  It can be used for: | |||
|     (description | ||||
|      "The @acronym{WebDAV, Web Distributed Authoring and Versioning} extension | ||||
| to the HTTP protocol defines a standard way to author resources on a remote Web | ||||
| server.  Davfs2 exposes such resources as a typical filesystem which can be used | ||||
| by standard applications with no built-in support for WebDAV, such as the GNU | ||||
| coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor. | ||||
| server.  Davfs2 exposes such resources as a typical file system which can be | ||||
| used by standard applications with no built-in support for WebDAV, such as the | ||||
| GNU coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor. | ||||
| 
 | ||||
| Davfs2 works with most WebDAV servers with no or little configuration.  It | ||||
| supports TLS (HTTPS), HTTP proxies, HTTP basic and digest authentication, and | ||||
|  | @ -334,8 +340,8 @@ from a mounted file system.") | |||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public bcachefs-tools | ||||
|   (let ((commit "612f6b9ab73c7f46e0254355b707d494a8ad9270") | ||||
|         (revision "3")) | ||||
|   (let ((commit "bb6eccc2ecd4728871bfc70462d3a4a20daa9d68") | ||||
|         (revision "4")) | ||||
|     (package | ||||
|       (name "bcachefs-tools") | ||||
|       (version (git-version "0.1" revision commit)) | ||||
|  | @ -347,7 +353,7 @@ from a mounted file system.") | |||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "1a62wkv1i6pg5k1cjw7fzn933cbz8cp8y40cdpfd8rxjx0wg2szb")))) | ||||
|           (base32 "0ziqmcxbrak6bjck6s46hqrqx44zc97yaj0kbk3amsxf18rsfs0n")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        `(#:make-flags | ||||
|  | @ -1077,14 +1083,14 @@ compatible directories.") | |||
| (define-public python-dropbox | ||||
|   (package | ||||
|     (name "python-dropbox") | ||||
|     (version "11.2.0") | ||||
|     (version "11.5.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (pypi-uri "dropbox" version)) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0ml6z37k6nkhkiy483kvifs8im8z7vabd2g9jl6fkf1fzy3n6bym")))) | ||||
|           "16bxx9xqx2s4d9khrw57a0bj4q7nc6kq355wl4pfddn9cqvh9rg2")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments '(#:tests? #f))  ; Tests require a network connection. | ||||
|     (native-inputs | ||||
|  | @ -1189,10 +1195,10 @@ local file system using FUSE.") | |||
|      `(("go-github-com-mattn-go-sqlite3" ,go-github-com-mattn-go-sqlite3) | ||||
|        ("go-github-com-hanwen-fuse" ,go-github-com-hanwen-fuse))) | ||||
|     (home-page "https://github.com/oniony/TMSU") | ||||
|     (synopsis "Tag files and access them through a virtual filesystem") | ||||
|     (synopsis "Tag files and access them through a virtual file system") | ||||
|     (description | ||||
|      "TMSU is a tool for tagging your files.  It provides a simple | ||||
| command-line utility for applying tags and a virtual filesystem to give you a | ||||
| command-line utility for applying tags and a virtual file system to give you a | ||||
| tag-based view of your files from any other program.  TMSU does not alter your | ||||
| files in any way: they remain unchanged on disk, or on the network, wherever | ||||
| your put them.  TMSU maintains its own database and you simply gain an | ||||
|  |  | |||
|  | @ -47,6 +47,8 @@ | |||
|                       `(("self" ,this-package)) | ||||
|                       '())) | ||||
| 
 | ||||
|    (properties | ||||
|     `((release-monitoring-url . "http://ftp.astron.com/pub/file/"))) | ||||
|    (synopsis "File type guesser") | ||||
|    (description | ||||
|     "The file command is a file type guesser, a command-line tool that tells | ||||
|  |  | |||
|  | @ -601,6 +601,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.") | |||
|        ("python-hidapi" ,python-hidapi) | ||||
|        ("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix) | ||||
|        ("python-keepkey" ,python-keepkey) | ||||
|        ("python-pathvalidate" ,python-pathvalidate) | ||||
|        ("python-protobuf" ,python-protobuf) | ||||
|        ("python-pyaes" ,python-pyaes) | ||||
|        ("python-pyqt" ,python-pyqt) | ||||
|  | @ -651,7 +652,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|   ;; the system's dynamically linked library. | ||||
|   (package | ||||
|     (name "monero") | ||||
|     (version "0.17.1.9") | ||||
|     (version "0.17.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -671,7 +672,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|               "external/unbound")) | ||||
|            #t)) | ||||
|        (sha256 | ||||
|         (base32 "0jqss4csvkcrhrmaa3vrnyv6yiwqpbfw7037clx9xcfm4qrrfiwy")))) | ||||
|         (base32 "0jwlmrpzisvw1c06cvd5b3s3hd4w0pa1qmrypfwah67qj3x6hnb6")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      `(("doxygen" ,doxygen) | ||||
|  | @ -761,7 +762,7 @@ the Monero command line client and daemon.") | |||
| (define-public monero-gui | ||||
|   (package | ||||
|     (name "monero-gui") | ||||
|     (version "0.17.1.9") | ||||
|     (version "0.17.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -778,7 +779,7 @@ the Monero command line client and daemon.") | |||
|            (delete-file-recursively "monero") | ||||
|            #t)) | ||||
|        (sha256 | ||||
|         (base32 "0vpvpvsbbj547yir15g84qy9l9lwbip795zlliz79i7d66l23b1w")))) | ||||
|         (base32 "17il26gh0g69x7lqkyb461x1712959wajg3iadx0p08djr3m13mf")))) | ||||
|     (build-system qt-build-system) | ||||
|     (native-inputs | ||||
|      `(,@(package-native-inputs monero) | ||||
|  | @ -1404,16 +1405,16 @@ following three utilities are included with the library: | |||
| (define-public bitcoin-unlimited | ||||
|   (package | ||||
|     (name "bitcoin-unlimited") | ||||
|     (version "1.9.0.1") | ||||
|     (version "1.9.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/BitcoinUnlimited/BitcoinUnlimited") | ||||
|              (url "https://gitlab.com/bitcoinunlimited/BCHUnlimited.git/") | ||||
|              (commit (string-append "BCHunlimited" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1pan24g3d5csa004d7zvlizj4mv58ly5i579341isp944phl3g5v")))) | ||||
|         (base32 "0vyvfawss40v9jaic9zq0z3cjvxiq04d4wgq4rnkha7ilm9zqyd7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("autoconf" ,autoconf) | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -32,18 +33,23 @@ | |||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages admin) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages bison) | ||||
|   #:use-module (gnu packages boost) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages flex) | ||||
|   #:use-module (gnu packages elf) | ||||
|   #:use-module (gnu packages flex) | ||||
|   #:use-module (gnu packages ghostscript) | ||||
|   #:use-module (gnu packages gnupg) | ||||
|   #:use-module (gnu packages groff) | ||||
|   #:use-module (gnu packages pciutils) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages libusb) | ||||
|   #:use-module (gnu packages libftdi) | ||||
|   #:use-module (gnu packages pciutils) | ||||
|   #:use-module (gnu packages qt) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages admin)) | ||||
|   #:use-module (gnu packages qt)) | ||||
| 
 | ||||
| (define-public flashrom | ||||
|   (package | ||||
|  | @ -476,3 +482,38 @@ ME as far as possible (it only edits ME firmware image files).") | |||
|     (description "@code{uefitool} is a graphical image file editor for | ||||
| Unifinished Extensible Firmware Interface (UEFI) images.") | ||||
|     (license license:bsd-2))) | ||||
| 
 | ||||
| (define-public srecord | ||||
|   (package | ||||
|     (name "srecord") | ||||
|     (version "1.64") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/srecord/srecord/" | ||||
|                            version "/srecord-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1qk75q0k5vzmm3932q9hqz2gp8n9rrdfjacsswxc02656f3l3929")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "SH=" | ||||
|                             (assoc-ref %build-inputs "bash") | ||||
|                             "/bin/bash")))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("libgcrypt" ,libgcrypt))) | ||||
|     (native-inputs | ||||
|      `(("bison" ,bison) | ||||
|        ("diffutils" ,diffutils) | ||||
|        ("ghostscript" ,ghostscript) | ||||
|        ("groff" ,groff) | ||||
|        ("libtool" ,libtool) | ||||
|        ("which" ,which))) | ||||
|     (home-page "http://srecord.sourceforge.net/") | ||||
|     (synopsis "Tools for EPROM files") | ||||
|     (description "The SRecord package is a collection of powerful tools for | ||||
| manipulating EPROM load files.  It reads and writes numerous EPROM file | ||||
| formats, and can perform many different manipulations.") | ||||
|     (license license:gpl3+))) | ||||
|  |  | |||
|  | @ -998,7 +998,7 @@ Unicode Charts.  It was developed for use with DejaVu Fonts project.") | |||
|     (arguments | ||||
|      `(#:configure-flags (list "--disable-static"))) | ||||
|     (native-inputs | ||||
|      `(("gtk-doc" ,gtk-doc) | ||||
|      `(("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python" ,python-wrapper))) | ||||
|     (inputs | ||||
|  |  | |||
|  | @ -22,6 +22,7 @@ | |||
| ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> | ||||
| ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> | ||||
| ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> | ||||
| ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -173,7 +174,7 @@ | |||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gperf" ,gperf) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python" ,python-wrapper) | ||||
|        ("xsltproc" ,libxslt))) | ||||
|  | @ -261,7 +262,7 @@ application-centers for distributions.") | |||
|        ("docbook-xml" ,docbook-xml-4.1.2) | ||||
|        ("docbook-xsl" ,docbook-xsl) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("libtool" ,libtool) | ||||
|        ("perl" ,perl) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|  | @ -313,7 +314,7 @@ for videoconferencing.") | |||
|      `(("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("gtk-doc" ,gtk-doc))) | ||||
|        ("gtk-doc" ,gtk-doc/stable))) | ||||
|     (inputs | ||||
|      `(("dbus" ,dbus) | ||||
|        ("glib" ,glib))) | ||||
|  | @ -1230,7 +1231,7 @@ Analysis and Reporting Technology) functionality.") | |||
|        ("glib:bin" ,glib "bin")         ; for glib-mkenums | ||||
|        ("gnome-common" ,gnome-common)   ; TODO: Why is this needed? | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("xsltproc" ,libxslt))) | ||||
|  | @ -1626,7 +1627,7 @@ wish to perform colour calibration.") | |||
|      `(("eudev" ,eudev) | ||||
|        ("glib:bin" ,glib "bin")         ; for {glib-,}mkenums | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc)             ; for 88 KiB of API documentation | ||||
|        ("gtk-doc" ,gtk-doc/stable)             ; for 88 KiB of API documentation | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("glib" ,glib) | ||||
|  | @ -1948,6 +1949,26 @@ encoding names are iconv-compatible.") | |||
|     ;; combination is GPL 2.0+. | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public python-cchardet | ||||
|   (package | ||||
|   (name "python-cchardet") | ||||
|   (version "2.1.7") | ||||
|   (source | ||||
|     (origin | ||||
|       (method url-fetch) | ||||
|       (uri (pypi-uri "cchardet" version)) | ||||
|       (sha256 | ||||
|         (base32 | ||||
|           "1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64")))) | ||||
|   (build-system python-build-system) | ||||
|   (inputs | ||||
|    `(("uchardet" ,uchardet))) | ||||
|   (home-page "https://github.com/PyYoshi/cChardet") | ||||
|   (synopsis "High-performance character encoding detection for Python") | ||||
|   (description "cChardet is a character encoding detector, written in | ||||
| Python, that binds to the C library @code{uchardet} to increase performance.") | ||||
|   (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public udiskie | ||||
|   (package | ||||
|     (name "udiskie") | ||||
|  | @ -2225,7 +2246,7 @@ fallback to generic Systray support if none of those are available.") | |||
|                  #t)))))) | ||||
|       (native-inputs | ||||
|        `(("pkg-config" ,pkg-config) | ||||
|          ("gtk-doc" ,gtk-doc) | ||||
|          ("gtk-doc" ,gtk-doc/stable) | ||||
|          ("docbook-xsl" ,docbook-xsl) | ||||
|          ("docbook-xml" ,docbook-xml) | ||||
|          ("libxml2" ,libxml2) | ||||
|  |  | |||
|  | @ -1,9 +1,10 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014, 2015, 2018, 2021, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> | ||||
| ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -28,12 +29,14 @@ | |||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages cpio) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages freedesktop) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages libidn) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|   #:use-module (gnu packages nettle) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|  | @ -115,6 +118,8 @@ reliability in mind.") | |||
|                     (("a freeware program") | ||||
|                      "free software")) | ||||
|                   #t)))) | ||||
|     (properties | ||||
|      `((release-monitoring-url . "https://www.ncftp.com/download/"))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|  | @ -251,40 +256,82 @@ directory comparison and more.") | |||
|     (properties '((upstream-name . "FileZilla"))))) | ||||
| 
 | ||||
| (define-public vsftpd | ||||
|   (package | ||||
|     (name "vsftpd") | ||||
|     (version "3.0.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://security.appspot.com/downloads/" | ||||
|                                   name "-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags '("LDFLAGS=-lcrypt") | ||||
|        #:tests? #f                      ; No tests exist. | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch-installation-directory | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (substitute* "Makefile" | ||||
|                (("/usr") (assoc-ref outputs "out"))) | ||||
|              #t)) | ||||
|          (add-before 'install 'mkdir | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out"))) | ||||
|                (mkdir-p out) | ||||
|                (mkdir (string-append out "/sbin")) | ||||
|                (mkdir (string-append out "/man")) | ||||
|                (mkdir (string-append out "/man/man5")) | ||||
|                (mkdir (string-append out "/man/man8")) | ||||
|                #t))) | ||||
|          (delete 'configure)))) | ||||
|     (synopsis "vsftpd FTP daemon") | ||||
|     (description "@command{vsftpd} is a daemon that listens on a TCP socket | ||||
|   ;; Use a significantly patched CentOS variant with TLSv1.2 support and | ||||
|   ;; further bug and security fixes. | ||||
|   (let ((upstream-version "3.0.3") | ||||
|         (centos-version "8.3.2011") | ||||
|         (revision "32.el8")) | ||||
|     (package | ||||
|       (name "vsftpd") | ||||
|       (version (string-append upstream-version "-" revision)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method url-fetch) | ||||
|          (uri (string-append | ||||
|                "https://vault.centos.org/centos/" centos-version | ||||
|                "/AppStream/Source/SPackages/vsftpd-" upstream-version "-" | ||||
|                revision ".src.rpm")) | ||||
|          (sha256 | ||||
|           (base32 "1xl0kqcismf82hl99klqbvvpylpyk1yr1qjy5hd8f80cj4lyl0f4")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        `(#:make-flags '("LDFLAGS=-lcrypt -lssl -pie") | ||||
|          #:tests? #f                    ; no tests exist | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (replace 'unpack | ||||
|              (lambda* (#:key source #:allow-other-keys) | ||||
|                (invoke "7z" "e" source "-ocpio") | ||||
|                (invoke "cpio" "-idmv" | ||||
|                        (string-append "--file=cpio/vsftpd-" | ||||
|                                       ,upstream-version "-" ,revision | ||||
|                                       ".src.cpio")) | ||||
|                (invoke "tar" "xvf" | ||||
|                        (string-append "vsftpd-" ,upstream-version ".tar.gz")) | ||||
|                (chdir (string-append "vsftpd-" ,upstream-version)))) | ||||
|            (add-after 'unpack 'apply-CentOS-patches | ||||
|              ;; Apply all patches as enumerated in vsftpd.spec, in order: | ||||
|              ;; simply using FIND-FILES would silently corrupt the result. | ||||
|              (lambda _ | ||||
|                (call-with-input-file "../vsftpd.spec" | ||||
|                  (lambda (port) | ||||
|                    (use-modules (ice-9 rdelim)) | ||||
|                    (let loop () | ||||
|                      (let ((line (read-line port))) | ||||
|                        (unless (eof-object? line) | ||||
|                          (when (string-prefix? "Patch" line) | ||||
|                            (let* ((space (string-rindex line #\space)) | ||||
|                                   (patch (string-drop line (+ 1 space)))) | ||||
|                              (format #t "Applying '~a'.\n" patch) | ||||
|                              (invoke "patch" "-Np1" | ||||
|                                      "-i" (string-append "../" patch)))) | ||||
|                          (loop)))))))) | ||||
|            (add-after 'unpack 'patch-installation-directory | ||||
|              (lambda* (#:key outputs #:allow-other-keys) | ||||
|                (substitute* "Makefile" | ||||
|                  (("/usr") (assoc-ref outputs "out"))) | ||||
|                #t)) | ||||
|            (add-before 'install 'mkdir | ||||
|              (lambda* (#:key outputs #:allow-other-keys) | ||||
|                (let ((out (assoc-ref outputs "out"))) | ||||
|                  (mkdir-p out) | ||||
|                  (mkdir (string-append out "/sbin")) | ||||
|                  (mkdir (string-append out "/man")) | ||||
|                  (mkdir (string-append out "/man/man5")) | ||||
|                  (mkdir (string-append out "/man/man8")) | ||||
|                  #t))) | ||||
|            (delete 'configure)))) | ||||
|       (native-inputs | ||||
|        ;; Used to unpack the source RPM. | ||||
|        `(("p7zip" ,p7zip) | ||||
|          ("cpio" ,cpio))) | ||||
|       (inputs | ||||
|        `(("libcap" ,libcap) | ||||
|          ("linux-pam" ,linux-pam) | ||||
|          ("openssl" ,openssl))) | ||||
|       (home-page "https://security.appspot.com/vsftpd.html") | ||||
|       (synopsis "Share files securely over FTP or FTPS") | ||||
|       (description "@command{vsftpd} is a daemon that listens on a TCP socket | ||||
| for clients and gives them access to local files via File Transfer | ||||
| Protocol.") | ||||
|     (home-page "https://security.appspot.com/vsftpd.html") | ||||
|     (license gpl2))) | ||||
|       (license gpl2)))) | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ | |||
| ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> | ||||
| ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> | ||||
| ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -55,6 +56,7 @@ | |||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages boost) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages curl) | ||||
|   #:use-module (gnu packages documentation) | ||||
|   #:use-module (gnu packages fltk) | ||||
|  | @ -446,7 +448,7 @@ support.") | |||
| (define-public tiled | ||||
|   (package | ||||
|     (name "tiled") | ||||
|     (version "1.4.3") | ||||
|     (version "1.5.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -455,7 +457,7 @@ support.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14bx4gywfzr2f07ldqk3la82g5ag1agj21f7ccrxip12ydmpx0xb")))) | ||||
|                 "1prajkx1xpp3csa0xpkrn3c2cnzvmwzxgrqb9d3gqszp3sllr2dg")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("qtbase" ,qtbase) | ||||
|  | @ -1090,7 +1092,7 @@ to create fully featured games and multimedia programs in the python language.") | |||
| 
 | ||||
| (define-public python2-pygame-sdl2 | ||||
|   (let ((real-version "2.1.0") | ||||
|         (renpy-version "7.4.2")) | ||||
|         (renpy-version "7.4.4")) | ||||
|     (package | ||||
|       (inherit python2-pygame) | ||||
|       (name "python2-pygame-sdl2") | ||||
|  | @ -1100,7 +1102,7 @@ to create fully featured games and multimedia programs in the python language.") | |||
|          (method url-fetch) | ||||
|          (uri (string-append "https://www.renpy.org/dl/" renpy-version | ||||
|                              "/pygame_sdl2-" version ".tar.gz")) | ||||
|          (sha256 (base32 "1lpk69nh379x5pdlr838x5b49spzksn9hyqiq2g0q28k0xk4lm67")) | ||||
|          (sha256 (base32 "1lj5c3kfnl8s824j3hs47dg3g5rlabscmwrbb0lgpyy4633pv9ka")) | ||||
|          (modules '((guix build utils))) | ||||
|          (snippet | ||||
|           '(begin | ||||
|  | @ -1143,13 +1145,13 @@ developed mainly for Ren'py.") | |||
| (define-public python2-renpy | ||||
|   (package | ||||
|     (name "python2-renpy") | ||||
|     (version "7.4.2") | ||||
|     (version "7.4.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.renpy.org/dl/" version | ||||
|                            "/renpy-" version "-source.tar.bz2")) | ||||
|        (sha256 (base32 "1mlrq9q3r36izyskq674qhp8s32iirvvfb4r8z6hi26189aaydsw")) | ||||
|        (sha256 (base32 "1cbbvsk1snjrsh59blb8q2h86555gi23pylmwlnk9dx0jxckdi21")) | ||||
|        (modules '((guix build utils))) | ||||
|        (patches | ||||
|         (search-patches | ||||
|  | @ -1760,6 +1762,44 @@ provide high-quality 3D rendering, it contains an animation editor, and can be | |||
| scripted in a Python-like language.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public entt | ||||
|   (package | ||||
|     (name "entt") | ||||
|     (version "3.7.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/skypjack/entt") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0nzvnhiw3r6nkmxp749zwxc8kzja09nijyxibdbri3g2i7pysf58")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags (list "-DENTT_BUILD_TESTING=ON" | ||||
|                                "-DENTT_FIND_GTEST_PACKAGE=ON" | ||||
|                                "-DENTT_BUILD_DOCS=ON") | ||||
|        ;; Only tests are compiled, and they need assertions to work correctly. | ||||
|        #:build-type "Debug")) | ||||
|     (native-inputs | ||||
|      `(;; for testing | ||||
|        ("googletest" ,googletest) | ||||
|        ;; for documentation | ||||
|        ("doxygen" ,doxygen) | ||||
|        ("graphviz" ,graphviz))) | ||||
|     (synopsis "Entity component system") | ||||
|     (description "EnTT is a header-only library, containing (among other things) | ||||
| @itemize | ||||
| @item an entity component system based on sparse sets, | ||||
| @item a configuration system using the monostate pattern, | ||||
| @item a static reflection system, | ||||
| @item and a cooperative scheduler. | ||||
| @end itemize") | ||||
|     (home-page "https://github.com/skypjack/entt") | ||||
|     (license (list license:expat        ; code | ||||
|                    license:cc-by4.0)))) ; documentation | ||||
| 
 | ||||
| (define-public eureka | ||||
|   (package | ||||
|     (name "eureka") | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ | |||
| ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2020 Trevor Hass <thass@okstate.edu> | ||||
| ;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu> | ||||
| ;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at> | ||||
| ;;; Copyright © 2020 Lu hux <luhux@outlook.com> | ||||
| ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org> | ||||
|  | @ -743,7 +743,7 @@ battlestar (explore the world around, starting from dying spaceship), | |||
| phantasia (role-play as an rogue), trek (hunt the Klingons, and save the | ||||
| Federation), and wump (hunt the big smelly Wumpus in a dark cave). | ||||
| 
 | ||||
| Quizes: arithmetic, and quiz.") | ||||
| Quizzes: arithmetic and quiz.") | ||||
|     ;; "Auxiliary and data files, distributed with the games in NetBSD, but | ||||
|     ;; not bearing copyright notices, probably fall under the terms of the UCB | ||||
|     ;; or NetBSD copyrights and licences.  The file "fortune/Notes" contains a | ||||
|  | @ -2325,7 +2325,7 @@ and defeat them with your bubbles!") | |||
|     (name "solarus") | ||||
|     ;; XXX: When updating this package, please also update hash in | ||||
|     ;; `solarus-quest-editor' below. | ||||
|     (version "1.6.4") | ||||
|     (version "1.6.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2334,7 +2334,7 @@ and defeat them with your bubbles!") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1n6l91yyqjx0pz4w1lp3yybpq0fs2yjswfcm8c1wjfkxwiznbdxi")))) | ||||
|         (base32 "0ny9dgqphjv2l39rff2621hnrzpf8qin8vmnv7jdz20azjk4m8id")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -2393,19 +2393,9 @@ in mind.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1qbc2j9kalk7xqk9j27s7wnm5zawiyjs47xqkqphw683idmzmjzn")))) | ||||
|         (base32 "1pvjgd4faxii5sskw1h55lw90hlbazhwni8nxyywzrmkjbq7irm0")))) | ||||
|     (arguments | ||||
|      `(#:tests? #false                  ;no test | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'fix-qt-build | ||||
|            ;; XXX: Fix build with Qt 5.15.  It has been applied upstream as | ||||
|            ;; 81d5c7f1 and can be removed at next upgrade. | ||||
|            (lambda _ | ||||
|              (substitute* "src/entities/jumper.cpp" | ||||
|                (("#include <QPainter>" all) | ||||
|                 (string-append all "\n" "#include <QPainterPath>\n"))) | ||||
|              #t))))) | ||||
|      `(#:tests? #false))                ; no test suite | ||||
|     (inputs | ||||
|      `(("solarus" ,solarus) | ||||
|        ,@(package-inputs solarus))) | ||||
|  | @ -3464,7 +3454,7 @@ match, cannon keep, and grave-itation pit.") | |||
| (define-public minetest | ||||
|   (package | ||||
|     (name "minetest") | ||||
|     (version "5.4.0") | ||||
|     (version "5.4.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -3473,7 +3463,7 @@ match, cannon keep, and grave-itation pit.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1a17g6cmxrscnqwpwrd4w2ck3dgvplyfq4kzyimilfpqar1q69j9")) | ||||
|                 "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|  | @ -3496,8 +3486,13 @@ match, cannon keep, and grave-itation pit.") | |||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch-sources | ||||
|            (lambda _ | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (substitute* "src/filesys.cpp" | ||||
|                ;; Use store-path for "rm" instead of non-existing FHS path. | ||||
|                (("\"/bin/rm\"") | ||||
|                 (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\""))) | ||||
|              (substitute* "src/CMakeLists.txt" | ||||
|                ;; Let minetest binary remain in build directory. | ||||
|                (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) | ||||
|              (substitute* "src/unittest/test_servermodmanager.cpp" | ||||
|                ;; do no override MINETEST_SUBGAME_PATH | ||||
|  | @ -3521,7 +3516,8 @@ match, cannon keep, and grave-itation pit.") | |||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("curl" ,curl) | ||||
|      `(("coreutils" ,coreutils) | ||||
|        ("curl" ,curl) | ||||
|        ("freetype" ,freetype) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gmp" ,gmp) | ||||
|  | @ -3561,7 +3557,7 @@ in different ways.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11dz36z0pj2r7i8xm8v5lskzws81ckj6sc0avlmvdl8qdc9x83w5")))) | ||||
|                 "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4")))) | ||||
|     (build-system trivial-build-system) | ||||
|     (native-inputs | ||||
|      `(("source" ,source))) | ||||
|  | @ -5847,7 +5843,7 @@ for Un*x systems with X11.") | |||
| (define-public freeciv | ||||
|   (package | ||||
|    (name "freeciv") | ||||
|    (version "2.6.3") | ||||
|    (version "2.6.4") | ||||
|    (source | ||||
|     (origin | ||||
|      (method url-fetch) | ||||
|  | @ -5859,7 +5855,7 @@ for Un*x systems with X11.") | |||
|                   (version-major+minor version) "/" version | ||||
|                   "/freeciv-" version ".tar.bz2"))) | ||||
|      (sha256 | ||||
|       (base32 "1lgq7wcbhwpy2yqdw4biwfmp5q8fh7lhlwxcgm0fpaapfl12whvp")))) | ||||
|       (base32 "1kn122f57wn5a8ryxaz73dlbd5m93mqx3bqmmz2lkgdccrvrbns0")))) | ||||
|    (build-system gnu-build-system) | ||||
|    (inputs | ||||
|     `(("curl" ,curl) | ||||
|  | @ -8738,7 +8734,7 @@ where the player draws runes in real time to effect the desired spell.") | |||
| (define-public edgar | ||||
|   (package | ||||
|     (name "edgar") | ||||
|     (version "1.33") | ||||
|     (version "1.34") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -8746,7 +8742,7 @@ where the player draws runes in real time to effect the desired spell.") | |||
|         (string-append "https://github.com/riksweeney/edgar/releases/download/" | ||||
|                        version "/edgar-" version "-1.tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175")))) | ||||
|         (base32 "1121rq5wk3g8rs413av84s2kcy6qj6maspgy2vsxs36c2jd3yygl")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments '(#:tests? #f            ; there are no tests | ||||
|                  #:make-flags | ||||
|  |  | |||
|  | @ -571,20 +571,19 @@ It also includes runtime support libraries for these languages."))) | |||
| (define-public gcc-10 | ||||
|   (package | ||||
|    (inherit gcc-8) | ||||
|    (version "10.2.0") | ||||
|    (version "10.3.0") | ||||
|    (source (origin | ||||
|             (method url-fetch) | ||||
|             (uri (string-append "mirror://gnu/gcc/gcc-" | ||||
|                                 version "/gcc-" version ".tar.xz")) | ||||
|             (sha256 | ||||
|              (base32 | ||||
|               "130xdkhmz1bc2kzx061s3sfwk36xah1fw5w332c0nzwwpdl47pdq")) | ||||
|               "0i6378ig6h397zkhd7m4ccwjx5alvzrf2hm27p1pzwjhlv0h9x34")) | ||||
|             (patches (search-patches "gcc-9-strmov-store-file-names.patch" | ||||
|                                      "gcc-5.0-libvtv-runpath.patch")))))) | ||||
| 
 | ||||
| ;; Note: When changing the default gcc version, update | ||||
| ;;       the gcc-toolchain-* definitions and the gfortran definition | ||||
| ;;       accordingly. | ||||
| ;;       the gcc-toolchain-* definitions. | ||||
| (define-public gcc gcc-8) | ||||
| 
 | ||||
| (define-public (make-libstdc++ gcc) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -39,7 +39,7 @@ | |||
| (define-public gramps | ||||
|   (package | ||||
|     (name "gramps") | ||||
|     (version "5.1.2") | ||||
|     (version "5.1.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -48,7 +48,7 @@ | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "175iwvdp6c1a8rskl2wpk4yvzl437j7hm23v481974a85qy43iv8")))) | ||||
|         (base32 "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|  |  | |||
|  | @ -151,7 +151,7 @@ | |||
|        ("automake" ,automake) | ||||
|        ("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("libtool" ,libtool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python" ,python-wrapper) | ||||
|  | @ -294,36 +294,6 @@ and driving.") | |||
|     (home-page "https://wiki.gnome.org/Apps/Maps") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public libgaiagraphics | ||||
|   (package | ||||
|     (name "libgaiagraphics") | ||||
|     (version "0.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.gaia-gis.it/gaia-sins/libgaiagraphics-" | ||||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "076afqv417ag3hfvnif0qc7qscmnq1dsf6y431yygwgf34rjkayc")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("cairo" ,cairo) | ||||
|        ("libpng" ,libpng) | ||||
|        ("libjpeg-turbo" ,libjpeg-turbo) | ||||
|        ("libtiff" ,libtiff) | ||||
|        ("libgeotiff" ,libgeotiff) | ||||
|        ("proj.4" ,proj.4) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("zlib" ,zlib))) | ||||
|      (synopsis "Gaia common graphics support") | ||||
|      (description "libgaiagraphics is a library supporting | ||||
|  common-utility raster handling methods.") | ||||
|     (home-page "https://www.gaia-gis.it/fossil/libgaiagraphics/index") | ||||
|     (license license:lgpl3+))) | ||||
| 
 | ||||
| (define-public libgeotiff | ||||
|   (package | ||||
|     (name "libgeotiff") | ||||
|  | @ -373,6 +343,63 @@ writing GeoTIFF information tags.") | |||
|                    (license:non-copyleft "file://LICENSE" | ||||
|                                          "See LICENSE in the distribution."))))) | ||||
| 
 | ||||
| (define-public librasterlite2 | ||||
|   (package | ||||
|     (name "librasterlite2") | ||||
|     (version "1.1.0-beta1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append | ||||
|              "https://www.gaia-gis.it/gaia-sins/librasterlite2-sources/" | ||||
|              "librasterlite2-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1x24gqp4hsq97c31ncwxblab0x0863q8v1z42jil7lvsq3glqa7p")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("cairo" ,cairo) | ||||
|        ("curl" ,curl) | ||||
|        ("freetype" ,freetype) | ||||
|        ("freexl" ,freexl) | ||||
|        ("giflib" ,giflib) | ||||
|        ("libgeotiff" ,libgeotiff) | ||||
|        ("libjpeg-turbo" ,libjpeg-turbo) | ||||
|        ("libpng" ,libpng) | ||||
|        ("librttopo" ,librttopo) | ||||
|        ("libspatialite" ,libspatialite) | ||||
|        ("libtiff" ,libtiff) | ||||
|        ("libwebp" ,libwebp) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("lz4" ,lz4) | ||||
|        ("minizip" ,minizip) | ||||
|        ("openjpeg" ,openjpeg) | ||||
|        ("proj" ,proj) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("zstd" ,zstd "lib"))) | ||||
|     (synopsis "Library to work with huge raster coverages using a SpatiaLite") | ||||
|     (description | ||||
|      "librasterlite2 is a library that stores and retrieves huge raster | ||||
| coverages using a SpatiaLite DBMS.") | ||||
|     (home-page "https://www.gaia-gis.it/fossil/librasterlite2/index") | ||||
|     ;; For the genuine librasterlite-sources holds: | ||||
|     ;; Any of the licenses MPL1.1, GPL2+ or LGPL2.1+  may be picked. | ||||
|     ;; Files under src/control_points are from GRASS | ||||
|     ;; and are licensed under GPL2+ only. | ||||
|     ;; src/md5.[ch]: Placed into the public domain by Alexander Peslyak. | ||||
|     ;; The tools supporting the library (both rl2tool and wmslite) are | ||||
|     ;; licensed under the GPL v3 (or any subsequent version) terms. | ||||
|     ;; The test/*.svg files are placed in the public domain, except for | ||||
|     ;; test/Car_Yellow.svg which is licensed under the Free Art License 1.3. | ||||
|     (license (list license:gpl2+ | ||||
|                    license:gpl3+ | ||||
|                    license:lal1.3 | ||||
|                    license:lgpl2.1+ | ||||
|                    license:mpl1.1 | ||||
|                    license:public-domain)))) | ||||
| 
 | ||||
| (define-public librttopo | ||||
|   (package | ||||
|     (name "librttopo") | ||||
|  | @ -442,9 +469,8 @@ writing GeoTIFF information tags.") | |||
|        ("librttopo" ,librttopo) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("minizip" ,minizip) | ||||
|        ("proj.4" ,proj.4) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("zlib" ,zlib))) | ||||
|        ("proj" ,proj) | ||||
|        ("sqlite" ,sqlite))) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        '("--enable-rttopo=yes") | ||||
|  | @ -454,7 +480,7 @@ writing GeoTIFF information tags.") | |||
|          (add-after 'unpack 'ignore-broken-tests | ||||
|            (lambda _ | ||||
|              (substitute* '("test/Makefile.in") | ||||
|                (("\tcheck_sql_stm.*" all) "\tcheck_multithread$(EXEEXT) \\\n") | ||||
|                (("\tcheck_sql_stmt.* (check_sql_.*)" all tiny) (string-append "\t" tiny)) | ||||
|                (("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n")) | ||||
|                (("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4))) | ||||
|              #t))))) | ||||
|  | @ -686,29 +712,39 @@ development.") | |||
| (define-public spatialite-gui | ||||
|   (package | ||||
|     (name "spatialite-gui") | ||||
|     (version "1.7.1") | ||||
|     (version "2.1.0-beta1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.gaia-gis.it/gaia-sins/spatialite_gui-" | ||||
|                            version ".tar.gz")) | ||||
|        (uri (string-append | ||||
|              "https://www.gaia-gis.it/gaia-sins/spatialite-gui-sources/" | ||||
|              "spatialite_gui-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1r05dz9pyc8vsd2wbqxcsracpfbaamz470rcyp2myfpqwznv376b")))) | ||||
|         (base32 "0cyv4cycl073p9lnnnglcb72qn71g8h9g5zn4gzw7swcy5nxjj5s")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("freexl" ,freexl) | ||||
|      `(("curl" ,curl) | ||||
|        ("freexl" ,freexl) | ||||
|        ("geos" ,geos) | ||||
|        ("libgaiagraphics" ,libgaiagraphics) | ||||
|        ("giflib" ,giflib) | ||||
|        ("libjpeg-turbo" ,libjpeg-turbo) | ||||
|        ("librasterlite2" ,librasterlite2) | ||||
|        ("librttopo" ,librttopo) | ||||
|        ("libspatialite" ,libspatialite) | ||||
|        ("libwebp" ,libwebp) | ||||
|        ("libxlsxwriter" ,libxlsxwriter) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("proj.4" ,proj.4) | ||||
|        ("lz4" ,lz4) | ||||
|        ("minizip" ,minizip) | ||||
|        ("openjpeg" ,openjpeg) | ||||
|        ("postgresql" ,postgresql) | ||||
|        ("proj" ,proj) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("wxwidgets" ,wxwidgets-2) | ||||
|        ("zlib" ,zlib))) | ||||
|        ("virtualpg" ,virtualpg) | ||||
|        ("wxwidgets" ,wxwidgets) | ||||
|        ("zstd" ,zstd "lib"))) | ||||
|     (arguments | ||||
|      `(#:phases (modify-phases %standard-phases | ||||
|                   (add-after 'unpack 'fix-gui | ||||
|  | @ -1066,7 +1102,7 @@ map, geocoding with Nominatim, or general analysis.") | |||
| (define-public tippecanoe | ||||
|   (package | ||||
|     (name "tippecanoe") | ||||
|     (version "1.31.5") | ||||
|     (version "1.36.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1075,14 +1111,14 @@ map, geocoding with Nominatim, or general analysis.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1m0x931a945sr7axyhcvpwh798m58hx1zxh6ikgf9gsgqhdhmszz")))) | ||||
|         (base32 "0lbmhly4ivnqc6qk1k3sdqvsg6x3nfd8gnjx846bhqj4wag3f88m")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases (delete 'configure)) | ||||
|        #:test-target "test" | ||||
|        #:make-flags | ||||
|        (list "CC=gcc" | ||||
|        (list (string-append "CC=" ,(cc-for-target)) | ||||
|              (string-append "PREFIX=" (assoc-ref %outputs "out"))))) | ||||
|     (inputs | ||||
|      `(("perl" ,perl) | ||||
|  | @ -1138,7 +1174,7 @@ OpenStreetMap data files.") | |||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("gnome-common" ,gnome-common) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("cairo" ,cairo) | ||||
|  | @ -1748,10 +1784,9 @@ associated attribute file (@file{.dbf}).") | |||
|        ("libspatialite" ,libspatialite) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("minizip" ,minizip) | ||||
|        ("proj.4" ,proj.4) | ||||
|        ("proj" ,proj) | ||||
|        ("readosm" ,readosm) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("zlib" ,zlib))) | ||||
|        ("sqlite" ,sqlite))) | ||||
|     (synopsis "Collection of command line tools for SpatiaLite") | ||||
|     (description | ||||
|      "@code{spatialite-tools} is a collection of Command Line Interface (CLI) | ||||
|  | @ -1978,7 +2013,7 @@ visualization.") | |||
| (define-public saga | ||||
|   (package | ||||
|     (name "saga") | ||||
|     (version "7.6.2") | ||||
|     (version "7.9.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1986,7 +2021,7 @@ visualization.") | |||
|                            (version-major version) "/SAGA%20-%20" version | ||||
|                            "/saga-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "09j5magmayq2y620kqa490mfd1kpdp3lng2ifcgbrmssc079ybm0")))) | ||||
|         (base32 "1n051yxxkylly0k9rlkx2ih3j2lf9d4csg00sm7161r7nhjvggd1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|  | @ -2001,7 +2036,7 @@ visualization.") | |||
|        ("libtiff" ,libtiff) | ||||
|        ("opencv" ,opencv) | ||||
|        ("postgresql" ,postgresql) | ||||
|        ("proj.4" ,proj.4) | ||||
|        ("proj" ,proj) | ||||
|        ("python" ,python) | ||||
|        ("qhull" ,qhull) | ||||
|        ("unixodbc" ,unixodbc) | ||||
|  | @ -2047,7 +2082,21 @@ growing set of geoscientific methods.") | |||
|                (("sip_dir = cfg.default_sip_dir") | ||||
|                 (string-append "sip_dir = \"" | ||||
|                                (assoc-ref inputs "python-pyqt+qscintilla") | ||||
|                                "/share/sip\""))) | ||||
|                                "/share/sip\"")) | ||||
|                ;; Fix building with python-sip@5. | ||||
|                ;; | ||||
|                ;; The reason for this is that python-sip@5 introduces some | ||||
|                ;; changes such as a new build system 'sip-build' as well as the | ||||
|                ;; use of the path "/lib/pythonX.X/site-packages/*/bindings/" | ||||
|                ;; instead of "/share/sip/" for .sip files. However, we do not | ||||
|                ;; actually use that those yet. QGIS detects SIP5 and assumes we | ||||
|                ;; are, messing up the build. The long term solution is to fully | ||||
|                ;; upgrade SIP, use sip-build and fix all failing packages, but | ||||
|                ;; for now I just want to get the build working. | ||||
|                ((".pyqt_sip_dir...os.path.join.*,") | ||||
|                 (string-append "'pyqt_sip_dir': \"" | ||||
|                                (assoc-ref inputs "python-pyqt+qscintilla") | ||||
|                                "/share/sip"  "\","))) | ||||
|              (substitute* (list "scripts/prepare_commit.sh" | ||||
|                                 "scripts/qstringfixup.sh" | ||||
|                                 "scripts/release.pl" | ||||
|  |  | |||
|  | @ -36,7 +36,9 @@ | |||
|   #:use-module (gnu packages algebra) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages build-tools) | ||||
|   #:use-module (gnu packages documentation) | ||||
|   #:use-module (gnu packages graphviz) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages gtk) | ||||
|  | @ -166,7 +168,7 @@ of a larger interface.") | |||
| (define-public babl | ||||
|   (package | ||||
|     (name "babl") | ||||
|     (version "0.1.78") | ||||
|     (version "0.1.86") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (list (string-append "https://download.gimp.org/pub/babl/" | ||||
|  | @ -180,10 +182,11 @@ of a larger interface.") | |||
|                                         "/babl-" version ".tar.xz"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p")))) | ||||
|                 "1w68h81kqkqnziixrx21qs0gfv2z79651h19sxn226xdb58mjgqb")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|      `(#:meson ,meson-0.55 | ||||
|        #:configure-flags | ||||
|        (list "-Denable-gir=false"))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  | @ -205,7 +208,7 @@ provided, as well as a framework to add new color models and data types.") | |||
| (define-public gegl | ||||
|   (package | ||||
|     (name "gegl") | ||||
|     (version "0.4.26") | ||||
|     (version "0.4.28") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (list (string-append "https://download.gimp.org/pub/gegl/" | ||||
|  | @ -219,10 +222,11 @@ provided, as well as a framework to add new color models and data types.") | |||
|                                         "/gegl-" version ".tar.xz"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "097427icgpgvcx40019b3dm8m84cchz79pixzpz648drs8p1wdqg")))) | ||||
|                 "003ri7yv7lm2fi86ama3vlkwnz656yyib4r36hxwlk6mfy2hs48x")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|      `(#:meson ,meson-0.55 | ||||
|        #:configure-flags | ||||
|        (list "-Dintrospection=false") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|  | @ -266,14 +270,15 @@ buffers.") | |||
|   (package | ||||
|     (name "gimp") | ||||
|     (version "2.10.22") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://download.gimp.org/pub/gimp/v" | ||||
|                                   (version-major+minor version) | ||||
|                                   "/gimp-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")))) | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://download.gimp.org/pub/gimp/v" | ||||
|                            (version-major+minor version) | ||||
|                            "/gimp-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")) | ||||
|        (patches (search-patches "gimp-make-gegl-introspect-optional.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" | ||||
|                "doc"))                            ; 9 MiB of gtk-doc HTML | ||||
|  | @ -541,6 +546,29 @@ healing the border, increasing the resolution while adding detail, and | |||
| transferring the style of an image.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define gegl-for-glimpse | ||||
|   ;; Remove this when GIMP commit 2cae9b9acf9da98c4c9990819ffbd5aabe23017e | ||||
|   ;; makes it into Glimpse. | ||||
|   (package | ||||
|     (inherit gegl) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments gegl) | ||||
|        ((#:phases phases) | ||||
|         `(modify-phases ,phases | ||||
|            (add-after 'unpack 'refer-to-dot | ||||
|              ;; XXX Without ‘dot’ in $PATH, Glimpse would fail to start with an | ||||
|              ;; extremely obtuse ‘GEGL operation missing!’ error. | ||||
|              (lambda _ | ||||
|                (substitute* "gegl/gegl-dot.c" | ||||
|                  (("\"dot ") | ||||
|                   (format #f "\"~a " (which "dot")))) | ||||
|                (substitute* "operations/common/introspect.c" | ||||
|                  (("g_find_program_in_path \\(\"dot\"\\)") | ||||
|                   (format #f "g_strdup (\"~a\")" (which "dot")))))))))) | ||||
|     (inputs | ||||
|      `(,@(package-inputs gegl) | ||||
|        ("graphviz" ,graphviz))))) | ||||
| 
 | ||||
| (define-public glimpse | ||||
|   (package | ||||
|     (name "glimpse") | ||||
|  | @ -620,7 +648,7 @@ transferring the style of an image.") | |||
|        ("poppler-data" ,poppler-data) | ||||
|        ("python" ,python-2)             ; optional, Python support | ||||
|        ("python2-pygtk" ,python2-pygtk) ; optional, Python support | ||||
|        ("gegl" ,gegl))) | ||||
|        ("gegl" ,gegl-for-glimpse)))     ; XXX see comment in gegl-for-glimpse | ||||
|     (home-page "https://glimpse-editor.github.io/") | ||||
|     (synopsis "Glimpse Image Editor") | ||||
|     (description "The Glimpse Image Editor is an application for image | ||||
|  |  | |||
|  | @ -271,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.") | |||
|         ("libxrandr" ,libxrandr) | ||||
|         ("libxvmc" ,libxvmc) | ||||
|         ,@(match (%current-system) | ||||
|             ((or "x86_64-linux" "i686-linux") | ||||
|             ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") | ||||
|              ;; Note: update the 'clang' input of mesa-opencl when bumping this. | ||||
|              `(("llvm" ,llvm-11))) | ||||
|             (_ | ||||
|  | @ -283,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.") | |||
|         ("flex" ,flex) | ||||
|         ("gettext" ,gettext-minimal) | ||||
|         ,@(match (%current-system) | ||||
|             ((or "x86_64-linux" "i686-linux") | ||||
|             ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") | ||||
|              `(("glslang" ,glslang))) | ||||
|             (_ | ||||
|              `())) | ||||
|  | @ -296,8 +296,10 @@ also known as DXTn or DXTC) for Mesa.") | |||
|      `(#:configure-flags | ||||
|        '(,@(match (%current-system) | ||||
|              ((or "armhf-linux" "aarch64-linux") | ||||
|               ;; TODO: Fix svga driver for aarch64 and armhf. | ||||
|               ;; TODO: Fix svga driver for non-Intel architectures. | ||||
|               '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) | ||||
|              ("powerpc64le-linux" | ||||
|               '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl")) | ||||
|              (_ | ||||
|               '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl"))) | ||||
|          ;; Enable various optional features.  TODO: opencl requires libclc, | ||||
|  | @ -314,16 +316,18 @@ also known as DXTn or DXTC) for Mesa.") | |||
|          "-Dgbm=enabled" | ||||
|          "-Dshared-glapi=enabled" | ||||
| 
 | ||||
|          ;; Enable Vulkan on i686-linux and x86-64-linux. | ||||
|          ;; Explicitly enable Vulkan on some architectures. | ||||
|          ,@(match (%current-system) | ||||
|              ((or "i686-linux" "x86_64-linux") | ||||
|               '("-Dvulkan-drivers=intel,amd")) | ||||
|              ("powerpc64le-linux" | ||||
|               '("-Dvulkan-drivers=amd")) | ||||
|              (_ | ||||
|               '("-Dvulkan-drivers=auto"))) | ||||
| 
 | ||||
|          ;; Enable the Vulkan overlay layer on i686-linux and x86-64-linux. | ||||
|          ;; Enable the Vulkan overlay layer on architectures using llvm. | ||||
|          ,@(match (%current-system) | ||||
|              ((or "x86_64-linux" "i686-linux") | ||||
|              ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") | ||||
|               '("-Dvulkan-overlay-layer=true")) | ||||
|              (_ | ||||
|               '())) | ||||
|  | @ -337,6 +341,9 @@ also known as DXTn or DXTC) for Mesa.") | |||
|              ((or "x86_64-linux" "i686-linux") | ||||
|               '("-Ddri-drivers=i915,i965,nouveau,r200,r100" | ||||
|                 "-Dllvm=enabled"))      ; default is x86/x86_64 only | ||||
|              ("powerpc64le-linux" | ||||
|               '("-Ddri-drivers=nouveau,r200,r100" | ||||
|                 "-Dllvm=enabled")) | ||||
|              (_ | ||||
|               '("-Ddri-drivers=nouveau,r200,r100")))) | ||||
| 
 | ||||
|  | @ -350,6 +357,15 @@ also known as DXTn or DXTC) for Mesa.") | |||
|                   (guix build meson-build-system)) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          ,@(if (string-prefix? "powerpc64le" (or (%current-target-system) | ||||
|                                                  (%current-system))) | ||||
|                ;; Disable some of the llvmpipe tests. | ||||
|                `((add-after 'unpack 'disable-failing-test | ||||
|                    (lambda _ | ||||
|                      (substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c" | ||||
|                        (("0\\.5, ") "")) | ||||
|                      #t))) | ||||
|                '()) | ||||
|          ,@(if (string-prefix? "i686" (or (%current-target-system) | ||||
|                                           (%current-system))) | ||||
|                ;; Disable new test from Mesa 19 that fails on i686.  Upstream | ||||
|  | @ -390,7 +406,7 @@ also known as DXTn or DXTC) for Mesa.") | |||
|              (let ((out (assoc-ref outputs "out")) | ||||
|                    (bin (assoc-ref outputs "bin"))) | ||||
|                ,@(match (%current-system) | ||||
|                    ((or "i686-linux" "x86_64-linux") | ||||
|                    ((or "i686-linux" "x86_64-linux" "powerpc64le-linux") | ||||
|                     ;; Install the Vulkan overlay control script to a separate | ||||
|                     ;; output to prevent a reference on Python, saving ~70 MiB | ||||
|                     ;; on the closure size. | ||||
|  | @ -728,7 +744,7 @@ OpenGL graphics API.") | |||
|     (description | ||||
|      "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL | ||||
| API calls between multiple vendors.  It allows multiple drivers from | ||||
| different vendors to coexist on the same filesystem, and determines which | ||||
| different vendors to coexist on the same file system, and determines which | ||||
| vendor to dispatch each API call to at runtime. | ||||
| 
 | ||||
| Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.") | ||||
|  | @ -783,7 +799,7 @@ OpenGL.") | |||
| (define-public glfw | ||||
|   (package | ||||
|     (name "glfw") | ||||
|     (version "3.3.3") | ||||
|     (version "3.3.4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/glfw/glfw" | ||||
|  | @ -791,7 +807,7 @@ OpenGL.") | |||
|                                   "/glfw-" version ".zip")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0xrrahhbs4sn7sgvdk9sgz5zla4sw3ajq6kxpqrx635l8nnqfc3j")))) | ||||
|                 "1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f ; no test target | ||||
|  |  | |||
|  | @ -1159,7 +1159,7 @@ other API remains the same.") | |||
|      `(("bison" ,bison) | ||||
|        ("flex" ,flex) | ||||
|        ("glib:bin" ,glib "bin") ;; For glib-mkenums | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|     (home-page "https://gitlab.gnome.org/GNOME/template-glib") | ||||
|  |  | |||
|  | @ -950,9 +950,9 @@ feature-set for programming Vala effectively.") | |||
|          #:exclude ("README.md" "LICENSE" "Art/" "package.json" | ||||
|                     "package-lock.json" "Gulpfile.js"))))) | ||||
|    (home-page "https://github.com/EliverLara/Nordic") | ||||
|    (synopsis "Dark Gtk3.20+ theme using the Nord color pallete") | ||||
|    (synopsis "Dark Gtk3.20+ theme using the Nord color palette") | ||||
|    (description "Nordic is a Gtk3.20+ theme created using the Nord color | ||||
| pallete.") | ||||
| palette.") | ||||
|    (license license:gpl3)))) | ||||
| 
 | ||||
| (define-public tiramisu | ||||
|  |  | |||
|  | @ -202,7 +202,6 @@ | |||
|   #:use-module (gnu packages xml) | ||||
|   #:use-module (gnu packages xorg) | ||||
|   #:use-module (gnu artwork) | ||||
|   #:use-module ((guix build utils) #:select (modify-phases)) | ||||
|   #:use-module (guix build-system cargo) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system glib-or-gtk) | ||||
|  | @ -216,8 +215,6 @@ | |||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix gexp) | ||||
|   #:use-module (guix monads) | ||||
|   #:use-module (guix store) | ||||
|   #:use-module (ice-9 match) | ||||
|   #:use-module (srfi srfi-1)) | ||||
| 
 | ||||
|  | @ -264,7 +261,7 @@ | |||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      `(("glib" ,glib) | ||||
|  | @ -367,7 +364,7 @@ features to enable users to create their discs easily and quickly.") | |||
|     (native-inputs | ||||
|      `(("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|     (inputs | ||||
|  | @ -416,7 +413,7 @@ services.") | |||
|     (native-inputs | ||||
|      `(("docbook-xml" ,docbook-xml-4.1.2) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      `(("glib" ,glib) | ||||
|  | @ -513,7 +510,7 @@ bindings.") | |||
|        ("docbook-xml" ,docbook-xml-4.1.2) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("libtool" ,libtool) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|  | @ -623,7 +620,7 @@ It is written in C using GObject and libsoup.") | |||
|                        "/share/gtk-doc/html")))) | ||||
|     (native-inputs | ||||
|      `(("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      `(("glib" ,glib))) | ||||
|  | @ -693,7 +690,7 @@ of writing test cases for asynchronous interactions.") | |||
|        ("dbus-test-runner" ,dbus-test-runner) | ||||
|        ("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ;; Would only be required by configure flag "--enable-extended-tests". | ||||
|        ;("gtx" ,gtx) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|  | @ -769,7 +766,7 @@ of known objects without needing a central registrar.") | |||
|        ("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("libtool" ,libtool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala) | ||||
|  | @ -1178,7 +1175,7 @@ Library reference documentation.") | |||
|     `(("docbook-xml" ,docbook-xml-4.3) | ||||
|       ("gettext" ,gettext-minimal) | ||||
|       ("glib:bin" ,glib "bin") | ||||
|       ("gtk-doc" ,gtk-doc) | ||||
|       ("gtk-doc" ,gtk-doc/stable) | ||||
|       ("pkg-config" ,pkg-config))) | ||||
|    (inputs | ||||
|     `(("avahi" ,avahi) | ||||
|  | @ -1296,7 +1293,7 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") | |||
|     `(("gettext" ,gettext-minimal) | ||||
|       ("glib:bin" ,glib "bin") | ||||
|       ("gobject-introspection" ,gobject-introspection) | ||||
|       ("gtk-doc" ,gtk-doc) | ||||
|       ("gtk-doc" ,gtk-doc/stable) | ||||
|       ("pkg-config" ,pkg-config) | ||||
|       ("vala" ,vala))) | ||||
|    (inputs | ||||
|  | @ -1327,7 +1324,7 @@ a debugging tool, @command{gssdp-device-sniffer}.") | |||
|     `(("gettext" ,gettext-minimal) | ||||
|       ("glib:bin" ,glib "bin") | ||||
|       ("gobject-introspection" ,gobject-introspection) | ||||
|       ("gtk-doc" ,gtk-doc) | ||||
|       ("gtk-doc" ,gtk-doc/stable) | ||||
|       ("pkg-config" ,pkg-config) | ||||
|       ("vala" ,vala))) | ||||
|    (inputs | ||||
|  | @ -1358,7 +1355,7 @@ for creating UPnP devices and control points, written in C using | |||
|     `(("gettext" ,gettext-minimal) | ||||
|       ("glib:bin" ,glib "bin") | ||||
|       ("gobject-introspection" ,gobject-introspection) | ||||
|       ("gtk-doc" ,gtk-doc) | ||||
|       ("gtk-doc" ,gtk-doc/stable) | ||||
|       ("libxml" ,libxml2) | ||||
|       ("pkg-config" ,pkg-config) | ||||
|       ("vala" ,vala))) | ||||
|  | @ -1392,7 +1389,7 @@ given profile, etc.  DLNA is a subset of UPnP A/V.") | |||
|     `(("gettext" ,gettext-minimal) | ||||
|       ("glib:bin" ,glib "bin") | ||||
|       ("gobject-introspection" ,gobject-introspection) | ||||
|       ("gtk-doc" ,gtk-doc) | ||||
|       ("gtk-doc" ,gtk-doc/stable) | ||||
|       ("libxml" ,libxml2) | ||||
|       ("pkg-config" ,pkg-config))) | ||||
|    (inputs | ||||
|  | @ -1608,7 +1605,7 @@ preview files on the GNOME desktop.") | |||
|     (native-inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|     (inputs | ||||
|  | @ -1670,7 +1667,7 @@ client devices can handle.") | |||
|      `(("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|  | @ -2417,7 +2414,7 @@ GNOME Desktop.") | |||
|        ("automake" ,automake) | ||||
|        ("glib" ,glib "bin")             ; for glib-genmarshal, etc. | ||||
|        ("gnome-common" ,gnome-common) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("libtool" ,libtool) | ||||
|  | @ -3057,7 +3054,7 @@ configuring CUPS.") | |||
|        ("gobject-introspection" ,gobject-introspection) | ||||
| 
 | ||||
|        ;; For the documentation. | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("xsltproc" ,libxslt) | ||||
|        ("docbook-xsl" ,docbook-xsl))) | ||||
|     (home-page "https://developer-next.gnome.org/libnotify/") | ||||
|  | @ -4216,6 +4213,57 @@ engineering.") | |||
|     ;; Dual licensed under GPLv2 or GPLv3 (both without "or later") | ||||
|      (list license:gpl2 license:gpl3)))) | ||||
| 
 | ||||
| (define-public drawing | ||||
|   (package | ||||
|     (name "drawing") | ||||
|     (version "0.6.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/maoschanz/drawing") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1kfgmalakifcvzhzss9zhmqjbdk24zr22c5xwkkahlvfcafp13wn")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:glib-or-gtk? #t | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((prog (string-append (assoc-ref outputs "out") | ||||
|                                         "/bin/drawing")) | ||||
|                    (pylib (string-append (assoc-ref outputs "out") | ||||
|                                          "/lib/python" | ||||
|                                          ,(version-major+minor | ||||
|                                            (package-version python)) | ||||
|                                          "/site-packages"))) | ||||
|                (wrap-program prog | ||||
|                  `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) | ||||
|                  `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) | ||||
|                #t)))))) | ||||
|     (native-inputs | ||||
|      `(("desktop-file-utils" ,desktop-file-utils) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk+:bin" ,gtk+ "bin") | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("gdk-pixbuf" ,gdk-pixbuf+svg) | ||||
|        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||
|        ("gtk+" ,gtk+) | ||||
|        ("pango" ,pango) | ||||
|        ("python-pycairo" ,python-pycairo) | ||||
|        ("python-pygobject" ,python-pygobject))) | ||||
|     (home-page "https://maoschanz.github.io/drawing/") | ||||
|     (synopsis "Basic image editor for GNOME") | ||||
|     (description | ||||
|      "Drawing is a basic image editor aiming at the GNOME desktop.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public gnome-themes-standard | ||||
|   (package | ||||
|     (name "gnome-themes-standard") | ||||
|  | @ -4409,7 +4457,7 @@ editors, IDEs, etc.") | |||
|                 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs | ||||
|      `(("gtk-doc" ,gtk-doc) | ||||
|      `(("gtk-doc" ,gtk-doc/stable) | ||||
|        ,@(package-native-inputs vte))) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-Ddocs=true"))) | ||||
|  | @ -4526,7 +4574,7 @@ and RDP protocols.") | |||
|        ("docbook-xml" ,docbook-xml-4.2) | ||||
|        ("docbook-xsl" ,docbook-xsl) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|     (arguments | ||||
|  | @ -4634,7 +4682,7 @@ GLib and GObject, and integrates JSON with GLib data types.") | |||
|      `(("glib:bin"              ,glib "bin") ; for glib-mkenums, etc. | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("pkg-config"            ,pkg-config) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("which" ,which) | ||||
|        ("autoconf" ,autoconf) | ||||
|  | @ -4863,7 +4911,7 @@ libxml to ease remote use of the RESTful API.") | |||
|      `(("docbook-xml" ,docbook-xml-4.1.2) | ||||
|        ("glib:bin" ,glib "bin")                   ; for glib-mkenums | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python" ,python-wrapper) | ||||
|  | @ -5230,7 +5278,7 @@ keyboard shortcuts.") | |||
|      `(("glib:bin" ,glib "bin")         ; for glib-compile-resources, etc. | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala))) | ||||
|     (propagated-inputs | ||||
|  | @ -5275,7 +5323,7 @@ output devices.") | |||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("modem-manager" ,modem-manager) | ||||
|        ("libnotify" ,libnotify) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool))) | ||||
|     (inputs | ||||
|      `(("avahi" ,avahi) | ||||
|  | @ -5320,7 +5368,7 @@ permission from user.") | |||
|        ("glibc-locales" ,glibc-locales) ; for tests | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("json-glib" ,json-glib))) | ||||
|     (propagated-inputs | ||||
|  | @ -5626,7 +5674,7 @@ which are easy to play with the aid of a mouse.") | |||
|     (native-inputs | ||||
|      `(("gobject-introspection" ,gobject-introspection) | ||||
|        ("glib:bin" ,glib "bin")         ; for glib-mkenums | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("glib" ,glib) | ||||
|  | @ -6043,7 +6091,7 @@ as possible!") | |||
|        ("intltool" ,intltool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("vala" ,vala))) | ||||
|     (inputs | ||||
|      `(("cyrus-sasl" ,cyrus-sasl) | ||||
|  | @ -6477,7 +6525,7 @@ part of udev-extras, then udev, then systemd.  It's now a project on its own.") | |||
|     (native-inputs | ||||
|      `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("xsltproc" ,libxslt))) | ||||
|     (inputs | ||||
|  | @ -6542,7 +6590,7 @@ DAV, and others.") | |||
|      `(("gobject-introspection" ,gobject-introspection) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("vala" ,vala) | ||||
|        ("gtk-doc" ,gtk-doc))) | ||||
|        ("gtk-doc" ,gtk-doc/stable))) | ||||
|     (propagated-inputs | ||||
|      ;; Both of these are required by gusb.pc. | ||||
|      `(("glib" ,glib) | ||||
|  | @ -6655,9 +6703,11 @@ almost all of them.") | |||
|        ("python-pygobject" ,python-pygobject) | ||||
|        ("python-pycairo" ,python-pycairo) | ||||
|        ("python-pycrypto" ,python-pycrypto) | ||||
|        ("libhandy" ,libhandy) | ||||
|        ("libsecret" ,libsecret) | ||||
|        ("gtkspell3" ,gtkspell3) | ||||
|        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||
|        ("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough | ||||
|        ("webkitgtk" ,webkitgtk))) | ||||
|     (home-page "https://wiki.gnome.org/Apps/Eolie") | ||||
|     (synopsis "Web browser for GNOME") | ||||
|  | @ -7752,7 +7802,7 @@ users.") | |||
|      `(("glib" ,glib))) | ||||
|     (native-inputs | ||||
|      `(("glib:bin" ,glib "bin")         ; for gdbus-codegen | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("docbook-xml" ,docbook-xml) | ||||
|        ("docbook-xsl" ,docbook-xsl) | ||||
|  | @ -8009,7 +8059,7 @@ Cisco's AnyConnect SSL VPN.") | |||
|      `(("intltool" ,intltool) | ||||
|        ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      ;; libnm-gtk.pc refers to all these. | ||||
|  | @ -9758,7 +9808,7 @@ compiled.") | |||
|                            "--enable-introspection"))) | ||||
|     (native-inputs | ||||
|      `(("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
| 
 | ||||
|        ;; The 0.2.4 ‘release’ tarball isn't bootstrapped. | ||||
|  | @ -9830,7 +9880,7 @@ environment, which can notably display keyboard layouts.") | |||
|      `(("pkg-config" ,pkg-config) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gtk-doc" ,gtk-doc))) | ||||
|        ("gtk-doc" ,gtk-doc/stable))) | ||||
|     (propagated-inputs | ||||
|      ;; Referred to in .h files and .pc. | ||||
|      `(("gtk+" ,gtk+))) | ||||
|  | @ -10415,7 +10465,7 @@ photo-booth-like software, such as Cheese.") | |||
|        ("docbook-xml" ,docbook-xml-4.3) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("itstool" ,itstool) | ||||
|        ("libxml2" ,libxml2) | ||||
|        ("libxslt" ,libxslt) | ||||
|  | @ -10847,7 +10897,7 @@ advanced image management tool") | |||
| (define-public terminator | ||||
|   (package | ||||
|     (name "terminator") | ||||
|     (version "2.1.0") | ||||
|     (version "2.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -10855,8 +10905,7 @@ advanced image management tool") | |||
|                            "releases/download/v" version "/" | ||||
|                            name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1vap4li2i24l1iz2q4b8wvhj8flamarf18xcmzq5ik2vzcrisbjy")))) | ||||
|         (base32 "0xdgmam7ghnxw6g38a4gjw3kk3rhga8c66lns18k928jlr9fmddw")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|  | @ -10954,7 +11003,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") | |||
|      `(("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner | ||||
|        ("vala" ,vala) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("gettext" ,gettext-minimal) | ||||
| 
 | ||||
|  | @ -11489,7 +11538,7 @@ card sheets that you’ll find at most office supply stores.") | |||
|      `(("gettext" ,gettext-minimal) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("itstool" ,itstool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|  | @ -12081,7 +12130,7 @@ developed with the aim of being used with the Librem 5 phone.") | |||
|        ("glib:bin" ,glib "bin") | ||||
|        ("gnome-common" ,gnome-common) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("intltool" ,intltool) | ||||
|        ("libtool" ,libtool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|  |  | |||
|  | @ -56,7 +56,7 @@ list.") | |||
| (define-public gnu-standards | ||||
|   (package | ||||
|     (name "gnu-standards") | ||||
|     (version "2018-02-18") | ||||
|     (version "2020-11-25") | ||||
|     (source | ||||
|      (origin | ||||
|        (method cvs-fetch) | ||||
|  | @ -64,11 +64,11 @@ list.") | |||
|              (root-directory | ||||
|               ":pserver:anonymous@cvs.savannah.gnu.org:/sources/gnustandards") | ||||
|              (module "gnustandards") | ||||
|              (revision "2018-02-18"))) | ||||
|              (revision version))) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "03yh25fpvfn5pnd0d4x7a2wkh01ffk6vbs1vjnzqicqkgc2g33sd")) | ||||
|        (file-name "gnu-standards-src"))) | ||||
|          "1xlwmgcnvp81ipgfir4ckpgl922mbckvxy1x758r0lksq5vrpglj")) | ||||
|        (file-name (string-append name "-" version "-checkout")))) | ||||
|     (build-system trivial-build-system) | ||||
|     (native-inputs `(("gzip" ,gzip) | ||||
|                      ("source" ,source) | ||||
|  |  | |||
|  | @ -1305,11 +1305,11 @@ standards of the IceCat project.") | |||
|        (cpe-version . ,(first (string-split version #\-))))))) | ||||
| 
 | ||||
| ;; Update this together with icecat! | ||||
| (define %icedove-build-id "20210223000000") ;must be of the form YYYYMMDDhhmmss | ||||
| (define %icedove-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss | ||||
| (define-public icedove | ||||
|   (package | ||||
|     (name "icedove") | ||||
|     (version "78.8.0") | ||||
|     (version "78.9.0") | ||||
|     (source icecat-source) | ||||
|     (properties | ||||
|      `((cpe-name . "thunderbird_esr"))) | ||||
|  | @ -1589,7 +1589,7 @@ standards of the IceCat project.") | |||
|         ;; in the Thunderbird release tarball.  We don't use the release | ||||
|         ;; tarball because it duplicates the Icecat sources and only adds the | ||||
|         ;; "comm" directory, which is provided by this repository. | ||||
|         ,(let ((changeset "d801a94f25867ca5f2f3488c4700532351987999")) | ||||
|         ,(let ((changeset "1a5cd2aa11de609116f258b413afcf113ed72f3a")) | ||||
|            (origin | ||||
|              (method hg-fetch) | ||||
|              (uri (hg-reference | ||||
|  | @ -1598,7 +1598,7 @@ standards of the IceCat project.") | |||
|              (file-name (string-append "thunderbird-" version "-checkout")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "19h1s9qcxzcvbd1m07xajk5lhpikj53k5fp3nwvl38xj7a3s0gxw"))))) | ||||
|                "0qgz9qj8gbn2ccmhvk3259ahs9p435ipvkzsysn3xj8a6klbz02w"))))) | ||||
|        ("autoconf" ,autoconf-2.13) | ||||
|        ("cargo" ,rust "cargo") | ||||
|        ("clang" ,clang) | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> | ||||
| ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com> | ||||
| ;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org> | ||||
|  | @ -2099,7 +2099,7 @@ application's http.Handlers.") | |||
| (define-public go-github-com-sirupsen-logrus | ||||
|   (package | ||||
|     (name "go-github-com-sirupsen-logrus") | ||||
|     (version "1.0.5") | ||||
|     (version "1.8.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2109,17 +2109,16 @@ application's http.Handlers.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz")))) | ||||
|          "0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42")))) | ||||
|     (build-system go-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("go-golang-org-x-crypto" | ||||
|         ,go-golang-org-x-crypto) | ||||
|        ("go-github-com-stretchr-testify" | ||||
|         ,go-github-com-stretchr-testify) | ||||
|      `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew) | ||||
|        ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib) | ||||
|        ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify) | ||||
|        ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) | ||||
|        ("go-golang-org-x-sys" ,go-golang-org-x-sys))) | ||||
|     (arguments | ||||
|      '(#:tests? #f                    ;FIXME missing dependencies | ||||
|        #:import-path "github.com/sirupsen/logrus")) | ||||
|      '(#:import-path "github.com/sirupsen/logrus")) | ||||
|     (home-page "https://github.com/sirupsen/logrus") | ||||
|     (synopsis "Structured, pluggable logging for Go") | ||||
|     (description "Logrus is a structured logger for Go, completely API | ||||
|  | @ -3966,7 +3965,7 @@ without requiring a real database connection.") | |||
|     (home-page "https://github.com/go-sql-driver/mysql") | ||||
|     (synopsis "MySQL driver for golang") | ||||
|     (description | ||||
|      "This is a pure Go implementaton of the MySQL API, compatible with | ||||
|      "This is a pure Go implementation of the MySQL API, compatible with | ||||
| golang's database/sql package.") | ||||
|     (license license:mpl2.0))) | ||||
| 
 | ||||
|  | @ -5505,7 +5504,7 @@ the parse trees produced by the html package.") | |||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/PuerkitoBio/goquery")) | ||||
|     (native-inputs | ||||
|     (propagated-inputs | ||||
|      `(("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia) | ||||
|        ("go-golang-org-x-net" ,go-golang-org-x-net))) | ||||
|     (home-page "https://github.com/PuerkitoBio/goquery") | ||||
|  | @ -5828,7 +5827,7 @@ which produce colorized output using github.com/fatih/color.") | |||
|     (synopsis "Write handsome command-line tools with glamour") | ||||
|     (description "@code{glamour} lets you render markdown documents and | ||||
| templates on ANSI compatible terminals.  You can create your own stylesheet or | ||||
| use one of our glamourous default themes.") | ||||
| use one of our glamorous default themes.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public go-github-com-coreos-go-semver | ||||
|  | @ -6912,7 +6911,7 @@ atomic access.") | |||
|     (propagated-inputs | ||||
|      `(("go-go-uber-org-atomic" ,go-go-uber-org-atomic))) | ||||
|     (home-page "https://go.uber.org/multierr") | ||||
|     (synopsis "Error combination fo Go") | ||||
|     (synopsis "Error combination for Go") | ||||
|     (description | ||||
|      "@code{multierr} allows combining one or more Go errors together.") | ||||
|     (license license:expat))) | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
|  | @ -25,6 +25,7 @@ | |||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages freedesktop) | ||||
|   #:use-module (gnu packages glib) | ||||
|  | @ -38,7 +39,7 @@ | |||
| (define-public gpodder | ||||
|   (package | ||||
|     (name "gpodder") | ||||
|     (version "3.10.17") | ||||
|     (version "3.10.18") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -46,18 +47,23 @@ | |||
|              (url "https://github.com/gpodder/gpodder") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 "0wrk8d4q6ricbcjzlhk10vrk1qg9hi323kgyyd0c8nmh7a82h8pd")) | ||||
|         (base32 "1d73q46sqandzbn74nfw9bzzah99z91wsxq2hcivwdgnsv2g2d8y")) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (patches (search-patches "gpodder-disable-updater.patch")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("intltool" ,intltool) | ||||
|        ("python-coverage" ,python-coverage) | ||||
|        ("python-minimock" ,python-minimock))) | ||||
|        ("python-minimock" ,python-minimock) | ||||
|        ("python-pytest" ,python-pytest) | ||||
|        ("python-pytest-cov" ,python-pytest-cov) | ||||
|        ("python-pytest-httpserver" ,python-pytest-httpserver) | ||||
|        ("which" ,which))) | ||||
|     (inputs | ||||
|      `(("gtk+" ,gtk+) | ||||
|        ("python-pygobject" ,python-pygobject) | ||||
|        ("python-pycairo" ,python-pycairo) | ||||
|        ("python-requests" ,python-requests) | ||||
|        ("python-dbus" ,python-dbus) | ||||
|        ("python-html5lib" ,python-html5lib) | ||||
|        ("python-mygpoclient" ,python-mygpoclient) | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| ;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org> | ||||
| ;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2018, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> | ||||
| ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> | ||||
|  | @ -25,6 +25,7 @@ | |||
| ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> | ||||
| ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> | ||||
| ;;; Copyright © 2021 Andy Tai <atai@atai.org> | ||||
| ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -463,6 +464,42 @@ Embree is meant to increase performance of photo-realistic rendering | |||
| applications.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public openvdb | ||||
|   (package | ||||
|     (name "openvdb") | ||||
|     (version "8.0.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/AcademySoftwareFoundation/openvdb/") | ||||
|                     (commit (string-append "v" version)) | ||||
|                     (recursive? #t))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0qzx6l5c183k6j9zki31gg9aixf5s1j46wdi7wr1h3bz7k53syg9")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath=" | ||||
|                             (assoc-ref %outputs "out") "/lib")))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("c-blosc" ,c-blosc) | ||||
|        ("ilmbase" ,ilmbase) | ||||
|        ("tbb" ,tbb) | ||||
|        ("zlib" ,zlib))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (home-page "https://www.openvdb.org/") | ||||
|     (synopsis "Sparse volume data structure and tools") | ||||
|     (description "OpenVDB is a C++ library comprising a hierarchical data | ||||
| structure and a large suite of tools for the efficient storage and | ||||
| manipulation of sparse volumetric data discretized on three-dimensional grids. | ||||
| It was developed by DreamWorks Animation for use in volumetric applications | ||||
| typically encountered in feature film production.") | ||||
|     (license license:mpl2.0))) | ||||
| 
 | ||||
| (define-public blender | ||||
|   (package | ||||
|     (name "blender") | ||||
|  | @ -753,7 +790,7 @@ many more.") | |||
| (define-public ilmbase | ||||
|   (package | ||||
|     (name "ilmbase") | ||||
|     (version "2.5.2") | ||||
|     (version "2.5.5") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -762,7 +799,7 @@ many more.") | |||
|               (file-name (git-file-name "ilmbase" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1vf8bqld2bpcdi99jbr043y6vp01cp3fvbiasrn66xn91mf6imbn")) | ||||
|                 "0mjzb3fd8b9pcqmrgy5cdsmvqd70hmlvjnfypi66v59h3fhrmgd8")) | ||||
|               (patches (search-patches "ilmbase-fix-tests.patch")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl> | ||||
| ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -48,7 +49,9 @@ | |||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-check) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages sphinx) | ||||
|   #:use-module (gnu packages swig) | ||||
|   #:use-module (gnu packages tcl) | ||||
|   #:use-module (gnu packages tex) | ||||
|  | @ -242,6 +245,55 @@ structure and layout algorithms.") | |||
| (define-public python2-pygraphviz | ||||
|   (package-with-python2 python-pygraphviz)) | ||||
| 
 | ||||
| (define-public python-uqbar | ||||
|   (package | ||||
|     (name "python-uqbar") | ||||
|     (version "0.5.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/josiah-wolf-oberholtzer/uqbar") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0413nyhd8z8v3lvsgaghhafnyxg90fi1q80j1kbl21gpmpnc9a7n")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch | ||||
|            (lambda _ | ||||
|              (substitute* "setup.py" | ||||
|                ;; Latest versions of sphink-rtd-theme require npm to build. | ||||
|                (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4") | ||||
|                (("black == 19.10b0") "black >= 19.10b0")) | ||||
|              #t)) | ||||
|          (replace 'check | ||||
|            (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|                (invoke "python" "-m" "pytest" "tests")) | ||||
|              #t))))) | ||||
|     (native-inputs | ||||
|      `(("graphviz" ,graphviz) | ||||
|        ("python-flake8" ,python-flake8) | ||||
|        ("python-isort" ,python-isort) | ||||
|        ("python-mypy" ,python-mypy) | ||||
|        ("python-pytest" ,python-pytest) | ||||
|        ("python-pytest-cov" ,python-pytest-cov))) | ||||
|     (propagated-inputs | ||||
|      `(("python-black" ,python-black) | ||||
|        ("python-sphinx" ,python-sphinx) | ||||
|        ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) | ||||
|        ("python-unidecode" ,python-unidecode))) | ||||
|     (home-page "https://github.com/josiah-wolf-oberholtzer/uqbar") | ||||
|     (synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX") | ||||
|     (description | ||||
|      "This package contains tools for building documentation with Sphinx, | ||||
| Graphviz and LaTeX.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public gts | ||||
|   (package | ||||
|     (name "gts") | ||||
|  |  | |||
|  | @ -384,7 +384,7 @@ http://www.tux.org/~ricdude/overview.html") | |||
|                 "if (error) return 77;")) | ||||
|              #t))))) | ||||
|     (native-inputs | ||||
|      `(("gtk-doc" ,gtk-doc))) | ||||
|      `(("gtk-doc" ,gtk-doc/stable))) | ||||
|     (home-page "https://gstreamer.freedesktop.org/modules/orc.html") | ||||
|     (synopsis "Oil runtime compiler") | ||||
|     (description | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||
| ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> | ||||
| ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> | ||||
| ;;; Coypright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de> | ||||
| ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> | ||||
|  | @ -48,6 +48,7 @@ | |||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module ((guix build utils) #:select (alist-replace)) | ||||
|   #:use-module (guix build-system glib-or-gtk) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system meson) | ||||
|  | @ -2079,6 +2080,17 @@ with some extra work.") | |||
|       ;; Others. | ||||
|       license:gpl2+)))) | ||||
| 
 | ||||
| ;; This is a variant of the 'gtk-doc' package that is not updated often.  It | ||||
| ;; is intended to be used as a native-input at build-time only.  This allows | ||||
| ;; the main 'gtk-doc', 'dblatex' and 'imagemagick' packages to be freely | ||||
| ;; updated on the 'master' branch without triggering an excessive number of | ||||
| ;; rebuilds. | ||||
| (define-public gtk-doc/stable | ||||
|   (hidden-package | ||||
|    (package/inherit gtk-doc | ||||
|      (inputs (alist-replace "dblatex" `(,dblatex/stable) | ||||
|                             (package-inputs gtk-doc)))))) | ||||
| 
 | ||||
| (define-public gtk-engines | ||||
|   (package | ||||
|     (name "gtk-engines") | ||||
|  | @ -2485,7 +2497,7 @@ popovers.") | |||
|      `(("gettext" ,gettext-minimal) | ||||
|        ("glib-bin" ,glib "bin") | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("gtk-doc" ,gtk-doc/stable) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python" ,python))) | ||||
|     (inputs | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ | |||
| ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> | ||||
| ;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu> | ||||
| ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo> | ||||
| ;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo> | ||||
| ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com> | ||||
| ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> | ||||
| ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> | ||||
|  | @ -91,6 +91,7 @@ | |||
|   #:use-module (gnu packages networking) | ||||
|   #:use-module (gnu packages noweb) | ||||
|   #:use-module (gnu packages nss) | ||||
|   #:use-module (gnu packages package-management) | ||||
|   #:use-module (gnu packages password-utils) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|  | @ -1313,44 +1314,37 @@ Scheme by using Guile’s foreign function interface.") | |||
|   (deprecated-package "guile3.0-newt" guile-newt)) | ||||
| 
 | ||||
| (define-public guile-mastodon | ||||
|   (package | ||||
|     (name "guile-mastodon") | ||||
|     (version "0.0.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://framagit.org/prouby/guile-mastodon.git") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|                   ;; Allow builds with Guile 3.0. | ||||
|                   (substitute* "configure.ac" | ||||
|                     (("^PKG_CHECK.*") "") | ||||
|                     (("^GUILE_PKG.*") | ||||
|                      "GUILE_PKG([3.0 2.2])\n")) | ||||
|                   #t)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("autoconf" ,autoconf) | ||||
|        ("automake" ,automake) | ||||
|        ("emacs" ,emacs-minimal) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("texinfo" ,texinfo))) | ||||
|     (inputs | ||||
|      `(("guile" ,guile-3.0) | ||||
|        ("gnutls" ,gnutls) | ||||
|        ("guile-json" ,guile-json-4))) | ||||
|     (home-page "https://framagit.org/prouby/guile-mastodon") | ||||
|     (synopsis "Guile Mastodon REST API module") | ||||
|     (description "This package provides Guile modules to access the | ||||
|   (let ((commit "74b75bcf547df92acee1e0466ecd7ec07f775392") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "guile-mastodon") | ||||
|       (version (git-version "0.0.1" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://framagit.org/prouby/guile-mastodon.git") | ||||
|                       (commit commit))) | ||||
|                 (file-name (string-append name "-" version "-checkout")) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1wx5h6wa9c0na8mrnr2nv1nzjvq68zyrly8yyp11dsskhaw4y33h")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (native-inputs | ||||
|        `(("autoconf" ,autoconf) | ||||
|          ("automake" ,automake) | ||||
|          ("emacs" ,emacs-minimal) | ||||
|          ("pkg-config" ,pkg-config) | ||||
|          ("texinfo" ,texinfo))) | ||||
|       (inputs | ||||
|        `(("guile" ,guile-3.0) | ||||
|          ("gnutls" ,gnutls) | ||||
|          ("guile-json" ,guile-json-4))) | ||||
|       (home-page "https://framagit.org/prouby/guile-mastodon") | ||||
|       (synopsis "Guile Mastodon REST API module") | ||||
|       (description "This package provides Guile modules to access the | ||||
| @uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated | ||||
| microblogging service.") | ||||
|     (license license:gpl3+))) | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public guile-parted | ||||
|   (package | ||||
|  | @ -1752,6 +1746,35 @@ The library is shipped with documentation in Info format and usage examples.") | |||
| (define-public guile3.0-ics | ||||
|   (deprecated-package "guile3.0-ics" guile-ics)) | ||||
| 
 | ||||
| (define-public guile-imanifest | ||||
|   (let ((commit "ccd5a2111b008d778106f5595a3a585954d95d0") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "guile-imanifest") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://git.sr.ht/~brown121407/guile-imanifest") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0i5qllcrhdjhspyj7j9h4dc9y37d3cfbpackmybm3030qgfxqirf")))) | ||||
|       (build-system guile-build-system) | ||||
|       (native-inputs | ||||
|        `(("guile" ,guile-3.0))) | ||||
|       (propagated-inputs | ||||
|        `(("guile-readline" ,guile-readline) | ||||
|          ("guile-colorized" ,guile-colorized) | ||||
|          ("guix" ,guix))) | ||||
|       (home-page "https://sr.ht/~brown121407/guile-imanifest") | ||||
|       (synopsis "Interactive Guix manifests") | ||||
|       (description "This package provides functions to generate Guix manifests | ||||
| interactively.  It works by scanning an alist of package categories, to ask the | ||||
| user which package sets would they like to install from it.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public guile-wisp | ||||
|   (package | ||||
|     (name "guile-wisp") | ||||
|  | @ -2362,22 +2385,14 @@ inspired by the SCSH regular expression system.") | |||
| (define-public haunt | ||||
|   (package | ||||
|     (name "haunt") | ||||
|     (version "0.2.4") | ||||
|     (version "0.2.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://files.dthompson.us/haunt/haunt-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|                   ;; Allow builds with Guile 3.0. | ||||
|                   (substitute* "configure" | ||||
|                     (("2\\.2 2\\.0") | ||||
|                      "3.0 2.2 2.0")) | ||||
|                   #t)))) | ||||
|                 "1gy45l6m91b3wpdbpd9bpisp00zl8610zs0a2nwmbjlpd2cbf90k")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:modules ((ice-9 match) (ice-9 ftw) | ||||
|  | @ -2626,8 +2641,8 @@ format is also supported.") | |||
|   (deprecated-package "guile3.0-mcron" mcron)) | ||||
| 
 | ||||
| (define-public guile-picture-language | ||||
|   (let ((commit "291a746a1d3b4784d38b05239bdd7b8e796ce761") | ||||
|         (revision "4")) | ||||
|   (let ((commit "a1322bf11945465241ca5b742a70893f24156d12") | ||||
|         (revision "5")) | ||||
|     (package | ||||
|       (name "guile-picture-language") | ||||
|       (version (git-version "0.0.1" revision commit)) | ||||
|  | @ -2639,7 +2654,7 @@ format is also supported.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0rnhf13ds92sbdicshy4sy4kl2kc431fy9vzm1divw974p7v57sd")))) | ||||
|                   "03i528z92ainccgm28shg4haxiav5x4cyhyi5dggq1rm027vbm99")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (inputs | ||||
|        `(("guile" ,guile-3.0))) | ||||
|  | @ -3496,7 +3511,7 @@ feature-set, fully programmable in Guile Scheme.") | |||
|                                         texlive-fonts-iwona))) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      `(("guile-lib" ,guile-lib))) | ||||
|      `(("guile-lib" ,guile2.2-lib))) | ||||
|     (home-page "https://www.gnu.org/software/guile-cv/") | ||||
|     (synopsis "Computer vision library for Guile") | ||||
|     (description "Guile-CV is a Computer Vision functional programming library | ||||
|  | @ -4426,7 +4441,7 @@ tools.") | |||
|     (synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)") | ||||
|     (description | ||||
|      "Guile-ERIS is the reference implementation of the Encoding for Robust | ||||
| Immutable Storage (ERIS).  ERIS allows arbirtary content to be encoded into | ||||
| Immutable Storage (ERIS).  ERIS allows arbitrary content to be encoded into | ||||
| uniformly sized, encrypted blocks that can be reassembled using a short | ||||
| read-capability.") | ||||
|     (home-page "https://inqlab.net/git/eris.git") | ||||
|  |  | |||
|  | @ -770,16 +770,16 @@ type system, elevating types to first-class status.") | |||
| (define-public guile-git | ||||
|   (package | ||||
|     (name "guile-git") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (home-page "https://gitlab.com/guile-git/guile-git.git") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://gitlab.com/guile-git/guile-git/uploads/" | ||||
|                                   "2600bb0dfdfb00bfbe46811dccad51d8/guile-git-" | ||||
|                                   "30be542d90619ca844dd3a3ed2e13808/guile-git-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1kxyg9x2aa1pg69cl48wysq0pbxvwfahy1xpl5ab6p8babhf7kic")))) | ||||
|                 "1j39c1cq9cbwir90mpnbdijpbwh7wkxampgl2r177bv8bfw6y203")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags '("GUILE_AUTO_COMPILE=0")))     ; to prevent guild warnings | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> | ||||
| ;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> | ||||
|  | @ -61,14 +61,14 @@ | |||
| (define-public ddcutil | ||||
|   (package | ||||
|     (name "ddcutil") | ||||
|     (version "0.9.9") | ||||
|     (version "1.1.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.ddcutil.com/tarballs/" | ||||
|                            "ddcutil-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0anyxy53k2613hq9glaad16llqlv6iim5p8gz0rs5pnpp8p00dg1")))) | ||||
|         (base32 "19kkwb9ijzn6ya3mvjanggh1c96fcc0lkbk7xnyi2qp6wsr4nhxp")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  |  | |||
|  | @ -342,14 +342,14 @@ to @code{cabal repl}).") | |||
| (define-public git-annex | ||||
|   (package | ||||
|     (name "git-annex") | ||||
|     (version "8.20210310") | ||||
|     (version "8.20210330") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://hackage.haskell.org/package/" | ||||
|                            "git-annex/git-annex-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1a4pr9z2li3wns1xycz7735nzzsv3cs8milr0q74k5qcqk5f22nx")))) | ||||
|         (base32 "07dhxlmnj48drgndcplafc7xhby0w3rks68fz9wsppxan929240p")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  |  | |||
|  | @ -2266,7 +2266,7 @@ server no longer receives pings, it shuts down.") | |||
|        ("ghc-websockets" ,ghc-websockets))) | ||||
|     (home-page "https://github.com/larskuhtz/wai-cors") | ||||
|     (synopsis "Cross-Origin Resource Sharing (CORS) for WAI") | ||||
|     (description "This package provides an implemenation of Cross-Origin | ||||
|     (description "This package provides an implementation of Cross-Origin | ||||
| Resource Sharing (CORS) for the Web Application Framework (WAI) that | ||||
| aims to be compliant with @url{https://www.w3.org/TR/cors}.") | ||||
|     (license license:expat))) | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2017 John Darrington <jmd@gnu.org> | ||||
| ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> | ||||
| ;;; Copyright © 2018 Lprndn <guix@lprndn.info> | ||||
| ;;; Copyright © 2019, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
|  | @ -14,6 +14,8 @@ | |||
| ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com> | ||||
| ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> | ||||
| ;;; Copyright © 2021 Andy Tai <atai@atai.org> | ||||
| ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -246,7 +248,7 @@ many popular formats.") | |||
| (define-public vtk | ||||
|   (package | ||||
|     (name "vtk") | ||||
|     (version "8.2.0") | ||||
|     (version "9.0.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://vtk.org/files/release/" | ||||
|  | @ -254,7 +256,7 @@ many popular formats.") | |||
|                                   "/VTK-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl")) | ||||
|                 "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v")) | ||||
|               (patches | ||||
|                (search-patches "vtk-fix-freetypetools-build-failure.patch")) | ||||
|               (modules '((guix build utils))) | ||||
|  | @ -264,35 +266,47 @@ many popular formats.") | |||
|                     (lambda (dir) | ||||
|                       (delete-file-recursively | ||||
|                         (string-append "ThirdParty/" dir "/vtk" dir))) | ||||
|                     ;; ogg, pugixml depended upon unconditionally | ||||
|                     ;; pugixml depended upon unconditionally | ||||
|                     '("doubleconversion" "eigen" "expat" "freetype" "gl2ps" | ||||
|                       "glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4" | ||||
|                       "netcdf" "png" "sqlite" "theora" "tiff" "zlib")) | ||||
|                       "netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib")) | ||||
|                   #t)))) | ||||
|     (properties `((release-monitoring-url . "https://vtk.org/download/"))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:build-type "Release"           ;Build without '-g' to save space. | ||||
|        #:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE" | ||||
|                            ;"-DVTK_MODULE_USE_EXTERNAL_vtkogg:BOOL=TRUE"    ; not honored | ||||
|                            "-DVTK_USE_SYSTEM_DOUBLECONVERSION:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_EIGEN:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_GL2PS:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_GLEW:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_LIBPROJ:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_LZ4:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE" | ||||
|                            ;"-DVTK_USE_SYSTEM_PUGIXML:BOOL=TRUE"    ; breaks IO/CityGML | ||||
|                            "-DVTK_USE_SYSTEM_SQLITE:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_THEORA:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE" | ||||
|                            "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE") | ||||
|                            ;    ; not honored | ||||
|                            "-DVTK_USE_EXTERNAL=OFF" ;; default | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON" | ||||
|                            ;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON"    ; breaks IO/CityGML | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON" | ||||
|                            "-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON" | ||||
|                            ) | ||||
|        #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'unpack 'patch-sources | ||||
|              (lambda _ | ||||
|                (substitute* "Common/Core/vtkFloatingPointExceptions.cxx" | ||||
|                  (("<fenv.h>") "<cfenv>")) | ||||
|                (substitute* "Common/Core/CMakeLists.txt" | ||||
|                  (("fenv.h") "cfenv"))))) | ||||
|        #:tests? #f))        ;XXX: test data not included | ||||
|     (inputs | ||||
|      `(("double-conversion" ,double-conversion) | ||||
|  | @ -305,7 +319,6 @@ many popular formats.") | |||
|        ("hdf5" ,hdf5) | ||||
|        ("jpeg" ,libjpeg-turbo) | ||||
|        ("jsoncpp" ,jsoncpp) | ||||
|        ;("libogg" ,libogg) | ||||
|        ("libtheora" ,libtheora) | ||||
|        ("libX11" ,libx11) | ||||
|        ("libxml2" ,libxml2) | ||||
|  | @ -320,6 +333,10 @@ many popular formats.") | |||
|        ("tiff" ,libtiff) | ||||
|        ("xorgproto" ,xorgproto) | ||||
|        ("zlib" ,zlib))) | ||||
|     (propagated-inputs | ||||
|      ;; VTK's 'VTK-vtk-module-find-packages.cmake' calls | ||||
|      ;; 'find_package(THEORA)', which in turns looks for libogg. | ||||
|      `(("libogg" ,libogg))) | ||||
|     (home-page "https://vtk.org/") | ||||
|     (synopsis "Libraries for 3D computer graphics") | ||||
|     (description | ||||
|  | @ -333,6 +350,22 @@ a suite of 3D interaction widgets, supports parallel processing, and | |||
| integrates with various databases on GUI toolkits such as Qt and Tk.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| ;; freecad needs an old version of VTK, because VTK's API changed from 8 to 9 | ||||
| (define-public vtk-8 | ||||
|   (package (inherit vtk) | ||||
|     (version "8.2.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://vtk.org/files/release/" | ||||
|                                   (version-major+minor version) | ||||
|                                   "/VTK-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl")))) | ||||
|     (inputs | ||||
|      `(("jsoncpp" ,jsoncpp-for-tensorflow) | ||||
|        ,@(alist-delete "jsoncpp" (package-inputs vtk)))))) | ||||
| 
 | ||||
| ;; itksnap needs an older variant of VTK. | ||||
| (define-public vtk-6 | ||||
|   (package (inherit vtk) | ||||
|  | @ -556,7 +589,7 @@ vision algorithms.  It can be used to do things like: | |||
| (define-public vips | ||||
|   (package | ||||
|     (name "vips") | ||||
|     (version "8.10.5") | ||||
|     (version "8.10.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -564,7 +597,7 @@ vision algorithms.  It can be used to do things like: | |||
|              "https://github.com/libvips/libvips/releases/download/v" | ||||
|              version "/vips-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1n6gw7cw66rfn1wdb92ydpkv7gfmjiinsg6d6gqxpdja6gsz5vm4")))) | ||||
|         (base32 "0vjsh3i0861f6h9as3bch956cidz824zz499pvhjs3lfjn6hhs14")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("gobject-introspection" ,gobject-introspection) | ||||
|  | @ -606,14 +639,14 @@ due to its architecture which automatically parallelises the image workflows.") | |||
| (define-public gmic | ||||
|   (package | ||||
|     (name "gmic") | ||||
|     (version "2.9.6") | ||||
|     (version "2.9.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://gmic.eu/files/source/gmic_" | ||||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj")))) | ||||
|         (base32 "05kzaplsl5qvxs7v6g73q0lq8dii8g6v77ap609188m7gr43f9cl")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ;there are no tests | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2016, 2021 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> | ||||
|  | @ -42,130 +42,125 @@ | |||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages xml) | ||||
|   #:use-module (gnu packages xorg)) | ||||
|   #:use-module (gnu packages xorg) | ||||
|   #:use-module (srfi srfi-1)) | ||||
| 
 | ||||
| (define-public imagemagick | ||||
|   (package | ||||
|     (name "imagemagick") | ||||
|     ;; The 7 release series has an incompatible API, while the 6 series is still | ||||
|     ;; maintained. Don't update to 7 until we've made sure that the ImageMagick | ||||
|     ;; users are ready for the 7-series API. | ||||
|     (version "6.9.11-48") | ||||
|     (replacement imagemagick/fixed) | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "mirror://imagemagick/ImageMagick-" | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" | ||||
| ;; This is a variant of the 'imagemagick' package that is not updated often. | ||||
| ;; It is intended to be used as a native-input at build-time only, e.g. by | ||||
| ;; 'gtk-doc' (via 'dblatex') for generating package documentation.  This | ||||
| ;; allows the main 'imagemagick' package to be freely updated on the 'master' | ||||
| ;; branch without triggering an excessive number of rebuilds. | ||||
| ;; | ||||
| ;; Normally the grafts mechanism would be used, but there are often | ||||
| ;; difficulties grafting imagemagick, e.g. because upstream changes the ABI | ||||
| ;; between micro version updates.  Also, the overwhelming majority of | ||||
| ;; dependencies on imagemagick are via 'gtk-doc' in 'native-inputs', where | ||||
| ;; grafting is ineffective.  See: | ||||
| ;; <https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00381.html>. | ||||
| (define-public imagemagick/stable | ||||
|   (hidden-package | ||||
|    (package | ||||
|      (name "imagemagick") | ||||
|      ;; The 7 release series has an incompatible API, while the 6 series is still | ||||
|      ;; maintained. Don't update to 7 until we've made sure that the ImageMagick | ||||
|      ;; users are ready for the 7-series API. | ||||
|      (version "6.9.11-48") | ||||
|      (source (origin | ||||
|                (method url-fetch) | ||||
|                (uri (string-append "mirror://imagemagick/ImageMagick-" | ||||
|                                    version ".tar.xz")) | ||||
|                (sha256 | ||||
|                 (base32 | ||||
|                  "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) | ||||
|      (build-system gnu-build-system) | ||||
|      (arguments | ||||
|       `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" | ||||
| 
 | ||||
|                            ;; Do not embed the build date in binaries. | ||||
|                            "--enable-reproducible-build") | ||||
|                             ;; Do not embed the build date in binaries. | ||||
|                             "--enable-reproducible-build") | ||||
| 
 | ||||
|        ;; FIXME: The test suite succeeded before version 6.9.6-2. | ||||
|        ;; Try enabling it again with newer releases. | ||||
|        #:tests? #f | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (add-before | ||||
|                    'build 'pre-build | ||||
|                    (lambda* (#:key outputs #:allow-other-keys) | ||||
|                      (substitute* "Makefile" | ||||
|                        ;; Clear the `LIBRARY_PATH' setting, which otherwise | ||||
|                        ;; interferes with our own use. | ||||
|                        (("^LIBRARY_PATH[[:blank:]]*=.*$") | ||||
|                         "") | ||||
|         ;; FIXME: The test suite succeeded before version 6.9.6-2. | ||||
|         ;; Try enabling it again with newer releases. | ||||
|         #:tests? #f | ||||
|         #:phases (modify-phases %standard-phases | ||||
|                    (add-before | ||||
|                        'build 'pre-build | ||||
|                      (lambda* (#:key outputs #:allow-other-keys) | ||||
|                        (substitute* "Makefile" | ||||
|                          ;; Clear the `LIBRARY_PATH' setting, which otherwise | ||||
|                          ;; interferes with our own use. | ||||
|                          (("^LIBRARY_PATH[[:blank:]]*=.*$") | ||||
|                           "") | ||||
| 
 | ||||
|                        ;; Since the Makefile overrides $docdir, modify it to | ||||
|                        ;; refer to what we want. | ||||
|                        (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") | ||||
|                         (let ((doc (assoc-ref outputs "doc"))) | ||||
|                           (string-append "DOCUMENTATION_PATH = " | ||||
|                                          doc "/share/doc/" | ||||
|                                          ,name "-" | ||||
|                                          ,(package-version this-package) "\n")))) | ||||
|                      #t)) | ||||
|                   (add-before | ||||
|                    'configure 'strip-configure-xml | ||||
|                    (lambda _ | ||||
|                      (substitute* "config/configure.xml.in" | ||||
|                        ;; Do not record 'configure' arguments in the | ||||
|                        ;; configure.xml file that gets installed: That would | ||||
|                        ;; include --docdir, and thus retain a reference to the | ||||
|                        ;; 'doc' output. | ||||
|                        (("@CONFIGURE_ARGS@") | ||||
|                         "not recorded")) | ||||
|                      #t))))) | ||||
|     ;; TODO: Add Jasper etc. | ||||
|     (inputs `(("fftw" ,fftw) | ||||
|               ("graphviz" ,graphviz) | ||||
|               ("ghostscript" ,ghostscript) | ||||
|               ("lcms" ,lcms) | ||||
|               ("libx11" ,libx11) | ||||
|               ("zlib" ,zlib) | ||||
|               ("libxml2" ,libxml2) | ||||
|               ("libtiff" ,libtiff) | ||||
|               ("libpng" ,libpng) | ||||
|               ("libjpeg" ,libjpeg-turbo) | ||||
|               ("pango" ,pango) | ||||
|               ("freetype" ,freetype) | ||||
|               ("bzip2" ,bzip2) | ||||
|               ("xz" ,xz))) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     (outputs '("out" | ||||
|                "doc"))                          ; 26 MiB of HTML documentation | ||||
|     (home-page "https://www.imagemagick.org/") | ||||
|     (synopsis "Create, edit, compose, or convert bitmap images") | ||||
|     (description | ||||
|      "ImageMagick is a software suite to create, edit, compose, or convert | ||||
|                          ;; Since the Makefile overrides $docdir, modify it to | ||||
|                          ;; refer to what we want. | ||||
|                          (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") | ||||
|                           (let ((doc (assoc-ref outputs "doc"))) | ||||
|                             (string-append "DOCUMENTATION_PATH = " | ||||
|                                            doc "/share/doc/" | ||||
|                                            ,name "-" | ||||
|                                            ,(package-version this-package) "\n")))) | ||||
|                        #t)) | ||||
|                    (add-before | ||||
|                        'configure 'strip-configure-xml | ||||
|                      (lambda _ | ||||
|                        (substitute* "config/configure.xml.in" | ||||
|                          ;; Do not record 'configure' arguments in the | ||||
|                          ;; configure.xml file that gets installed: That would | ||||
|                          ;; include --docdir, and thus retain a reference to the | ||||
|                          ;; 'doc' output. | ||||
|                          (("@CONFIGURE_ARGS@") | ||||
|                           "not recorded")) | ||||
|                        #t))))) | ||||
|      ;; TODO: Add Jasper etc. | ||||
|      (inputs `(("fftw" ,fftw) | ||||
|                ("graphviz" ,graphviz) | ||||
|                ("ghostscript" ,ghostscript) | ||||
|                ("lcms" ,lcms) | ||||
|                ("libx11" ,libx11) | ||||
|                ("zlib" ,zlib) | ||||
|                ("libxml2" ,libxml2) | ||||
|                ("libtiff" ,libtiff) | ||||
|                ("libpng" ,libpng) | ||||
|                ("libjpeg" ,libjpeg-turbo) | ||||
|                ("pango" ,pango) | ||||
|                ("freetype" ,freetype) | ||||
|                ("bzip2" ,bzip2) | ||||
|                ("xz" ,xz))) | ||||
|      (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|      (outputs '("out" | ||||
|                 "doc"))                 ; 26 MiB of HTML documentation | ||||
|      (home-page "https://www.imagemagick.org/") | ||||
|      (synopsis "Create, edit, compose, or convert bitmap images") | ||||
|      (description | ||||
|       "ImageMagick is a software suite to create, edit, compose, or convert | ||||
| bitmap images.  It can read and write images in a variety of formats (over 100) | ||||
| including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, | ||||
| and TIFF.  Use ImageMagick to resize, flip, mirror, rotate, distort, shear and | ||||
| transform images, adjust image colors, apply various special effects, or draw | ||||
| text, lines, polygons, ellipses and Bézier curves.") | ||||
|     (license (license:fsf-free "http://www.imagemagick.org/script/license.php")))) | ||||
|      (license (license:fsf-free "http://www.imagemagick.org/script/license.php"))))) | ||||
| 
 | ||||
| (define-public imagemagick/fixed | ||||
| (define-public imagemagick | ||||
|   (package | ||||
|     (inherit imagemagick) | ||||
|     (name "imagemagick") | ||||
|     ;; 'g' for 'guix', appended character to retain version length so grafting | ||||
|     ;; works properly. | ||||
|     (version "6.9.12-2g") | ||||
|     (inherit imagemagick/stable) | ||||
|     (properties (alist-delete 'hidden? (package-properties imagemagick/stable))) | ||||
|     ;; The 7 release series has an incompatible API, while the 6 series is still | ||||
|     ;; maintained. Don't update to 7 until we've made sure that the ImageMagick | ||||
|     ;; users are ready for the 7-series API. | ||||
|     (version "6.9.12-4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://imagemagick/ImageMagick-" | ||||
|                                   ;; Hardcode the version here since we had to | ||||
|                                   ;; change it above. | ||||
|                                   "6.9.12-2.tar.xz")) | ||||
|                                   version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments imagemagick) | ||||
|        ((#:phases phases) | ||||
|         `(modify-phases ,phases | ||||
|            (add-after 'install 'fix-compat-cheat-rename-so | ||||
|              (lambda* (#:key outputs #:allow-other-keys) | ||||
|                (with-directory-excursion | ||||
|                    (string-append (assoc-ref outputs "out") | ||||
|                                   "/lib") | ||||
|                  (symlink "libMagick++-6.Q16.so.9.0.0" | ||||
|                           "libMagick++-6.Q16.so.8.0.0") | ||||
|                  (symlink "libMagick++-6.Q16.so.9" | ||||
|                           "libMagick++-6.Q16.so.8") | ||||
|                  (symlink "libMagickCore-6.Q16.so.7.0.0" | ||||
|                           "libMagickCore-6.Q16.so.6.0.0") | ||||
|                  (symlink "libMagickCore-6.Q16.so.7" | ||||
|                           "libMagickCore-6.Q16.so.6") | ||||
|                  (symlink "libMagickWand-6.Q16.so.7.0.0" | ||||
|                           "libMagickWand-6.Q16.so.6.0.0") | ||||
|                  (symlink "libMagickWand-6.Q16.so.7" | ||||
|                           "libMagickWand-6.Q16.so.6")) | ||||
|                #t)))))))) | ||||
|                 "1pkwij76yz7vd5grl6520pgpa912qb6kh34qamx4zfndwcx6cf6b")) | ||||
|               (patches | ||||
|                (search-patches "imagemagick-ReadDCMImage-fix.patch" | ||||
|                                "imagemagick-ReadDCMPixels-fix.patch" | ||||
|                                "imagemagick-WriteTHUMBNAILImage-fix.patch" | ||||
|                                "imagemagick-CVE-2020-27829.patch")))))) | ||||
| 
 | ||||
| (define-public perl-image-magick | ||||
|   (package | ||||
|  |  | |||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue