diff options
99 files changed, 3657 insertions, 1419 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 6b6f8dedae..1d1f30f000 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26,7 +26,7 @@ Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017 Chris Marusich@* Copyright @copyright{} 2016, 2017 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* -Copyright @copyright{} 2016 ng0@* +Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* @@ -1335,7 +1335,7 @@ using Unix-domain sockets along with SSH. When @code{--listen} is omitted, @command{guix-daemon} listens for connections on the Unix-domain socket located at -@file{@var{localstatedir}/daemon-socket/socket}. +@file{@var{localstatedir}/guix/daemon-socket/socket}. @end table @@ -1509,7 +1509,7 @@ either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in sub-directories of @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. The latter directory exists because potentially there may exist thousands of Emacs -packages and storing all their files in a single directory may be not +packages and storing all their files in a single directory may not be reliable (because of name conflicts). So we think using a separate directory for each package is a good idea. It is very similar to how the Emacs package system organizes the file structure (@pxref{Package @@ -1711,7 +1711,7 @@ source "$HOME/.guix-profile/etc/profile" In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}). That directory is normally -@code{@var{localstatedir}/profiles/per-user/@var{user}}, where +@code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @code{--localstatedir}, and @var{user} is the user name. The @file{per-user} directory is created when @command{guix-daemon} is @@ -4210,6 +4210,14 @@ paths}. Derivations paths can be passed to the @code{build-derivations} procedure to perform the build actions they prescribe (@pxref{The Store}). +@cindex fixed-output derivations +Operations such as file downloads and version-control checkouts for +which the expected content hash is known in advance are modeled as +@dfn{fixed-output derivations}. Unlike regular derivations, the outputs +of a fixed-output derivation are independent of its inputs---e.g., a +source code download produces the same result regardless of the download +method and tools being used. + The @code{(guix derivations)} module provides a representation of derivations as Scheme objects, along with procedures to create and otherwise manipulate derivations. The lowest-level primitive to create @@ -5422,14 +5430,20 @@ without having to type in the definitions of package variants @table @code @item --with-source=@var{source} -Use @var{source} as the source of the corresponding package. +@itemx --with-source=@var{package}=@var{source} +@itemx --with-source=@var{package}@@@var{version}=@var{source} +Use @var{source} as the source of @var{package}, and @var{version} as +its version number. @var{source} must be a file name or a URL, as for @command{guix download} (@pxref{Invoking guix download}). -The ``corresponding package'' is taken to be the one specified on the -command line the name of which matches the base of @var{source}---e.g., +When @var{package} is omitted, +it is taken to be the package name specified on the +command line that matches the base of @var{source}---e.g., if @var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding -package is @code{guile}. Likewise, the version string is inferred from +package is @code{guile}. + +Likewise, when @var{version} is omitted, the version string is inferred from @var{source}; in the previous example, it is @code{2.0.10}. This option allows users to try out versions of packages other than the @@ -5452,7 +5466,7 @@ guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz @example $ git clone git://git.sv.gnu.org/guix.git -$ guix build guix --with-source=./guix +$ guix build guix --with-source=guix@@1.0=./guix @end example @item --with-input=@var{package}=@var{replacement} @@ -6018,7 +6032,7 @@ guix import cpan Acme::Boolean @item cran @cindex CRAN @cindex Bioconductor -Import metadata from @uref{http://cran.r-project.org/, CRAN}, the +Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central repository for the @uref{http://r-project.org, GNU@tie{}R statistical and graphical environment}. @@ -6389,7 +6403,7 @@ the updater for packages hosted on kernel.org; @item elpa the updater for @uref{http://elpa.gnu.org/, ELPA} packages; @item cran -the updater for @uref{http://cran.r-project.org/, CRAN} packages; +the updater for @uref{https://cran.r-project.org/, CRAN} packages; @item bioconductor the updater for @uref{https://www.bioconductor.org/, Bioconductor} R packages; @item cpan @@ -10023,12 +10037,12 @@ well as in the @var{groups} field of the @var{operating-system} record. @end example @end deffn -@deffn {Scheme Procedure} urandom-seed-service +@defvr {Scheme Variable} urandom-seed-service-type Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} when rebooting. It also tries to seed @file{/dev/urandom} from @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is readable. -@end deffn +@end defvr @defvr {Scheme Variable} %random-seed-file This is the name of the file where some random bytes are saved by @@ -10378,9 +10392,12 @@ This is the type for statically-configured network interfaces. @deffn {Scheme Procedure} static-networking-service @var{interface} @var{ip} @ [#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] + [#:requirement @code{'(udev)}] Return a service that starts @var{interface} with address @var{ip}. If @var{netmask} is true, use it as the network mask. If @var{gateway} is true, -it must be a string specifying the default network gateway. +it must be a string specifying the default network gateway. @var{requirement} +can be used to declare a dependency on another service before configuring the +interface. This procedure can be called several times, one for each network interface of interest. Behind the scenes what it does is extend @@ -12089,7 +12106,7 @@ The @code{(gnu services desktop)} module provides services that are usually useful in the context of a ``desktop'' setup---that is, on a machine running a graphical display server, possibly with graphical user interfaces, etc. It also defines services that provide specific desktop -environments like GNOME and XFCE. +environments like GNOME, XFCE or MATE. To simplify things, the module defines a variable containing the set of services that users typically expect on a machine with a graphical @@ -12114,9 +12131,10 @@ The @var{%desktop-services} variable can be used as the @code{services} field of an @code{operating-system} declaration (@pxref{operating-system Reference, @code{services}}). -Additionally, the @code{gnome-desktop-service} and -@code{xfce-desktop-service} procedures can add GNOME and/or XFCE to a -system. To ``add GNOME'' means that system-level services like the +Additionally, the @code{gnome-desktop-service}, +@code{xfce-desktop-service} and @code{mate-desktop-service} +procedures can add GNOME, XFCE and/or MATE to a system. +To ``add GNOME'' means that system-level services like the backlight adjustment helpers and the power management utilities are added to the system, extending @code{polkit} and @code{dbus} appropriately, allowing GNOME to operate with elevated privileges on a @@ -12127,6 +12145,11 @@ not only adds the @code{xfce} metapackage to the system profile, but it also gives the Thunar file manager the ability to open a ``root-mode'' file management window, if the user authenticates using the administrator's password via the standard polkit graphical interface. +To ``add MATE'' means that @code{polkit} and @code{dbus} are extended +appropriately, allowing MATE to operate with elevated privileges on a +limited number of special-purpose system interfaces. Additionally, +adding a service made by @code{mate-desktop-service} adds the MATE +metapackage to the system profile. @deffn {Scheme Procedure} gnome-desktop-service Return a service that adds the @code{gnome} package to the system @@ -12141,9 +12164,15 @@ file system as root from within a user session, after the user has authenticated with the administrator's password. @end deffn -Because the GNOME and XFCE desktop services pull in so many packages, +@deffn {Scheme Procedure} mate-desktop-service +Return a service that adds the @code{mate} package to the system +profile, and extends polkit with the actions from +@code{mate-settings-daemon}. +@end deffn + +Because the GNOME, XFCE and MATE desktop services pull in so many packages, the default @code{%desktop-services} variable doesn't include either of -them by default. To add GNOME or XFCE, just @code{cons} them onto +them by default. To add GNOME, XFCE or MATE, just @code{cons} them onto @code{%desktop-services} in the @code{services} field of your @code{operating-system}: @@ -13058,13 +13087,6 @@ has any connections. Defaults to @samp{"15 min"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} non-negative-integer director-doveadm-port -TCP/IP port that accepts doveadm connections (instead of director -connections) If you enable this, you'll also need to add -@samp{inet-listener} for the port. -Defaults to @samp{0}. -@end deftypevr - @deftypevr {@code{dovecot-configuration} parameter} string director-username-hash How the username is translated before being hashed. Useful values include %Ln if user can log in with or without @@domain, %Ld if mailboxes @@ -13157,7 +13179,7 @@ Defaults to @samp{"%$: %s"}. @deftypevr {@code{dovecot-configuration} parameter} string mail-log-prefix Log prefix for mail processes. See doc/wiki/Variables.txt for list of possible variables you can use. -Defaults to @samp{"\"%s(%u): \""}. +Defaults to @samp{"\"%s(%u)<%@{pid@}><%@{session@}>: \""}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} string deliver-log-format @@ -13502,7 +13524,7 @@ Defaults to @samp{0}. @deftypevr {@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size Maximum dbox file size until it's rotated. -Defaults to @samp{2000000}. +Defaults to @samp{10000000}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} string mdbox-rotate-interval @@ -13640,21 +13662,14 @@ x500UniqueIdentifier are the usual choices. You'll also need to set Defaults to @samp{"commonName"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} hours ssl-parameters-regenerate -How often to regenerate the SSL parameters file. Generation is -quite CPU intensive operation. The value is in hours, 0 disables -regeneration entirely. -Defaults to @samp{168}. -@end deftypevr - -@deftypevr {@code{dovecot-configuration} parameter} string ssl-protocols -SSL protocols to use. -Defaults to @samp{"!SSLv2"}. +@deftypevr {@code{dovecot-configuration} parameter} string ssl-min-protocol +Minimum SSL protocol version to accept. +Defaults to @samp{"TLSv1"}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} string ssl-cipher-list SSL ciphers to use. -Defaults to @samp{"ALL:!LOW:!SSLv2:!EXP:!aNULL"}. +Defaults to @samp{"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH"}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} string ssl-crypto-device @@ -13756,7 +13771,8 @@ total number of bytes read from client @item %o total number of bytes sent to client. @end table -Defaults to @samp{"in=%i out=%o"}. +See @file{doc/wiki/Variables.txt} for a list of all the variables you can use. +Defaults to @samp{"in=%i out=%o deleted=%@{deleted@} expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes=%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} body_bytes=%@{fetch_body_bytes@}"}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} string imap-capability @@ -13955,7 +13971,7 @@ definitions for messaging services: currently only Prosody is supported. @subsubheading Prosody Service @deffn {Scheme Variable} prosody-service-type -This is the type for the @uref{http://prosody.im, Prosody XMPP +This is the type for the @uref{https://prosody.im, Prosody XMPP communication server}. Its value must be a @code{prosody-configuration} record as in this example: @@ -14020,13 +14036,13 @@ The Prosody package. @deftypevr {@code{prosody-configuration} parameter} file-name data-path Location of the Prosody data storage directory. See -@url{http://prosody.im/doc/configure}. +@url{https://prosody.im/doc/configure}. Defaults to @samp{"/var/lib/prosody"}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} file-name-list plugin-paths Additional plugin directories. They are searched in all the specified -paths in order. See @url{http://prosody.im/doc/plugins_directory}. +paths in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to @samp{()}. @end deftypevr @@ -14039,15 +14055,15 @@ Defaults to @samp{"/etc/prosody/certs"}. @deftypevr {@code{prosody-configuration} parameter} string-list admins This is a list of accounts that are admins for the server. Note that you -must create the accounts separately. See @url{http://prosody.im/doc/admins} and -@url{http://prosody.im/doc/creating_accounts}. +must create the accounts separately. See @url{https://prosody.im/doc/admins} and +@url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins '("user1@@example.com" "user2@@example.net"))} Defaults to @samp{()}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} boolean use-libevent? Enable use of libevent for better performance under high load. See -@url{http://prosody.im/doc/libevent}. +@url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}. @end deftypevr @@ -14055,7 +14071,7 @@ Defaults to @samp{#f}. This is the list of modules Prosody will load on startup. It looks for @code{mod_modulename.lua} in the plugins folder, so make sure that exists too. Documentation on modules can be found at: -@url{http://prosody.im/doc/modules}. +@url{https://prosody.im/doc/modules}. Defaults to @samp{("roster" "saslauth" "tls" "dialback" "disco" "carbons" "private" "blocklist" "vcard" "version" "uptime" "time" "ping" "pep" "register" "admin_adhoc")}. @end deftypevr @@ -14068,13 +14084,13 @@ Defaults to @samp{()}. @deftypevr {@code{prosody-configuration} parameter} file-name groups-file Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See -@url{http://prosody.im/doc/modules/mod_groups}. +@url{https://prosody.im/doc/modules/mod_groups}. Defaults to @samp{"/var/lib/prosody/sharedgroups.txt"}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} boolean allow-registration? Disable account creation by default, for security. See -@url{http://prosody.im/doc/creating_accounts}. +@url{https://prosody.im/doc/creating_accounts}. Defaults to @samp{#f}. @end deftypevr @@ -14082,7 +14098,7 @@ Defaults to @samp{#f}. These are the SSL/TLS-related settings. Most of them are disabled so to use Prosody's defaults. If you do not completely understand these options, do not add them to your config, it is easy to lower the security of your server -using them. See @url{http://prosody.im/doc/advanced_ssl_config}. +using them. See @url{https://prosody.im/doc/advanced_ssl_config}. Available @code{ssl-configuration} fields are: @@ -14153,7 +14169,7 @@ Password for encrypted private keys. @deftypevr {@code{prosody-configuration} parameter} boolean c2s-require-encryption? Whether to force all client-to-server connections to be encrypted or not. -See @url{http://prosody.im/doc/modules/mod_tls}. +See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}. @end deftypevr @@ -14165,7 +14181,7 @@ Defaults to @samp{("DIGEST-MD5")}. @deftypevr {@code{prosody-configuration} parameter} boolean s2s-require-encryption? Whether to force all server-to-server connections to be encrypted or not. -See @url{http://prosody.im/doc/modules/mod_tls}. +See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}. @end deftypevr @@ -14173,7 +14189,7 @@ Defaults to @samp{#f}. Whether to require encryption and certificate authentication. This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates. See -@url{http://prosody.im/doc/s2s#security}. +@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{#f}. @end deftypevr @@ -14181,14 +14197,14 @@ Defaults to @samp{#f}. Many servers don't support encryption or have invalid or self-signed certificates. You can list domains here that will not be required to authenticate using certificates. They will be authenticated using DNS. See -@url{http://prosody.im/doc/s2s#security}. +@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} string-list s2s-secure-domains Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list here. See -@url{http://prosody.im/doc/s2s#security}. +@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}. @end deftypevr @@ -14196,20 +14212,20 @@ Defaults to @samp{()}. Select the authentication backend to use. The default provider stores passwords in plaintext and uses Prosody's configured data storage to store the authentication data. If you do not trust your server please see -@url{http://prosody.im/doc/modules/mod_auth_internal_hashed} for information +@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for information about using the hashed backend. See also -@url{http://prosody.im/doc/authentication} +@url{https://prosody.im/doc/authentication} Defaults to @samp{"internal_plain"}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} maybe-string log Set logging options. Advanced logging configuration is not yet supported -by the GuixSD Prosody Service. See @url{http://prosody.im/doc/logging}. +by the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}. Defaults to @samp{"*syslog"}. @end deftypevr @deftypevr {@code{prosody-configuration} parameter} file-name pidfile -File to write pid in. See @url{http://prosody.im/doc/modules/mod_posix}. +File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. Defaults to @samp{"/var/run/prosody/prosody.pid"}. @end deftypevr @@ -14236,7 +14252,7 @@ instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration. Conversely a server that hosts a single domain would have just one VirtualHost entry. -See @url{http://prosody.im/doc/configure#virtual_host_settings}. +See @url{https://prosody.im/doc/configure#virtual_host_settings}. Available @code{virtualhost-configuration} fields are: @@ -14257,7 +14273,7 @@ Internal components are implemented with Prosody-specific plugins. To add an internal component, you simply fill the hostname field, and the plugin you wish to use for the component. -See @url{http://prosody.im/doc/components}. +See @url{https://prosody.im/doc/components}. Defaults to @samp{()}. Available @code{int-component-configuration} fields are: @@ -14276,10 +14292,10 @@ Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users. General information on setting up and using multi-user chatrooms can be found -in the "Chatrooms" documentation (@url{http://prosody.im/doc/chatrooms}), +in the "Chatrooms" documentation (@url{https://prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms. -See also @url{http://prosody.im/doc/modules/mod_muc}. +See also @url{https://prosody.im/doc/modules/mod_muc}. Available @code{mod-muc-configuration} fields are: @@ -14310,7 +14326,7 @@ Defaults to @samp{20}. @deftypevr {@code{prosody-configuration} parameter} ext-component-configuration-list ext-components External components use XEP-0114, which most standalone components support. To add an external component, you simply fill the hostname field. See -@url{http://prosody.im/doc/components}. +@url{https://prosody.im/doc/components}. Defaults to @samp{()}. Available @code{ext-component-configuration} fields are: diff --git a/gnu/local.mk b/gnu/local.mk index 514daec1c5..2a2def9d89 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -252,7 +252,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libunistring.scm \ %D%/packages/libusb.scm \ %D%/packages/libunwind.scm \ - %D%/packages/libupnp.scm \ %D%/packages/lighting.scm \ %D%/packages/linux.scm \ %D%/packages/lirc.scm \ @@ -558,7 +557,6 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ - %D%/packages/patches/borg-fix-archive-corruption-bug.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ @@ -570,8 +568,6 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-disable-unittest-throttle.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ - %D%/packages/patches/chicken-CVE-2017-6949.patch \ - %D%/packages/patches/chicken-CVE-2017-11343.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ @@ -749,6 +745,8 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-bug-1348660-pt5.patch \ %D%/packages/patches/icecat-bug-1415133.patch \ + %D%/packages/patches/icecat-bug-1414945.patch \ + %D%/packages/patches/icecat-bug-1424373-pt2.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ @@ -801,6 +799,7 @@ dist_patch_DATA = \ %D%/packages/patches/libgit2-0.25.1-mtime-0.patch \ %D%/packages/patches/libgdata-fix-tests.patch \ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \ + %D%/packages/patches/libgxps-CVE-2017-11590.patch \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ @@ -988,6 +987,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-networkx2-reproducible-build.patch \ %D%/packages/patches/python-nose-timer-drop-ordereddict.patch \ %D%/packages/patches/python-parse-too-many-fields.patch \ + %D%/packages/patches/python-pillow-fix-failing-tests.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \ %D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \ @@ -996,7 +996,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-pandas-skip-failing-tests.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ - %D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch \ %D%/packages/patches/python-pygit2-disable-network-tests.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e97fa79ac9..f8b0cc388e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1805,14 +1805,14 @@ produce uniform output across heterogeneous networks.") (define-public cbatticon (package (name "cbatticon") - (version "1.6.6") + (version "1.6.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/valr/" name "/archive/" version ".tar.gz")) (sha256 (base32 - "1rxlrwd817f2zl4fsc5ha43wjzfidq3yyagq4lgyi150qg36svv3")) + "1s2n49ydh7pznnf02fak4yy0wqkgi9ag7yiw1zg1lhp4m0h37hyh")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments @@ -2333,3 +2333,35 @@ application, collecting the information received.") ;; 'src/siphash24.c' is the SipHash reference implementation, which ;; bears a CC0 Public Domain Dedication. (license license:agpl3+))) + +(define-public hungrycat + (package + (name "hungrycat") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jwilk/hungrycat/" + "releases/download/" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "03fc1zsrf99lvxa7b4ps6pbi43304wbxh1f6ci4q0vkal370yfwh")))) + (build-system gnu-build-system) + (native-inputs + ;; For tests. + `(("python" ,python-wrapper) + ("python-nose" ,python-nose))) + (arguments + `(#:test-target "test")) + (synopsis "A single tool that combines @command{cat} & @command{rm}") + (description + "hungrycat prints the contents of a file to standard output, while +simultaneously freeing the disk space it occupied. It is useful if you need +to process a large file, don't have enough space to store both the input and +output files, and don't need the input file afterwards. +While similar in principle to running @command{cat} immediately followed by +@command{rm}, @command{hungrycat} actually frees blocks as soon as they are +printed instead of after the entire file has been read, which is often too +late.") + (home-page "https://jwilk.net/software/hungrycat") + (license license:expat))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index a1f5bd1820..d21c093876 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -93,7 +93,7 @@ systems in a FITS image header.") (define-public gnuastro (package (name "gnuastro") - (version "0.4") + (version "0.5") (source (origin (method url-fetch) @@ -101,17 +101,13 @@ systems in a FITS image header.") version ".tar.gz")) (sha256 (base32 - "1n30zz4kg89ic5h30b7nrxp0bk0ls2m3xnfi81mja56bxxwpihrs")))) + "10lxzxyrf30hj3bqdgprvaj9phzdi816khjmr0vmjf8pmsr8bqqr")))) (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("wcslib" ,wcslib))) (build-system gnu-build-system) - (arguments - ;; Reduce the number of required type conversions by enabling arithmetic - ;; with all the supported types. - `(#:configure-flags '("--enable-bin-op-alltypes"))) (home-page "https://www.gnu.org/software/gnuastro/") (synopsis "Astronomy utilities") (description "The GNU Astronomy Utilities (Gnuastro) is a suite of diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 867b7ceca0..6851827924 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> -;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1418,7 +1418,7 @@ synchronous execution of all clients, and low latency operation.") (define-public jack-2 (package (inherit jack-1) (name "jack2") - (version "1.9.11-RC1") + (version "1.9.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/jackaudio/jack2/releases/" @@ -1427,7 +1427,7 @@ synchronous execution of all clients, and low latency operation.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ks72xxv8qrpwjc2ksr74rnp178h62g5vdplb2rn4vhkw86yw3kk")))) + "0crf4y9a5j9miw8r5ji4l3w5w0y2frrf7xyfsfdgacnw6vwy5vyy")))) (build-system waf-build-system) (arguments `(#:python ,python-2 @@ -1436,15 +1436,6 @@ synchronous execution of all clients, and low latency operation.") "--alsa") #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-fast_rand - (lambda _ - (substitute* "common/memops.c" - ;; Fixed in upstream commit d3c8e2d8d78899fba40a3e677ed4dbe388d82269 - (("^inline unsigned int fast_rand" line) - (string-append "static " line)) - ;; Fixed in upstream commit 0279a2d65a36d1378f5bab56d95bf9e99cc8cefb - ((" 96314165") " 196314165")) - #t)) (add-before 'configure 'set-linkflags (lambda _ diff --git a/gnu/packages/aux-files/linux-libre/4.14-i686.conf b/gnu/packages/aux-files/linux-libre/4.14-i686.conf index 2c4753cafe..c7b65d2125 100644 --- a/gnu/packages/aux-files/linux-libre/4.14-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.14-i686.conf @@ -9122,8 +9122,8 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set CONFIG_X86_DEBUG_FPU=y CONFIG_PUNIT_ATOM_DEBUG=m -CONFIG_FRAME_POINTER_UNWINDER=y -# CONFIG_GUESS_UNWINDER is not set +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_GUESS is not set # # Security options diff --git a/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf index 9eb8b58e70..6fe42fd505 100644 --- a/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf @@ -8967,9 +8967,9 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set CONFIG_X86_DEBUG_FPU=y CONFIG_PUNIT_ATOM_DEBUG=m -CONFIG_FRAME_POINTER_UNWINDER=y -# CONFIG_ORC_UNWINDER is not set -# CONFIG_GUESS_UNWINDER is not set +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_ORC is not set +# CONFIG_UNWINDER_GUESS is not set # # Security options diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index db1af031fb..b29256d1b0 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -123,7 +124,7 @@ spying and/or modification by the server.") (define-public par2cmdline (package (name "par2cmdline") - (version "0.7.4") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v" @@ -131,7 +132,7 @@ spying and/or modification by the server.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0iwwskiag3262mvhinvnbk6n0qh6sh56m86y4d0m285v0jl0y9pa")))) + "1jpshmmcr81mxly0md2rr231qz9c8c680bbvcmhh100dg9i4a6s6")))) (native-inputs `(("automake" ,automake) ("autoconf" ,autoconf))) @@ -453,18 +454,22 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "borgbackup" version)) - (patches (search-patches "borg-fix-archive-corruption-bug.patch")) - (sha256 - (base32 - "1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc")) - (modules '((guix build utils))) - (snippet - '(for-each - delete-file (find-files "borg" "^(c|h|p).*\\.c$"))))) + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "borgbackup" version)) + (sha256 + (base32 "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "borg" "^(c|h|p).*\\.c$")) + ;; Remove bundled shared libraries. + (with-directory-excursion "src/borg/algorithms" + (for-each delete-file-recursively + (list "lz4" "zstd"))))))) (build-system python-build-system) (arguments `(#:modules ((srfi srfi-26) ; for cut @@ -475,9 +480,11 @@ detection, and lossless compression.") (add-after 'unpack 'set-env (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl")) - (lz4 (assoc-ref inputs "lz4"))) + (lz4 (assoc-ref inputs "lz4")) + (zstd (assoc-ref inputs "zstd"))) (setenv "BORG_OPENSSL_PREFIX" openssl) - (setenv "BORG_LZ4_PREFIX" lz4) + (setenv "BORG_LIBLZ4_PREFIX" lz4) + (setenv "BORG_LIBZSTD_PREFIX" zstd) (setenv "PYTHON_EGG_CACHE" "/tmp") ;; The test 'test_return_codes[python]' fails when ;; HOME=/homeless-shelter. @@ -538,7 +545,8 @@ detection, and lossless compression.") ("lz4" ,lz4) ("openssl" ,openssl) ("python-llfuse" ,python-llfuse) - ("python-msgpack" ,python-msgpack))) + ("python-msgpack" ,python-msgpack) + ("zstd" ,zstd))) (synopsis "Deduplicated, encrypted, authenticated and compressed backups") (description "Borg is a deduplicating backup program. Optionally, it supports compression and authenticated encryption. The main goal of Borg is to diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f956aef5af..d3d9344322 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6367,7 +6367,7 @@ track. The database is exposed as a @code{TxDb} object.") (propagated-inputs `(("r-rcurl" ,r-rcurl) ("r-xml" ,r-xml))) - (home-page "http://cran.r-project.org/web/packages/SPARQL") + (home-page "https://cran.r-project.org/web/packages/SPARQL") (synopsis "SPARQL client for R") (description "This package provides an interface to use SPARQL to pose SELECT or UPDATE queries to an end-point.") @@ -6378,7 +6378,7 @@ SELECT or UPDATE queries to an end-point.") (define-public vsearch (package (name "vsearch") - (version "2.6.0") + (version "2.6.2") (source (origin (method url-fetch) @@ -6388,7 +6388,7 @@ SELECT or UPDATE queries to an end-point.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rplgpvsdkxw0k371ckxrp6i77jn93ckhslaazwbyd85m83nkynr")) + "02khrgh8hm11cgww2f9mqc6886zqli9ss4pd4kfpqzd0d31vbzv5")) (patches (search-patches "vsearch-unbundle-cityhash.patch")) (snippet '(begin @@ -6601,7 +6601,7 @@ BLAST, KEGG, GenBank, MEDLINE and GO.") (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra))) - (home-page "http://cran.r-project.org/web/packages/ACSNMineR") + (home-page "https://cran.r-project.org/web/packages/ACSNMineR") (synopsis "Gene enrichment analysis") (description "This package provides tools to compute and represent gene set enrichment @@ -8332,14 +8332,14 @@ library implementing most of the pipeline's features.") (define-public r-mutationalpatterns (package (name "r-mutationalpatterns") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "MutationalPatterns" version)) (sha256 (base32 - "1qhxlfl85ifr30wrsidcn3kca3vs8fd8cmwd82gvgx9ppww8vs06")))) + "08ay9h5cqsi8ypb6r0g4rfa5l1g06jgfzl64wmhgz134yqbl7vfv")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -8497,7 +8497,7 @@ factors bound at the specific regions.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-seqinr" ,r-seqinr))) - (home-page "http://cran.r-project.org/web/packages/gkmSVM") + (home-page "https://cran.r-project.org/web/packages/gkmSVM") (synopsis "Gapped-kmer support vector machine") (description "This R package provides tools for training gapped-kmer SVM classifiers @@ -9090,7 +9090,7 @@ trait.") "047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z")))) (properties `((upstream-name . "MALDIquant"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/MALDIquant") + (home-page "https://cran.r-project.org/web/packages/MALDIquant") (synopsis "Quantitative analysis of mass spectrometry data") (description "This package provides a complete analysis pipeline for matrix-assisted @@ -9997,7 +9997,7 @@ interval to data view, mismatch pileup, and several splicing summaries.") (propagated-inputs `(("r-plyr" ,r-plyr) ("r-rcurl" ,r-rcurl))) - (home-page "http://cran.r-project.org/web/packages/gProfileR/") + (home-page "https://cran.r-project.org/web/packages/gProfileR/") (synopsis "Interface to the g:Profiler toolkit") (description "This package provides tools for functional enrichment analysis, diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 02a687cda7..eca0646200 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -177,8 +177,8 @@ XML-RPC over SCGI.") (license l:gpl2+))) (define-public tremc - (let ((commit "9755b50e9444566cff02c977edafdbb3e9750cbb") - (revision "1")) + (let ((commit "e06d08d8d76aa0559593ffc1188f4a90100cdbdb") + (revision "2")) (package (name "tremc") (version (git-version "0.9.0" revision commit)) @@ -191,29 +191,18 @@ XML-RPC over SCGI.") (file-name (git-file-name name version)) (sha256 (base32 - "05259qss5jka5ygwrh7cngyp6cgazbynji5pshgfzrd2d43pyfq5")))) - (build-system python-build-system) + "17rf74sajcn5fl718rgl2qk5mw5yz9hrh58hbcg4p55wrazzrm1i")))) + (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - ;; The software is just a Python script that must be - ;; copied into place. - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man1")) - ;; FIXME install zsh completions - (completions (string-append out "/etc/bash_completion.d"))) - (install-file "tremc" bin) - (install-file "tremc.1" man) - (install-file - (string-append - "completion/bash/" - "transmission-remote-cli-bash-completion.sh") - completions))))))) + ;; The software is just a Python script that must be copied into + ;; place. + (delete 'configure) + (delete 'build)))) (synopsis "Console client for the Transmission BitTorrent daemon") (description "Tremc is a console client, with a curses interface, for the Transmission BitTorrent daemon.") diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4f24335d6b..1dcecb607a 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1162,16 +1162,24 @@ seamlessly into your existing Python unit testing work flow.") (define-public python-lit (package (name "python-lit") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (pypi-uri "lit" version)) (sha256 (base32 - "135m2b9cwih85g66rjggavck328z7lj37srgpq3jxszbg0g2b91y")))) + "0z651m3vkbk85y41larnsjxrszkbi58x9gzml3lb6ga7qwcrsg97")))) (build-system python-build-system) - (home-page "http://llvm.org/") + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "py.test")))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://llvm.org/") (synopsis "LLVM Software Testing Tool") (description "@code{lit} is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and providing indication of @@ -1400,7 +1408,7 @@ pytest report.") (build-system python-build-system) (propagated-inputs `(("pytest" ,python-pytest))) - (home-page "http://bitbucket.org/memedough/pytest-capturelog/overview") + (home-page "https://bitbucket.org/memedough/pytest-capturelog/overview") (synopsis "Pytest plugin to catch log messages") (description "Python-pytest-catchlog is a pytest plugin to catch log messages.") @@ -1549,24 +1557,15 @@ JSON APIs with Behave.") (define-public python-rednose (package (name "python-rednose") - (version "1.2.1") + (version "1.2.3") (source (origin (method url-fetch) (uri (pypi-uri "rednose" version)) (sha256 (base32 - "0b0bsna217lr1nykyhl5fgjly15zhdvqd4prg4wy1zrgfv7al6m0")))) + "11x5nx5b4wdq04s7vj1gcdl07jvvkfb37p0r5lg773gr5rr8mj6h")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-deps - (lambda _ - ;; See <https://github.com/JBKahn/rednose/issues/12> - (substitute* "setup.py" - (("python-termstyle") "termstyle")) - #t))))) (propagated-inputs `(("python-colorama" ,python-colorama) ("python-termstyle" ,python-termstyle))) @@ -1642,14 +1641,14 @@ create data based on random numbers and yet remain repeatable.") (define-public python-freezegun (package (name "python-freezegun") - (version "0.3.8") + (version "0.3.9") (source (origin (method url-fetch) (uri (pypi-uri "freezegun" version)) (sha256 (base32 - "1sf38d3ibv1jhhvr52x7dhrsiyqk1hm165dfv8w8wh0fhmgxg151")))) + "1vhf3kgdy7gpy70n3bxa3y1n6aza316137md97z8p5k0gz6wqg3q")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 37a934b5a2..47241321fe 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net> +;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> @@ -380,7 +380,7 @@ compression algorithm is currently LZMA2, which is used inside the .xz container format. With typical files, XZ Utils create 30 % smaller output than gzip and 15 % smaller output than bzip2.") (license (list license:gpl2+ license:lgpl2.1+)) ; bits of both - (home-page "http://tukaani.org/xz/"))) + (home-page "https://tukaani.org/xz/"))) (define-public lzo (package @@ -994,7 +994,7 @@ respectively, based on the reference implementation from Google.") (lambda _ (chdir "xdelta3"))) (add-after 'enter-build-directory 'autoconf (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "http://xdelta.com") + (home-page "http://xdelta.org") (synopsis "Delta encoder for binary files") (description "xdelta encodes only the differences between two binary files using the VCDIFF algorithm and patch file format described in RFC 3284. It can @@ -1042,22 +1042,16 @@ well as bzip2.") (define-public bitshuffle (package (name "bitshuffle") - (version "0.3.2") + (version "0.3.4") (source (origin (method url-fetch) (uri (pypi-uri "bitshuffle" version)) (sha256 (base32 - "01vcjrvsxjvv47y5hf9rps69zwv0vwd4ydhhms2jfs4rpcnlak6v")))) + "0ydawb01ghsvmw0lraczhrgvkjj97bpg98f1qqs1cnfp953mdd5v")))) (build-system python-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'check 'make-required-dir - (lambda _ - (mkdir-p "bitshuffle/plugin") - #t))))) + `(#:tests? #f)) ; fail: https://github.com/h5py/h5py/issues/769 (inputs `(("numpy" ,python-numpy) ("h5py" ,python-h5py) @@ -1624,8 +1618,7 @@ or junctions, and always follows hard links.") "HAVE_LZMA=0" ;; Not currently detected, but be explicit & avoid surprises later. "HAVE_LZ4=0" - "HAVE_ZLIB=0") - #:test-target "test")) + "HAVE_ZLIB=0"))) (home-page "http://zstd.net/") (synopsis "Zstandard real-time compression algorithm") (description "Zstandard (@command{zstd}) is a lossless compression algorithm @@ -1952,3 +1945,114 @@ type by using either Perl modules, or command-line tools on your system.") (description "Tukaani-xz is an implementation of xz compression/decompression algorithms in Java.") (license license:public-domain))) + +(define-public lunzip + (package + (name "lunzip") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.savannah.gnu.org/releases/lzip/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1ax3d9cp66z1qb9q7lfzg5bpx9630xrxgq9a5sw569wm0qqgpg2q")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "CC=gcc"))) + (home-page "http://www.nongnu.org/lzip/lunzip.html") + (synopsis "Small, stand-alone lzip decompressor") + (description + "Lunzip is a decompressor for files in the lzip compression format (.lz), +written as a single small C tool with no dependencies. This makes it +well-suited to embedded and other systems without a C++ compiler, or for use in +applications such as software installers that need only to decompress files, +not compress them. +Lunzip is intended to be fully compatible with the regular lzip package.") + (license (list license:bsd-2 ; carg_parser.[ch] + license:gpl2+)))) ; everything else + +(define-public clzip + (package + (name "clzip") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.savannah.gnu.org/releases/lzip/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1brvsnpihzj81cf4wk2x5bnr2qldlq0wncpdbzxmzvxapm1cq2yc")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "CC=gcc"))) + (home-page "http://www.nongnu.org/lzip/clzip.html") + (synopsis "Small, stand-alone lzip compressor and decompressor") + (description + "Clzip is a compressor and decompressor for files in the lzip compression +format (.lz), written as a single small C tool with no dependencies. This makes +it well-suited to embedded and other systems without a C++ compiler, or for use +in other applications like package managers. +Clzip is intended to be fully compatible with the regular lzip package.") + (license (list license:bsd-2 ; carg_parser.[ch], lzd in clzip.texi + license:gpl2+)))) + +(define-public lzlib + (package + (name "lzlib") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.savannah.gnu.org/releases/lzip/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "13mssf3hrcnmd4ijbqnxfk0zgj1q5lvpxxkm1hmrbl1h73czhwi4")))) + (build-system gnu-build-system) + ;; The included minilzip binary is only ~16 smaller than the ‘real’ lzip. + ;; It's used during the test suite, but don't be tempted to install it. + (arguments + `(#:configure-flags + (list "CC=gcc" + "--enable-shared"))) ; only static (.a) is built by default + (home-page "http://www.nongnu.org/lzip/lzlib.html") + (synopsis "Lzip data compression C library") + (description + "Lzlib is a C library for in-memory LZMA compression and decompression in +the lzip format. It supports integrity checking of the decompressed data, and +all functions are thread-safe. The library should never crash, even in case of +corrupted input.") + (license (list license:bsd-2 ; the library itself + license:gpl2+)))) ; main.c (i.e. minilzip used by tests) + +(define-public plzip + (package + (name "plzip") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.savannah.gnu.org/releases/lzip/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0z2cs6vn4xl65wakd013xl3sdfpg8dr0cvcjwc2slh8y9bz7j7ax")))) + (build-system gnu-build-system) + (inputs + `(("lzlib" ,lzlib))) + (home-page "http://www.nongnu.org/lzip/plzip.html") + (synopsis "Parallel lossless data compressor for the lzip format") + (description + "Plzip is a massively parallel (multi-threaded) lossless data compressor +and decompressor that uses the lzip file format (.lz). Files produced by plzip +are fully compatible with lzip and can be rescued with lziprecover. +On multiprocessor machines, plzip can compress and decompress large files much +faster than lzip, at the cost of a slightly reduced compression ratio (0.4% to +2%). The number of usable threads is limited by file size: on files of only a +few MiB, plzip is no faster than lzip. +Files that were compressed with regular lzip will also not be decompressed +faster by plzip, unless the @code{-b} option was used: lzip usually produces +single-member files which can't be decompressed in parallel.") + (license (list license:bsd-2 ; arg_parser.{cc,h} + license:gpl2+)))) ; everything else diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9b80b68984..62dc6a9bd7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,7 @@ (sha256 (base32 "0d1ya7hx4y58n5ivwmdmq2zgh0g2sbv7ykh13n85c1355csd57yx")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/colorspace") + (home-page "https://cran.r-project.org/web/packages/colorspace") (synopsis "Color space manipulation") (description "This package carries out a mapping between assorted color spaces @@ -170,7 +171,7 @@ bindings that call a C++ function.") "0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7")))) (properties `((upstream-name . "AUC"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/AUC") + (home-page "https://cran.r-project.org/web/packages/AUC") (synopsis "Compute the area under the curve of selected measures") (description "This package includes functions to compute the area under the curve of @@ -195,7 +196,7 @@ is provided.") (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) - (home-page "http://cran.r-project.org/web/packages/calibrate") + (home-page "https://cran.r-project.org/web/packages/calibrate") (synopsis "Calibration of scatterplot and biplot axes") (description "This is a package for drawing calibrated scales with tick marks @@ -214,7 +215,7 @@ on (non-orthogonal) variable vectors in scatterplots and biplots.") (base32 "1v9xp60p813rnx41vchkh32qmcb4z2zp9l7r1a8a6f8aqylnq3vj")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/shape") + (home-page "https://cran.r-project.org/web/packages/shape") (synopsis "Functions for plotting graphical shapes") (description "This package provides functions for plotting graphical shapes such as @@ -244,14 +245,14 @@ validation and filtering on the values, making options invisible or private.") (define-public r-circlize (package (name "r-circlize") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "circlize" version)) (sha256 (base32 - "0py82f5v25mi0s4626zbl5br1frdrj3diz2dakar1rz5yn956mdi")))) + "0pg947gkryygikfbv6admx8gsg02b6g219j6a1sdnqij2908yxna")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -260,15 +261,15 @@ validation and filtering on the values, making options invisible or private.") (home-page "https://github.com/jokergoo/circlize") (synopsis "Circular visualization") (description - "Circular layout is an efficient way for the visualization of huge -amounts of information. This package provides an implementation of circular -layout generation in R as well as an enhancement of available software. The -flexibility of the package is based on the usage of low-level graphics -functions such that self-defined high-level graphics can be easily implemented -by users for specific purposes. Together with the seamless connection between -the powerful computational and visual environment in R, it gives users more -convenience and freedom to design figures for better understanding complex -patterns behind multiple dimensional data.") + "Circular layout is an efficient way to visualise huge amounts of +information. This package provides an implementation of circular layout +generation in R as well as an enhancement of available software. Its +flexibility is based on the usage of low-level graphics functions such that +self-defined high-level graphics can be easily implemented by users for +specific purposes. Together with the seamless connection between the powerful +computational and visual environment in R, it gives users more convenience and +freedom to design figures for better understanding complex patterns behind +multi-dimensional data.") (license license:gpl2+))) (define-public r-powerlaw @@ -308,7 +309,7 @@ approach is used to estimate the lower cut-off for the scaling region.") (base32 "0k9zms930b5dz9gy8414li21wy0zg9x9vp7301v5cvyfi0g7xzgw")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/compare") + (home-page "https://cran.r-project.org/web/packages/compare") (synopsis "Comparing objects for differences") (description "This package provides functions to compare a model object to a @@ -550,7 +551,7 @@ plot networks.") (base32 "15g6dacdmlbkcnimblscghl23aj732cn6qwbs583r4im9v5nvbla")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/proxy") + (home-page "https://cran.r-project.org/web/packages/proxy") (synopsis "Distance and similarity measures") (description "This package provides an extensible framework for the efficient @@ -572,7 +573,7 @@ most popular ones.") (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) - (home-page "http://cran.r-project.org/web/packages/sp") + (home-page "https://cran.r-project.org/web/packages/sp") (synopsis "Classes and methods for spatial data") (description "This package provides classes and methods for spatial data; the classes @@ -595,7 +596,7 @@ print, summary, etc.") "1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1")))) (properties `((upstream-name . "RMTstat"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/RMTstat") + (home-page "https://cran.r-project.org/web/packages/RMTstat") (synopsis "Distributions, statistics and tests derived from random matrix theory") (description "This package provides functions for working with the Tracy-Widom laws @@ -710,7 +711,7 @@ or excesses over a high threshold.") `(("r-zoo" ,r-zoo))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/lmtest") + (home-page "https://cran.r-project.org/web/packages/lmtest") (synopsis "Testing linear regression models") (description "This package provides a collection of tests, data sets, and examples for @@ -730,7 +731,7 @@ tools for inference in parametric models are provided.") (base32 "0cf9vya9h4znwgp6s1nayqqmh6mwyw7jl0isk1nx4j2ijszxcd7x")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/inline") + (home-page "https://cran.r-project.org/web/packages/inline") (synopsis "Functions to inline C, C++, Fortran function calls from R") (description "This package provides functionality to dynamically define R functions @@ -755,7 +756,7 @@ and S4 methods with inlined C, C++ or Fortran code supporting @code{.C} and `(("r-lattice" ,r-lattice) ("r-mass" ,r-mass) ("r-numderiv" ,r-numderiv))) - (home-page "http://cran.r-project.org/web/packages/bbmle") + (home-page "https://cran.r-project.org/web/packages/bbmle") (synopsis "Tools for General Maximum Likelihood Estimation") (description "This package provides methods and functions for fitting maximum @@ -805,7 +806,7 @@ topics for ecologists (ISBN 978-0-691-12522-0).") "13a9ry8xf5j1f2j6imqrxdgxqz3nqp9sj9b4ivyx9sid459irm6m")))) (properties `((upstream-name . "lpSolve"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/lpSolve") + (home-page "https://cran.r-project.org/web/packages/lpSolve") (synopsis "R interface to Lp_solve to solve linear/integer programs") (description "Lp_solve is software for solving linear, integer and mixed integer @@ -832,7 +833,7 @@ transportation problems.") ("r-mass" ,r-mass) ("r-quadprog" ,r-quadprog))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/limSolve") + (home-page "https://cran.r-project.org/web/packages/limSolve") (synopsis "Solving linear inverse models") (description "This package provides functions that: @@ -891,7 +892,7 @@ data). Weighted versions of MLE, MME and QME are available.") (propagated-inputs `(("r-boot" ,r-boot) ("r-rcpp" ,r-rcpp))) - (home-page "http://cran.r-project.org/web/packages/energy") + (home-page "https://cran.r-project.org/web/packages/energy") (synopsis "Multivariate inference via the energy of data") (description "This package provides e-statistics (energy) tests and statistics for @@ -918,7 +919,7 @@ statistics/methods are implemented.") "1ffx8wigqqvz2pnh06jjc0fnf4vq9z2rhwk2y3f9aszn18ap3dgw")))) (properties `((upstream-name . "SuppDists"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/SuppDists") + (home-page "https://cran.r-project.org/web/packages/SuppDists") (synopsis "Supplementary distributions") (description "This package provides ten distributions supplementing those built into @@ -944,7 +945,7 @@ George Marsaglia are included.") (build-system r-build-system) (propagated-inputs `(("r-suppdists" ,r-suppdists))) - (home-page "http://cran.r-project.org/web/packages/kSamples") + (home-page "https://cran.r-project.org/web/packages/kSamples") (synopsis "K-Sample rank tests and their combinations") (description "This package provides tools to compares k samples using the @@ -973,7 +974,7 @@ samples.") (propagated-inputs `(("r-kernlab" ,r-kernlab) ("r-matrix" ,r-matrix))) - (home-page "http://cran.r-project.org/web/packages/CVST") + (home-page "https://cran.r-project.org/web/packages/CVST") (synopsis "Fast cross-validation via sequential testing") (description "This package implements the fast cross-validation via sequential @@ -1027,7 +1028,7 @@ variable models.") `(("r-cvst" ,r-cvst) ("r-kernlab" ,r-kernlab) ("r-matrix" ,r-matrix))) - (home-page "http://cran.r-project.org/web/packages/DRR") + (home-page "https://cran.r-project.org/web/packages/DRR") (synopsis "Dimensionality reduction via regression") (description "This package provides an implementation of dimensionality reduction via @@ -1051,7 +1052,7 @@ regression using Kernel Ridge Regression.") ("r-lava" ,r-lava) ("r-rcpp" ,r-rcpp) ("r-survival" ,r-survival))) - (home-page "http://cran.r-project.org/web/packages/prodlim") + (home-page "https://cran.r-project.org/web/packages/prodlim") (synopsis "Product-limit estimation for censored event history analysis") (description "This package provides a fast and user-friendly implementation of @@ -1123,7 +1124,7 @@ calendar objects.") ("r-sfsmisc" ,r-sfsmisc))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/ddalpha") + (home-page "https://cran.r-project.org/web/packages/ddalpha") (synopsis "Depth-Based classification and calculation of data depth") (description "This package contains procedures for depth-based supervised learning, @@ -1172,7 +1173,7 @@ Core algorithms are executed in parallel on systems supporting OpenMP.") (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) - (home-page "http://cran.r-project.org/web/packages/RcppRoll") + (home-page "https://cran.r-project.org/web/packages/RcppRoll") (synopsis "Efficient rolling and windowed operations") (description "This package provides fast and efficient routines for common rolling / @@ -1200,7 +1201,7 @@ provided.") ("r-prodlim" ,r-prodlim) ("r-rpart" ,r-rpart) ("r-survival" ,r-survival))) - (home-page "http://cran.r-project.org/web/packages/ipred") + (home-page "https://cran.r-project.org/web/packages/ipred") (synopsis "Improved predictors") (description "This package provides improved predictive models by indirect @@ -1225,7 +1226,7 @@ problems as well as resampling based estimators of prediction error.") ("r-lattice" ,r-lattice) ("r-mnormt" ,r-mnormt) ("r-nlme" ,r-nlme))) - (home-page "http://cran.r-project.org/web/packages/psych/") + (home-page "https://cran.r-project.org/web/packages/psych/") (synopsis "Procedures for psychological, psychometric, and personality research") (description "This package provides a general purpose toolbox for personality, @@ -1456,7 +1457,7 @@ imputations.") (base32 "1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/truncnorm/") + (home-page "https://cran.r-project.org/web/packages/truncnorm/") (synopsis "Truncated normal distribution") (description "This package provides functions for the truncated normal distribution with mean equal to @code{mean} and standard deviation equal to @@ -1479,7 +1480,7 @@ functions, as well as a random generation function.") (build-system r-build-system) (propagated-inputs `(("r-truncnorm" ,r-truncnorm))) - (home-page "http://cran.r-project.org/web/packages/Rsolnp/") + (home-page "https://cran.r-project.org/web/packages/Rsolnp/") (synopsis "General non-linear optimization") (description "The Rsolnp package implements a general non-linear augmented Lagrange multiplier method solver, a @dfn{sequential quadratic @@ -1589,14 +1590,14 @@ training models for classification or ranking.") (define-public r-xts (package (name "r-xts") - (version "0.10-0") + (version "0.10-1") (source (origin (method url-fetch) (uri (cran-uri "xts" version)) (sha256 (base32 - "1w7lxy3hbf005fvpzbwiznj8jbxi07s4189vbgxisd35l9a4v6q4")))) + "1j9ddh9v9081zrqlpylsk13fldilhjdyaw6r6pa726fhgnrsf8a2")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) (native-inputs `(("gfortran" ,gfortran))) @@ -1654,7 +1655,7 @@ where possible.") (propagated-inputs `(("r-boot" ,r-boot) ("r-mass" ,r-mass))) - (home-page "http://cran.r-project.org/web/packages/laeken/") + (home-page "https://cran.r-project.org/web/packages/laeken/") (synopsis "Estimation of indicators on social exclusion and poverty") (description "This package provides tools for the estimation of indicators on social exclusion and poverty, as well as an implementation of Pareto tail @@ -1677,7 +1678,7 @@ modeling for empirical income distributions.") `(("r-colorspace" ,r-colorspace) ("r-lmtest" ,r-lmtest) ("r-mass" ,r-mass))) - (home-page "http://cran.r-project.org/web/packages/vcd/") + (home-page "https://cran.r-project.org/web/packages/vcd/") (synopsis "Visualizing categorical data") (description "This package provides visualization techniques, data sets, summary and inference procedures aimed particularly at categorical data. @@ -1699,7 +1700,7 @@ Analysis with R\" by Michael Friendly and David Meyer (2015).") (base32 "1bkl4a72l0k6gm82l3jxnib898z20cw17zg81jj39l9dn65rlmcq")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/ica/") + (home-page "https://cran.r-project.org/web/packages/ica/") (synopsis "Independent component analysis") (description "This package provides tools for @dfn{Independent Component Analysis} (ICA) using various algorithms: FastICA, @@ -1766,7 +1767,7 @@ statistics, etc.") (base32 "0ababcj87kx7860mica9y2ydlhskxmgj9n46crx036cila512jc2")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/scatterplot3d/") + (home-page "https://cran.r-project.org/web/packages/scatterplot3d/") (synopsis "3D scatter plot") (description "This package provides an implementation of scatter plots for plotting. a three dimensional point cloud.") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 1306cf76b2..d98dba0911 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -412,7 +412,11 @@ applications.") ("snappy" ,snappy))) (native-inputs `(("valgrind" ,valgrind) - ("perl" ,perl))) + ("perl" ,perl) + ("python" ,python2-minimal) + ("python2-pymongo" ,python2-pymongo) + ("python2-pyyaml" ,python2-pyyaml) + ("tzdata" ,tzdata))) (arguments `(#:scons ,scons-python2 #:phases @@ -460,12 +464,29 @@ applications.") ,@common-options "mongod" "mongo" "mongos"))))) (replace 'check - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key tests? inputs #:allow-other-keys) + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) (or (not tests?) - (zero? (apply system* - `("scons" - ,@common-options - "dbtest" "unittests")))))) + ;; Note that with the tests, especially the unittests, the + ;; build can take up to ~45GB of space, as many tests are + ;; individual executable files, with some being hundreds of + ;; megabytes in size. + (begin + (apply + invoke `("scons" ,@common-options "dbtest" "unittests")) + (substitute* "build/unittests.txt" + ;; TODO: Don't run the async_stream_test, as it hangs + (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$") + "") + ;; TODO: This test fails + ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476 + (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$") + "")) + (invoke "python" "buildscripts/resmoke.py" + "--suites=dbtest,unittests" + (format #f "--jobs=~a" (parallel-job-count))))))) (replace 'install (lambda _ (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) @@ -562,7 +583,7 @@ Language.") (define-public mariadb (package (name "mariadb") - (version "10.1.26") + (version "10.1.29") (source (origin (method url-fetch) (uri (string-append "https://downloads.mariadb.org/f/" @@ -570,7 +591,7 @@ Language.") name "-" version ".tar.gz")) (sha256 (base32 - "0ggpdcal0if9y6h9hp1yv2q65cbkjfl4p8rqk68a5pk7k75v325s")))) + "1m3ya6c3snnsyscd0waklayqfv0vhws52iizv2j5masj5xhdbfvk")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -1500,7 +1521,7 @@ organized in hash table, B+ tree, or fixed-length array.") "0krwnb2zfbhvjaskwl875qzd3y626s84zcciq2mxr5c5riw3yh6s")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-lz4" "--enable-zlib") + '(#:configure-flags '("--enable-lz4" "--with-builtins=snappy,zlib") #:phases (modify-phases %standard-phases (add-before 'check 'disable-test/fops @@ -1511,7 +1532,8 @@ organized in hash table, B+ tree, or fixed-length array.") #t))))) (inputs `(("lz4" ,lz4) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("snappy" ,snappy))) (home-page "http://source.wiredtiger.com/") (synopsis "NoSQL data engine") (description @@ -2095,14 +2117,14 @@ simple and Pythonic domain language.") (define-public python-sqlalchemy-utils (package (name "python-sqlalchemy-utils") - (version "0.32.13") + (version "0.32.21") (source (origin (method url-fetch) (uri (pypi-uri "SQLAlchemy-Utils" version)) (sha256 (base32 - "0vsib7gidjamzsz6w4s5pdhxzxsrkghjnm4sqwk94igjrl3i5ixj")))) + "1myn71dn8j74xglyh46f12sh8ywb7j0j732rzwq70kvwwnq32m73")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; FIXME: Many tests require a running database server. @@ -2145,14 +2167,14 @@ You might also want to install the following optional dependencies: (define-public python-alembic (package (name "python-alembic") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) (uri (pypi-uri "alembic" version)) (sha256 (base32 - "01gx2syqbaxh4hr9pf7pxhlb6p36qaf99140dy19lsx1paxb9p4b")))) + "0cm73vabrqj92v7a0wwvldj8j7bc7dwv358kvkk7p87gx7mm2a04")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) @@ -2162,7 +2184,7 @@ You might also want to install the following optional dependencies: ("python-sqlalchemy" ,python-sqlalchemy) ("python-mako" ,python-mako) ("python-editor" ,python-editor))) - (home-page "http://bitbucket.org/zzzeek/alembic") + (home-page "https://bitbucket.org/zzzeek/alembic") (synopsis "Database migration tool for SQLAlchemy") (description @@ -2318,18 +2340,19 @@ designed to be easy and intuitive to use.") (define-public python-sadisplay (package (name "python-sadisplay") - (version "0.4.6") + (version "0.4.8") (source (origin (method url-fetch) (uri (pypi-uri "sadisplay" version)) (sha256 (base32 - "0zqad2fl7q26p090qmqgmxbm6iwgf9zij1w8da1g3wdgjj72ql05")))) + "01d9lxhmgpb68gy8rd6zj6fcwp84n2qq210n1qsk3qbsir79bzh4")))) (build-system python-build-system) (propagated-inputs `(("python-sqlalchemy" ,python-sqlalchemy))) (native-inputs + ;; For tests. `(("python-nose" ,python-nose))) (home-page "https://bitbucket.org/estin/sadisplay") (synopsis "SQLAlchemy schema displayer") @@ -2431,13 +2454,13 @@ substitute for redis.") (define-public python-redis (package (name "python-redis") - (version "2.10.5") + (version "2.10.6") (source (origin (method url-fetch) (uri (pypi-uri "redis" version)) (sha256 - (base32 "0csmrkxb29x7xs9b51zplwkkq2hwnbh9jns1g85dykn5rxmaxysx")))) + (base32 "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52")))) (build-system python-build-system) ;; Tests require a running Redis server (arguments '(#:tests? #f)) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1a00d8cb16..9f80f241b8 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1548,7 +1548,7 @@ type, for example: packages, buffers, files, etc.") (define-public emacs-guix (package (name "emacs-guix") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/guix.el" @@ -1556,7 +1556,7 @@ type, for example: packages, buffers, files, etc.") "/emacs-guix-" version ".tar.gz")) (sha256 (base32 - "0mjb2yb454389ds2kr5rkjkl21r78z4c0f88ivf4g471yzg279mc")))) + "152zf9vkafmnnf7by5armg165npznb961csgnvr8iwdj3smvivjf")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -3237,19 +3237,33 @@ automatically.") (define-public emacs-ivy (package (name "emacs-ivy") - (version "0.9.1") + (version "0.10.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/abo-abo/swiper/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/swiper.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1abi1rvjarwfxxylpx8qlhck0kbavnj0nmlaaizk9q5zr02xfx1j")))) + "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (with-directory-excursion "doc" + (unless (zero? (system* "makeinfo" "ivy.texi")) + (error "makeinfo failed")) + (install-file "ivy.info" info)))))))) (propagated-inputs `(("emacs-hydra" ,emacs-hydra))) + (native-inputs + `(("texinfo" ,texinfo))) (home-page "http://oremacs.com/swiper/") (synopsis "Incremental vertical completion for Emacs") (description @@ -4097,7 +4111,7 @@ target will call @code{compile} on it.") (define-public emacs-cider (package (name "emacs-cider") - (version "0.15.0") + (version "0.15.1") (source (origin (method url-fetch) (uri (string-append @@ -4106,7 +4120,7 @@ target will call @code{compile} on it.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0j7qjcslh8mnxrr2m8qrscyq9ry240j5jd9dysbvih126lxisf12")))) + "1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g")))) (build-system emacs-build-system) (arguments '(#:exclude ; Don't exclude 'cider-test.el'. @@ -4292,14 +4306,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "20171205") + (version "20171224") (source (origin (method url-fetch) (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0a1rm94ci47jf5579sxscily680ysmy3hnxjcs073n45nk76za04")))) + "1s995y3aizzaldpqz6jg73w8c9kmdbn30chkslwylg3p98as1jsj")))) (build-system emacs-build-system) (home-page "http://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4319,7 +4333,7 @@ reproducible research.") (package-version emacs-org) ".tar")) (sha256 (base32 - "1y61csa284gy8l0fj0mv67mkm4fsi4lz401987qp6a6z260df4n5")))) + "0lamkw5npcm0640c36zqdv8py5rbpr0pk1i4qdmfgrngy64v9f75")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -5305,6 +5319,29 @@ constructs.") configuration of Chinese fonts.") (license license:gpl2+))) +(define-public emacs-php-mode + (package + (name "emacs-php-mode") + (version "20171225.342") + (source (origin + (method url-fetch) + (uri (string-append + "https://melpa.org/packages/php-mode-" + version ".tar")) + (sha256 + (base32 + "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q")))) + (build-system emacs-build-system) + (home-page "https://github.com/ejmr/php-mode") + (synopsis "Major mode for editing PHP code") + (description "@code{php-mode} is a major mode for editing PHP source +code. It's an extension of C mode; thus it inherits all C mode's navigation +functionality. But it colors according to the PHP grammar and indents +according to the PEAR coding guidelines. It also includes a couple handy +IDE-type features such as documentation search and a source and class +browser.") + (license license:gpl3+))) + (define-public emacs-pos-tip (package (name "emacs-pos-tip") diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d1eeb35088..413bc5f102 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -24,6 +24,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages bash) @@ -224,7 +225,7 @@ contents and more.") (define-public rage (package (name "rage") - (version "0.2.1") + (version "0.3.0") (source (origin (method url-fetch) (uri @@ -233,8 +234,8 @@ contents and more.") version ".tar.xz")) (sha256 (base32 - "06kbgcnbhl9clhdl7k983m4d0n6ggsl4qvizzi1nrp8c7np87fix")))) - (build-system gnu-build-system) + "0gfzdd4jg78bkmj61yg49w7bzspl5m1nh6agqgs8k7qrq9q26xqy")))) + (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -362,15 +363,15 @@ Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") (define-public edi (package (name "edi") - (version "0.5.1") + (version "0.6.0") (source (origin (method url-fetch) - (uri (string-append "https://github.com/ajwillia-ms/edi/releases/" - "download/v" version "/edi-" version ".tar.bz2")) + (uri (string-append "https://download.enlightenment.org/rel/apps/edi/" + name "-" version ".tar.xz")) (sha256 (base32 - "0k0ymi9ilhkypqb9pniv365kh3jgbl2g2k0ylvsmisn2jhbqk49a")))) + "0iqkah327ms5m7k054hcik2l9v68i4mg9yy52brprfqpd5jk7pw8")))) (build-system gnu-build-system) (arguments '(#:phases @@ -378,11 +379,9 @@ Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 (lambda _ (setenv "HOME" "/tmp") #t))) - #:configure-flags '("--with-tests=coverage"))) + #:tests? #f)) ; tests require running dbus service (native-inputs - `(("check" ,check) - ("lcov" ,lcov) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (inputs `(("clang" ,clang) ("efl" ,efl))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 788f7c0d7c..8d2b734d92 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages libedit) #:use-module (gnu packages libevent) #:use-module (gnu packages libunwind) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) @@ -492,3 +493,225 @@ Monero command line client and daemon.") "Monero is a secure, private, untraceable currency. This package provides the Monero GUI client.") (license license:bsd-3))) + +(define-public python-trezor-agent + (package + (name "python-trezor-agent") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/romanz/trezor-agent/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h8jb147vpjk7mqbl4za0xdh7lblhx07n9dfk80kn2plwnvrry1x")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; Make installed package available for running the tests + (add-installed-pythonpath inputs outputs) + (invoke "py.test")))))) + (propagated-inputs + `(("python-ecdsa" ,python-ecdsa) + ("python-ed25519" ,python-ed25519) + ("python-semver" ,python-semver) + ("python-unidecode" ,python-unidecode))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/romanz/trezor-agent") + (synopsis "TREZOR SSH and GPG host support") + (description + "@code{libagent} is a library that allows using TREZOR, Keepkey and +Ledger Nano as a hardware SSH/GPG agent.") + (license license:lgpl3))) + +(define-public python2-trezor-agent + (package-with-python2 python-trezor-agent)) + +(define-public python-mnemonic + (package + (name "python-mnemonic") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mnemonic" version)) + (sha256 + (base32 + "07bzfa5di6nv5xwwcwbypnflpj50wlfczhh6q6hg8w13g5m319q2")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pbkdf2" ,python-pbkdf2))) + (home-page "https://github.com/trezor/python-mnemonic") + (synopsis "Implementation of Bitcoin BIP-0039") + (description "@code{mnemonic} is a library that provides an implementation +of Bitcoin BIP-0039.") + (license license:expat))) + +(define-public python2-mnemonic + (package-with-python2 python-mnemonic)) + +(define-public python-ledgerblue + (package + (name "python-ledgerblue") + (version "0.1.16") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ledgerblue" version)) + (sha256 + (base32 + "010mghaqh1cmz3a0ifc3f40mmyplilwlw7kpha2mzyrrff46p9gb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-ecpy" ,python-ecpy) + ("python-future" ,python-future) + ("python-hidapi" ,python-hidapi) + ("python-pillow" ,python-pillow) + ("python-protobuf" ,python-protobuf) + ("python-pycrypto" ,python-pycrypto))) + (home-page "https://github.com/LedgerHQ/blue-loader-python") + (synopsis "Python library to communicate with Ledger Blue/Nano S") + (description "@code{ledgerblue} is a Python library to communicate with +Ledger Blue/Nano S.") + (license license:asl2.0))) + +(define-public python2-ledgerblue + (package-with-python2 python-ledgerblue)) + +(define-public python-trezor + (package + (name "python-trezor") + (version "0.7.16") + (source + (origin + (method url-fetch) + (uri (pypi-uri "trezor" version)) + (sha256 + (base32 + "055kii56wgwadl5z911s59ya2fnsqzk3n5i19s2hb9sv2by6knvb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-ecdsa" ,python-ecdsa) + ("python-hidapi" ,python-hidapi) + ("python-mnemonic" ,python-mnemonic) + ("python-protobuf" ,python-protobuf) + ("python-requests" ,python-requests))) + (native-inputs + `(("python-pyqt" ,python-pyqt))) ; Tests + (home-page "https://github.com/trezor/python-trezor") + (synopsis "Python library for communicating with TREZOR Hardware Wallet") + (description "@code{trezor} is a Python library for communicating with +TREZOR Hardware Wallet.") + (license license:lgpl3))) + +(define-public python2-trezor + (package-with-python2 python-trezor)) + +(define-public python-keepkey + (package + (name "python-keepkey") + (version "4.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "keepkey" version)) + (sha256 + (base32 + "0f4iqqjlqmamw4mhyhik4qlb5bnfd10wbjw9yzgir105wh5fdpnd")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (apply invoke "python" (find-files "tests/unit" "\\.py$"))))))) + (propagated-inputs + `(("python-ecdsa" ,python-ecdsa) + ("python-hidapi" ,python-hidapi) + ("python-mnemonic" ,python-mnemonic) + ("python-protobuf" ,python-protobuf))) + (home-page "https://github.com/keepkey/python-keepkey") + (synopsis "Python library for communicating with KeepKey Hardware Wallet") + (description "@code{keepkey} is a Python library for communicating with +the KeepKey Hardware Wallet.") + (license license:lgpl3))) + +(define-public python2-keepkey + (package-with-python2 python-keepkey)) + +(define-public ledger-agent + (package + (name "ledger-agent") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ledger_agent" version)) + (sha256 + (base32 + "03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92")))) + (build-system python-build-system) + (inputs + `(("python-ledgerblue" ,python-ledgerblue) + ("python-trezor-agent" ,python-trezor-agent))) + (home-page "http://github.com/romanz/trezor-agent") + (synopsis "Ledger as hardware SSH/GPG agent") + (description "This package allows using Ledger as hardware SSH/GPG agent. + +Usage for SSH: trezor-agent foo@@example.com --connect +Usage for GPG: Initialize using trezor-gpg init \"Foo <foo@@example.com>\" +Then set the environment variable GNUPGHOME to +\"${HOME}/.gnupg/trezor\".") + (license license:lgpl3))) + +(define-public trezor-agent + (package + (name "trezor-agent") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "trezor_agent" version)) + (sha256 + (base32 + "1i5cdamlf3c0ym600pjklij74p8ifj9cv7xrpnrfl1b8nkadswbz")))) + (build-system python-build-system) + (inputs + `(("python-trezor" ,python-trezor) + ("python-trezor-agent" ,python-trezor-agent))) + (home-page "http://github.com/romanz/trezor-agent") + (synopsis "Using Trezor as hardware SSH/GPG agent") + (description "This package allows using Trezor as a hardware SSH/GPG +agent.") + (license license:lgpl3))) + +(define-public keepkey-agent + (package + (name "keepkey-agent") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "keepkey_agent" version)) + (sha256 + (base32 + "03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27")))) + (build-system python-build-system) + (inputs + `(("python-keepkey" ,python-keepkey) + ("python-trezor-agent" ,python-trezor-agent))) + (home-page "http://github.com/romanz/trezor-agent") + (synopsis "KeepKey as hardware SSH/GPG agent") + (description "This package allows using KeepKey as a hardware SSH/GPG +agent.") + (license license:lgpl3))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 8391ce5552..12595dc31c 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -184,14 +184,14 @@ by the b43-open driver of Linux-libre.") (define-public seabios (package (name "seabios") - (version "1.10.1") + (version "1.11.0") (source (origin (method url-fetch) (uri (string-append "https://code.coreboot.org/p/seabios/downloads/get/" "seabios-" version ".tar.gz")) (sha256 (base32 - "1jyjl719drnl1v0gf0l5q6qjjmkyqcqkka6s28dfdi0yqsxdsqsh")))) + "1xwvp77djxbxbxg82hzj26pv6zka3556vkdcp09hnfwapcp46av2")))) (build-system gnu-build-system) (native-inputs `(("python-2" ,python-2))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index fb129d4393..b879fbd5a8 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu> -;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> @@ -17,7 +17,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> -;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> +;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> @@ -32,6 +32,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,6 +81,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) + #:use-module (gnu packages graphics) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages imagemagick) @@ -355,6 +357,56 @@ played. Freedoom complements the Doom engine with free levels, artwork, sound effects and music to make a completely free game.") (license license:bsd-3))) +(define-public meandmyshadow + (package + (name "meandmyshadow") + (version "0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/meandmyshadow/" + version "/meandmyshadow-" version + "-src.tar.gz")) + (sha256 + (base32 + "1dpb7s32b2psj5w3nr5kqibib8nndi86mw8gxp4hmxwrfiisf86d")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; there are no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-sdl'paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/Modules/FindSDL_gfx.cmake" + (("/usr/local/include/SDL") + (string-append (assoc-ref inputs "sdl") + "/include/SDL"))) + ;; Because SDL provides lib/libX11.so.6 we need to explicitly + ;; link with libX11, even though we're using the GL backend. + (substitute* "CMakeLists.txt" + (("\\$\\{X11_LIBRARIES\\}") "-lX11")) + ))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("sdl" ,(sdl-union (list sdl + sdl-image + sdl-gfx + sdl-mixer + sdl-ttf))) + ("libx11" ,libx11) ; needed by sdl's libX11 + ("libarchive" ,libarchive) + ("openssl" ,openssl) + ("mesa" ,mesa) + ("glu" ,glu) + ("curl" ,curl))) + (home-page "http://meandmyshadow.sourceforge.net/") + (synopsis "Puzzle/platform game") + (description "Me and My Shadow is a puzzle/platform game in which you try +to reach the exit by solving puzzles. Spikes, moving blocks, fragile blocks +and much more stand between you and the exit. Record your moves and let your +shadow mimic them to reach blocks you couldn't reach alone.") + (license license:gpl3+))) + (define-public knights (package (name "knights") @@ -1471,7 +1523,7 @@ either by Infocom or created using the Inform compiler.") (define-public retroarch (package (name "retroarch") - (version "1.6.9") + (version "1.7.0") (source (origin (method url-fetch) @@ -1479,7 +1531,7 @@ either by Infocom or created using the Inform compiler.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1d3qbph59d43k10mprqm8h23143yji5mwjkciwynwa4xvsgydpb6")))) + (base32 "1waskzf99947yqs40n38s86m41jf5v7prvzf8pzfjxzpgyis8bxk")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -4978,9 +5030,8 @@ at their peak of economic growth and military prowess. (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - ;; At this point linenoise is meant to be included, - ;; so we have to really copy it into the working directory - ;; of s. + ;; Linenoise is meant to be included, so we have to + ;; copy it into the working directory. (let* ((linenoise (assoc-ref inputs "linenoise")) (noisepath (string-append linenoise "/include/linenoise")) (out (assoc-ref outputs "out"))) @@ -5182,3 +5233,170 @@ It includes support for 64 bit CPUs, custom music playback, a new sound driver, some graphical niceities, and numerous bug-fixes and other improvements.") (home-page "http://quakespasm.sourceforge.net/") (license license:gpl2+))) + +(define-public yamagi-quake2 + (package + (name "yamagi-quake2") + (version "7.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://deponie.yamagi.org/quake2/quake2-" + version ".tar.xz")) + (sha256 + (base32 + "0psinbg25mysd58k99s1n34w31w5hj1vppb39gdjb0zqi6sl6cps")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags + (list "CC=gcc" + ;; link openAL instead of using dlopen at runtime + "DLOPEN_OPENAL=\"no\"" + ;; an optional directory where it will look for quake2 data files + ;; in addition to the current working directory + "WITH_SYSTEMWIDE=yes" + "WITH_SYSTEMDIR=\"/opt/quake2\"") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib")) + (mkdir-p (string-append out "/bin")) + ;; The yamagi-quake2 binary must be in the same directory + ;; as it's engine libraries, but symlinking it to /bin is okay + ;; https://github.com/yquake2/yquake2/blob/master/stuff/packaging.md + (copy-recursively "release" + (string-append out "/lib/yamagi-quake2")) + (symlink (string-append out "/lib/yamagi-quake2/quake2") + (string-append out "/bin/yamagi-quake2")) + (symlink (string-append out "/lib/yamagi-quake2/q2ded") + (string-append out "/bin/yamagi-q2ded")))))))) + (inputs `(("sdl2" ,sdl2) + ("mesa" ,mesa) + ("libvorbis" ,libvorbis) + ("zlib" ,zlib) + ("openal" ,openal))) + (native-inputs `(("pkg-config" ,pkg-config))) + (synopsis "First person shooter engine based on quake2") + (description "Yamagi Quake II is an enhanced client for id Software's Quake II. +The main focus is an unchanged single player experience like back in 1997, +thus the gameplay and the graphics are unaltered. However the user may use one +of the unofficial retexturing packs. In comparison with the official client, +over 1000 bugs were fixed and an extensive code audit done, +making Yamagi Quake II one of the most solid Quake II implementations available.") + (home-page "https://www.yamagi.org/quake2/") + (license (list license:gpl2+ ; game and server + (license:non-copyleft ; info-zip + "file://LICENSE" + "See Info-Zip section.") + license:public-domain)))) ; stb + +(define-public the-butterfly-effect + (package + (name "the-butterfly-effect") + (version "0.9.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/the-butterfly-effect/tbe/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18qkp7fgdvyl3haqqa693mgyic7afsznsxgz98z9wn4csaqxsnby")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + ;; There is no "install" phase. By default, tbe is installed + ;; in the build directory. Provide our own installation. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share"))) + (install-file "usr/games/tbe" bin) + (mkdir-p share) + (copy-recursively "usr/share" share) + #t)))) + ;; Test suite requires a running Xorg server. Even when + ;; provided, it fails with "D-Bus library appears to be + ;; incorrectly set up; failed to read machine uuid: Failed to + ;; open "/etc/machine-id": No such file or directory" along + ;; with multiple "QPainter:: ... Painter not active" warnings. + #:tests? #f)) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (native-inputs + `(("cmake" ,cmake) + ("gettext-minimal" ,gettext-minimal) + ("qttools" ,qttools))) + (synopsis "Realistic physics puzzle game") + (description "The Butterfly Effect (tbe) is a game that uses +realistic physics simulations to combine lots of simple mechanical +elements to achieve a simple goal in the most complex way possible.") + (home-page "http://the-butterfly-effect.org/") + ;; Main license is GPL2-only. However, artwork is distributed + ;; under various licenses, listed here. + (license (list license:gpl2 license:public-domain license:expat + license:cc-by-sa3.0 license:gpl3+ license:wtfpl2)))) + +(define-public pioneer + (package + (name "pioneer") + (version "20171001") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pioneerspacesim/pioneer/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nxhx22swfqq6lfvcnpfm31wig3sjv5pp0rslj79nbxc7nyihh8m")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("assimp" ,assimp) + ("curl" ,curl) + ("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("libsigc++" ,libsigc++) + ("libvorbis" ,libvorbis) + ("lua" ,lua-5.2) ;not compatible with 5.3 + ("mesa" ,mesa) + ("sdl" ,(sdl-union (list sdl2 sdl2-image))))) + (arguments + `(#:tests? #f ;tests are broken + #:configure-flags (list "--with-external-liblua" + (string-append "PIONEER_DATA_DIR=" + %output "/share/games/pioneer")) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (zero? (system* "sh" "bootstrap")))) + (add-before 'bootstrap 'fix-lua-check + (lambda _ + (substitute* "configure.ac" + (("lua5.2") + (string-append "lua-" ,(version-major+minor + (package-version lua-5.2)))))))))) + (home-page "http://pioneerspacesim.net") + (synopsis "Game of lonely space adventure") + (description + "Pioneer is a space adventure game set in our galaxy at the turn of the +31st century. The game is open-ended, and you are free to eke out whatever +kind of space-faring existence you can think of. Look for fame or fortune by +exploring the millions of star systems. Turn to a life of crime as a pirate, +smuggler or bounty hunter. Forge and break alliances with the various +factions fighting for power, freedom or self-determination. The universe is +whatever you make of it.") + (license license:gpl3))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a89b61565f..835d1c0bf1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -144,6 +144,7 @@ #:use-module (gnu packages speech) #:use-module (gnu packages virtualization) #:use-module (gnu packages vpn) + #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) (define-public brasero @@ -395,6 +396,7 @@ access the common Google services, and has full asynchronous support.") (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) + (patches (search-patches "libgxps-CVE-2017-11590.patch")) (sha256 (base32 "184r06s8g20cfigg7m169n42jjsc9wmzzlycr4g1fxxhr72r8x9y")))) @@ -880,7 +882,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") (define-public adwaita-icon-theme (package (inherit gnome-icon-theme) (name "adwaita-icon-theme") - (version "3.26.0") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -888,7 +890,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") name "-" version ".tar.xz")) (sha256 (base32 - "04i2s6hkgzxgmq85dynmzih8rw5krc5apkks962mhgri37g8bbcw")))) + "17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8")))) (native-inputs `(("gtk-encode-symbolic-svg" ,gtk+ "bin"))))) @@ -3673,6 +3675,11 @@ for application developers.") #:phases (modify-phases %standard-phases + (add-before + 'install 'disable-cache-generation + (lambda _ + (setenv "DESTDIR" "/") + #t)) (add-after 'install 'wrap-totem (lambda* (#:key inputs outputs #:allow-other-keys) @@ -4366,7 +4373,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.10.6") + (version "0.10.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4374,8 +4381,8 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk")))) - (build-system gnu-build-system) + "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb")))) + (build-system meson-build-system) (native-inputs `(("glib" ,glib "bin") ("pkg-config" ,pkg-config))) @@ -4732,6 +4739,10 @@ to display dialog boxes from the commandline and shell scripts.") ;; The following flags are needed for the bundled clutter "--enable-x11-backend=yes" + (string-append "--with-xwayland-path=" + (assoc-ref %build-inputs "xorg-server-xwayland") + "/bin/Xwayland") + ;; the remaining flags are needed for the bundled cogl "--enable-cogl-gst" (string-append "--with-gl-libname=" @@ -4792,6 +4803,7 @@ to display dialog boxes from the commandline and shell scripts.") ("startup-notification" ,startup-notification) ("upower-glib" ,upower) ("xkeyboard-config" ,xkeyboard-config) + ("xorg-server-xwayland" ,xorg-server-xwayland) ("zenity" ,zenity))) (synopsis "Window and compositing manager") (home-page "https://www.gnome.org") @@ -6921,35 +6933,24 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (define-public lollypop (package (name "lollypop") - (version "0.9.304") + (version "0.9.306") (source (origin (method url-fetch) - (uri (string-append "https://github.com/gnumdk/lollypop/" - "releases/download/" version "/" + (uri (string-append "https://gitlab.gnome.org/gnumdk/lollypop/uploads/" + "b769805b7063ef9807e4e832e7e87ad2/" name "-" version ".tar.xz")) (sha256 (base32 - "070y6wf1180hbl1ix8al7fmc6y06jb5m14h73g509g4xbwlk62g8")))) - ;; TODO: Use meson-build-system - (build-system glib-or-gtk-build-system) + "0c49v6793bywvh295xbii9yq21hh3qpmxwbgp9i71kj6r9grvhan")))) + (build-system meson-build-system) (arguments `(#:imported-modules ((guix build python-build-system) - ,@%glib-or-gtk-build-system-modules) + ,@%meson-build-system-modules) + #:glib-or-gtk? #t #:tests? #f ; no test suite #:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; remove post-install script, we update the caches later - (substitute* "meson.build" - (("meson.add_install_script\\('meson_post_install.py'\\)") "")) - (zero? - (system* "meson" "builddir" (string-append "--prefix=" out)))))) - (replace 'install - (lambda _ (zero? (system* "ninja" "-C" "builddir" "install")))) (add-after 'install 'wrap-program (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -6962,16 +6963,15 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (native-inputs `(("intltool" ,intltool) ("itstool" ,itstool) - ("ninja" ,ninja) + ("glib:bin" ,glib "bin") ; For glib-compile-resources + ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs `(("gobject-introspection" ,gobject-introspection) ("gst-plugins-base" ,gst-plugins-base) - ("gtk+" ,gtk+) ("libnotify" ,libnotify) ("libsecret" ,libsecret) ("libsoup" ,libsoup) - ("meson" ,meson) ("python" ,python) ("python-beautifulsoup4" ,python-beautifulsoup4) ("python-gst" ,python-gst) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index bb01aac978..880c7ca737 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -369,18 +369,15 @@ libskba (working with X.509 certificates and CMS data).") (base32 "1ssc0gs02r4fasabk7c6v6r865k2j02mpb5g1vkpbmzsigdzwa8v")))) (build-system gnu-build-system) + (native-inputs + `(("gnupg" ,gnupg))) (propagated-inputs ;; Needs to be propagated because gpgme.h includes gpg-error.h. `(("libgpg-error" ,libgpg-error))) (inputs - `(("gnupg" ,gnupg) - ("libassuan" ,libassuan))) + `(("libassuan" ,libassuan))) (arguments - `(#:configure-flags - (list (string-append "--enable-fixed-path=" - (assoc-ref %build-inputs "gnupg") - "/bin")) - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'configure 'patch-cmake-file (lambda _ @@ -419,7 +416,8 @@ and every application benefits from this.") (chdir "lang/qt") #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ,@(package-native-inputs gpgme))) (inputs `(("gpgme" ,gpgme) ("qtbase" ,qtbase) diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index a6adc697a0..0e9cf230f2 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -133,6 +133,7 @@ to easily create cross-compiled binaries.") `(("libxmu" ,libxmu) ("libxft" ,libxft) ("libx11" ,libx11) + ("libxinerama" ,libxinerama) ("fontconfig" ,fontconfig) ("libjpeg" ,libjpeg) ("giflib" ,giflib) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 15582fb471..2e96ec26af 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -482,7 +482,35 @@ security standards.") (mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16") (search-patch "icecat-bug-1415133.patch") (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m") - (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl"))) + (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl") + (mozilla-patch "icecat-bug-1413741.patch" "4e00ce2897c4" "0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w") + (mozilla-patch "icecat-bug-1224396.patch" "92d450811409" "0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy") + (mozilla-patch "icecat-bug-1415582.patch" "7eba7d14704a" "1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g") + (mozilla-patch "icecat-bug-1417797.patch" "457d023c167e" "11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9") + (mozilla-patch "icecat-bug-1410134.patch" "5e7b16213198" "14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh") + (mozilla-patch "icecat-bug-1419363.patch" "0712b6cbbdc8" "0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5") + (mozilla-patch "icecat-bug-1408276.patch" "084c427ccf99" "0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d") + (mozilla-patch "icecat-bug-1382366.patch" "1bfb3d8d4510" "0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j") + (mozilla-patch "icecat-bug-1414425.patch" "5623e01e63a8" "08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs") + (mozilla-patch "icecat-bug-1409951.patch" "14a389d40329" "0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1") + (mozilla-patch "icecat-bug-1415441.patch" "7339297cddb7" "017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j") + (mozilla-patch "icecat-bug-1418922.patch" "aa55d4cdaee5" "1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw") + (mozilla-patch "icecat-bug-1382358.patch" "762f4e53889a" "0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k") + (mozilla-patch "icecat-bug-1399520.patch" "0152d097672f" "16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg") + (search-patch "icecat-bug-1414945.patch") + (mozilla-patch "icecat-bug-1414452.patch" "079356ed5317" "107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92") + (mozilla-patch "icecat-bug-1418854.patch" "93e4994a892c" "00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx") + (mozilla-patch "icecat-bug-1422389.patch" "f8a6e1864832" "1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba") + (mozilla-patch "icecat-bug-1415598.patch" "0cc1c9068714" "1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac") + (mozilla-patch "icecat-bug-1418447.patch" "ce6f3fb2bf58" "1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra") + (mozilla-patch "icecat-bug-1423159.patch" "6b4d3c5d5e51" "074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4") + (mozilla-patch "icecat-bug-1411745.patch" "1a510ee578a0" "1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5") + (mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip") + (mozilla-patch "icecat-bug-1423086.patch" "bc166be85bb4" "0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg") + (mozilla-patch "icecat-bug-1412145.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b") + (mozilla-patch "icecat-bug-1399400.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3") + (mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7") + (search-patch "icecat-bug-1424373-pt2.patch"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index bfc298f6aa..00d9093669 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -16,6 +16,7 @@ ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Coypright © 2017 Roel Janssen <roel@gnu.org> ;;; Coypright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Coypright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1240,7 +1241,7 @@ write GNOME applications.") (define-public girara (package (name "girara") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) (uri @@ -1248,19 +1249,31 @@ write GNOME applications.") version ".tar.gz")) (sha256 (base32 - "1r9jbhf9n40zj4ddqv1q5spijpjm683nxg4hr5lnir4a551s7rlq")))) + "18wss3sak3djip090v2vdbvq1mvkwcspfswc87zbvv3magihan98")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal))) - (inputs `(("gtk+" ,gtk+) - ("check" ,check))) + ("check" ,check) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("xorg-server" ,xorg-server))) + ;; Listed in 'Requires.private' of 'girara.pc'. + (propagated-inputs `(("gtk+" ,gtk+))) (arguments `(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) "COLOR=0" "CC=gcc") #:test-target "test" - #:tests? #f ; Tests fail with "Gtk cannot open display:" - #:phases - (modify-phases %standard-phases (delete 'configure)))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'check 'start-xserver + ;; Tests require a running X server. + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + ;; Don't fail due to missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &"))))))))) (build-system gnu-build-system) (home-page "https://pwmt.org/projects/girara/") (synopsis "Library for minimalistic gtk+3 user interfaces") diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 29ce574197..75a3fc5eb5 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; 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.9-27") + (version "6.9.9-30") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0z71az1bfar1r6mm3ijxbci0vb1ri66ypaals8wb17h1d85hkl17")))) + "1vqy5pzd1zdag9hf6s6xvyvfa30zx08cps9xg2481v7d2pyxs79j")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index ec329ade7e..f367032fe5 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -58,7 +58,9 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages time) #:use-module (gnu packages tls) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public quassel (package @@ -182,6 +184,11 @@ SILC and ICB protocols via plugins.") (arguments `(#:configure-flags (list "-DENABLE_TESTS=ON") ; ‘make test’ fails otherwise + ;; Tests hang indefinately on non-Intel platforms. + #:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system) + (%current-system))) + '("i686" "x86_64")) + '#t '#f) #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0be488dec3..8dd6356058 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2157,7 +2157,7 @@ is implemented.") (lambda _ (chdir "..") #t))))) (native-inputs `(("unzip" ,unzip))) - (home-page "http://tukaani.org/xz/java.html") + (home-page "https://tukaani.org/xz/java.html") (synopsis "Implementation of XZ data compression in pure Java") (description "This library aims to be a complete implementation of XZ data compression in pure Java. Single-threaded streamed compression and diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 1fe62d2308..b52edb2254 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -371,16 +371,16 @@ means that these shams cause many ES5 methods to silently fail.") (define-public mujs (package (name "mujs") - (version "1.0.1") + (version "1.0.2") (source (origin (method git-fetch) (uri (git-reference - (url "http://git.ghostscript.com/mujs.git") + (url "https://git.ghostscript.com/mujs.git") (commit version))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ch0s3vqs7agf65gbks32bj44nk1dr2s23ki47b0bhdhzvw9q93j")))) + "1angy1higk8bvh69frjhq1m6znhd75fzalaydz5rfzkdfyw52jgy")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -388,7 +388,7 @@ means that these shams cause many ES5 methods to silently fail.") #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) (string-append "CC=gcc")) #:tests? #f)) ; no tests - (home-page "http://dev.mujs.com") + (home-page "https://artifex.com/mujs/") (synopsis "JavaScript interpreter written in C") (description "MuJS is a lightweight Javascript interpreter designed for embedding in other software to extend them with scripting capabilities. MuJS diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 06190ba6ac..c44d430a8d 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -197,7 +197,7 @@ both ordinal and cardinal numbers, negative numbers, and very large numbers.") (define-public perl-lingua-pt-stemmer (package (name "perl-lingua-pt-stemmer") - (version "0.01") + (version "0.02") (source (origin (method url-fetch) @@ -205,7 +205,7 @@ both ordinal and cardinal numbers, negative numbers, and very large numbers.") "Lingua-PT-Stemmer-" version ".tar.gz")) (sha256 (base32 - "11rqc5pqnkl9c13vy7sihiyas14ci0pj3k6chrgrgjv5sjv2m4a5")))) + "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Lingua-PT-Stemmer") (synopsis "Portuguese language stemming") diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index c80cbb1799..9d96e651ac 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -110,11 +110,11 @@ loop.") (home-page "http://software.schmorp.de/pkg/libev.html") (synopsis "Event loop loosely modelled after libevent") (description - "libev is a full-featured and high-performance event loop that -is loosely modelled after libevent, but without its limitations and -bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode, -auditd, the Deliantra MORPG Server and Client, and many other -programs.") + "libev provides a full-featured and high-performance event loop that is +loosely modelled after libevent. It includes relative timers, absolute timers +with customized rescheduling, synchronous signals, process status change +events, event watchers dealing with the event loop itself, file watchers, and +limited support for fork events.") (license (list bsd-2 gpl2+)))) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 7980ad2c68..6524e58400 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -405,7 +405,8 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.") ("pkg-config" ,pkg-config))) (inputs `(("libxml2" ,libxml2))) - (home-page "http://tagoh.bitbucket.org/liblangtag/") + ;; As of December 2017, tagoh.bitbucket.org redirects to a hosting advert. + (home-page "https://bitbucket.org/tagoh/liblangtag") (synopsis "Library to access tags for identifying languages") (description "Liblangtag implements an interface to work with tags for identifying languages as described in RFC 5646. It supports the diff --git a/gnu/packages/libupnp.scm b/gnu/packages/libupnp.scm deleted file mode 100644 index 513e4c7385..0000000000 --- a/gnu/packages/libupnp.scm +++ /dev/null @@ -1,53 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gnu packages libupnp) - #:use-module (gnu packages) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libupnp - (package - (name "libupnp") - (version "1.6.21") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" - version "/" name "-" version ".tar.bz2")) - (sha256 - (base32 - "16x3z6jg1krwyydmbd0z59z5c9x4pniaajmfmnp5pmx18q43qgxg")))) - (build-system gnu-build-system) - (arguments - ;; The tests require a network device capable of multicasting which is - ;; not available in the build environment. See - ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00312.html. - `(#:tests? #f - #:configure-flags '("--enable-ipv6"))) - (home-page "http://pupnp.sourceforge.net") - (synopsis "Portable SDK for UPnP Devices") - (description - "The portable SDK for UPnP Devices (libupnp) provides developers with an -API and code for building control points, devices, and bridges that are -compliant with Version 1.0 of the Universal Plug and Play Device Architecture -Specification and support several operating systems like Linux, *BSD, Solaris -and others.") - (license bsd-3))) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 31c7dfa444..144311ceaa 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -352,3 +352,64 @@ HID-Class devices.") (license (list gpl3 bsd-3 (non-copyleft "file://LICENSE-orig.txt"))))) + +(define-public python-hidapi + (package + (name "python-hidapi") + (version "0.7.99.post21") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hidapi" version)) + (sha256 + (base32 + "15ws59zdrxahf3k7z5rcrwc4jgv1307anif8ixm2cyb9ask1mgp0")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled libraries. + '(begin + (delete-file-recursively "hidapi") + #t)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-configuration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("'/usr/include/libusb-1.0'") + (string-append "'" (assoc-ref inputs "libusb") + "/include/libusb-1.0'")) + (("'/usr/include/hidapi'") + (string-append "'" (assoc-ref inputs "hidapi") + "/include/hidapi'"))) + #t)) + ;; XXX Necessary because python-build-system drops the arguments. + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build" "--with-system-hidapi"))) + (replace 'check + (lambda _ + (invoke "python" "setup.py" "test" "--with-system-hidapi"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "python" "setup.py" "install" "--with-system-hidapi" + (string-append "--prefix=" (assoc-ref outputs "out")) + "--single-version-externally-managed" "--root=/")))))) + (inputs + `(("hidapi" ,hidapi) + ("libusb" ,libusb) + ("eudev" ,eudev))) + (native-inputs + `(("python-cython" ,python-cython))) + (home-page "https://github.com/trezor/cython-hidapi") + (synopsis "Cython interface to hidapi") + (description "This package provides a Cython interface to @code{hidapi}.") + ;; The library can be used under either of these licenses. + (license (list gpl3 bsd-3 + (non-copyleft + "https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt" + "You are free to use cython-hidapi code for any purpose."))))) + +(define-public python2-hidapi + (package-with-python2 python-hidapi)) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a2e8dc287e..a268d951ed 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,8 +370,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux")) -(define %linux-libre-version "4.14.8") -(define %linux-libre-hash "0y8nggpdgfqfx6dy5k39vj552k5mxamwjn6mldwrhs2aqpsrbwr3") +(define %linux-libre-version "4.14.10") +(define %linux-libre-hash "05l3r8i34l6b6mlgkia4xvlpc6h9nfwhsb74fy8g9dfbklx51zc8") ;; linux-libre configuration for armhf-linux is derived from Debian armmp. It ;; supports qemu "virt" machine and possibly a large number of ARM boards. @@ -384,14 +384,14 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.71" - "0z4m77zbndlqy43bgl1xhklpjilbvrhbfbcppc55z3f61qwjf0mc" + (make-linux-libre "4.9.73" + "0a5xgy7g7sb3439brv4hvpb2hjzs22nhibz8vxdmi4sqaqchh9r7" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.107" - "0pfzv15c1qj7a77n8cdmsi77yhlbzv35y7qa03j0b96ajwjsclsp" + (make-linux-libre "4.4.108" + "1cwcpp76m4k69lv7h09j3mlgm6jva4bnsykps35ffmbv9sw71wma" %intel-compatible-systems #:configuration-file kernel-config)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index bb6517f47f..8427a19714 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -791,7 +792,7 @@ thin compatibility layer for gray streams.") (define-public sbcl-flexi-streams (package (name "sbcl-flexi-streams") - (version "1.0.12") + (version "1.0.16") (source (origin (method url-fetch) @@ -799,7 +800,7 @@ thin compatibility layer for gray streams.") "https://github.com/edicl/flexi-streams/archive/v" version ".tar.gz")) (sha256 - (base32 "16grnxvs7vqm5s6myf8a5s7vwblzq1kgwj8i7ahz8vwvihm9gzfi")) + (base32 "1fb0jrwxr5c3i2lhy7kn30m1n0vggfzwjm1dacx6y5wf9wfsbamw")) (file-name (string-append "flexi-streams-" version ".tar.gz")))) (build-system asdf-build-system/sbcl) (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 4702a342a0..b13a33ff1f 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -76,7 +76,7 @@ (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/lib")) #t))))) - (home-page "http://www.llvm.org") + (home-page "https://www.llvm.org") (synopsis "Optimizing compiler infrastructure") (description "LLVM is a compiler infrastructure designed for compile-time, link-time, @@ -116,7 +116,7 @@ of programming tools as well as libraries with equivalent functionality.") `(;; Don't use '-g' during the build to save space. #:build-type "Release" #:tests? #f)) ; Tests require gtest - (home-page "http://compiler-rt.llvm.org") + (home-page "https://compiler-rt.llvm.org") (synopsis "Runtime library for Clang/LLVM") (description "The \"clang-runtime\" library provides the implementations of run-time @@ -125,7 +125,7 @@ and C++ source code to interface with the \"sanitization\" passes of the clang compiler. In LLVM this library is called \"compiler-rt\".") (license license:ncsa) - ;; <http://compiler-rt.llvm.org/> doesn't list MIPS as supported. + ;; <https://compiler-rt.llvm.org/> doesn't list MIPS as supported. (supported-systems (delete "mips64el-linux" %supported-systems)))) (define* (clang-from-llvm llvm clang-runtime hash @@ -200,7 +200,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) - (home-page "http://clang.llvm.org") + (home-page "https://clang.llvm.org") (synopsis "C language family frontend for LLVM") (description "Clang is a compiler front end for the C, C++, Objective-C and diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index b86df11e48..354121f81a 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -492,7 +492,7 @@ in terms of new algorithms.") ("r-rcpparmadillo" ,r-rcpparmadillo))) (inputs `(("armadillo" ,armadillo))) - (home-page "http://cran.r-project.org/web/packages/AdaptiveSparsity") + (home-page "https://cran.r-project.org/web/packages/AdaptiveSparsity") (synopsis "Adaptive sparsity models") (description "This package implements the Figueiredo machine learning algorithm for @@ -512,7 +512,7 @@ geometric models.") (base32 "0qnaq9x3j2xc6jrmmd98wc6hkzch487s4p3a9lnc00xvahkhgpmr")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/kernlab") + (home-page "https://cran.r-project.org/web/packages/kernlab") (synopsis "Kernel-based machine learning tools") (description "This package provides kernel-based machine learning methods for diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6aedcf7c3a..3cfa7baebd 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1137,7 +1137,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.2.33.2") + (version "2.3.0") (source (origin (method url-fetch) @@ -1145,7 +1145,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" name "-" version ".tar.gz")) (sha256 (base32 - "117f9i62liz2pm96zi2lpldzlj2knzj7g410zhifwmlsc1w3n7py")))) + "10c5myzgys866c3x6jdr1s9x9pqnjd5vpyz8z384sph21m3wnq6y")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index a8d0d9e776..ac3f2b74bd 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -38,7 +38,7 @@ (define-public libpipeline (package (name "libpipeline") - (version "1.4.2") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append @@ -46,7 +46,7 @@ version ".tar.gz")) (sha256 (base32 - "1gkrfqkphdc6gk8gic68asallj59i3cfq6nd31ppks0cljdgrwgy")))) + "0avg525wvifcvjrwa6i1r6kvahmsswj0mpxrsxzzdzra9wpf2whd")))) (build-system gnu-build-system) (home-page "http://libpipeline.nongnu.org/") (synopsis "C library for manipulating pipelines of subprocesses") diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 4426258db6..9db548fdd2 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 ng0 <ng0@infotropique.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,7 +194,7 @@ implementation. (define-public cmark (package (name "cmark") - (version "0.28.0") + (version "0.28.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/jgm/cmark/archive/" @@ -201,7 +202,7 @@ implementation. (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03pypf2mcacfa7lrwz66lh5hydsycc33arp1nx1lljbq98gikkv8")))) + "1z71pacl3ni1286c206pl8lazbcd32ackivsg3zibdf1sf2qdjdc")))) (build-system cmake-build-system) (arguments '(#:test-target "test")) @@ -210,7 +211,7 @@ implementation. (description "CommonMark is a strongly defined, highly compatible specification of Markdown. cmark is the C reference implementation of CommonMark. It provides @code{libcmark} shared library for parsing -CommonMark to an abstract syntax tree (AST) and rendering the document +CommonMark to an abstract syntax tree (@dfn{AST}) and rendering the document as HTML, groff man, LaTeX, CommonMark, or an XML representation of the AST. The package also provides the command-line program @command{cmark} for parsing and rendering CommonMark.") diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index ea4c8aecc8..71f9589937 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -27,29 +27,68 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages attr) + #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages djvu) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages enchant) + #:use-module (gnu packages file) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages iso-codes) + #:use-module (gnu packages javascript) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) + #:use-module (gnu packages messaging) + #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pdf) #:use-module (gnu packages photo) #:use-module (gnu packages polkit) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages tex) + #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) +(define-public mate-common + (package + (name "mate-common") + (version "1.18.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1005laf3z1h8qczm7pmwr40r842665cv6ykhjg7r93vldra48z6p")))) + (build-system gnu-build-system) + (home-page "https://mate-desktop.org/") + (synopsis "Common files for development of MATE packages") + (description + "Mate Common includes common files and macros used by +MATE applications.") + (license license:gpl3+))) + (define-public mate-icon-theme (package (name "mate-icon-theme") @@ -73,6 +112,44 @@ "This package contains the default icon theme used by the MATE desktop.") (license license:lgpl3+))) +(define-public mate-icon-theme-faenza + (package + (name "mate-icon-theme-faenza") + (version "1.18.1") + (source (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0vc3wg9l5yrxm0xmligz4lw2g3nqj1dz8fwv90xvym8pbjds2849")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autoconf + (lambda _ + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (invoke "sh" "autogen.sh")))))) + (native-inputs + `(("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("intltool" ,intltool) + ("icon-naming-utils" ,icon-naming-utils) + ("libtool" ,libtool) + ("mate-common" ,mate-common) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (home-page "https://mate-desktop.org/") + (synopsis "MATE desktop environment icon theme faenza") + (description + "Icon theme using Faenza and Faience icon themes and some +customized icons for MATE. Furthermore it includes some icons +from Mint-X-F and Faenza-Fresh icon packs.") + (license license:gpl2+))) + (define-public mate-themes (package (name "mate-themes") @@ -235,6 +312,29 @@ configurations (profiles).") (base32 "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll")))) (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags (list "--enable-elogind" + "--disable-schemas-compile") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + ;; Use elogind instead of systemd. + (substitute* "configure" + (("libsystemd-login") + "libelogind") + (("systemd") "elogind")) + (substitute* "mate-session/gsm-systemd.c" + (("#include <systemd/sd-login.h>") + "#include <elogind/sd-login.h>")) + ;; Remove uses of the systemd journal. + (substitute* "mate-session/main.c" + (("#ifdef HAVE_SYSTEMD") "#if 0")) + (substitute* "mate-session/gsm-manager.c" + (("#ifdef HAVE_SYSTEMD") "#if 0")) + (substitute* "mate-session/gsm-autostart-app.c" + (("#ifdef HAVE_SYSTEMD") "#if 0")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) @@ -243,6 +343,7 @@ configurations (profiles).") (inputs `(("gtk+" ,gtk+) ("dbus-glib" ,dbus-glib) + ("elogind" ,elogind) ("libsm" ,libsm) ("mate-desktop" ,mate-desktop))) (home-page "https://mate-desktop.org/") @@ -583,6 +684,111 @@ the Window List, the Window Selector, the Notification Area, the Clock and the infamous 'Wanda the Fish'.") (license (list license:gpl2+ license:lgpl2.0+)))) +(define-public atril + (package + (name "atril") + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1wl332v80c0nzz7nw36d1pfmbiibvl3l0i4d25ihg6mg9wbc0145")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags (list (string-append "--with-openjpeg=" + (assoc-ref %build-inputs "openjpeg")) + "--enable-introspection" + "--with-gtk=3.0" + "--disable-schemas-compile" + ;; FIXME: Enable build of Caja extensions. + "--disable-caja") + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-mathjax-path + (lambda _ + (let* ((mathjax (assoc-ref %build-inputs "js-mathjax")) + (mathjax-path (string-append mathjax + "/share/javascript/mathjax"))) + (substitute* "backend/epub/epub-document.c" + (("/usr/share/javascript/mathjax") + mathjax-path))) + #t)) + (add-after 'unpack 'fix-introspection-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("configure") + (("\\$\\(\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0\\)") + (string-append "\"" out "/share/gir-1.0/\"")) + (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)") + (string-append out "/lib/girepository-1.0/"))) + #t))) + (add-before 'install 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "data/Makefile" + (("gtk-update-icon-cache") "true")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("itstool" ,itstool) + ("yelp-tools" ,yelp-tools) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("xmllint" ,libxml2) + ("zlib" ,zlib))) + (inputs + `(("atk" ,atk) + ("cairo" ,cairo) + ("caja" ,caja) + ("dconf" ,dconf) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("djvulibre" ,djvulibre) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("ghostscript" ,ghostscript) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("js-mathjax" ,js-mathjax) + ("libcanberra" ,libcanberra) + ("libsecret" ,libsecret) + ("libspectre" ,libspectre) + ("libtiff" ,libtiff) + ("libx11" ,libx11) + ("libice" ,libice) + ("libsm" ,libsm) + ("libgxps" ,libgxps) + ("libjpeg" ,libjpeg) + ("libxml2" ,libxml2) + ("dogtail" ,python2-dogtail) + ("shared-mime-info" ,shared-mime-info) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("libgnome-keyring" ,libgnome-keyring) + ("libarchive" ,libarchive) + ("marco" ,marco) + ("nettle" ,nettle) + ("openjpeg" ,openjpeg-1) + ("pango" ,pango) + ;;("texlive" ,texlive) + ;; TODO: + ;; Build libkpathsea as a shared library for DVI support. + ;; ("libkpathsea" ,texlive-bin) + ("poppler" ,poppler) + ("webkitgtk" ,webkitgtk))) + (home-page "https://mate-desktop.org") + (synopsis "Document viewer for Mate") + (description + "Document viewer for Mate") + (license license:gpl2))) + (define-public caja (package (name "caja") @@ -626,6 +832,10 @@ infamous 'Wanda the Fish'.") ("libxml2" ,libxml2) ("mate-desktop" ,mate-desktop) ("startup-notification" ,startup-notification))) + (native-search-paths + (list (search-path-specification + (variable "CAJA_EXTENSIONDIR") + (files (list "lib/caja/extensions-2.0/**"))))) (home-page "https://mate-desktop.org/") (synopsis "File manager for the MATE desktop") (description @@ -638,6 +848,61 @@ icons on the MATE desktop. It works on local and remote filesystems.") ;; for us. (license license:gpl2+))) +(define-public caja-extensions + (package + (name "caja-extensions") + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags (list "--enable-sendto" + ;; TODO: package "gupnp" to enable 'upnp', package + ;; "gksu" to enable 'gksu'. + (string-append "--with-sendto-plugins=removable-devices," + "caja-burn,emailclient,pidgin,gajim") + "--enable-image-converter" + "--enable-open-terminal" "--enable-share" + "--enable-wallpaper" "--enable-xattr-tags" + (string-append "--with-cajadir=" + (assoc-ref %outputs "out") + "/lib/caja/extensions-2.0/")))) + (native-inputs + `(("intltool" ,intltool) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("attr" ,attr) + ("brasero" ,brasero) + ("caja" ,caja) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("gajim" ,gajim) ;runtime only? + ("gtk+" ,gtk+) + ("imagemagick" ,imagemagick) + ("graphicsmagick" ,graphicsmagick) + ("mate-desktop" ,mate-desktop) + ("pidgin" ,pidgin) ;runtime only? + ("startup-notification" ,startup-notification))) + (home-page "https://mate-desktop.org/") + (synopsis "Extensions for the File manager Caja") + (description + "Caja is the official file manager for the MATE desktop. +It allows for browsing directories, as well as previewing files and launching +applications associated with them. Caja is also responsible for handling the +icons on the MATE desktop. It works on local and remote filesystems.") + (license license:gpl2+))) + (define-public mate-control-center (package (name "mate-control-center") @@ -754,6 +1019,505 @@ some users; these users may want to investigate other available window managers for use with MATE or as a standalone window manager.") (license license:gpl2+))) +(define-public mate-user-guide + (package + (name "mate-user-guide") + (version "1.18.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0f3b46r9a3cywm7rpj08xlkfnlfr9db58xfcpix8i33qp50fxqmb")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-desktop-file + (lambda* (#:key inputs #:allow-other-keys) + (let* ((yelp (assoc-ref inputs "yelp"))) + (substitute* "mate-user-guide.desktop.in.in" + (("yelp") + (string-append yelp "/bin/yelp")))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("gettext" ,gettext-minimal) + ("yelp-tools" ,yelp-tools) + ("yelp-xsl" ,yelp-xsl))) + (inputs + `(("yelp" ,yelp))) + (home-page "https://mate-desktop.org/") + (synopsis "User Documentation for Mate software") + (description + "MATE User Guide is a collection of documentation which details +general use of the MATE Desktop environment. Topics covered include +sessions, panels, menus, file management, and preferences.") + (license (list license:fdl1.1+ license:gpl2+)))) + +(define-public mate-calc + (package + (name "mate-calc") + (version "1.18.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0qfs6kx2nymbn6j3mnzgvk8p54ghc78jslsf4wjqsdq021qyl0ly")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("atk" ,atk) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("libxml2" ,libxml2) + ("libcanberra" ,libcanberra) + ("pango" ,pango))) + (home-page "https://mate-desktop.org/") + (synopsis "Calculator for MATE") + (description + "Mate Calc is the GTK+ calculator application for the MATE Desktop.") + (license license:gpl2+))) + +(define-public mate-backgrounds + (package + (name "mate-backgrounds") + (version "1.18.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "06q8ksjisijps2wn959arywsimhzd3j35mqkr048c26ck24d60zi")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool))) + (home-page "https://mate-desktop.org/") + (synopsis "Calculator for MATE") + (description + "This package contains a collection of graphics files which +can be used as backgrounds in the MATE Desktop environment.") + (license license:gpl2+))) + +(define-public mate-netbook + (package + (name "mate-netbook") + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0zj4x9qis8dw0irxzb4va1189k8bqbvymxq3h7phnjwvr1m983gf")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("libfakekey" ,libfakekey) + ("libwnck" ,libwnck) + ("libxtst" ,libxtst) + ("libx11" ,libx11) + ("mate-panel" ,mate-panel) + ("xproto" ,xproto))) + (home-page "https://mate-desktop.org/") + (synopsis "Tool for MATE on Netbooks") + (description + "Mate Netbook is a simple window management tool which: + +@enumerate +@item Allows you to set basic rules for a window type, such as maximise|undecorate +@item Allows exceptions to the rules, based on string matching for window name +and window class. +@item Allows 'reversing' of rules when the user manually changes something: +Re-decorates windows on un-maximise. +@end enumerate\n") + (license license:gpl3+))) + +(define-public mate-screensaver + (package + (name "mate-screensaver") + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0dfi10faf1fnvrm7c7wnfqg35ygq09ws1vjyv8394jlf0nn39g9j")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + ;; FIXME: There is a permissions problem with screen locking + ;; which effectively locks you out completely. Enable locking + ;; once this has been fixed. + (list "--enable-locking" "--with-kbd-layout-indicator" + "--with-xf86gamma-ext" "--enable-pam" + "--disable-schemas-compile" "--without-console-kit") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autoconf + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dbus-dir (string-append out "/share/dbus-1/services"))) + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (substitute* "configure" + (("dbus-1") "")))))))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,(autoconf-wrapper)) + ("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("kbproto" ,kbproto) + ("mate-common" ,mate-common) + ("pkg-config" ,pkg-config) + ("randrproto" ,randrproto) + ("renderproto" ,renderproto) + ("scrnsaverproto" ,scrnsaverproto) + ("which" ,which) + ("xextpro" ,xextproto) + ("xproto" ,xproto))) + (inputs + `(("cairo" ,cairo) + ("dconf" ,dconf) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("libcanberra" ,libcanberra) + ("libglade" ,libglade) + ("libmatekbd" ,libmatekbd) + ("libnotify" ,libnotify) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxklavier" ,libxklavier) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("libxscrnsaver" ,libxscrnsaver) + ("libxxf86vm" ,libxxf86vm) + ("linux-pam" ,linux-pam) + ("mate-desktop" ,mate-desktop) + ("mate-menus" ,mate-menus) + ("pango" ,pango) + ("startup-notification" ,startup-notification))) + (home-page "https://mate-desktop.org/") + (synopsis "Screensaver for MATE") + (description + "MATE backgrounds package contains a collection of graphics files which +can be used as backgrounds in the MATE Desktop environment.") + (license license:gpl2+))) + +(define-public mate-utils + (package + (name "mate-utils") + (version "1.18.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0wr395dqfigj19ps0d76ycgwfljl9xxgs1a1g5wx6kcz5mvhzn5v")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libice" ,libice) + ("libsm" ,libsm) + ("pkg-config" ,pkg-config) + ("scrollkeeper" ,scrollkeeper) + ("xextpro" ,xextproto) + ("xproto" ,xproto) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("atk" ,atk) + ("cairo" ,cairo) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("libcanberra" ,libcanberra) + ("libgtop" ,libgtop) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("mate-panel" ,mate-panel) + ("pango" ,pango) + ("zlib" ,zlib))) + (home-page "https://mate-desktop.org/") + (synopsis "Utilities for the MATE Desktop") + (description + "Mate Utilities for the MATE Desktop containing: + +@enumerate +@item mate-system-log +@item mate-search-tool +@item mate-dictionary +@item mate-screenshot +@item mate-disk-usage-analyzer +@end enumerate\n") + (license (list license:gpl2 + license:fdl1.1+ + license:lgpl2.1)))) + +(define-public eom + (package + (name "eom") + (version "1.18.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "00ns7g7qykakc89lijrw2vwy9x9ijqiyvmnd4sw0j6py90zs8m87")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtk-doc" ,gtk-doc) + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("atk" ,atk) + ("cairo" ,cairo) + ("dconf" ,dconf) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("exempi" ,exempi) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("libcanberra" ,libcanberra) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libpeas" ,libpeas) + ("libxml2" ,libxml2) + ("libexif" ,libexif) + ("libjpeg" ,libjpeg) + ("librsvg" ,librsvg) + ("lcms" ,lcms) + ("mate-desktop" ,mate-desktop) + ("pango" ,pango) + ("shared-mime-info" ,shared-mime-info) + ("startup-notification" ,startup-notification) + ("zlib" ,zlib))) + (home-page "https://mate-desktop.org/") + (synopsis "Eye of MATE") + (description + "Eye of MATE is the Image viewer for the MATE Desktop.") + (license (list license:gpl2)))) + +(define-public engrampa + (package + (name "engrampa") + (version "1.18.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags (list "--disable-schemas-compile" + "--disable-run-in-place" + "--enable-magic" + "--enable-packagekit" + (string-append "--with-cajadir=" + (assoc-ref %outputs "out") + "/lib/caja/extensions-2.0/")) + #:phases + (modify-phases %standard-phases + (add-before 'install 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "data/Makefile" + (("gtk-update-icon-cache") "true")) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("caja" ,caja) + ("file" ,file) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("json-glib" ,json-glib) + ("libcanberra" ,libcanberra) + ("libx11" ,libx11) + ("libsm" ,libsm) + ("packagekit" ,packagekit) + ("pango" ,pango))) + (home-page "https://mate-desktop.org/") + (synopsis "Archive Manager for MATE") + (description + "Engrampa is the archive manager for the MATE Desktop.") + (license license:gpl2))) + +(define-public pluma + (package + (name "pluma") + (version "1.18.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1z0938yiygxipj2a77n9dv8v4253snrc5gbbnarcnim9xba2j3zz")))) + (build-system glib-or-gtk-build-system) + (arguments + `(; Tests can not succeed. + ;; https://github.com/mate-desktop/mate-text-editor/issues/33 + #:tests? #f)) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtk-doc" ,gtk-doc) + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("atk" ,atk) + ("cairo" ,cairo) + ("enchant" ,enchant) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("gdk-pixbuf" ,gdk-pixbuf) + ("iso-codes" ,iso-codes) + ("libcanberra" ,libcanberra) + ("libx11" ,libx11) + ("libsm" ,libsm) + ("libpeas" ,libpeas) + ("libxml2" ,libxml2) + ("libice" ,libice) + ("packagekit" ,packagekit) + ("pango" ,pango) + ("python-2" ,python-2) + ("scrollkeeper" ,scrollkeeper))) + (home-page "https://mate-desktop.org/") + (synopsis "Text Editor for MATE") + (description + "Pluma is the text editor for the MATE Desktop.") + (license license:gpl2))) + +(define-public mate-system-monitor + (package + (name "mate-system-monitor") + (version "1.18.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1wcvrl4lfnjkhywb311p29prf1qiab6iynb6q1fgfsl6za8hsz48")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("cairo" ,cairo) + ("glib" ,glib) + ("glibmm" ,glibmm) + ("gtkmm" ,gtkmm) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("libsigc++" ,libsigc++) + ("libcanberra" ,libcanberra) + ("libxml2" ,libxml2) + ("libwnck" ,libwnck) + ("libgtop" ,libgtop) + ("librsvg" ,librsvg) + ("polkit" ,polkit))) + (home-page "https://mate-desktop.org/") + (synopsis "System Monitor for MATE") + (description + "Mate System Monitor provides a tool for for the +MATE Desktop to monitor your system resources and usage.") + (license license:gpl2))) + +(define-public mate-polkit + (package + (name "mate-polkit") + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "15vf2hnyjg8zsw3iiwjwi497yygkmvpnn6w1hik7dfw4a621w0gc")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("accountsservice" ,accountsservice) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("polkit" ,polkit))) + (home-page "https://mate-desktop.org/") + (synopsis "DBus specific service for MATE") + (description + "MATE Polkit is a MATE specific DBUS service that is +used to bring up authentication dialogs.") + (license license:lgpl2.1))) + (define-public mate (package (name "mate") @@ -773,14 +1537,18 @@ for use with MATE or as a standalone window manager.") (inputs ;; TODO: Add more packages `(("at-spi2-core" ,at-spi2-core) + ("atril" ,atril) ("caja" ,caja) ("dbus" ,dbus) ("dconf" ,dconf) ("desktop-file-utils" ,desktop-file-utils) + ("engrampa" ,engrampa) + ("eom" ,eom) ("font-cantarell" ,font-cantarell) ("glib-networking" ,glib-networking) ("gnome-keyring" ,gnome-keyring) ("gvfs" ,gvfs) + ("hicolor-icon-theme" ,hicolor-icon-theme) ("libmatekbd" ,libmatekbd) ("libmateweather" ,libmateweather) ("libmatemixer" ,libmatemixer) @@ -796,6 +1564,15 @@ for use with MATE or as a standalone window manager.") ("mate-control-center" ,mate-control-center) ("mate-media" ,mate-media) ("mate-applets" ,mate-applets) + ("mate-user-guide" ,mate-user-guide) + ("mate-calc" ,mate-calc) + ("mate-backgrounds" ,mate-backgrounds) + ("mate-netbook" ,mate-netbook) + ("mate-utils" ,mate-utils) + ("mate-polkit" ,mate-polkit) + ("mate-system-monitor" ,mate-system-monitor) + ("mate-utils" ,mate-utils) + ("pluma" ,pluma) ("pinentry-gnome3" ,pinentry-gnome3) ("pulseaudio" ,pulseaudio) ("shared-mime-info" ,shared-mime-info) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 11213bea94..02c0e6988f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017 Dave Love <me@fx@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1878,7 +1879,7 @@ sparse system of linear equations A x = b using Guassian elimination.") (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/quadprog") + (home-page "https://cran.r-project.org/web/packages/quadprog") (synopsis "Functions to solve quadratic programming problems") (description "This package contains routines and documentation for solving quadratic @@ -1897,7 +1898,7 @@ programming problems.") (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog))) - (home-page "http://cran.r-project.org/web/packages/pracma") + (home-page "https://cran.r-project.org/web/packages/pracma") (synopsis "Practical numerical math functions") (description "This package provides functions for numerical analysis and linear algebra, numerical optimization, differential equations, plus some @@ -2634,7 +2635,6 @@ parts of it.") #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "SHELL=bash" - "NO_LAPACK=1" ;; Build the library for all supported CPUs. This allows ;; switching CPU targets at runtime with the environment variable ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type. @@ -2655,11 +2655,21 @@ parts of it.") '("TARGET=ARMV8")) (else '())))) ;; no configure script - #:phases (alist-delete 'configure %standard-phases))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) (inputs - `(("fortran" ,gfortran))) + `(("fortran-lib" ,gfortran "lib"))) (native-inputs `(("cunit" ,cunit) + ("fortran" ,gfortran) ("perl" ,perl))) (home-page "http://www.openblas.net/") (synopsis "Optimized BLAS library based on GotoBLAS") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8b3bf5cf68..a78e71176b 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -239,7 +239,8 @@ identi.ca and status.net).") ("perl-xml-parser" ,perl-xml-parser) ("python-2" ,python-2))) (arguments - `(#:phases + `(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation + #:phases (modify-phases %standard-phases ;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be! (add-after 'unpack 'bootstrap diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a1014978be..5b8728e591 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -809,7 +810,7 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro (define-public lilypond (package (name "lilypond") - (version "2.19.63") + (version "2.19.80") (source (origin (method url-fetch) (uri (string-append @@ -818,7 +819,7 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro name "-" version ".tar.gz")) (sha256 (base32 - "0hwv7m1lzyhjiyxqhqfdrrrpx475jhiwckrnxbjbv3ynhyzkngw0")))) + "0lql4q946gna2pl1g409mmmsvn2qvnq2z5cihrkfhk7plcqdny9n")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; out-test/collated-files.html fails @@ -2461,13 +2462,13 @@ websites such as Libre.fm.") (define-public beets (package (name "beets") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) (sha256 (base32 - "1z02j871gc8l9mnd344qy9z8akigikgmc22r15ns6driqb2qishv")))) + "0l2vfrknwcsm6bn83m7476qrz45qwgxcb5k0h7kn96kr70irn1v2")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 24787fbde7..813629d700 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1250,14 +1251,14 @@ coverage information.") (define-public ocaml-bitstring (package (name "ocaml-bitstring") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/xguerin/bitstring" "/archive/v" version ".tar.gz")) (sha256 (base32 - "0miw4banfpmx4kxrckpqr57b1fcmsqdmspyjx6gqjd4kghm4l7xj")) + "0vy8ibrxccii1jbsk5q6yh1kxjigqvi7lhhcmizvd5gfhf7mfyc8")) (patches (search-patches "ocaml-bitstring-fix-configure.patch")))) (build-system ocaml-build-system) (native-inputs @@ -1651,14 +1652,14 @@ lets the client choose the concrete timeline.") (define-public ocaml-ssl (package (name "ocaml-ssl") - (version "0.5.3") + (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/savonet/ocaml-ssl/archive/" version ".tar.gz")) (sha256 (base32 - "1ds5gzyzpcgwn7h40dmjkll7g990cr82ay05b2a7nrclvv6fdpg8")))) + "15p7652cvzdrlqxc1af11mg07wasxr1fsaj44gcmmh6bmav7wfzq")))) (build-system ocaml-build-system) (arguments `(#:tests? #f #:make-flags (list "OCAMLFIND_LDCONF=ignore") @@ -1677,7 +1678,9 @@ lets the client choose the concrete timeline.") (propagated-inputs `(("openssl" ,openssl))) (home-page "https://github.com/savonet/ocaml-ssl/") (synopsis "OCaml bindings for OpenSSL") - (description "OCaml bindings for OpenSSL.") + (description + "OCaml-SSL is a set of bindings for OpenSSL, a library for communicating +through Transport Layer Security (@dfn{TLS}) encrypted connections.") (license license:lgpl2.1))) (define-public ocaml-lwt @@ -3582,7 +3585,7 @@ library is currently designed for Unicode Standard 3.2.") (define-public ocaml-jbuilder (package (name "ocaml-jbuilder") - (version "1.0+beta14") + (version "1.0+beta16") (source (origin (method url-fetch) (uri (string-append @@ -3591,7 +3594,7 @@ library is currently designed for Unicode Standard 3.2.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06jdcb4jmmp4wqyf9cm59jzgj0mxkpdzd9q3728gdxc1sz3v1sz0")))) + "0gcy52y0mkg450yxwszp3lww303a1154566r8jb4hh5l61dh4dwj")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -3695,7 +3698,7 @@ instead of bindings to a C library.") (define-public ocaml-utop (package (name "ocaml-utop") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/diml/utop/archive/" @@ -3703,7 +3706,7 @@ instead of bindings to a C library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1v22bzw1vgwbbmpvi7lkyp2r59w5mag85rmqplb4fwik78x7k4ss")))) + "0rglznh4prcix8spi3f060jz2gngk7x8vkd291fxs10b88aqcpxf")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 90168ef70b..178b3a7bf9 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -102,7 +102,7 @@ all the files it generates a report.") ("python-pbr" ,python-pbr) ;; Tests. ("python-oslotest" ,python-oslotest))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "Find deprecated patterns and strategies in Python code") (description @@ -172,7 +172,7 @@ guidelines}.") ("python-pbr" ,python-pbr) ("python-sphinx" ,python-sphinx) ("python-testtools" ,python-testtools))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "Mock object framework for Python") (description "Mox3 is an unofficial port of the Google mox framework @@ -208,7 +208,7 @@ tested on Python version 3.2, 2.7 and 2.6.") ("python-testrepository" ,python-testrepository) ("python-testscenarios" ,python-testscenarios) ("python-testtools" ,python-testtools))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "OpenStack Client Configuration Library") (description @@ -408,7 +408,7 @@ common features used in Tempest.") ("python-oslotest" ,python-oslotest) ("python-oslosphinx" ,python-oslosphinx) ("python-sphinx" ,python-sphinx))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Oslo context library") (description "The Oslo context library has helpers to maintain useful information @@ -443,7 +443,7 @@ pipeline and used by various modules such as logging.") ("python-mox3" ,python-mox3) ("python-oslotest" ,python-oslotest) ("python-testscenarios" ,python-testscenarios))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Oslo internationalization (i18n) library") (description "The oslo.i18n library contain utilities for working with @@ -485,7 +485,7 @@ in an application or library.") ("python-mock" ,python-mock) ("python-oslotest" ,python-oslotest) ("python-pbr" ,python-pbr))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Python logging library of the Oslo project") (description "The oslo.log (logging) configuration library provides standardized @@ -524,7 +524,7 @@ handlers and support for context specific logging (like resource id’s etc).") ("python-mock" ,python-mock) ("python-oslo.i18n" ,python-oslo.i18n) ("python-oslotest" ,python-oslotest))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Oslo serialization library") (description "The oslo.serialization library provides support for representing objects @@ -609,7 +609,7 @@ and building documentation from them.") ("python-docutils" ,python-docutils) ("python-hacking" ,python-hacking) ("python-sphinx" ,python-sphinx))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "OpenStack sphinx extensions and theme") (description "This package provides themes and extensions for Sphinx documentation @@ -646,7 +646,7 @@ from the OpenStack project.") ("python-testrepository" ,python-testrepository) ("python-testscenarios" ,python-testscenarios) ("python-testtools" ,python-testtools))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Oslo test framework") (description "The Oslo Test framework provides common fixtures, support for debugging, @@ -700,7 +700,7 @@ and better support for mocking results.") ("python-mock" ,python-mock) ("python-mox3" ,python-mox3) ("python-testscenarios" ,python-testscenarios))) - (home-page "http://launchpad.net/oslo") + (home-page "https://launchpad.net/oslo") (synopsis "Oslo utility library") (description "The @code{oslo.utils} library provides support for common utility type @@ -761,7 +761,7 @@ handling.") ("python-requests" ,python-requests) ("python-six" ,python-six) ("python-stevedore" ,python-stevedore))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "Client Library for OpenStack Identity") (description "Python-keystoneclient is the identity service used by OpenStack for @@ -814,7 +814,7 @@ LDAP.") (propagated-inputs `(("python-requests" ,python-requests) ("python-six" ,python-six))) - (home-page "http://www.openstack.org/") + (home-page "https://www.openstack.org/") (synopsis "OpenStack Object Storage API Client Library") (description "OpenStack Object Storage (code-named Swift) creates redundant, scalable @@ -879,7 +879,7 @@ permanence.") (inputs `(("git" ,git) ("openssh" ,openssh))) - (home-page "http://docs.openstack.org/infra/git-review/") + (home-page "https://docs.openstack.org/infra/git-review/") (synopsis "Command-line tool for Gerrit") (description "Git-review is a command-line tool that helps submitting Git branches to diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 633708a6f5..0c1bb4183c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -87,8 +87,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.14.0") - (commit "02345c963e1e8a45afcdf5acb80fca4538244b36") - (revision 2)) + (commit "f76ff984ebdbed18fce4fe2a62cee73d0ccd8140") + (revision 3)) (package (name "guix") @@ -104,7 +104,7 @@ (commit commit))) (sha256 (base32 - "0f33makasj14zf0zfv1w7k04bkcpdy5grx5b904vv5ygi5bak7nx")) + "1sslkcp14vx0fa3lmy7mx96z8slhq7qli0d6cvc7h39dbpkzs2ni")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 0e7b78fb78..cc6542e853 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -46,7 +46,7 @@ (define-public parallel (package (name "parallel") - (version "20171122") + (version "20171222") (source (origin (method url-fetch) @@ -54,7 +54,7 @@ version ".tar.bz2")) (sha256 (base32 - "19l2r8zzh8jyb76r3ksfq9y3r8fg07xw31h0dq1d7jpf73fnmd21")))) + "1p3r6dlhy49q3y468kf65nqdp0knqw41vwga9rprrvi04kywgj4v")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch b/gnu/packages/patches/borg-fix-archive-corruption-bug.patch deleted file mode 100644 index 0debf119be..0000000000 --- a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fix a bug in `borg check --repair` that corrupts existing archives: - -https://github.com/borgbackup/borg/issues/3444 - -Patches copied from upstream source repository: - -https://github.com/borgbackup/borg/commit/e09892caec8a63d59e909518c4e9c230dbd69774 -https://github.com/borgbackup/borg/commit/a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 - -From a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann <tw@waldmann-edv.de> -Date: Sat, 16 Dec 2017 01:11:40 +0100 -Subject: [PATCH 1/2] modify borg check unit test so it "hangs", see #3444 - -it doesn't infinitely hang, but slows down considerably. ---- - src/borg/testsuite/archiver.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py -index c7def2c7..b3383e97 100644 ---- a/src/borg/testsuite/archiver.py -+++ b/src/borg/testsuite/archiver.py -@@ -3006,7 +3006,7 @@ def test_missing_file_chunk(self): - def test_missing_archive_item_chunk(self): - archive, repository = self.open_archive('archive1') - with repository: -- repository.delete(archive.metadata.items[-5]) -+ repository.delete(archive.metadata.items[0]) - repository.commit() - self.cmd('check', self.repository_location, exit_code=1) - self.cmd('check', '--repair', self.repository_location, exit_code=0) --- -2.15.1 - - -From e09892caec8a63d59e909518c4e9c230dbd69774 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann <tw@waldmann-edv.de> -Date: Sat, 16 Dec 2017 01:16:05 +0100 -Subject: [PATCH 2/2] check --repair: fix malfunctioning validator, fixes #3444 - -the major problem was the ('path' in item) expression. -the dict has bytes-typed keys there, so it never succeeded as it -looked for a str key. this is a 1.1 regression, 1.0 was fine. - -the dict -> StableDict change is just for being more specific, -the check triggered correctly as StableDict subclasses dict, -it was just a bit too general. ---- - src/borg/archive.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/archive.py b/src/borg/archive.py -index 239d00b7..be086800 100644 ---- a/src/borg/archive.py -+++ b/src/borg/archive.py -@@ -1457,7 +1457,7 @@ def robust_iterator(archive): - """ - item_keys = frozenset(key.encode() for key in self.manifest.item_keys) - required_item_keys = frozenset(key.encode() for key in REQUIRED_ITEM_KEYS) -- unpacker = RobustUnpacker(lambda item: isinstance(item, dict) and 'path' in item, -+ unpacker = RobustUnpacker(lambda item: isinstance(item, StableDict) and b'path' in item, - self.manifest.item_keys) - _state = 0 - --- -2.15.1 - diff --git a/gnu/packages/patches/chicken-CVE-2017-11343.patch b/gnu/packages/patches/chicken-CVE-2017-11343.patch deleted file mode 100644 index 1d46ad50d9..0000000000 --- a/gnu/packages/patches/chicken-CVE-2017-11343.patch +++ /dev/null @@ -1,57 +0,0 @@ -Fix CVE-2017-11343: - -https://lists.nongnu.org/archive/html/chicken-announce/2017-07/msg00000.html -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11343 - -Patch copied from upstream mailing list: - -http://lists.gnu.org/archive/html/chicken-hackers/2017-06/txtod8Pa1wGU0.txt - -From ae2633195cc5f4f61c9da4ac90f0c14c010dcc3d Mon Sep 17 00:00:00 2001 -From: Peter Bex <address@hidden> -Date: Fri, 30 Jun 2017 15:39:45 +0200 -Subject: [PATCH 2/2] Initialize symbol table after setting up randomization - -Otherwise, the symbol table wouldn't be correctly randomized. ---- - NEWS | 3 +++ - runtime.c | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -#diff --git a/NEWS b/NEWS -#index f4b0e041..6588b30e 100644 -#--- a/NEWS -#+++ b/NEWS -#@@ -96,6 +96,9 @@ -# buffer overrun and/or segfault (thanks to Lemonboy). -# - CVE-2017-9334: `length' no longer crashes on improper lists (fixes -# #1375, thanks to "megane"). -#+ - The randomization factor of the symbol table was set before -#+ the random seed was set, causing it to have a fixed value on many -#+ platforms. -# -# - Core Libraries -# - Unit "posix": If file-lock, file-lock/blocking or file-unlock are -diff --git a/runtime.c b/runtime.c -index 81c54dd2..a4580abc 100644 ---- a/runtime.c -+++ b/runtime.c -@@ -799,7 +799,6 @@ int CHICKEN_initialize(int heap, int stack, int symbols, void *toplevel) - C_initial_timer_interrupt_period = INITIAL_TIMER_INTERRUPT_PERIOD; - C_timer_interrupt_counter = INITIAL_TIMER_INTERRUPT_PERIOD; - memset(signal_mapping_table, 0, sizeof(int) * NSIG); -- initialize_symbol_table(); - C_dlerror = "cannot load compiled code dynamically - this is a statically linked executable"; - error_location = C_SCHEME_FALSE; - C_pre_gc_hook = NULL; -@@ -816,6 +815,7 @@ int CHICKEN_initialize(int heap, int stack, int symbols, void *toplevel) - callback_continuation_level = 0; - gc_ms = 0; - (void)C_randomize(C_fix(time(NULL))); -+ initialize_symbol_table(); - - if (profiling) { - #ifndef C_NONUNIX --- -2.11.0 - diff --git a/gnu/packages/patches/chicken-CVE-2017-6949.patch b/gnu/packages/patches/chicken-CVE-2017-6949.patch deleted file mode 100644 index 00552eec76..0000000000 --- a/gnu/packages/patches/chicken-CVE-2017-6949.patch +++ /dev/null @@ -1,132 +0,0 @@ -From: LemonBoy <thatlemon@gmail.com> -Date: Fri, 10 Mar 2017 16:29:47 +0100 -Subject: [PATCH] Add bound checking to all srfi-4 vector allocations. - -Do what C_allocate_vector already does and prevent the creation of a -vector that's too big or too small. -We should be very careful to avoid the latter case because the -allocation size is directly fed into `malloc' as 'x + sizeof(C_header)' -thus making possible to successfully allocate a vector smaller than the -C_header structure and get C_block_header_init to write over -uninitialized memory. - -To reduce code duplication, type checking is moved from each of the -make-*vector procedures to the common "alloc" helper procedure. - -Signed-off-by: Peter Bex <peter@more-magic.net> -Signed-off-by: Kooda <kooda@upyum.com> ---- - srfi-4.scm | 34 +++++++++++++++------------------- - 1 file changed, 15 insertions(+), 19 deletions(-) - -diff --git a/srfi-4.scm b/srfi-4.scm -index 7f5412b..69f58ba 100644 ---- a/srfi-4.scm -+++ b/srfi-4.scm -@@ -255,24 +255,28 @@ EOF - - ;;; Basic constructors: - --(let* ([ext-alloc -- (foreign-lambda* scheme-object ([int bytes]) -- "C_word *buf = (C_word *)C_malloc(bytes + sizeof(C_header));" -+(let* ((ext-alloc -+ (foreign-lambda* scheme-object ((size_t bytes)) -+ "C_word *buf;" -+ "if (bytes > C_HEADER_SIZE_MASK) C_return(C_SCHEME_FALSE);" -+ "buf = (C_word *)C_malloc(bytes + sizeof(C_header));" - "if(buf == NULL) C_return(C_SCHEME_FALSE);" - "C_block_header_init(buf, C_make_header(C_BYTEVECTOR_TYPE, bytes));" -- "C_return(buf);") ] -- [ext-free -- (foreign-lambda* void ([scheme-object bv]) -- "C_free((void *)C_block_item(bv, 1));") ] -- [alloc -+ "C_return(buf);") ) -+ (ext-free -+ (foreign-lambda* void ((scheme-object bv)) -+ "C_free((void *)C_block_item(bv, 1));") ) -+ (alloc - (lambda (loc len ext?) -+ (##sys#check-exact len loc) -+ (when (fx< len 0) (##sys#error loc "size is negative" len)) - (if ext? -- (let ([bv (ext-alloc len)]) -+ (let ((bv (ext-alloc len))) - (or bv - (##sys#error loc "not enough memory - cannot allocate external number vector" len)) ) -- (let ([bv (##sys#allocate-vector len #t #f #t)]) ; this could be made better... -+ (let ((bv (##sys#allocate-vector len #t #f #t))) ; this could be made better... - (##core#inline "C_string_to_bytevector" bv) -- bv) ) ) ] ) -+ bv) ) ) ) ) - - (set! release-number-vector - (lambda (v) -@@ -282,7 +286,6 @@ EOF - - (set! make-u8vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u8vector) - (let ((v (##sys#make-structure 'u8vector (alloc 'make-u8vector len ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -295,7 +298,6 @@ EOF - - (set! make-s8vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s8vector) - (let ((v (##sys#make-structure 's8vector (alloc 'make-s8vector len ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -308,7 +310,6 @@ EOF - - (set! make-u16vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u16vector) - (let ((v (##sys#make-structure 'u16vector (alloc 'make-u16vector (##core#inline "C_fixnum_shift_left" len 1) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -321,7 +322,6 @@ EOF - - (set! make-s16vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s16vector) - (let ((v (##sys#make-structure 's16vector (alloc 'make-s16vector (##core#inline "C_fixnum_shift_left" len 1) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -334,7 +334,6 @@ EOF - - (set! make-u32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u32vector) - (let ((v (##sys#make-structure 'u32vector (alloc 'make-u32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -347,7 +346,6 @@ EOF - - (set! make-s32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s32vector) - (let ((v (##sys#make-structure 's32vector (alloc 'make-s32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -360,7 +358,6 @@ EOF - - (set! make-f32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-f32vector) - (let ((v (##sys#make-structure 'f32vector (alloc 'make-f32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -375,7 +372,6 @@ EOF - - (set! make-f64vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-f64vector) - (let ((v (##sys#make-structure - 'f64vector - (alloc 'make-f64vector (##core#inline "C_fixnum_shift_left" len 3) ext?)))) --- -2.1.4 - diff --git a/gnu/packages/patches/icecat-bug-1414945.patch b/gnu/packages/patches/icecat-bug-1414945.patch new file mode 100644 index 0000000000..3638ace1c4 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1414945.patch @@ -0,0 +1,73 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3 + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Philip Chimento <philip.chimento@gmail.com> +# Date 1510012155 28800 +# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44 +# Parent 0152d097672f7e99504815cf7b06d9f303419fba +Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu + +On Darwin this would cause a race between two static initializers. + +diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp +--- a/js/src/shell/js.cpp ++++ b/js/src/shell/js.cpp +@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * + #else + static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; + #endif + + /* + * Limit the timeout to 30 minutes to prevent an overflow on platfoms + * that represent the time internally in microseconds using 32-bit int. + */ +-static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); ++static const double MAX_TIMEOUT_SECONDS = 1800.0; + + // SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting + // with --shared-memory={on,off}. + #ifndef RELEASE_OR_BETA + # define SHARED_MEMORY_DEFAULT 1 + #else + # define SHARED_MEMORY_DEFAULT 0 + #endif +@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V + if (!ToNumber(cx, args[0], &t_secs)) + return false; + if (mozilla::IsNaN(t_secs)) { + JS_ReportErrorASCII(cx, "sleep interval is not a number"); + return false; + } + + duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (duration > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive sleep interval"); + return false; + } + } + { + LockGuard<Mutex> guard(sc->watchdogLock); + TimeStamp toWakeup = TimeStamp::Now() + duration; +@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx) + + static bool + SetTimeoutValue(JSContext* cx, double t) + { + if (mozilla::IsNaN(t)) { + JS_ReportErrorASCII(cx, "timeout is not a number"); + return false; + } ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive timeout value"); + return false; + } + GetShellContext(cx)->timeoutInterval = t; + if (!ScheduleWatchdog(cx, t)) { + JS_ReportErrorASCII(cx, "Failed to create the watchdog"); + return false; + diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch b/gnu/packages/patches/icecat-bug-1424373-pt2.patch new file mode 100644 index 0000000000..cdc7226bd3 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1424373-pt2.patch @@ -0,0 +1,183 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Mike Conley <mconley@mozilla.com> +# Date 1513892173 18000 +# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1 +# Parent 320032aaa06899f5585dcd0288059e5342118714 +Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau + +diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js +--- a/browser/app/profile/icecat.js ++++ b/browser/app/profile/icecat.js +@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh + pref("browser.crashReports.unsubmittedCheck.enabled", false); + #endif + + // chancesUntilSuppress is how many times we'll show the unsubmitted + // crash report notification across different days and shutdown + // without a user choice before we suppress the notification for + // some number of days. + pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); +-pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); ++pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); + + #ifdef NIGHTLY_BUILD + // Enable the (fairly costly) client/server validation on nightly only. The other prefs + // controlling validation are located in /services/sync/services-sync.js + pref("services.sync.validation.enabled", true); + #endif +diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js ++++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +@@ -1,12 +1,12 @@ + "use strict"; + + const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page."; +-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2"; + + const {TabStateFlusher} = + Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {}); + + // On debug builds, crashing tabs results in much thinking, which + // slows down the test and results in intermittent test timeouts, + // so we'll pump up the expected timeout for this test. + requestLongerTimeout(2); +diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul +--- a/browser/components/preferences/in-content/advanced.xul ++++ b/browser/components/preferences/in-content/advanced.xul +@@ -51,18 +51,18 @@ + #ifdef MOZ_TELEMETRY_REPORTING + <preference id="toolkit.telemetry.enabled" + name="toolkit.telemetry.enabled" + type="bool"/> + #endif + + <!-- Data Choices tab --> + #ifdef MOZ_CRASHREPORTER +- <preference id="browser.crashReports.unsubmittedCheck.autoSubmit" +- name="browser.crashReports.unsubmittedCheck.autoSubmit" ++ <preference id="browser.crashReports.unsubmittedCheck.autoSubmit2" ++ name="browser.crashReports.unsubmittedCheck.autoSubmit2" + type="bool"/> + #endif + + <!-- Network tab --> + <preference id="browser.cache.disk.capacity" + name="browser.cache.disk.capacity" + type="int"/> + <preference id="browser.offline-apps.notify" +@@ -232,17 +232,17 @@ + </hbox> + </vbox> + </groupbox> + #endif + #ifdef MOZ_CRASHREPORTER + <groupbox> + <caption> + <checkbox id="automaticallySubmitCrashesBox" +- preference="browser.crashReports.unsubmittedCheck.autoSubmit" ++ preference="browser.crashReports.unsubmittedCheck.autoSubmit2" + label="&alwaysSubmitCrashReports.label;" + accesskey="&alwaysSubmitCrashReports.accesskey;"/> + </caption> + <hbox class="indent"> + <label flex="1">&crashReporterDesc2.label;</label> + <spacer flex="10"/> + <label id="crashReporterLearnMore" + class="text-link">&crashReporterLearnMore.label;</label> +diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js +--- a/browser/components/sessionstore/test/browser_background_tab_crash.js ++++ b/browser/components/sessionstore/test/browser_background_tab_crash.js +@@ -142,17 +142,17 @@ add_task(function* test_background_crash + /** + * Tests that if a content process crashes taking down only + * background tabs, and the user is configured to send backlogged + * crash reports automatically, that the tab crashed page is not + * shown. + */ + add_task(function* test_background_crash_autosubmit_backlogged() { + yield SpecialPowers.pushPrefEnv({ +- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]], ++ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]], + }); + + yield setupBackgroundTabs(function*([tab1, tab2]) { + // Let's crash one of those background tabs now... + yield crashBackgroundTabs([tab1, tab2]); + + // Selecting the first tab should restore it. + let tabRestored = promiseTabRestored(tab1); +diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm +--- a/browser/modules/ContentCrashHandlers.jsm ++++ b/browser/modules/ContentCrashHandlers.jsm +@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = { + return nb.appendNotification(message, notificationID, + "chrome://browser/skin/tab-crashed.svg", + nb.PRIORITY_INFO_HIGH, buttons, + eventCallback); + }, + + get autoSubmit() { + return Services.prefs +- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit"); ++ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2"); + }, + + set autoSubmit(val) { +- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit", ++ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2", + val); + }, + + /** + * Attempt to submit reports to the crash report server. Each + * report will have the "SubmittedFromInfobar" extra key set + * to true. + * +diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js +--- a/browser/modules/test/browser_UnsubmittedCrashHandler.js ++++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js +@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever + clearPendingCrashReports(); + }); + + /** + * Tests that choosing "Send Always" flips the autoSubmit pref + * and sends the pending crash reports. + */ + add_task(function* test_can_submit_always() { +- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2"; + Assert.equal(Services.prefs.getBoolPref(pref), false, + "We should not be auto-submitting by default"); + + let reportIDs = yield createPendingCrashReports(1); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.ok(notification, "There should be a notification"); + +@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway + + /** + * Tests that if the user has chosen to automatically send + * crash reports that no notification is displayed to the + * user. + */ + add_task(function* test_can_auto_submit() { + yield SpecialPowers.pushPrefEnv({ set: [ +- ["browser.crashReports.unsubmittedCheck.autoSubmit", true], ++ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true], + ]}); + + let reportIDs = yield createPendingCrashReports(3); + let promiseReports = waitForSubmittedReports(reportIDs); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.equal(notification, null, "There should be no notification"); + info("Waiting on reports to be received."); + diff --git a/gnu/packages/patches/libgxps-CVE-2017-11590.patch b/gnu/packages/patches/libgxps-CVE-2017-11590.patch new file mode 100644 index 0000000000..9caa79b6f0 --- /dev/null +++ b/gnu/packages/patches/libgxps-CVE-2017-11590.patch @@ -0,0 +1,48 @@ +Fix CVE-2017-11590: + +https://bugzilla.gnome.org/show_bug.cgi?id=785479 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11590 + +Patch copied from upstream source repository: + +https://git.gnome.org/browse/libgxps/commit/?id=9d5d292055250ed298f3b89dc332d6db4003a031 + +From 9d5d292055250ed298f3b89dc332d6db4003a031 Mon Sep 17 00:00:00 2001 +From: Marek Kasik <mkasik@redhat.com> +Date: Wed, 26 Jul 2017 16:23:37 +0200 +Subject: archive: Check for pathname being NULL before dereferencing + +Check whether "archive_entry_pathname ()" returns a non-NULL pathname +before using it to avoid a NULL pointer being dereferenced. + +https://bugzilla.gnome.org/show_bug.cgi?id=785479 +--- + libgxps/gxps-archive.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libgxps/gxps-archive.c b/libgxps/gxps-archive.c +index acf8d7d..e763773 100644 +--- a/libgxps/gxps-archive.c ++++ b/libgxps/gxps-archive.c +@@ -257,6 +257,7 @@ gxps_archive_initable_init (GInitable *initable, + GXPSArchive *archive; + ZipArchive *zip; + struct archive_entry *entry; ++ const gchar *pathname; + + archive = GXPS_ARCHIVE (initable); + +@@ -281,7 +282,9 @@ gxps_archive_initable_init (GInitable *initable, + + while (gxps_zip_archive_iter_next (zip, &entry)) { + /* FIXME: We can ignore directories here */ +- g_hash_table_add (archive->entries, g_strdup (archive_entry_pathname (entry))); ++ pathname = archive_entry_pathname (entry); ++ if (pathname != NULL) ++ g_hash_table_add (archive->entries, g_strdup (pathname)); + archive_read_data_skip (zip->archive); + } + +-- +cgit v0.12 + diff --git a/gnu/packages/patches/python-pillow-fix-failing-tests.patch b/gnu/packages/patches/python-pillow-fix-failing-tests.patch Binary files differnew file mode 100644 index 0000000000..2575d6f612 --- /dev/null +++ b/gnu/packages/patches/python-pillow-fix-failing-tests.patch diff --git a/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch b/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch deleted file mode 100644 index 18bc30bc79..0000000000 --- a/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch +++ /dev/null @@ -1,75 +0,0 @@ -Fix some test failures when building with freetype-2.7. - -https://github.com/python-pillow/Pillow/issues/2116 -https://github.com/python-pillow/Pillow/pull/2286 - -Patch copied from upstream source repository: - -https://github.com/python-pillow/Pillow/commit/acf68c835c93ba144f83198306aa7e6082a43f43 - -From acf68c835c93ba144f83198306aa7e6082a43f43 Mon Sep 17 00:00:00 2001 -From: hugovk <hugovk@users.noreply.github.com> -Date: Mon, 12 Dec 2016 15:16:43 +0200 -Subject: [PATCH] Increase epsilon for FreeType 2.7 - ---- - Tests/test_imagefont.py | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py -index de89ac92..5207dce3 100644 ---- a/Tests/test_imagefont.py -+++ b/Tests/test_imagefont.py -@@ -125,7 +125,9 @@ try: - - target = 'Tests/images/rectangle_surrounding_text.png' - target_img = Image.open(target) -- self.assert_image_similar(im, target_img, .5) -+ -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 2.5) - - def test_render_multiline(self): - im = Image.new(mode='RGB', size=(300, 100)) -@@ -144,7 +146,7 @@ try: - # some versions of freetype have different horizontal spacing. - # setting a tight epsilon, I'm showing the original test failure - # at epsilon = ~38. -- self.assert_image_similar(im, target_img, .5) -+ self.assert_image_similar(im, target_img, 6.2) - - def test_render_multiline_text(self): - ttf = ImageFont.truetype(FONT_PATH, FONT_SIZE) -@@ -158,7 +160,8 @@ try: - target = 'Tests/images/multiline_text.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - # Test that text() can pass on additional arguments - # to multiline_text() -@@ -178,7 +181,8 @@ try: - target = 'Tests/images/multiline_text'+ext+'.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - def test_unknown_align(self): - im = Image.new(mode='RGB', size=(300, 100)) -@@ -227,7 +231,8 @@ try: - target = 'Tests/images/multiline_text_spacing.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - def test_rotated_transposed_font(self): - img_grey = Image.new("L", (100, 100)) --- -2.12.0 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 6f5df68ece..f997005241 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -311,7 +313,7 @@ reading and editing of existing PDF files.") (define-public zathura-cb (package (name "zathura-cb") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri @@ -319,11 +321,10 @@ reading and editing of existing PDF files.") version ".tar.gz")) (sha256 (base32 - "1fim4mpm8l2g3msj1vg70ks3c9lrwllv3yh4jv8l9f8k3r19b3l8")))) + "0r4viisycj39kaz4281cmkr7n9w5q96dmlf7nf45n8zq8qy2npw3")))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("girara" ,girara))) (inputs `(("libarchive" ,libarchive) - ("gtk+" ,gtk+) ("zathura" ,zathura))) (build-system gnu-build-system) (arguments @@ -342,7 +343,7 @@ using libarchive.") (define-public zathura-ps (package (name "zathura-ps") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri @@ -350,11 +351,10 @@ using libarchive.") version ".tar.gz")) (sha256 (base32 - "1nxbl0glnzpan78fhdfzhkcd0cikcvrkzf9m56mb0pvnwzlwg7zv")))) + "1x4knqja8pw2a5cb3y2209nr3iddj1z8nwasy48v5nprj61fdxqj")))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("girara" ,girara))) (inputs `(("libspectre" ,libspectre) - ("gtk+" ,gtk+) ("zathura" ,zathura))) (build-system gnu-build-system) (arguments @@ -373,7 +373,7 @@ using libspectre.") (define-public zathura-djvu (package (name "zathura-djvu") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) (uri @@ -381,12 +381,11 @@ using libspectre.") version ".tar.gz")) (sha256 (base32 - "0py0ra44f65cg064xzds0qr6vnglj2a5bwhnbwa0dyh2nyizdzmf")))) + "1sbfdsyp50qc85xc4458sn4w1rv1qbygdwmcr5kjlfpsmdq98vhd")))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("girara" ,girara))) (inputs `(("djvulibre" ,djvulibre) - ("gtk+" ,gtk+) ("zathura" ,zathura))) (build-system gnu-build-system) (arguments @@ -405,7 +404,7 @@ using the DjVuLibre library.") (define-public zathura-pdf-mupdf (package (name "zathura-pdf-mupdf") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri @@ -413,12 +412,11 @@ using the DjVuLibre library.") "/download/zathura-pdf-mupdf-" version ".tar.gz")) (sha256 (base32 - "06zqn8z6a0hfsx3s1kzqvqzb73afgcl6z5r062sxv7kv570fvffr")))) + "0xkajc3is7ncmb2fmymbzfgrran2bz12i7zsm1vvxhxds728h7ck")))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("girara" ,girara))) (inputs - `(("gtk+" ,gtk+) - ("jbig2dec" ,jbig2dec) + `(("jbig2dec" ,jbig2dec) ("libjpeg" ,libjpeg) ("mupdf" ,mupdf) ("openjpeg" ,openjpeg) @@ -440,7 +438,7 @@ by using the @code{mupdf} rendering library.") (define-public zathura-pdf-poppler (package (name "zathura-pdf-poppler") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) (uri @@ -448,14 +446,12 @@ by using the @code{mupdf} rendering library.") version ".tar.gz")) (sha256 (base32 - "1h43sgxpsbrsnn5z19661642plzhpv6b0y3f4kyzshv1rr6lwplq")))) + "1m55m7s7f8ng8a7lmcw9z4n5zv7xk4vp9n6fp9j84z6rk2imf7a2")))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("girara" ,girara))) (inputs `(("poppler" ,poppler) - ("gtk+" ,gtk+) - ("zathura" ,zathura) - ("cairo" ,cairo))) + ("zathura" ,zathura))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) @@ -473,7 +469,7 @@ by using the poppler rendering engine.") (define-public zathura (package (name "zathura") - (version "0.3.7") + (version "0.3.8") (source (origin (method url-fetch) (uri @@ -481,14 +477,20 @@ by using the poppler rendering engine.") version ".tar.gz")) (sha256 (base32 - "1w0g74dq4z2vl3f99s2gkaqrb5pskgzig10qhbxj4gq9yj4zzbr2")) + "0dz5pky3vmf3s2cp2rv1c099gb1s49p9xlgm3ghyy4pzyxc8bgs6")) (patches (search-patches "zathura-plugindir-environment-variable.patch")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal))) - (inputs `(("girara" ,girara) - ("sqlite" ,sqlite) - ("gtk+" ,gtk+))) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + + ;; For tests. + ("check" ,check) + ("xorg-server" ,xorg-server))) + (inputs `(("sqlite" ,sqlite))) + ;; Listed in 'Requires.private' of 'zathura.pc'. + (propagated-inputs `(("cairo" ,cairo) + ("girara" ,girara))) (native-search-paths (list (search-path-specification (variable "ZATHURA_PLUGIN_PATH") @@ -498,10 +500,19 @@ by using the poppler rendering engine.") `(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc" "COLOR=0") - #:tests? #f ; Tests fail: "Gtk cannot open display". #:test-target "test" - #:phases - (modify-phases %standard-phases (delete 'configure)))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'check 'start-xserver + ;; Tests require a running X server. + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + ;; Don't fail due to missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &"))))))))) (home-page "https://pwmt.org/projects/zathura/") (synopsis "Lightweight keyboard-driven PDF viewer") (description "Zathura is a customizable document viewer. It provides a @@ -686,13 +697,13 @@ using a stylus.") (define-public python-reportlab (package (name "python-reportlab") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (pypi-uri "reportlab" version)) (sha256 (base32 - "0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl")))) + "0hy304pzsz9lblmk7mrbk2682bi911lxgvzx2kcfpmfzb5gg7sjv")))) (build-system python-build-system) (arguments '(;; FIXME: There is one test failure, but it does not cause the @@ -700,7 +711,7 @@ using a stylus.") #:test-target "tests")) (propagated-inputs `(("python-pillow" ,python-pillow))) - (home-page "http://www.reportlab.com") + (home-page "https://www.reportlab.com") (synopsis "Python library for generating PDFs and graphics") (description "This is the ReportLab PDF Toolkit. It allows rapid creation of rich PDF documents, and also creation of charts in a variety of bitmap and diff --git a/gnu/packages/perl-web.scm b/gnu/packages/perl-web.scm index 75637e6545..0500cee0dc 100644 --- a/gnu/packages/perl-web.scm +++ b/gnu/packages/perl-web.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +27,7 @@ (define-public perl-mojolicious (package (name "perl-mojolicious") - (version "7.29") + (version "7.59") (source (origin (method url-fetch) @@ -34,7 +35,7 @@ version ".tar.gz")) (sha256 (base32 - "1kmyb9axqbklyvr3l4d6mxnb0r97s9hzn7jpzksgckklp1ic8sqh")))) + "11whfrbafj191ahbhlhadws0vkg9kmvqswzkvswgwajhr1x678rh")))) (build-system perl-build-system) (home-page "http://mojolicious.org/") (synopsis "Real-time web framework") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d3e461c077..4dbe77c4e9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5948,6 +5948,29 @@ cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.") (license (package-license perl)))) +(define-public perl-net-dns-native + (package + (name "perl-net-dns-native") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-" + version ".tar.gz")) + (sha256 + (base32 "12bsv5jkic3q4arpzk6dda35didkn445v658j87rmi540dpnac85")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Net-DNS-Native/") + (synopsis "Non-blocking system DNS resolver") + (description + "This class provides several methods for host name resolution. It is +designed to be used with event loops. Names are resolved by your system's +native @code{getaddrinfo(3)} implementation, called in a separate thread to +avoid blocking the entire application. Threading overhead is limited by using +system threads instead of Perl threads.") + (license perl-license))) + (define-public perl-net-idn-encode (package (name "perl-net-idn-encode") @@ -6422,19 +6445,19 @@ for a given module is comprehensive.") (define-public perl-pod-simple (package (name "perl-pod-simple") - (version "3.31") + (version "3.35") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/M/MA/MARCGREEN/" + (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/" "Pod-Simple-" version ".tar.gz")) (sha256 (base32 - "04705pcs31s71vpmnpfdy8ds0q700q4cs2dlyssyrdjbvx3ymq3l")))) + "0gg11ibbc02l2aw0bsv4jx0jax8z0apgfy3p5csqnvhlsb6218cr")))) (build-system perl-build-system) - (home-page "http://search.cpan.org/dist/Pod-Simple//") + (home-page "http://search.cpan.org/dist/Pod-Simple/") (synopsis "Parsing library for text in Pod format") - (description "Pod::Simple is a Perl library for parsing text in -the Pod (plain old documentation) markup language that is typically + (description "@code{Pod::Simple} is a Perl library for parsing text in +the @dfn{Pod} (plain old documentation) markup language that is typically used for writing documentation for Perl and for Perl modules.") (license (package-license perl)))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 8c3f34ea6b..d47c98ec5d 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -326,7 +326,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "2.2.5") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append @@ -335,7 +335,7 @@ photographic equipment.") version "/darktable-" version ".tar.xz")) (sha256 (base32 - "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3")))) + "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; There are no tests. diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index e971930035..2f61de8994 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,7 +160,7 @@ different programming languages.") (define-public fmt (package (name "fmt") - (version "3.0.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append @@ -167,11 +168,15 @@ different programming languages.") version "/fmt-" version ".zip")) (sha256 (base32 - "0l4514mk83cjimynci3ghrfdchjy8cya1qa45c1fg2lsj7fg16jc")))) + "1swyqw3dn2vx5sw2yh5vk0vrvrkp7fv07cj4272yxl5rrq1byjcx")))) (build-system cmake-build-system) (native-inputs `(("unzip" ,unzip))) - (home-page "http://fmtlib.net/latest/") + (arguments + `(#:configure-flags + (list (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")))) + (home-page "http://fmtlib.net/") (synopsis "Small and fast C++ formatting library") (description "@code{fmt} (formerly @code{cppformat}) is a formatting library for C++. diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 0e7c5f3244..17d3bacf02 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -71,7 +71,7 @@ data in motion, or as a file format for data at rest.") (define-public protobuf (package (name "protobuf") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/google/protobuf/releases/" @@ -79,7 +79,7 @@ data in motion, or as a file format for data at rest.") version ".tar.gz")) (sha256 (base32 - "0lc5d5cnhsaiazc5gnsnv19bikk22rgcqlqzzrfvk6mkq98v1mld")))) + "14j0427ykjzrd9a66c2mpk0sjcccjlsx6q8ww6hzwb6sha3vm3f2")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (outputs (list "out" diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 95485787ac..4fcf3889c7 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -264,14 +265,14 @@ sinks.") (define-public pulsemixer (package (name "pulsemixer") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/GeorgeFilipkin/" "pulsemixer/archive/" version ".tar.gz")) (sha256 (base32 - "03c94313fhxd5sbkl2ajzb2gmmm4hpv7m5rkbxmahwg9s8ih824r")))) + "1lpad90ifr2xfldyf39sbwx1v85rif2gm9w774gwwpjv53zfgk1g")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 98a869d055..da59a1d003 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -396,6 +396,26 @@ library.") (define-public python2-pyopenssl (package-with-python2 python-pyopenssl)) +(define-public python-ed25519 + (package + (name "python-ed25519") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ed25519" version)) + (sha256 + (base32 + "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499")))) + (build-system python-build-system) + (home-page "https://github.com/warner/python-ed25519") + (synopsis "Ed25519 public-key signatures") + (description "Ed25519 public-key signatures") + (license license:expat))) + +(define-public python2-ed25519 + (package-with-python2 python-ed25519)) + (define-public python-axolotl-curve25519 (package (name "python-axolotl-curve25519") @@ -635,3 +655,26 @@ Certificate (DER encoded, PEM encoded), RSA PEM (encoded private key, public key), SSH public key, ASC-encoded OpenPGP key, APK Android application, LDIFF file, and more.") (license license:gpl3))) + +(define-public python-ecpy + (package + (name "python-ecpy") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ECPy" version)) + (sha256 + (base32 + "090fqnj8z0xm44jrfpll7j45r68m6kp7mjr7yxzg93j42h3sj285")))) + (build-system python-build-system) + (propagated-inputs + `(("python-future" ,python-future))) + (home-page "https://github.com/ubinity/ECPy") + (synopsis "Pure Python Elliptic Curve Library") + (description "This package provides a Elliptic Curve Library in pure +Python.") + (license license:asl2.0))) + +(define-public python2-ecpy + (package-with-python2 python-ecpy)) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 12e45b2eff..4e280b4590 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -121,7 +121,7 @@ other HTTP libraries.") #:tests? #f)) (propagated-inputs `(("python-tornado" ,python-tornado))) - (home-page "http://github.com/mrjoes/sockjs-tornado/") + (home-page "https://github.com/mrjoes/sockjs-tornado/") (synopsis "SockJS python server implementation on top of Tornado framework") (description @@ -584,7 +584,7 @@ your Web app.") (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) - (home-page "http://webob.org/") + (home-page "https://webob.org/") (synopsis "WSGI request and response object") (description "WebOb provides wrappers around the WSGI request environment, and an @@ -607,7 +607,7 @@ object to help create WSGI responses.") (base32 "11p75zpfz3ffhz21nzx9wb23xs993ck5s6hkjcvhswwizni5jynw")))) (build-system python-build-system) - (home-page "http://pypi.python.org/pypi/zope.event") + (home-page "https://pypi.python.org/pypi/zope.event") (synopsis "Event publishing system for Python") (description "Zope.event provides an event publishing API, intended for use by applications which are unaware of any subscribers to their events. It @@ -694,7 +694,7 @@ that have uses outside of the Zope framework.") `(("python-zope-exceptions" ,python-zope-exceptions))) (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "http://pypi.python.org/pypi/zope.testing") + (home-page "https://pypi.python.org/pypi/zope.testing") (synopsis "Zope testing helpers") (description "Zope.testing provides a number of testing utilities for HTML forms, HTTP servers, regular expressions, and more.") @@ -727,7 +727,7 @@ forms, HTTP servers, regular expressions, and more.") ("unzip" ,unzip))) (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "http://pypi.python.org/pypi/zope.testrunner") + (home-page "https://pypi.python.org/pypi/zope.testrunner") (synopsis "Zope testrunner script") (description "Zope.testrunner provides a script for running Python tests.") @@ -757,7 +757,7 @@ tests.") (base32 "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml")))) (build-system python-build-system) - (home-page "http://pypi.python.org/pypi/zope.i18nmessageid") + (home-page "https://pypi.python.org/pypi/zope.i18nmessageid") (synopsis "Message identifiers for internationalization") (description "Zope.i18nmessageid provides facilities for declaring internationalized messages within program source text.") @@ -789,7 +789,7 @@ internationalized messages within program source text.") `(("python-zope-testing" ,python-zope-testing) ("python-coverage" ,python-coverage) ("python-nose" ,python-nose))) - (home-page "http://pypi.python.org/pypi/zope.schema") + (home-page "https://pypi.python.org/pypi/zope.schema") (synopsis "Zope data schemas") (description "Zope.scheme provides extensions to zope.interface for defining data schemas.") @@ -816,7 +816,7 @@ defining data schemas.") (propagated-inputs `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) ("python-zope-schema" ,python-zope-schema))) - (home-page "http://pypi.python.org/pypi/zope.configuration") + (home-page "https://pypi.python.org/pypi/zope.configuration") (synopsis "Zope Configuration Markup Language") (description "Zope.configuration implements ZCML, the Zope Configuration Markup Language.") @@ -842,7 +842,7 @@ Markup Language.") '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "http://pypi.python.org/pypi/zope.proxy") + (home-page "https://pypi.python.org/pypi/zope.proxy") (synopsis "Generic, transparent proxies") (description "Zope.proxy provides generic, transparent proxies for Python. Proxies are special objects which serve as mostly-transparent wrappers around @@ -872,7 +872,7 @@ brokering, etc.) for which the proxy is responsible.") (propagated-inputs `(("python-zope-proxy" ,python-zope-proxy) ("python-zope-schema" ,python-zope-schema))) - (home-page "http://pypi.python.org/pypi/zope.location/") + (home-page "https://pypi.python.org/pypi/zope.location/") (synopsis "Zope location library") (description "Zope.location implements the concept of \"locations\" in Zope3, which are are special objects that have a structural location.") @@ -907,7 +907,7 @@ Zope3, which are are special objects that have a structural location.") ("python-zope-location" ,python-zope-location) ("python-zope-testrunner" ,python-zope-testrunner) ("python-zope-testing" ,python-zope-testing))) - (home-page "http://pypi.python.org/pypi/zope.security") + (home-page "https://pypi.python.org/pypi/zope.security") (synopsis "Zope security framework") (description "Zope.security provides a generic mechanism to implement security policies on Python objects.") @@ -1971,7 +1971,7 @@ users' sessions over extended periods of time.") ("python-pyasn1-modules" ,python-pyasn1-modules) ("python-rsa" ,python-rsa) ("python-six" ,python-six))) - (home-page "http://github.com/google/oauth2client/") + (home-page "https://github.com/google/oauth2client/") (synopsis "OAuth 2.0 client library") (description "@code{python-oauth2client} provides an OAuth 2.0 client library for Python") @@ -2098,7 +2098,7 @@ this it tries to be opinion-free and very extendable.") (native-inputs `(("python-pytest" ,python-pytest))) (home-page - "http://github.com/smurfix/flask-script") + "https://github.com/smurfix/flask-script") (synopsis "Scripting support for Flask") (description "The Flask-Script extension provides support for writing external scripts in Flask. This includes running a development server, @@ -2128,7 +2128,7 @@ itself.") ("python-sqlalchemy" ,python-sqlalchemy) ("python-flask-script" ,python-flask-script) ("python-flask-sqlalchemy" ,python-flask-sqlalchemy))) - (home-page "http://github.com/miguelgrinberg/flask-migrate/") + (home-page "https://github.com/miguelgrinberg/flask-migrate/") (synopsis "SQLAlchemy database migrations for Flask programs using Alembic") (description "This package contains SQLAlchemy database migration tools @@ -2219,7 +2219,7 @@ thread-local variable.") (build-system python-build-system) (native-inputs `(("python-flask" ,python-flask))) - (home-page "http://github.com/miguelgrinberg/flask-httpauth/") + (home-page "https://github.com/miguelgrinberg/flask-httpauth/") (synopsis "Basic and Digest HTTP authentication for Flask routes") (description "@code{flask_httpauth} provides Basic and Digest HTTP authentication for Flask routes.") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b2a2d84d00..34f40f0c72 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -974,7 +974,7 @@ from the Python interpreter, or as a small part of a larger application.") (native-inputs `(("python-py" ,python-py) ("python-pytest" ,python-pytest-bootstrap))) - (home-page "http://pypi.python.org/pypi/six/") + (home-page "https://pypi.python.org/pypi/six/") (synopsis "Python 2 and 3 compatibility utilities") (description "Six is a Python 2 and 3 compatibility library. It provides utility @@ -2681,12 +2681,12 @@ between language specification and implementation aspects.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'build 'set-environment-variables - (lambda* (#:key inputs #:allow-other-keys) - (call-with-output-file "site.cfg" - (lambda (port) - (format port - "[openblas] + (add-before 'build 'configure-blas-lapack + (lambda* (#:key inputs #:allow-other-keys) + (call-with-output-file "site.cfg" + (lambda (port) + (format port + "[openblas] libraries = openblas library_dirs = ~a/lib include_dirs = ~a/include @@ -2697,30 +2697,33 @@ lapack_libs = lapack library_dirs = ~a/lib include_dirs = ~a/include " - (assoc-ref inputs "openblas") - (assoc-ref inputs "openblas") - (assoc-ref inputs "lapack") - (assoc-ref inputs "lapack")))) - ;; Make /gnu/store/...-bash-.../bin/sh the default shell, instead of - ;; /bin/sh. - (substitute* "numpy/distutils/exec_command.py" - (("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end) - (string-append match-start (assoc-ref inputs "bash") match-end))) - ;; Use "gcc" executable, not "cc". - (substitute* "numpy/distutils/system_info.py" - (("c = distutils\\.ccompiler\\.new_compiler\\(\\)") - "c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')")) - #t)) - ;; Tests can only be run after the library has been installed and not - ;; within the source directory. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs inputs #:allow-other-keys) - ;; Make installed package available for running the tests - (add-installed-pythonpath inputs outputs) - (with-directory-excursion "/tmp" - (zero? (system* "python" "-c" - "import numpy; numpy.test(verbose=2)")))))))) + (assoc-ref inputs "openblas") + (assoc-ref inputs "openblas") + (assoc-ref inputs "lapack") + (assoc-ref inputs "lapack")))) + #t)) + (add-before 'build 'fix-executable-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Make /gnu/store/...-bash-.../bin/sh the default shell, + ;; instead of /bin/sh. + (substitute* "numpy/distutils/exec_command.py" + (("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end) + (string-append match-start (assoc-ref inputs "bash") match-end))) + ;; Use "gcc" executable, not "cc". + (substitute* "numpy/distutils/system_info.py" + (("c = distutils\\.ccompiler\\.new_compiler\\(\\)") + "c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')")) + #t)) + ;; Tests can only be run after the library has been installed and not + ;; within the source directory. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; Make installed package available for running the tests + (add-installed-pythonpath inputs outputs) + (with-directory-excursion "/tmp" + (zero? (system* "python" "-c" + "import numpy; numpy.test(verbose=2)")))))))) (home-page "http://www.numpy.org/") (synopsis "Fundamental package for scientific computing with Python") (description "NumPy is the fundamental package for scientific computing @@ -2753,6 +2756,49 @@ capabilities.") (define-public python2-numpy-next (package-with-python2 python-numpy-next)) +;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of +;; interest only for legacy code going back to NumPy's predecessor +;; Numeric. +(define-public python2-numpy-1.8 + (package (inherit python2-numpy) + (version "1.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/numpy/numpy/archive/v" version ".tar.gz")) + (file-name (string-append "python2-numpy-" version ".tar.gz")) + (sha256 + (base32 + "0sc20gz1b17xnyrkp5frca3ql5qfalpv916hfg2kqxpwr6jg0f1g")))) + (arguments + (substitute-keyword-arguments (package-arguments python2-numpy) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure-blas-lapack + (lambda* (#:key inputs #:allow-other-keys) + (call-with-output-file "site.cfg" + (lambda (port) + (format port + "[openblas] +libraries = openblas,lapack +library_dirs = ~a/lib:~a/lib +include_dirs = ~a/include:~a/include +" + (assoc-ref inputs "openblas") + (assoc-ref inputs "lapack") + (assoc-ref inputs "openblas") + (assoc-ref inputs "lapack")))) + #t)))))) + (description "NumPy is the fundamental package for scientific computing +with Python. It contains among other things: a powerful N-dimensional array +object, sophisticated (broadcasting) functions, tools for integrating C/C++ +and Fortran code, useful linear algebra, Fourier transform, and random number +capabilities. Version 1.8 is the last one to contain the numpy.oldnumeric API +that includes the compatibility layer numpy.oldnumeric with NumPy's predecessor +Numeric.") + (license license:bsd-3))) + (define-public python-munch (package (name "python-munch") @@ -2820,7 +2866,7 @@ objects.") `(("python-colormath" ,python-colormath))) (native-inputs `(("python-nose" ,python-nose))) - (home-page "http://github.com/jsvine/spectra") + (home-page "https://github.com/jsvine/spectra") (synopsis "Color scales and color conversion") (description "This package provides a Python library intended to make color math, @@ -3541,7 +3587,7 @@ atlas_libs = openblas (zero? (system* "python" "-c" "import scipy; scipy.test('full')"))) #t))))) - (home-page "http://www.scipy.org/") + (home-page "https://www.scipy.org/") (synopsis "The Scipy library provides efficient numerical routines") (description "The SciPy library is one of the core packages that make up the SciPy stack. It provides many user-friendly and efficient numerical @@ -3719,18 +3765,45 @@ Python's distutils.") services for your Python modules and applications.") (license license:lgpl3+))) +(define-public python-olefile + (package + (name "python-olefile") + (version "0.44") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/decalage2/olefile/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wmxbrhyqjry2000zx0zdhqdqxhgi06nz7sbzjlh222q2zjv1gpj")))) + (build-system python-build-system) + (home-page + "https://www.decalage.info/python/olefileio") + (synopsis "Read and write Microsoft OLE2 files.") + (description + "@code{olefile} can parse, read and write Microsoft OLE2 files (Structured +Storage or Compound Document, Microsoft Office). It is an improved version of +the OleFileIO module from PIL, the Python Image Library.") + (license license:bsd-3))) + +(define-public python2-olefile + (package-with-python2 python-olefile)) + (define-public python-pillow (package (name "python-pillow") - (version "3.3.3") + (version "4.3.0") (source (origin (method url-fetch) (uri (pypi-uri "Pillow" version)) - (patches (search-patches "python-pillow-freetype-2.7-test-failure.patch")) (sha256 (base32 - "0xkv0p1d73gz0a1qaasf0ai4262g8f334j07vd60bjrxs2wr3nmj")))) + "09xmn7rl6840sli2iz1k3fgxfgmri2nqz6vkinmb9mgg8ifp2z59")) + (patch-flags '("-p1" "--binary")) + (patches (search-patches "python-pillow-fix-failing-tests.patch")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -3742,6 +3815,8 @@ services for your Python modules and applications.") ("openjpeg" ,openjpeg) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) + (propagated-inputs + `(("python-olefile" ,python-olefile))) (arguments `(#:phases (modify-phases %standard-phases (add-after @@ -4709,7 +4784,7 @@ libxml2 and libxslt.") (replace 'check (lambda _ (zero? (system* "./convert-py3k"))))))) (home-page - "http://www.crummy.com/software/BeautifulSoup/bs4/") + "https://www.crummy.com/software/BeautifulSoup/bs4/") (synopsis "Python screen-scraping library") (description @@ -6101,7 +6176,7 @@ a hash value.") (arguments ;; There are no tests. `(#:tests? #f)) - (home-page "http://pypi.python.org/pypi/termcolor") + (home-page "https://pypi.python.org/pypi/termcolor") (synopsis "ANSII Color formatting for terminal output") (description "This package provides ANSII Color formatting for output in terminals.") @@ -7231,7 +7306,7 @@ text.") encryption and decryption, signing and verifying signatures, and key generation according to PKCS#1 version 1.5. It can be used as a Python library as well as on the command line.") - (home-page "http://stuvel.eu/rsa") + (home-page "https://stuvel.eu/rsa") (license license:asl2.0))) (define-public python2-rsa @@ -7490,7 +7565,7 @@ fast xml and html manipulation.") ;; but it could be annoying/difficult. ;; We can enable tests for the Python 2 version, though, and do below. #:tests? #f)) - (home-page "http://bitbucket.org/runeh/anyjson/") + (home-page "https://bitbucket.org/runeh/anyjson/") (synopsis "Wraps best available JSON implementation in a common interface") (description @@ -7835,7 +7910,7 @@ useful for solving the Assignment Problem.") (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) - (home-page "http://bitbucket.org/mchaput/whoosh") + (home-page "https://bitbucket.org/mchaput/whoosh") (synopsis "Full text indexing, search, and spell checking library") (description "Whoosh is a fast, pure-Python full text indexing, search, and spell @@ -7905,7 +7980,7 @@ anymore.") `(#:python ,python-2)) (native-inputs `(("python2-six" ,python2-six))) - (home-page "http://pypi.python.org/pypi/pathlib2/") + (home-page "https://pypi.python.org/pypi/pathlib2/") (synopsis "Object-oriented file system paths - backport of standard pathlib module") (description "The goal of pathlib2 is to provide a backport of standard @@ -10035,7 +10110,7 @@ protocols written in pure Python.") (zero? (system* "python" "test/test_pbkdf2.py"))))))) (propagated-inputs `(("python-pycrypto" ,python-pycrypto))) ; optional - (home-page "http://www.dlitz.net/software/python-pbkdf2/") + (home-page "https://www.dlitz.net/software/python-pbkdf2/") (synopsis "Password-based key derivation") (description "This module implements the password-based key derivation function, PBKDF2, specified in RSA PKCS#5 v2.0. @@ -10121,7 +10196,7 @@ to ansi-escaped strings suitable for display in a terminal.") ("python-nose" ,python-nose))) (propagated-inputs `(("python-six" ,python-six))) - (home-page "http://github.com/ralphbean/ansi2html") + (home-page "https://github.com/ralphbean/ansi2html") (synopsis "Convert ANSI-decorated console output to HTML") (description "@command{ansi2html} is a Python library and command line utility for @@ -11292,7 +11367,7 @@ applying JSON Patches according to RFC 6902.") (base32 "192pclzs2y0yaywqkrlvd0x73740q310kvqvm6jldhi619mq59wi")))) (build-system python-build-system) - (home-page "http://pypi.python.org/pypi/rfc3987") + (home-page "https://pypi.python.org/pypi/rfc3987") (synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)") (description "@code{rfc3987} provides routines for parsing and validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") @@ -11313,7 +11388,7 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") (base32 "1bxffaf5yz2cph8ki55vdvdypbwkvn2xr1firlcy62vqbzf1jivq")))) (build-system python-build-system) - (home-page "http://github.com/syrusakbary/validate_email") + (home-page "https://github.com/syrusakbary/validate_email") (synopsis "Verifies if an email address is valid and really exists") (description "@code{validate_email} can be used to verify if an email address is valid and really exists.") @@ -11476,7 +11551,7 @@ from your Flask project. It is a fork of Flask-Swagger.") `(("python-jsonschema" ,python-jsonschema) ("python-six" ,python-six))) (home-page - "http://github.com/Yelp/swagger_spec_validator") + "https://github.com/Yelp/swagger_spec_validator") (synopsis "Validation of Swagger specifications") (description "@code{swagger_spec_validator} provides a library for validating Swagger API specifications.") @@ -12072,3 +12147,106 @@ particularly convenient for use in tests.") (define-public python2-tempdir (package-with-python2 python-tempdir)) +(define-public python-activepapers + (package + (name "python-activepapers") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ActivePapers.Py" version)) + (sha256 + (base32 + "12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8")))) + (build-system python-build-system) + (arguments + `(#:modules ((ice-9 ftw) + (srfi srfi-1) + (guix build utils) + (guix build python-build-system)) + + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-python2-code + (lambda _ + (for-each delete-file + '("lib/activepapers/builtins2.py" + "lib/activepapers/standardlib2.py" + "lib/activepapers/utility2.py")))) + (replace 'check + (lambda _ + ;; Deactivate the test cases that download files + (setenv "NO_NETWORK_ACCESS" "1") + ;; For some strange reason, some tests fail if nosetests runs all + ;; test modules in a single execution. They pass if each test + ;; module is run individually. + (for-each (lambda (filename) + (invoke "nosetests" + (string-append "tests/" filename))) + (scandir "tests" + (lambda (filename) + (string-suffix? ".py" filename))))))))) + (native-inputs + `(("python-tempdir" ,python-tempdir) + ("python-nose" ,python-nose))) + (propagated-inputs + `(("python-h5py" ,python-h5py))) + (home-page "http://www.activepapers.org/") + (synopsis "Executable papers for scientific computing") + (description + "ActivePapers is a tool for working with executable papers, which +combine data, code, and documentation in single-file packages, +suitable for publication as supplementary material or on repositories +such as figshare or Zenodo.") + (properties `((python2-variant . ,(delay python2-activepapers)))) + (license license:bsd-3))) + +(define-public python2-activepapers + (let ((base (package-with-python2 + (strip-python2-variant python-activepapers)))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (delete 'delete-python2-code) + (add-after 'unpack 'delete-python3-code + (lambda _ + (for-each delete-file + '("lib/activepapers/builtins3.py" + "lib/activepapers/standardlib3.py" + "lib/activepapers/utility3.py"))))))))))) + +(define-public python-semver + (package + (name "python-semver") + (version "2.7.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "semver" version)) + (sha256 + (base32 + "0hhgqppchv59rqj0yzi1prdg2nfsywqmjsqy2rycyxm0hvxmbyqz")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-test-requirements + (lambda _ + (substitute* "setup.py" + ;; Our Python is new enough. + (("'virtualenv<14\\.0\\.0'") "'virtualenv'")) + #t))))) + (native-inputs + `(("python-tox" ,python-tox) + ("python-virtualenv" ,python-virtualenv))) + (home-page "https://github.com/k-bx/python-semver") + (synopsis "Python helper for Semantic Versioning") + (description "This package provides a Python library for +@url{Semantic Versioning, http://semver.org/}.") + (license license:bsd-3))) + +(define-public python2-semver + (package-with-python2 python-semver)) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8bdc145c11..70c76ee454 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1983,7 +1984,7 @@ time Web content can be enhanced with native controls.") (define-public dotherside (package (name "dotherside") - (version "0.5.2") + (version "0.6.3") (source (origin (method url-fetch) @@ -1992,7 +1993,7 @@ time Web content can be enhanced with native controls.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pqlrvy4ajjir80ra79ka3n0rjj0ir0f0m91cq86iz3nnw8w148z")))) + "0azq7qlsrfdwbd6qsi7d3c1knn42qw0r47g43xf7clwbinapswpz")))) (build-system cmake-build-system) (native-inputs `(("qttools" ,qttools))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0ed29f7fad..4d0ca09d1a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5,9 +5,11 @@ ;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net> +;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -100,7 +102,7 @@ (synopsis "Programming language interpreter") (description "Ruby is a dynamic object-oriented programming language with a focus on simplicity and productivity.") - (home-page "https://ruby-lang.org") + (home-page "https://www.ruby-lang.org") (license license:ruby))) (define-public ruby-2.3 @@ -204,14 +206,14 @@ a focus on simplicity and productivity.") (define-public ruby-highline (package (name "ruby-highline") - (version "1.7.8") + (version "1.7.10") (source (origin (method url-fetch) (uri (rubygems-uri "highline" version)) (sha256 (base32 - "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr")))) + "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ;; TODO: NameError: uninitialized constant SPEC @@ -230,13 +232,13 @@ a menu system for providing multiple options to the user.") (define-public ruby-hoe (package (name "ruby-hoe") - (version "3.16.0") + (version "3.16.2") (source (origin (method url-fetch) (uri (rubygems-uri "hoe" version)) (sha256 (base32 - "03r8nsw4n4mnia9iqiqk9kqhvrl96m2i81j4yg8cpnppd8vk7vlb")))) + "12q6dn2irsfamdbjpqvs0dwl4i1vl7wflxrcg972h9jw0ds38f3a")))) (build-system ruby-build-system) (synopsis "Ruby project management helper") (description @@ -245,7 +247,7 @@ maintain, and release projects and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all the usual project tasks including rdoc generation, testing, packaging, deployment, and announcement.") - (home-page "http://www.zenspider.com/projects/hoe.html") + (home-page "https://www.zenspider.com/projects/hoe.html") (license license:expat))) (define-public ruby-rake-compiler @@ -488,7 +490,7 @@ expectations and mocks frameworks.") (synopsis "Ruby gem bundler") (description "Bundler automatically downloads and installs a list of gems specified in a \"Gemfile\", as well as their dependencies.") - (home-page "http://bundler.io/") + (home-page "https://bundler.io/") (license license:expat))) (define-public ruby-builder @@ -541,7 +543,7 @@ supported: XML Markup and XML Events.") (synopsis "Ruby-to-Java bridge using the Java Native Interface") (description "RJB is a bridge program that connects Ruby and Java via the Java Native Interface.") - (home-page "http://www.artonx.org/collabo/backyard/?RubyJavaBridge") + (home-page "https://www.artonx.org/collabo/backyard/?RubyJavaBridge") (license license:lgpl2.1+))) (define-public ruby-log4r @@ -744,7 +746,7 @@ extensions.") (synopsis "Ruby bindings for GNOME Libxml2") (description "The Libxml-Ruby project provides Ruby language bindings for the GNOME Libxml2 XML toolkit.") - (home-page "http://xml4r.github.com/libxml-ruby") + (home-page "https://xml4r.github.com/libxml-ruby") (license license:expat))) (define-public ruby-xml-simple @@ -858,7 +860,7 @@ and inspect the environment.") (synopsis "Library to perform operations with sequence permutations") (description "This package provides a Ruby library to perform different operations with permutations of sequences, such as strings and arrays.") - (home-page "http://flori.github.io/permutation") + (home-page "https://flori.github.io/permutation") (license license:gpl2))) ; GPL 2 only (define-public ruby-shellany @@ -1024,13 +1026,13 @@ Ruby Gems.") (define-public ruby-simplecov-html (package (name "ruby-simplecov-html") - (version "0.10.1") + (version "0.10.2") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov-html" version)) (sha256 (base32 - "0f3psphismgp6jp1fxxz09zbswh7m2xxxr6gqlzdh7sgv415clvm")))) + "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; there are no tests (native-inputs @@ -1231,7 +1233,7 @@ Soundex, Metaphone, Double Metaphone, Porter Stemming.") "Gettext is a GNU gettext-like program for Ruby. The catalog file (po-file) used is the same as that used by GNU gettext, allowing you to use GNU gettext tools for maintenance.") - (home-page "http://ruby-gettext.github.com/") + (home-page "https://ruby-gettext.github.com/") (license (list license:lgpl3+ license:ruby)))) (define-public ruby-packnga @@ -1281,7 +1283,7 @@ use GNU gettext tools for maintenance.") on xUnit principles. These were originally designed by Kent Beck, creator of extreme programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby.") - (home-page "http://test-unit.github.io/") + (home-page "https://test-unit.github.io/") (license (list license:psfl license:ruby)))) (define-public ruby-metaclass @@ -1812,13 +1814,13 @@ for specs that share expensive database setup code.") (define-public ruby-daemons (package (name "ruby-daemons") - (version "1.2.4") + (version "1.2.5") (source (origin (method url-fetch) (uri (rubygems-uri "daemons" version)) (sha256 (base32 - "1bmb4qrd95b5gl3ym5j3q6mf090209f4vkczggn49n56w6s6zldz")))) + "15smbsg0gxb7nf0nrlnplc68y0cdy13dm6fviavpmw7c630sring")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; no test suite @@ -2139,14 +2141,14 @@ rate.") (define-public ruby-pry (package (name "ruby-pry") - (version "0.11.1") + (version "0.11.3") (source (origin (method url-fetch) (uri (rubygems-uri "pry" version)) (sha256 (base32 - "0ci461a55sn50rlrmcl97ycf79681glp443a2gzp23rnm7y70fkj")))) + "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests @@ -2157,7 +2159,7 @@ rate.") (description "Pry is an IRB alternative and runtime developer console for Ruby. It features syntax highlighting, a plugin architecture, runtime invocation, and source and documentation browsing.") - (home-page "http://pryrepl.org") + (home-page "https://pryrepl.org") (license license:expat))) (define-public ruby-guard @@ -2231,27 +2233,27 @@ utilities for Ruby.") (define-public ruby-tzinfo (package (name "ruby-tzinfo") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) (uri (rubygems-uri "tzinfo" version)) (sha256 (base32 - "05r81lk7q7275rdq7xipfm0yxgqyd2ggh73xpc98ypngcclqcscl")))) + "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-thread-safe" ,ruby-thread-safe))) (synopsis "Time zone library for Ruby") (description "TZInfo is a Ruby library that provides daylight savings aware transformations between times in different time zones.") - (home-page "http://tzinfo.github.io") + (home-page "https://tzinfo.github.io") (license license:expat))) (define-public ruby-tzinfo-data (package (name "ruby-tzinfo-data") - (version "1.2016.9") + (version "1.2017.3") (source (origin (method url-fetch) @@ -2264,7 +2266,7 @@ aware transformations between times in different time zones.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i8vz2j7wmcpr4pd066qvlg4if5blscjrgxk2imavfa49nq5lp06")) + "01wff7syqzikbxalbg3isgxasmvzicr85bzadzkb6bf20bip4v54")) ;; Remove the known test failure. ;; https://github.com/tzinfo/tzinfo-data/issues/10 ;; https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1587128 @@ -2277,7 +2279,7 @@ aware transformations between times in different time zones.") (description "This library provides @code{TZInfo::Data}, which contains data from the IANA Time Zone database packaged as Ruby modules for use with @code{TZInfo}.") - (home-page "http://tzinfo.github.io") + (home-page "https://tzinfo.github.io") (license license:expat))) (define-public ruby-rb-inotify @@ -2509,7 +2511,7 @@ Ruby's large and slower test/unit.") (description "This Ruby library uses ANSI escape sequences to control the attributes of terminal output.") - (home-page "http://flori.github.io/term-ansicolor/") + (home-page "https://flori.github.io/term-ansicolor/") ;; There is no mention of the "or later" clause. (license license:gpl2))) @@ -2531,7 +2533,7 @@ of terminal output.") (description "This library uses the output of the @code{ps} command to create a process tree data structure for the current host.") - (home-page "http://flori.github.com/pstree") + (home-page "https://github.com/flori/pstree") ;; There is no mention of the "or later" clause. (license license:gpl2))) @@ -2610,12 +2612,13 @@ a native C extension.") (zero? (system* "rake" "gemspec"))))))) (native-inputs `(("bundler" ,bundler) - ("ruby-test-unit" ,ruby-test-unit) - ("ruby-simplecov" ,ruby-simplecov))) + ("ragel" ,ragel) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-test-unit" ,ruby-test-unit))) (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") - (home-page "http://flori.github.com/json") + (home-page "https://flori.github.com/json") (license license:ruby))) ;; Even though this package only provides bindings for a Mac OSX API it is @@ -2697,13 +2700,13 @@ multibyte strings, internationalization, time zones, and testing.") (define-public ruby-crass (package (name "ruby-crass") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (rubygems-uri "crass" version)) (sha256 (base32 - "1c377r8g7m58y22803iyjgqkkvnnii0pymskda1pardxrzaighj9")))) + "1czijxlagzpzwchr2ldrgfi7kywg08idjpq37ndcmwh4fmz72c4l")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler) @@ -3087,7 +3090,7 @@ differences (added or removed nodes) between two XML/HTML documents.") developing web applications in Ruby. By wrapping HTTP requests and responses, it unifies the API for web servers, web frameworks, and software in between into a single method call.") - (home-page "http://rack.github.io/") + (home-page "https://rack.github.io/") (license license:expat))) (define-public ruby-docile @@ -3216,7 +3219,7 @@ features such as filtering and fine grained logging.") language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions.") - (home-page "http://yardoc.org") + (home-page "https://yardoc.org") (license license:expat))) (define-public ruby-clap @@ -3774,7 +3777,7 @@ methods, a @code{Mixin} module for including color methods, a @code{Logger}, a @code{ProgressBar}, and a @code{String} subclass. The library also includes a @code{Terminal} module which provides information about the current output device.") - (home-page "http://rubyworks.github.io/ansi") + (home-page "https://rubyworks.github.io/ansi") (license license:bsd-2))) (define-public ruby-systemu @@ -3869,7 +3872,7 @@ detail to ease debugging.") "Rubytest is a testing meta-framework for Ruby. It can handle any compliant test framework and can run tests from multiple frameworks in a single pass.") - (home-page "http://rubyworks.github.io/rubytest") + (home-page "https://rubyworks.github.io/rubytest") (license license:bsd-2))) (define-public ruby-brass @@ -3897,7 +3900,7 @@ single pass.") "BRASS (Bare-Metal Ruby Assertion System Standard) is a basic foundational assertions framework for other assertion and test frameworks to make use of.") - (home-page "http://rubyworks.github.io/brass") + (home-page "https://rubyworks.github.io/brass") (license license:bsd-2))) (define-public ruby-qed @@ -3930,7 +3933,7 @@ make use of.") Development} (BDD) utilizing Literate Programming techniques. QED sits somewhere between lower-level testing tools like @code{Test::Unit} and requirement specifications systems like Cucumber.") - (home-page "http://rubyworks.github.io/qed") + (home-page "https://rubyworks.github.io/qed") (license license:bsd-2))) (define-public ruby-ae @@ -3973,7 +3976,7 @@ requirement specifications systems like Cucumber.") (description "Assertive Expressive (AE) is an assertions library specifically designed for reuse by other test frameworks.") - (home-page "http://rubyworks.github.io/ae") + (home-page "https://rubyworks.github.io/ae") (license license:bsd-2))) (define-public ruby-lemon @@ -4003,7 +4006,7 @@ for reuse by other test frameworks.") "Lemon is a unit testing framework that enforces highly formal case-to-class and unit-to-method test construction. This enforcement can help focus concern on individual units of behavior.") - (home-page "http://rubyworks.github.io/lemon") + (home-page "https://rubyworks.github.io/lemon") (license license:bsd-2))) (define-public ruby-rubytest-cli @@ -4027,7 +4030,7 @@ focus concern on individual units of behavior.") (description "Rubytest CLI is a command-line interface for running tests for Rubytest-based test frameworks. It provides the @code{rubytest} executable.") - (home-page "http://rubyworks.github.io/rubytest-cli") + (home-page "https://rubyworks.github.io/rubytest-cli") (license license:bsd-2))) (define-public ruby-hashery @@ -4062,7 +4065,7 @@ Included are the auto-sorting @code{Dictionary} class, the efficient defines a CRUD (Create, Read, Update and Delete) model on top of Ruby's standard @code{Hash} making it possible to subclass and augment to fit any specific use case.") - (home-page "http://rubyworks.github.io/hashery") + (home-page "https://rubyworks.github.io/hashery") (license license:bsd-2))) (define-public ruby-rc4 @@ -4445,3 +4448,48 @@ are doing, you can fiddle with every last bit of your email directly.") more robust and work for non rails projects.") (home-page "http://github.com/danmayer/code_statistics") (license license:expat))) + +(define-public ruby-rubypants + (package + (name "ruby-rubypants") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rubypants" version)) + (sha256 + (base32 + "0xpqkslan2wkyal2h9qhplkr5d4sdn7q6csigrhnljjpp8j4qfsh")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; need Codecov + (synopsis "Port of the smart-quotes library SmartyPants") + (description + "RubyPants is a Ruby port of the smart-quotes library SmartyPants. The +original SmartyPants is a web publishing plug-in for Movable Type, Blosxom, +and BBEdit that easily translates plain ASCII punctuation characters into +smart typographic punctuation HTML entities.") + (home-page "https://github.com/jmcnevin/rubypants") + (license license:bsd-2))) + +(define-public ruby-org-ruby + (package + (name "ruby-org-ruby") + (version "0.9.12") + (source (origin + (method url-fetch) + (uri (rubygems-uri "org-ruby" version)) + (sha256 + (base32 + "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; no rakefile + (propagated-inputs + `(("ruby-rubypants" ,ruby-rubypants))) + (synopsis "Org-mode parser written in Ruby") + (description + "Org-ruby is an org-mode parser written in Ruby. The most significant +thing this library does today is convert org-mode files to HTML or Textile or +Markdown.") + (home-page "https://github.com/wallyqs/org-ruby") + (license license:expat))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index bafc3da332..33f5a9451b 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -336,17 +337,14 @@ mashups, office (web agendas, mail clients, ...), etc.") (define-public chicken (package (name "chicken") - (version "4.12.0") + (version "4.13.0") (source (origin (method url-fetch) (uri (string-append "https://code.call-cc.org/releases/" version "/chicken-" version ".tar.gz")) (sha256 (base32 - "12b9gaa9lqh39lj1v4wm48f6z8ww3jdkvc5bh9gqqvn6kd2wwnk0")) - (patches - (search-patches "chicken-CVE-2017-6949.patch" - "chicken-CVE-2017-11343.patch")))) + "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -403,17 +401,17 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "6.8") + (version "6.11") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" version "/racket-" version "-src.tgz") (string-append "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket/racket-" version "-src-unix.tgz"))) + version "/racket-" version "-src.tgz"))) (sha256 (base32 - "1l9z1a0r5zydr50cklx9xjw3l0pwnf64i10xq7112fl1r89q3qgv")))) + "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw")))) (build-system gnu-build-system) (arguments '(#:phases @@ -517,7 +515,7 @@ of libraries.") (define-public gambit-c (package (name "gambit-c") - (version "4.8.5") + (version "4.8.8") (source (origin (method url-fetch) @@ -527,7 +525,7 @@ of libraries.") (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) ".tgz")) (sha256 - (base32 "0xwmqzqvk83xyjz48vp36p5vj1415rl3pi3xq7y8i3p8s409a98b")))) + (base32 "1plw1id94mpg2c4y6q9z39ndcz1hbxfnp3i08szsg6794rasmgkk")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -602,7 +600,7 @@ threads.") (package (name "scmutils") - (version "20140302") + (version "20160827") (source (origin (method url-fetch/tarbomb) @@ -614,7 +612,7 @@ threads.") "/scmutils-tarballs/" name "-" version "-x86-64-gnu-linux.tar.gz")) (sha256 - (base32 "10cnbm7nh78m5mrl1di85s29gny81jb1am9zd9f9yx725xb6dnfg")))) + (base32 "00ly5m0s4dy5kxravjaqlpii5zcnr6b9nqm0607lr7xcs52i4j8b")))) (build-system gnu-build-system) (inputs `(("mit-scheme" ,mit-scheme) @@ -629,104 +627,104 @@ threads.") #:phases (modify-phases %standard-phases (replace 'configure - ;; No standard build procedure is used. We set the correct - ;; runtime path in the custom build system. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Required to find .bci files at runtime. - (with-directory-excursion "scmutils" - (rename-file "src" "scmutils")) - (substitute* "scmutils/scmutils/load.scm" - (("/usr/local/scmutils/") - (string-append out "/lib/mit-scheme-" - ,(system-suffix) "/"))) - #t))) + ;; No standard build procedure is used. We set the correct + ;; runtime path in the custom build system. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Required to find .bci files at runtime. + (with-directory-excursion "scmutils" + (rename-file "src" "scmutils")) + (substitute* "scmutils/scmutils/load.scm" + (("/usr/local/scmutils/") + (string-append out "/lib/mit-scheme-" + ,(system-suffix) "/"))) + #t))) (replace 'build - ;; Compile the code and build a band. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (make-img (string-append - "echo '(load \"load\") " - "(disk-save \"edwin-mechanics.com\")'" - "| mit-scheme"))) - (with-directory-excursion "scmutils/scmutils" - (and (zero? (system "mit-scheme < compile.scm")) - (zero? (system make-img))))))) + ;; Compile the code and build a band. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (make-img (string-append + "echo '(load \"load\") " + "(disk-save \"edwin-mechanics.com\")'" + "| mit-scheme"))) + (with-directory-excursion "scmutils/scmutils" + (and (zero? (system "mit-scheme < compile.scm")) + (zero? (system make-img))))))) (add-before 'install 'fix-directory-names - ;; Correct directory names in the startup script. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (scm-root (assoc-ref inputs "mit-scheme"))) - (substitute* "bin/mechanics" - (("ROOT=\"\\$\\{SCMUTILS_ROOT:-/.*\\}\"") - (string-append - "ROOT=\"${SCMUTILS_ROOT:-" scm-root "}\"\n" - "LIB=\"${ROOT}/lib/mit-scheme-" - ,(system-suffix) ":" - out "/lib/mit-scheme-" ,(system-suffix) "\"")) - (("EDWIN_INFO_DIRECTORY=.*\n") "") - (("SCHEME=.*\n") - (string-append "SCHEME=\"${ROOT}/bin/scheme " - "--library ${LIB}\"\n")) - (("export EDWIN_INFO_DIRECTORY") "")) - #t))) + ;; Correct directory names in the startup script. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (scm-root (assoc-ref inputs "mit-scheme"))) + (substitute* "bin/mechanics" + (("ROOT=\"\\$\\{SCMUTILS_ROOT:-/.*\\}\"") + (string-append + "ROOT=\"${SCMUTILS_ROOT:-" scm-root "}\"\n" + "LIB=\"${ROOT}/lib/mit-scheme-" + ,(system-suffix) ":" + out "/lib/mit-scheme-" ,(system-suffix) "\"")) + (("EDWIN_INFO_DIRECTORY=.*\n") "") + (("SCHEME=.*\n") + (string-append "SCHEME=\"${ROOT}/bin/scheme " + "--library ${LIB}\"\n")) + (("export EDWIN_INFO_DIRECTORY") "")) + #t))) (add-before 'install 'emacs-tags - ;; Generate Emacs's tags for easy reference to source - ;; code. - (lambda* (#:key inputs outputs #:allow-other-keys) - (with-directory-excursion "scmutils/scmutils" - (zero? (apply system* "etags" - (find-files "." "\\.scm")))))) + ;; Generate Emacs's tags for easy reference to source + ;; code. + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion "scmutils/scmutils" + (zero? (apply system* "etags" + (find-files "." "\\.scm")))))) (replace 'install - ;; Copy files to the store. - (lambda* (#:key outputs #:allow-other-keys) - (define* (copy-files-to-directory files dir - #:optional (delete? #f)) - (for-each (lambda (f) - (copy-file f (string-append dir "/" f)) - (when delete? (delete-file f))) - files)) + ;; Copy files to the store. + (lambda* (#:key outputs #:allow-other-keys) + (define* (copy-files-to-directory files dir + #:optional (delete? #f)) + (for-each (lambda (f) + (copy-file f (string-append dir "/" f)) + (when delete? (delete-file f))) + files)) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (doc (string-append out "/share/doc/" - ,name "-" ,version)) - (lib (string-append out "/lib/mit-scheme-" - ,(system-suffix) - "/scmutils"))) - (for-each mkdir-p (list lib doc bin)) - (with-directory-excursion "scmutils/scmutils" - (copy-files-to-directory '("COPYING" "LICENSE") - doc #t) - (for-each delete-file (find-files "." "\\.bin")) - (copy-files-to-directory '("edwin-mechanics.com") - (string-append lib "/..") #t) - (copy-recursively "." lib)) - (with-directory-excursion "bin" - (copy-files-to-directory (find-files ".") bin)) - (with-directory-excursion "scmutils/manual" - (copy-files-to-directory (find-files ".") doc)) - #t))) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/" + ,name "-" ,version)) + (lib (string-append out "/lib/mit-scheme-" + ,(system-suffix) + "/scmutils"))) + (for-each mkdir-p (list lib doc bin)) + (with-directory-excursion "scmutils/scmutils" + (copy-files-to-directory '("COPYING" "LICENSE") + doc #t) + (for-each delete-file (find-files "." "\\.bin")) + (copy-files-to-directory '("edwin-mechanics.com") + (string-append lib "/..") #t) + (copy-recursively "." lib)) + (with-directory-excursion "bin" + (copy-files-to-directory (find-files ".") bin)) + (with-directory-excursion "scmutils/manual" + (copy-files-to-directory (find-files ".") doc)) + #t))) (add-after 'install 'emacs-helpers - ;; Add convenience Emacs commands to easily load the - ;; Scmutils band in an MIT-Scheme buffer inside of Emacs - ;; and to easily load code tags. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (mit-root (assoc-ref inputs "mit-scheme")) - (emacs-lisp-dir - (string-append out "/share/emacs/site-lisp" - "/guix.d/" ,name "-" ,version)) - (el-file (string-append emacs-lisp-dir - "/scmutils.el")) - (lib-relative-path - (string-append "/lib/mit-scheme-" - ,(system-suffix)))) - (mkdir-p emacs-lisp-dir) - (call-with-output-file el-file - (lambda (p) - (format p - ";;;###autoload + ;; Add convenience Emacs commands to easily load the + ;; Scmutils band in an MIT-Scheme buffer inside of Emacs + ;; and to easily load code tags. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (mit-root (assoc-ref inputs "mit-scheme")) + (emacs-lisp-dir + (string-append out "/share/emacs/site-lisp" + "/guix.d/" ,name "-" ,version)) + (el-file (string-append emacs-lisp-dir + "/scmutils.el")) + (lib-relative-path + (string-append "/lib/mit-scheme-" + ,(system-suffix)))) + (mkdir-p emacs-lisp-dir) + (call-with-output-file el-file + (lambda (p) + (format p + ";;;###autoload (defun scmutils-load () (interactive) (require 'xscheme) @@ -762,10 +760,10 @@ engineering.") (license gpl2+)))) (define-public sicp - (let ((commit "5b52db566968d28a89fbbaf338d207f01cc81cac")) + (let ((commit "225c172f9b859902a64a3c5dd5e1f9ac1a7382de")) (package (name "sicp") - (version (string-append "20160220-1." (string-take commit 7))) + (version (string-append "20170703-1." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference @@ -773,7 +771,7 @@ engineering.") (commit commit))) (sha256 (base32 - "10h6h7szwlfbshwh18bnl2hvyddj5i7106l79s145l0sjjv15cxb")) + "0bhdrdc1mgdjdsg4jksq9z6x129f3346jbf3zir2a0dfmsj6m10n")) (file-name (string-append name "-" version "-checkout")))) (build-system trivial-build-system) (native-inputs `(("gzip" ,gzip) @@ -804,7 +802,7 @@ engineering.") (every zero? (map (cut system* "gzip" "-9n" <>) (find-files info-dir)))))))) - (home-page "http://sarabander.github.io/sicp") + (home-page "https://sarabander.github.io/sicp") (synopsis "Structure and Interpretation of Computer Programs") (description "Structure and Interpretation of Computer Programs (SICP) is a textbook aiming to teach the principles of computer programming. @@ -815,8 +813,8 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.") (license cc-by-sa4.0)))) (define-public scheme48-rx - (let* ((commit "d3231ad13de2b44e3ee173b1c9d09ff165e8b6d5") - (revision "1")) + (let* ((commit "dd9037f6f9ea01019390614f6b126b7dd293798d") + (revision "2")) (package (name "scheme48-rx") (version (string-append "0.0.0-" revision "." (string-take commit 7))) @@ -828,7 +826,7 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.") (commit commit))) (sha256 (base32 - "1nmziaibgmfi346kzidj6xyad0vm7724qymbzgxvdzyrqji6v6yz")) + "1bvriavxw5kf2izjbil3999vr983vkk2xplfpinafr86m40b2cci")) (file-name (string-append name "-" version "-checkout")))) (build-system trivial-build-system) (arguments @@ -880,7 +878,7 @@ regular-expression notation.") (assoc-ref outputs "out"))))))))) (native-inputs `(("unzip" ,unzip) ("texinfo" ,texinfo))) - (home-page "http://people.csail.mit.edu/jaffer/SLIB/") + (home-page "http://people.csail.mit.edu/jaffer/SLIB.html") (synopsis "Compatibility and utility library for Scheme") (description "SLIB is a portable Scheme library providing compatibility and utility functions for all standard Scheme implementations.") diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 03365ad3fa..d70a8d3fd5 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017 ng0 <ng0@infotropique.org> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -360,14 +361,14 @@ However, “Memory efficiency” and “Speed” have not been primary goals.") (define-public python-ruamel.yaml (package (name "python-ruamel.yaml") - (version "0.15.33") + (version "0.15.35") (source (origin (method url-fetch) (uri (pypi-uri "ruamel.yaml" version)) (sha256 (base32 - "1s4b0zwn9pkk4xxjhx77giyfddc738drd6vgraw6n2syvj03s31d")))) + "0xggyfaj6vprggahf7cq8kp9j79rb7hn8ndk3bxj2sxvwhhliiwd")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) @@ -403,8 +404,8 @@ style and key ordering are kept, so you can diff the source.") (synopsis "Implementation of the Concise Binary Object Representation") (description "Python-cbor provides an implementation of the Concise Binary Object -Representation (CBOR). CBOR is comparable to JSON, has a superset of JSON's -ability, but serializes to a binary format which is smaller and faster to -generate and parse. The two primary functions are @code{cbor.loads} and +Representation (@dfn{CBOR}). CBOR is comparable to JSON, has a superset of +JSON's ability, but serializes to a binary format which is smaller and faster +to generate and parse. The two primary functions are @code{cbor.loads} and @code{cbor.dumps}.") (license license:asl2.0))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 343f50d6d7..590b2c741d 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> -;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 ng0 <ng0@n0.is> @@ -88,7 +88,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") (define-public fish (package (name "fish") - (version "2.7.0") + (version "2.7.1") (source (origin (method url-fetch) (uri @@ -100,7 +100,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") name "-" version ".tar.gz"))) (sha256 (base32 - "1jvvm27hp46w0cia14lfz6161dkz8b935j1m7j38i7rgx75bfxis")) + "0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4")) (modules '((guix build utils))) ;; Don't try to install /etc/fish/config.fish. (snippet @@ -139,10 +139,10 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") discoverability, and friendliness. Fish has very user-friendly and powerful tab-completion, including descriptions of every completion, completion of strings with wildcards, and many completions for specific commands. It also -has extensive and discoverable help. A special help command gives access to -all the fish documentation in your web browser. Other features include smart -terminal handling based on terminfo, an easy to search history, and syntax -highlighting.") +has extensive and discoverable help. A special @command{help} command gives +access to all the fish documentation in your web browser. Other features +include smart terminal handling based on terminfo, an easy to search history, +and syntax highlighting.") (home-page "https://fishshell.com/") (license gpl2))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 8317f29cd8..793dcf8dc5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -608,15 +609,16 @@ monitor it, restarting it as necessary should it die or stop passing traffic.") (define-public pdsh (package (name "pdsh") - (version "2.29") + (version "2.33") (source (origin (method url-fetch) - (uri (string-append "https://storage.googleapis.com/" - "google-code-archive-downloads/v2/code.google.com/" - "pdsh/pdsh-" version ".tar.bz2")) + (uri (string-append "https://github.com/chaos/pdsh/" + "releases/download/pdsh-" version + "/pdsh-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p")))) + (base32 "0bwlkl9inj66iwvafg00pi3sk9n673phdi0kcc59y9nn55s0hs3k")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -625,16 +627,36 @@ monitor it, restarting it as necessary should it die or stop passing traffic.") (modify-phases %standard-phases (add-after 'unpack 'patch-/bin/sh (lambda _ - (substitute* '("tests/runtests.sh" + (substitute* '("tests/t0006-pdcp.sh" + "tests/t0004-module-loading.sh" + "tests/t2001-ssh.sh" + "tests/t1003-slurm.sh" + "tests/t6036-long-output-lines.sh" + "tests/aggregate-results.sh" + "tests/t2000-exec.sh" + "tests/t0002-internal.sh" + "tests/t1002-dshgroup.sh" + "tests/t5000-dshbak.sh" + "tests/t0001-basic.sh" + "tests/t0005-rcmd_type-and-user.sh" "tests/test-lib.sh" + "tests/t2002-mrsh.sh" + "tests/t0003-wcoll.sh" "tests/test-modules/pcptest.c") (("/bin/sh") (which "bash"))) + #t)) + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "tests/t6036-long-output-lines.sh" + (("which") (which "which"))) #t))))) (inputs `(("openssh" ,openssh) ("mit-krb5" ,mit-krb5) ("perl" ,perl))) - (home-page "https://code.google.com/archive/p/pdsh") + (native-inputs + `(("which" ,which))) + (home-page "https://github.com/chaos/pdsh") (synopsis "Parallel distributed shell") (description "Pdsh is a an efficient, multithreaded remote shell client which executes commands on multiple remote hosts in parallel. Pdsh implements diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7c6ca70314..f6bc819011 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -305,7 +305,7 @@ available, greatly increasing its breadth and scope.") (base32 "0ai1qpm0p4z07xr0dvag8sdn9jrxcwanrsk9khzmww094jvr1jxd")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/boot") + (home-page "https://cran.r-project.org/web/packages/boot") (synopsis "Bootstrap functions for R") (description "This package provides functions and datasets for bootstrapping from the @@ -371,7 +371,7 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.") (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/cluster") + (home-page "https://cran.r-project.org/web/packages/cluster") (synopsis "Methods for cluster analysis") (description "This package provides methods for cluster analysis. It is a much @@ -391,7 +391,7 @@ Hubert, based on Kaufman and Rousseeuw (1990) \"Finding Groups in Data\".") (base32 "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/codetools") + (home-page "https://cran.r-project.org/web/packages/codetools") (synopsis "Code analysis tools for R") (description "This package provides code analysis tools for R to check R code for possible problems.") @@ -410,7 +410,7 @@ code for possible problems.") (base32 "0s1lxmd85dd0kxx8hwk02w9l7pmpk4bpy7787fbyh2dbq5g9ys0k")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/foreign") + (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") (description "This package provides functions for reading and writing data stored by @@ -433,7 +433,7 @@ for reading and writing some dBase files.") (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/KernSmooth") + (home-page "https://cran.r-project.org/web/packages/KernSmooth") (synopsis "Functions for kernel smoothing") (description "This package provides functions for kernel smoothing (and density @@ -500,7 +500,7 @@ and operations on them using LAPACK and SuiteSparse.") `(("r-lattice" ,r-lattice))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/nlme") + (home-page "https://cran.r-project.org/web/packages/nlme") (synopsis "Linear and nonlinear mixed effects models") (description "This package provides tools to fit and compare Gaussian linear and @@ -522,7 +522,7 @@ nonlinear mixed-effects models.") (propagated-inputs `(("r-matrix" ,r-matrix) ("r-nlme" ,r-nlme))) - (home-page "http://cran.r-project.org/web/packages/mgcv") + (home-page "https://cran.r-project.org/web/packages/mgcv") (synopsis "Mixed generalised additive model computation") (description "GAMs, GAMMs and other generalized ridge regression with multiple smoothing @@ -562,7 +562,7 @@ single hidden layer, and for multinomial log-linear models.") (base32 "165djqj7lk81jr7z5fwccq3h7ayys26hx1kj9hndvg2rkyaq1arq")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/rpart") + (home-page "https://cran.r-project.org/web/packages/rpart") (synopsis "Recursive partitioning and regression trees") (description "This package provides recursive partitioning functions for @@ -693,7 +693,7 @@ caching.") (sha256 (base32 "1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/dichromat") + (home-page "https://cran.r-project.org/web/packages/dichromat") (synopsis "Color schemes for dichromats") (description "Dichromat collapses red-green or green-blue distinctions to simulate the @@ -741,7 +741,7 @@ OpenSSL should be used.") (base32 "13b80bpnbrarazjvnpnk91ljjsqgfm2fm3gy66aj09cmmsmv199h")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/estimability") + (home-page "https://cran.r-project.org/web/packages/estimability") (synopsis "Tools for assessing estimability of linear predictions") (description "Provides tools for determining estimability of linear functions of regression coefficients, and 'epredict' methods that handle @@ -765,7 +765,7 @@ non-estimable cases correctly.") ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-scales" ,r-scales))) (home-page - "http://cran.r-project.org/web/packages/pheatmap") + "https://cran.r-project.org/web/packages/pheatmap") (synopsis "Pretty heatmaps") (description "This package provides an implementation of heatmaps that offers more @@ -783,7 +783,7 @@ control over dimensions and appearance.") (sha256 (base32 "13sk7zrrrzry6ky1bp8mmnzcl9jhvkig8j4id9nny7z993mnk00d")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/labeling") + (home-page "https://cran.r-project.org/web/packages/labeling") (synopsis "Axis labeling algorithms") (description "The labeling package provides a range of axis labeling algorithms.") @@ -800,7 +800,7 @@ algorithms.") (sha256 (base32 "1s1ar6rag8m277qcqmdp02gn4awn9bdj9ax0r8s32i59mm1mki05")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/magrittr/index.html") + (home-page "https://cran.r-project.org/web/packages/magrittr/index.html") (synopsis "A forward-pipe operator for R") (description "Magrittr provides a mechanism for chaining commands with a new @@ -823,7 +823,7 @@ see package vignette. To quote Rene Magritte, \"Ceci n'est pas un pipe.\"") (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace))) - (home-page "http://cran.r-project.org/web/packages/munsell") + (home-page "https://cran.r-project.org/web/packages/munsell") (synopsis "Munsell colour system") (description "The Munsell package contains Functions for exploring and using the @@ -904,7 +904,7 @@ prototype-based, rather than class-based object oriented ideas.") (sha256 (base32 "1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/RColorBrewer") + (home-page "https://cran.r-project.org/web/packages/RColorBrewer") (synopsis "ColorBrewer palettes") (description "This package provides color schemes for maps (and other graphics) @@ -928,7 +928,7 @@ designed by Cynthia Brewer as described at http://colorbrewer2.org") (propagated-inputs `(("r-base64enc" ,r-base64enc))) (home-page - "http://cran.r-project.org/web/packages/sendmailR") + "https://cran.r-project.org/web/packages/sendmailR") (synopsis "Send email using R") (description "This package contains a simple SMTP client which provides a portable @@ -1112,7 +1112,7 @@ agnes cluster diagrams.") `(("cairo" ,cairo))) (propagated-inputs `(("r-withr" ,r-withr))) - (home-page "http://cran.r-project.org/web/packages/gdtools") + (home-page "https://cran.r-project.org/web/packages/gdtools") (synopsis "Utilities for graphical rendering") (description "The @code{gdtools} package provides functionalities to get font metrics @@ -1668,7 +1668,7 @@ features require SQL translation to be provided by the package author.") (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/acepack") + (home-page "https://cran.r-project.org/web/packages/acepack") (synopsis "Functions for regression transformations") (description "This package provides ACE and AVAS methods for choosing regression @@ -1688,7 +1688,7 @@ transformations.") "0ad49bzip1zqmpj1d8jajwl4bd81fm3k6dq8p26x6mvlzc04dvwd")))) (properties `((upstream-name . "Formula"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/Formula") + (home-page "https://cran.r-project.org/web/packages/Formula") (synopsis "Extended model formulas") (description "This package provides a new class @code{Formula}, which extends the base @@ -1711,7 +1711,7 @@ side.") (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) - (home-page "http://cran.r-project.org/web/packages/locfit") + (home-page "https://cran.r-project.org/web/packages/locfit") (synopsis "Local regression, likelihood and density estimation") (description "This package provides functions used for local regression, likelihood @@ -1729,7 +1729,7 @@ and density estimation.") (base32 "05aznigw9nwv3hbwjnjbvqhfjqkwsw2csgrjx8500gzr2fvla5w8")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/chron") + (home-page "https://cran.r-project.org/web/packages/chron") (synopsis "Chronological R objects which can handle dates and times") (description "This package provides chronological R objects which can handle dates and @@ -1890,7 +1890,7 @@ inference for statistical models.") (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) - (home-page "http://cran.r-project.org/web/packages/coda") + (home-page "https://cran.r-project.org/web/packages/coda") (synopsis "This is a package for Output Analysis and Diagnostics for MCMC") (description "This package provides functions for summarizing and plotting the output from Markov Chain Monte Carlo (MCMC) simulations, as well as @@ -2021,7 +2021,7 @@ limited to R.") (base32 "0mml9h3xagi7144pyb3jj9zbh9qzns7izkhdg7df20v7bikr6nz8")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/backports") + (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") (description "Provides implementations of functions which have been introduced in R @@ -2141,7 +2141,7 @@ SLURM and Sun Grid Engine. Multicore and SSH systems are also supported.") (base32 "1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/brew") + (home-page "https://cran.r-project.org/web/packages/brew") (synopsis "Templating framework for report generation") (description "The brew package implements a templating framework for mixing text and R @@ -2186,7 +2186,7 @@ other packages.") (base32 "1vb8r9khpvcf0q7acv8rsplfjjwcll302bg5kp596cvn6aacypl6")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/commonmark") + (home-page "https://cran.r-project.org/web/packages/commonmark") (synopsis "CommonMark and Github Markdown Rendering in R") (description "The CommonMark specification defines a rationalized version of markdown @@ -2317,7 +2317,7 @@ pure C implementation of the Git core methods.") (base32 "133s75q2hr6jg28m1wvs96qrbc9c4vw87migwhkjqb88xxvbqhd5")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/rstudioapi") + (home-page "https://cran.r-project.org/web/packages/rstudioapi") (synopsis "Safely access the RStudio API") (description "This package provides functions to access the RStudio API and provide @@ -2428,7 +2428,7 @@ disk (or a connection).") (base32 "0rw81n9p3d2i03b4pgcfj5blryc94f29bm9a4j9bnp5h8qjj6pry")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/plotrix") + (home-page "https://cran.r-project.org/web/packages/plotrix") (synopsis "Various plotting functions") (description "This package provides lots of plotting, various labeling, axis and color @@ -2446,7 +2446,7 @@ scaling functions for R.") (base32 "09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/gridBase") + (home-page "https://cran.r-project.org/web/packages/gridBase") (synopsis "Integration of base and grid graphics") (description "This package provides an integration of base and grid graphics for R.") @@ -2517,7 +2517,7 @@ the header files from the templated Armadillo library.") (base32 "176nr5wpnkavn5z0yy9f7d47l37ndnn2w3gv854xav8nnybi6wwv")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/bitops") + (home-page "https://cran.r-project.org/web/packages/bitops") (synopsis "Bitwise operations") (description "This package provides functions for bitwise operations on integer @@ -2538,7 +2538,7 @@ vectors.") (build-system r-build-system) (propagated-inputs `(("r-bitops" ,r-bitops))) - (home-page "http://cran.r-project.org/web/packages/caTools") + (home-page "https://cran.r-project.org/web/packages/caTools") (synopsis "Various tools including functions for moving window statistics") (description "This package contains several basic utility functions including: @@ -2778,7 +2778,7 @@ offers access to an XPath \"interpreter\".") "1mwx302576rmsjllbq2clfxilm3hkyp5bw0wmwqbn0kgv5wpy8z6")))) (properties (quasiquote ((upstream-name . "XNomial")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/XNomial") + (home-page "https://cran.r-project.org/web/packages/XNomial") (synopsis "Goodness-of-Fit test for multinomial data") (description "This package provides an exact Goodness-of-Fit test for @@ -2806,7 +2806,7 @@ plotted and compared with the asymptotic curve.") "0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x")))) (properties `((upstream-name . "lambda.r"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/lambda.r") + (home-page "https://cran.r-project.org/web/packages/lambda.r") (synopsis "Functional programming extension for R") (description "This package provides a language extension to efficiently write @@ -2828,7 +2828,7 @@ safety.") (properties `((upstream-name . "futile.options"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/futile.options") + (home-page "https://cran.r-project.org/web/packages/futile.options") (synopsis "Options management framework") (description "The futile.options subsystem provides an easy user-defined options @@ -2852,7 +2852,7 @@ options defined in other packages.") (propagated-inputs `(("r-futile-options" ,r-futile-options) ("r-lambda-r" ,r-lambda-r))) - (home-page "http://cran.r-project.org/web/packages/futile.logger") + (home-page "https://cran.r-project.org/web/packages/futile.logger") (synopsis "Logging utility for R") (description "This package provides a simple yet powerful logging utility. Based @@ -2873,7 +2873,7 @@ statements.") (base32 "0nrik5fyq59hwiwjcpbi4p5yfavgfjq6wyrynhkrbm4k6v1g1wlq")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/segmented") + (home-page "https://cran.r-project.org/web/packages/segmented") (synopsis "Regression models with breakpoints estimation") (description "Given a regression model, segmented updates the model by adding one or @@ -2892,7 +2892,7 @@ multiple breakpoints are allowed.") (base32 "1mxbrkpnmq32x4wd0194d541661yvfrrjlr3lsf7qq53ms3h21zf")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/snow") + (home-page "https://cran.r-project.org/web/packages/snow") (synopsis "Support for simple parallel computing in R") (description "The snow package provides support for simple parallel computing on a @@ -2937,7 +2937,7 @@ standard R subsetting and Kronecker products.") (base32 "16sycjq912ix52fjxjhcwiaqr0yj1v5iqmrvjljd3z857031w06y")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/iterators") + (home-page "https://cran.r-project.org/web/packages/iterators") (synopsis "Iterator construct for R") (description "This package provides support for iterators, which allow a programmer to @@ -2960,7 +2960,7 @@ data.") (propagated-inputs `(("r-codetools" ,r-codetools) ("r-iterators" ,r-iterators))) - (home-page "http://cran.r-project.org/web/packages/foreach") + (home-page "https://cran.r-project.org/web/packages/foreach") (synopsis "Foreach looping construct for R") (description "This package provides support for the @code{foreach} looping construct. @@ -2989,7 +2989,7 @@ parallel.") (propagated-inputs `(("r-foreach" ,r-foreach) ("r-iterators" ,r-iterators))) - (home-page "http://cran.r-project.org/web/packages/doParallel") + (home-page "https://cran.r-project.org/web/packages/doParallel") (synopsis "Foreach parallel adaptor for the 'parallel' package") (description "This package provides a parallel backend for the @code{%dopar%} function @@ -3012,7 +3012,7 @@ using the parallel package.") (propagated-inputs `(("r-foreach" ,r-foreach) ("r-iterators" ,r-iterators))) - (home-page "http://cran.r-project.org/web/packages/doMC") + (home-page "https://cran.r-project.org/web/packages/doMC") (synopsis "Foreach parallel adaptor for the 'parallel' package") (description "This package provides a parallel backend for the @code{%dopar%} function @@ -3085,7 +3085,7 @@ flexible than the orphaned \"base64\" package.") (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) - (home-page "http://cran.r-project.org/web/packages/irlba") + (home-page "https://cran.r-project.org/web/packages/irlba") (synopsis "Methods for eigendecomposition of large matrices") (description "This package provides fast and memory efficient methods for truncated @@ -3158,7 +3158,7 @@ options and registries, vignette, unit test and bibtex related utilities.") (base32 "1yqfl1g6vsl28zn8brzc39659k8lqsmfms7900j7p64ilydyb2sx")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/registry") + (home-page "https://cran.r-project.org/web/packages/registry") (synopsis "Infrastructure for R package registries") (description "This package provides a generic infrastructure for creating and using R @@ -3229,7 +3229,7 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.") (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class))) - (home-page "http://cran.r-project.org/web/packages/e1071") + (home-page "https://cran.r-project.org/web/packages/e1071") (synopsis "Miscellaneous functions for probability theory") (description "This package provides functions for latent class analysis, short time @@ -3250,7 +3250,7 @@ computation, bagged clustering, naive Bayes classifier, and more.") (properties `((upstream-name . "bigmemory.sri"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/bigmemory.sri") + (home-page "https://cran.r-project.org/web/packages/bigmemory.sri") (synopsis "Shared resource interface for the bigmemory package") (description "This package provides a shared resource interface for the bigmemory and synchronicity packages.") @@ -3357,7 +3357,7 @@ performing parallel computations on multicore machines.") "11z6v2i7jl647wxi9p5z66yvfnnqv6s7fxqmz7w2gkb6j8wl1f24")))) (properties `((upstream-name . "R.methodsS3"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/R.methodsS3") + (home-page "https://cran.r-project.org/web/packages/R.methodsS3") (synopsis "S3 methods simplified") (description "This package provides methods that simplify the setup of S3 generic @@ -3583,7 +3583,7 @@ the 'lite' version of the more complete @code{viridis} package.") ("r-purrr" ,r-purrr) ("r-rcpp" ,r-rcpp) ("r-rlang" ,r-rlang))) - (home-page "http://cran.r-project.org/web/packages/tidyselect") + (home-page "https://cran.r-project.org/web/packages/tidyselect") (synopsis "Select from a set of strings") (description "This package provides a backend for the selecting functions of the @@ -3865,7 +3865,7 @@ following problems: (build-system r-build-system) (propagated-inputs `(("r-openssl" ,r-openssl))) - (home-page "http://cran.r-project.org/web/packages/base64") + (home-page "https://cran.r-project.org/web/packages/base64") (synopsis "Base64 encoder and decoder") (description "This package is a compatibility wrapper to replace the orphaned package @@ -3929,7 +3929,7 @@ conversion of R objects to LaTeX code, and recoding variables.") "1jqr871jkll2xmk7wk5hv1z3a36hyn2ibgivw7bwk4b346940xlx")))) (properties `((upstream-name . "RUnit"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/RUnit") + (home-page "https://cran.r-project.org/web/packages/RUnit") (synopsis "R unit test framework") (description "This package provides R functions implementing a standard unit testing @@ -4015,7 +4015,7 @@ existing packages provide.") (base32 "0jzmbywlyzfxs7hlmyd0iynghfc9qp5sa5lnhr73y8r360yv1ahf")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/sfsmisc") + (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") (description "This package provides useful utilities from Seminar fuer Statistik ETH @@ -4034,7 +4034,7 @@ Zurich, including many that are related to graphics.") (base32 "1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/gtools") + (home-page "https://cran.r-project.org/web/packages/gtools") (synopsis "Various R programming tools") (description "This package contains a collection of various functions to assist in R @@ -4060,7 +4060,7 @@ tests for whether a value is missing, empty or contains only @code{NA} and `(("perl" ,perl))) (propagated-inputs `(("r-gtools" ,r-gtools))) - (home-page "http://cran.r-project.org/web/packages/gdata") + (home-page "https://cran.r-project.org/web/packages/gdata") (synopsis "Various R programming tools for data manipulation") (description "This package provides various R programming tools for data manipulation, @@ -4101,7 +4101,7 @@ including: ("r-gdata" ,r-gdata) ("r-gtools" ,r-gtools) ("r-kernsmooth" ,r-kernsmooth))) - (home-page "http://cran.r-project.org/web/packages/gplots") + (home-page "https://cran.r-project.org/web/packages/gplots") (synopsis "Various R programming tools for plotting data") (description "This package provides various R programming tools for plotting data, @@ -4185,7 +4185,7 @@ series of numeric vectors/matrices and factors.") (base32 "1jfqnqy9544gfvz3bsb48v4177nwp4b4n9l2743asq8sbq305b5r")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/ztable") + (home-page "https://cran.r-project.org/web/packages/ztable") (synopsis "Zebra-striped tables in LaTeX and HTML formats for R") (description "This package provides functions to make zebra-striped tables (tables @@ -4206,7 +4206,7 @@ with alternating row colors) in LaTeX and HTML formats easily from (base32 "112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/vipor") + (home-page "https://cran.r-project.org/web/packages/vipor") (synopsis "Plot categorical data using noise and density estimates") (description "This package provides tools to generate a violin point plot, a @@ -4245,7 +4245,7 @@ closely-packed, non-overlapping points.") (base32 "0l8c6fql82cb246qh7hfgxb4s35qn0qfgy6dzvkx0zkz1cpqvx69")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/sourcetools") + (home-page "https://cran.r-project.org/web/packages/sourcetools") (synopsis "Tools for reading, tokenizing and parsing R code") (description "The sourcetools package provides both an R and C++ interface for the @@ -4312,7 +4312,7 @@ Wall Street Journal, among others. This package also provides (base32 "07v4x8af60alcw6vbiwf5fp25bhra61kvxz9kqx64lszm0i1fb4x")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/statmod") + (home-page "https://cran.r-project.org/web/packages/statmod") (native-inputs `(("gfortran" ,gfortran))) (synopsis "Statistical modeling") @@ -4388,7 +4388,7 @@ published by the statistics blog FiveThirtyEight.") "1i30hrqdk64q17vsn918c3q79brchgx2wzh1gbsgbn0dh1ncabq4")))) (properties `((upstream-name . "CompQuadForm"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/CompQuadForm") + (home-page "https://cran.r-project.org/web/packages/CompQuadForm") (synopsis "Distribution function of quadratic forms in normal variables") (description "This package provides functions to compute the distribution function of @@ -4437,7 +4437,7 @@ letters, as is often required for scientific publications.") `(("r-mass" ,r-mass) ("r-segmented" ,r-segmented) ("r-survival" ,r-survival))) - (home-page "http://cran.r-project.org/web/packages/mixtools") + (home-page "https://cran.r-project.org/web/packages/mixtools") (synopsis "Tools for analyzing finite mixture models") (description "This package provides a collection of R functions for analyzing finite @@ -4483,7 +4483,7 @@ regression.") "108z2ymby5y4h8l4l2krqwm28rya93gq09yylgilnm3afvfrfabg")))) (properties `((upstream-name . "fastICA"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/fastICA") + (home-page "https://cran.r-project.org/web/packages/fastICA") (synopsis "FastICA algorithms to perform ICA and projection pursuit") (description "This package provides an implementation of the FastICA algorithm to @@ -4525,7 +4525,7 @@ forest of trees using random inputs, for classification and regression.") (base32 "06xnc5gv1284ll0addxnxb6ljz6fn8dbyrp5vchyz6551h800aa6")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/diptest") + (home-page "https://cran.r-project.org/web/packages/diptest") (synopsis "Hartigan's dip test statistic for unimodality") (description "This package computes Hartigan's dip test statistic for unimodality, @@ -4545,7 +4545,7 @@ original public code has been corrected.") (base32 "0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/modeltools") + (home-page "https://cran.r-project.org/web/packages/modeltools") (synopsis "Tools and classes for statistical models") (description "This package provides a collection of tools to deal with statistical @@ -4569,7 +4569,7 @@ to change in the future.") `(("r-lattice" ,r-lattice) ("r-modeltools" ,r-modeltools) ("r-nnet" ,r-nnet))) - (home-page "http://cran.r-project.org/web/packages/flexmix") + (home-page "https://cran.r-project.org/web/packages/flexmix") (synopsis "Flexible mixture modeling") (description "This package implements a general framework for finite mixtures of @@ -4639,7 +4639,7 @@ data for species delimitation, nearest neighbor based noise detection.") "1vz546hyjyhly70z62h5n3mn62b8llhhmim8ffp9y6jnnb0i2sc4")))) (properties `((upstream-name . "DEoptimR"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/DEoptimR") + (home-page "https://cran.r-project.org/web/packages/DEoptimR") (synopsis "Differential evolution optimization in pure R") (description "This package provides a differential evolution (DE) stochastic @@ -4687,7 +4687,7 @@ regression methodology including model selections and multivariate statistics.") (build-system r-build-system) (propagated-inputs `(("r-mvtnorm" ,r-mvtnorm))) - (home-page "http://cran.r-project.org/web/packages/pcaPP") + (home-page "https://cran.r-project.org/web/packages/pcaPP") (synopsis "Robust PCA by projection pursuit") (description "This package provides functions for robust @dfn{principal component @@ -4714,7 +4714,7 @@ analysis} (PCA) by projection pursuit.") ("r-robustbase" ,r-robustbase))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/rrcov") + (home-page "https://cran.r-project.org/web/packages/rrcov") (synopsis "Scalable robust estimators with high breakdown Point") (description "This package provides an implementation of robust location and scatter @@ -4736,7 +4736,7 @@ estimation and robust multivariate analysis with high breakdown point.") (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) - (home-page "http://cran.r-project.org/web/packages/fit.models") + (home-page "https://cran.r-project.org/web/packages/fit.models") (synopsis "Compare fitted models") (description "The @code{fit.models} function and its associated methods (coefficients, print, @@ -4769,7 +4769,7 @@ generally.") ("r-rrcov" ,r-rrcov))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://cran.r-project.org/web/packages/robust") + (home-page "https://cran.r-project.org/web/packages/robust") (synopsis "Port of the S+ \"Robust Library\"") (description "This package is a port of the S+ \"Robust Library\". It provides @@ -4789,7 +4789,7 @@ multivariate analysis.") (base32 "0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/trimcluster") + (home-page "https://cran.r-project.org/web/packages/trimcluster") (synopsis "Cluster analysis with trimming") (description "The trimmed k-means clustering method by Cuesta-Albertos, Gordaliza and @@ -4822,7 +4822,7 @@ of the points.") ("r-prabclus" ,r-prabclus) ("r-robustbase" ,r-robustbase) ("r-trimcluster" ,r-trimcluster))) - (home-page "http://cran.r-project.org/web/packages/fpc") + (home-page "https://cran.r-project.org/web/packages/fpc") (synopsis "Flexible procedures for clustering") (description "This package provides various methods for clustering and cluster validation. @@ -4890,7 +4890,7 @@ showing the progress is useful e.g. bootstrap.") "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj")))) (properties `((upstream-name . "FNN"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/FNN") + (home-page "https://cran.r-project.org/web/packages/FNN") (synopsis "Fast nearest neighbor search algorithms and applications") (description "This package provides cover-tree and kd-tree fast k-nearest neighbor @@ -4961,7 +4961,7 @@ decompositions of such matrices, and solutions of linear systems.") (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) - (home-page "http://cran.r-project.org/web/packages/ModelMetrics") + (home-page "https://cran.r-project.org/web/packages/ModelMetrics") (synopsis "Rapid calculation of model metrics") (description "Written in C++ using @code{Rcpp}, this package provides a collection of @@ -5034,7 +5034,7 @@ expected shortfall risk are also included.") `(("pkg-config" ,pkg-config))) (inputs `(("nlopt" ,nlopt))) - (home-page "http://cran.r-project.org/web/packages/nloptr") + (home-page "https://cran.r-project.org/web/packages/nloptr") (synopsis "R interface to NLopt") (description "This package is interface to NLopt, a library for nonlinear @@ -5066,7 +5066,7 @@ algorithms.") ("r-nloptr" ,r-nloptr) ("r-mass" ,r-mass) ("r-nlme" ,r-nlme))) - (home-page "http://cran.r-project.org/web/packages/lme4") + (home-page "https://cran.r-project.org/web/packages/lme4") (synopsis "Linear mixed-effects models using eigen and S4") (description "This package provides fit linear and generalized linear mixed-effects @@ -5262,7 +5262,7 @@ multivariate case.") ("r-mclust" ,r-mclust) ("r-mvtnorm" ,r-mvtnorm) ("r-sn" ,r-sn))) - (home-page "http://cran.r-project.org/web/packages/tclust") + (home-page "https://cran.r-project.org/web/packages/tclust") (synopsis "Robust trimmed clustering") (description "This package implements different robust clustering @@ -5364,7 +5364,7 @@ is supported.") `(("r-rcpp" ,r-rcpp) ("r-stringr" ,r-stringr))) (home-page - "http://cran.r-project.org/web/packages/lubridate") + "https://cran.r-project.org/web/packages/lubridate") (synopsis "Make dealing with dates a little easier") (description "This package provides functions to work with date-times and time-spans: diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 440130f5ed..1dca920a30 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -109,6 +110,10 @@ "-DWITH_XIO=OFF" ;; Use jemalloc instead of tcmalloc. "-DALLOCATOR=jemalloc")) + ;; FIXME: Some of the tests leak Btrfs subvolumes on Btrfs. See + ;; <https://bugs.gnu.org/29674> for details. Disable tests until + ;; resolved. + #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 4a7c1e6043..a5f2256afd 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> -;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> +;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2015 Dmitry Bogatov <KAction@gnu.org> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> @@ -53,7 +53,7 @@ (version "1.0") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/tools/blind-" + (uri (string-append "https://dl.suckless.org/tools/blind-" version ".tar.gz")) (sha256 (base32 @@ -68,7 +68,7 @@ (modify-phases %standard-phases (delete 'configure)))) ; no configure script (synopsis "Command line video editing utilities") - (home-page "http://tools.suckless.org/blind/") + (home-page "https://tools.suckless.org/blind/") (description "Blind is a collection of command line video editing utilities. It uses a custom raw video format with a simple container.") @@ -80,7 +80,7 @@ a custom raw video format with a simple container.") (version "6.1") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/dwm/dwm-" + (uri (string-append "https://dl.suckless.org/dwm/dwm-" version ".tar.gz")) (sha256 (base32 "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2")))) @@ -126,7 +126,7 @@ a custom raw video format with a simple container.") ("libx11" ,libx11) ("libxft" ,libxft) ("libxinerama" ,libxinerama))) - (home-page "http://dwm.suckless.org/") + (home-page "https://dwm.suckless.org/") (synopsis "Dynamic window manager") (description "dwm is a dynamic window manager for X. It manages windows in tiled, @@ -140,7 +140,7 @@ optimising the environment for the application in use and the task performed.") (version "4.7") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/tools/dmenu-" + (uri (string-append "https://dl.suckless.org/tools/dmenu-" version ".tar.gz")) (sha256 (base32 @@ -160,7 +160,7 @@ optimising the environment for the application in use and the task performed.") ("libxft" ,libxft) ("libx11" ,libx11) ("libxinerama" ,libxinerama))) - (home-page "http://tools.suckless.org/dmenu/") + (home-page "https://tools.suckless.org/dmenu/") (synopsis "Dynamic menu") (description "A dynamic menu for X, originally designed for dwm. It manages large @@ -201,7 +201,7 @@ numbers of user-defined menu items efficiently.") (version "1.4") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/tools/slock-" + (uri (string-append "https://dl.suckless.org/tools/slock-" version ".tar.gz")) (sha256 (base32 @@ -217,7 +217,7 @@ numbers of user-defined menu items efficiently.") ("libxext" ,libxext) ("libxinerama" ,libxinerama) ("libxrandr" ,libxrandr))) - (home-page "http://tools.suckless.org/slock/") + (home-page "https://tools.suckless.org/slock/") (synopsis "Simple X session lock") (description "Simple X session lock with trivial feedback on password entry.") @@ -230,7 +230,7 @@ numbers of user-defined menu items efficiently.") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/st/st-" + (uri (string-append "https://dl.suckless.org/st/st-" version ".tar.gz")) (sha256 (base32 @@ -254,7 +254,7 @@ numbers of user-defined menu items efficiently.") ("fontconfig" ,fontconfig) ("freetype" ,freetype))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://st.suckless.org/") + (home-page "https://st.suckless.org/") (synopsis "Simple terminal emulator") (description "St implements a simple and lightweight terminal emulator. It @@ -270,7 +270,7 @@ drawing.") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/surf/surf-" + (uri (string-append "https://dl.suckless.org/surf/surf-" version ".tar.gz")) (sha256 (base32 @@ -298,7 +298,7 @@ drawing.") ("xprop" ,xprop))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://surf.suckless.org/") + (home-page "https://surf.suckless.org/") (synopsis "Simple web browser") (description "Surf is a simple web browser based on WebKit/GTK+. It is able to @@ -313,7 +313,7 @@ point surf to another URI by setting its XProperties.") (version "0.2") (source (origin (method url-fetch) - (uri (string-append "http://dl.suckless.org/tools/sent-" + (uri (string-append "https://dl.suckless.org/tools/sent-" version ".tar.gz")) (sha256 (base32 @@ -345,7 +345,7 @@ presentations. Each paragraph represents a slide in the presentation. Especially for presentations using the Takahashi method this is very nice and allows you to write down the presentation for a quick lightning talk within a few minutes.") - (home-page "http://tools.suckless.org/sent") + (home-page "https://tools.suckless.org/sent") (license license:x11))) (define-public xbattmon diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 170272222d..5d7c0f5b36 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -28,7 +28,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.41") + (version "0.14.42") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -36,7 +36,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "1liarl09grcb0mlw20nlrmir2glxqlykv4l0z0f0gj2w1wk3qz8a")))) + "0qqcn8j2hng4jl6ndbrjmbiwbl2f305qx5yw7swbvj7s3l7k756i")))) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size @@ -1506,8 +1506,8 @@ functions for normalizing Unicode strings.") (license bsd-3)))) (define-public go-github-com-audriusbutkevicius-pfilter - (let ((commit "56143fe9cebe95636de1275acf30fcca36a1383d") - (revision "1")) + (let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb") + (revision "2")) (package (name "go-github-com-audriusbutkevicius-pfilter") (version (git-version "0.0.0" revision commit)) @@ -1520,7 +1520,7 @@ functions for normalizing Unicode strings.") (file-name (git-file-name name version)) (sha256 (base32 - "0slzly2f2fczixavzh6wa69873va29ikxww4lbkvhyi85c4sc5ib")))) + "0i4qbnwba49db27fb1y792gcvhb0m744i9q4zgwjbypqmy3bj2a5")))) (build-system go-build-system) (arguments '(#:import-path "github.com/AudriusButkevicius/pfilter")) @@ -1531,8 +1531,8 @@ virtual connections from a single physical connection.") (license expat)))) (define-public go-github-com-ccding-go-stun - (let ((commit "04a4eed61c57ecc9903f8983d1d2c17b88d2e9e1") - (revision "0")) + (let ((commit "d9bbe8f8fa7bf7ed03e6cfc6a2796bb36139e1f4") + (revision "1")) (package (name "go-github-com-ccding-go-stun") (version (git-version "0.0.0" revision commit)) @@ -1545,7 +1545,7 @@ virtual connections from a single physical connection.") (file-name (git-file-name name version)) (sha256 (base32 - "09fgmkvm0vzinl3ifrixyyxk2c9hbahrja7i0ir400harzq3my10")))) + "04a4q69cmw6snlx54wikyj1y6gk94qzm9xv9als17inmj8z60xv7")))) (build-system go-build-system) (arguments '(#:import-path "github.com/ccding/go-stun")) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index f2669f11a8..41f9411281 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> +;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -74,3 +75,32 @@ include peer-to-peer applications, active-mode FTP clients, DCC file transfers over IRC, instant messaging, network games, and most server software.") (license (x11-style "file://LICENSE" "See 'LICENSE' file in the distribution")))) + +(define-public libupnp + (package + (name "libupnp") + (version "1.6.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" + version "/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "15ngi1i7cvsv7g15fb9bkswvi99d1plz52x5qgjn4h5vyfddg0vx")))) + (build-system gnu-build-system) + (arguments + ;; The tests require a network device capable of multicasting which is + ;; not available in the build environment. See + ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00312.html. + `(#:tests? #f + #:configure-flags '("--enable-ipv6"))) + (home-page "http://pupnp.sourceforge.net") + (synopsis "Portable SDK for UPnP Devices") + (description + "The portable SDK for UPnP Devices (libupnp) provides developers with an +API and code for building control points, devices, and bridges that are +compliant with Version 1.0 of the Universal Plug and Play Device Architecture +Specification and support several operating systems like Linux, *BSD, Solaris +and others.") + (license bsd-3))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ed090107b3..111ae9b7c8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -782,6 +782,25 @@ audio/video codec library.") flag)) ,flags)))))) +;; Annoyingly enough, the latest mpv release does not build with the stable +;; release of ffmpeg. Use a git commit until the situation is fixed. +(define-public ffmpeg-git + (let ((commit "3f887440677328c9cfed97ad81d14051ffa32aae") + (revision "1")) + (package + (inherit ffmpeg) + (name "ffmpeg-git") + (version (string-append "3.4-" revision "." (string-take commit 9))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FFmpeg/FFmpeg.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1b7n3g4m2rbvrwsgbfl8wl91z42g1ld42clwxs8qpl9ny5rwz6sq"))))))) + (define-public vlc (package (name "vlc") @@ -986,7 +1005,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.27.0") + (version "0.28.0") (source (origin (method url-fetch) (uri (string-append @@ -994,7 +1013,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "1754371fkva8aqxgbm50jxyvij7mnysq0538bf6zghbmigqqn79l")) + "1d2p6k3y9lqx8bpdal4grrj8ljy7pvd8qgdq8004fmr38afmbb7f")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs @@ -1005,7 +1024,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (inputs `(("alsa-lib" ,alsa-lib) ("enca" ,enca) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-git) ("jack" ,jack-1) ("ladspa" ,ladspa) ("lcms" ,lcms) @@ -1034,6 +1053,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("rsound" ,rsound) ("waf" ,python-waf) ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) ("libxkbcommon", libxkbcommon) ("youtube-dl" ,youtube-dl) ("zlib" ,zlib))) @@ -1129,7 +1149,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.12.14") + (version "2017.12.31") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1137,7 +1157,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "01hvsch7ybff0amivl86m6klz156bm3hfh66zz5q8ha2af5j44hj")))) + "0cq10ii96lpq3z7l1js0s59sqb4h4yqwdqinl2yf7cdjynvj62xi")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1246,7 +1266,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.995") + (version "0.4.1011") (source (origin (method url-fetch) (uri (string-append @@ -1255,13 +1275,27 @@ other site that youtube-dl supports.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i89mn8v8znn3csgzfg8dz5vcn3ld66xj02az6137bljhgivjxra")))) + "0cdbh5w0chw3dlrwizm91l6sgkkzy7p6h0072dai4xbw5zgld31k")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; no tests (inputs - `(("ffmpeg" ,ffmpeg))) - (synopsis "Download videos, audios, or images from Web sites") + `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'qualify-input-references + ;; Explicitly invoke the input ffmpeg, instead of whichever one + ;; happens to be in the user's $PATH at run time. + (lambda* (#:key inputs #:allow-other-keys) + (let ((ffmpeg (string-append (assoc-ref inputs "ffmpeg") + "/bin/ffmpeg"))) + (substitute* "src/you_get/processor/ffmpeg.py" + ;; Don't blindly replace all occurrences of ‘'ffmpeg'’: the + ;; same string is also used when sniffing ffmpeg's output. + (("(FFMPEG == |\\()'ffmpeg'" _ prefix) + (string-append prefix "'" ffmpeg "'"))) + #t)))) + #:tests? #f)) ; XXX some tests need Internet access + (synopsis "Download videos, audio, or images from Web sites") (description "You-Get is a command-line utility to download media contents (videos, audio, images) from the Web. It can use either mpv or vlc for playback.") @@ -1715,6 +1749,7 @@ from various services and pipes them into a video playing application.") #t))))) (inputs `(("alsa-lib" ,alsa-lib) + ("ffmpeg" ,ffmpeg) ("fftw" ,fftw) ("libxml2" ,libxml2) ("jack" ,jack-1) @@ -1733,7 +1768,7 @@ broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications. The functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API.") - (license license:lgpl2.1+))) + (license license:gpl3))) (define-public v4l-utils (package diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a1709b0b6d..fa72c72c15 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -96,7 +96,10 @@ '(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f - #:configure-flags '("--enable-usb-redir" "--enable-opengl") + #:configure-flags (list "--enable-usb-redir" "--enable-opengl" + (string-append "--smbd=" + (assoc-ref %outputs "out") + "/libexec/samba-wrapper")) #:phases (modify-phases %standard-phases (replace 'configure @@ -135,6 +138,20 @@ (install-file info infodir)) (find-files "." "\\.info")) #t)))))) + ;; Create a wrapper for Samba. This allows QEMU to use Samba without + ;; pulling it in as an input. Note that you need to explicitly install + ;; Samba in your Guix profile for Samba support. + (add-after 'install-info 'create-samba-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (libexec (string-append out "/libexec"))) + (call-with-output-file "samba-wrapper" + (lambda (port) + (format port "#!/bin/sh +exec smbd $@"))) + (chmod "samba-wrapper" #o755) + (install-file "samba-wrapper" libexec)) + #t)) (add-before 'check 'make-gtester-verbose (lambda _ ;; Make GTester verbose to facilitate investigation upon failure. @@ -176,7 +193,7 @@ ("pkg-config" ,pkg-config) ("python" ,python-2) ; incompatible with Python 3 according to error message ("texinfo" ,texinfo))) - (home-page "http://www.qemu-project.org") + (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer") (description "QEMU is a generic machine emulator and virtualizer. @@ -711,7 +728,7 @@ Machine Protocol.") (define-public lookingglass (package (name "lookingglass") - (version "a5") + (version "a9") (source (origin (method url-fetch) @@ -720,7 +737,7 @@ Machine Protocol.") (file-name (string-append name "-" version)) (sha256 (base32 - "0lrb821914fp27xaq0spwhbblssz55phiygvdlvcrkifa138v8pf")))) + "015chy4x94x4dd5831d7n0gada8rhahmdx7bdbdhajlzivi3kjcw")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) ("glu" ,glu) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 95d2878835..bd4c34efb6 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -130,7 +130,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (define-public lynx (package (name "lynx") - (version "2.8.9dev.15") + (version "2.8.9dev.16") (source (origin (method url-fetch) (uri (string-append @@ -138,7 +138,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") "/lynx" version ".tar.bz2")) (sha256 (base32 - "16bdr7ai130ps67px8ssxnjxp5j6m4rin3in7jm22fxk0a8p2428")))) + "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) @@ -169,6 +169,10 @@ features including, tables, builtin image display, bookmarks, SSL and more.") #:tests? #f ; no check target #:phases (modify-phases %standard-phases + (add-before 'configure 'set-makefile-shell + (lambda _ (substitute* "po/makefile.inn" + (("/bin/sh") (which "sh"))) + #t)) (replace 'install (lambda* (#:key (make-flags '()) #:allow-other-keys) (zero? (apply system* "make" "install-full" make-flags))))))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f752cffded..2cae88523c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -356,7 +356,7 @@ documentation.") ("libxslt" ,libxslt) ("nginx-xslscript" ,nginx-xslscript))) (home-page "https://nginx.org") - (synopsis "Documentation for nginx web server") + (synopsis "Documentation for the nginx web server") (description "This package provides HTML documentation for the nginx web server.") (license l:bsd-2)))) @@ -2899,7 +2899,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") (define-public perl-io-socket-ip (package (name "perl-io-socket-ip") - (version "0.36") + (version "0.38") (source (origin (method url-fetch) @@ -2907,7 +2907,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") "IO-Socket-IP-" version ".tar.gz")) (sha256 (base32 - "0ky20hmln6waipzqikizyw04vpszf70fgpshz7ib8zv8480ri456")))) + "0scsnahxwnymg80a3k0p0cnr574nk7x9inn9wjniz0iycicclyhb")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/IO-Socket-IP") @@ -3844,7 +3844,7 @@ directory.") (propagated-inputs `(("r-digest" ,r-digest) ("r-rcpp" ,r-rcpp))) - (home-page "http://cran.r-project.org/web/packages/htmltools") + (home-page "https://cran.r-project.org/web/packages/htmltools") (synopsis "R tools for HTML") (description "This package provides tools for HTML generation and output in R.") @@ -3959,7 +3959,7 @@ callback or connection interfaces.") (base32 "0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/hwriter") + (home-page "https://cran.r-project.org/web/packages/hwriter") (synopsis "Output R objects in HTML format") (description "This package provides easy-to-use and versatile functions to output R @@ -3978,7 +3978,7 @@ objects in HTML format.") (base32 "1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/rjson") + (home-page "https://cran.r-project.org/web/packages/rjson") (synopsis "JSON library for R") (description "This package provides functions to convert R objects into JSON objects @@ -5424,7 +5424,7 @@ files). It currently supports linked brushing and filtering.") (properties `((upstream-name . "Rook"))) (build-system r-build-system) (propagated-inputs `(("r-brew" ,r-brew))) - (home-page "http://cran.r-project.org/web/packages/Rook") + (home-page "https://cran.r-project.org/web/packages/Rook") (synopsis "Web server interface for R") (description "This package contains the Rook specification and convenience software diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index b4f6573cf5..b4a303df93 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) @@ -183,3 +185,51 @@ integrate Windows applications into your desktop.") (base32 "0g6cwjyqwc660w33453aklh3hpc0b8rrb88dryn23ah6wannvagg")))))) +(define-public wine-staging + (package + (inherit wine) + (name "wine-staging") + (version "2.21") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/wine-compholio/wine-patched/archive/" + "staging-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pjaxj7h3q6y356np908fvsx0bf7yx5crqvgl4hza6gfssdmsr5r")))) + (inputs `(("gtk+", gtk+) + ("libva", libva) + ,@(package-inputs wine))) + (synopsis "Implementation of the Windows API (staging branch)") + (description "Wine-Staging is the testing area of Wine. It +contains bug fixes and features, which have not been integrated into +the development branch yet. The idea of Wine-Staging is to provide +experimental features faster to end users and to give developers the +possibility to discuss and improve their patches before they are +integrated into the main branch.") + (home-page "https://wine-staging.com") + ;; In addition to the regular Wine license (lgpl2.1+), Wine-Staging + ;; provides Liberation and WenQuanYi Micro Hei fonts. Those use + ;; different licenses. In particular, the latter is licensed under + ;; both GPL3+ and Apache 2 License. + (license + (list license:lgpl2.1+ license:silofl1.1 license:gpl3+ license:asl2.0)))) + +(define-public wine64-staging + (package + (inherit wine-staging) + (name "wine64-staging") + (arguments + `(#:make-flags + (list "SHELL=bash" + (string-append "libdir=" %output "/lib")) + #:configure-flags + (list "--enable-win64" + (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + ,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:system) + (package-arguments wine-staging)))) + (synopsis "Implementation of the Windows API (staging branch, 64-bit +version)") + (supported-systems '("x86_64-linux" "aarch64-linux")))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 6a4407c772..dafbdea09e 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> -;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net> +;;; Copyright © 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> @@ -192,6 +192,33 @@ X11 (yet).") (license (license:x11-style "file://COPYING" "See 'COPYING' in the distribution.")))) +(define-public libfakekey + (package + (name "libfakekey") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://downloads.yoctoproject.org/releases" + "/matchbox/libfakekey/" version "/libfakekey-" + version ".tar.bz2")) + (sha256 + (base32 + "1501l0bflcrhqbf12n7a7cqilvr0w4xawxw0vw75p2940nkl4464")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "AM_LDFLAGS=-lX11"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libxtst" ,libxtst) + ("libx11" ,libx11))) + (home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox") + (synopsis "X virtual keyboard library") + (description + "Libfakekey is a virtual keyboard library for X.") + (license license:gpl2))) + (define-public xdotool (package (name "xdotool") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index bbf7e0a5f6..210a6871d1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2891,8 +2891,8 @@ X server.") (define-public xf86-video-intel - (let ((commit "c89905754b929f0421db7ea6d60b8942ccdbd8af") - (revision "8")) + (let ((commit "af6d8e9e8f546e5cba60e3a62765c2dbd0328e83") + (revision "9")) (package (name "xf86-video-intel") (version (string-append "2.99.917-" revision "-" @@ -2906,7 +2906,7 @@ X server.") (commit commit))) (sha256 (base32 - "1xiyxhlq88vvgjavhxdkk933b5q7vm4jn6db144a6sqzifwaj672")) + "0f6sbkgykvvdggy8z6y7blf7yharg9vmiixxy190643bjxlnpp2s")) (file-name (string-append name "-" version)))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) @@ -5068,7 +5068,7 @@ over Xlib, including: (define-public xorg-server (package (name "xorg-server") - (version "1.19.5") + (version "1.19.6") (source (origin (method url-fetch) @@ -5077,7 +5077,7 @@ over Xlib, including: name "-" version ".tar.bz2")) (sha256 (base32 - "0iql4pgsgpyqcrd3256pv227cdadvz01ych61n0d41ixp67gmzqq")) + "15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7")) (patches (list ;; See: @@ -5920,7 +5920,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) @@ -5928,7 +5928,7 @@ basic eye-candy effects.") version ".tar.xz")) (sha256 (base32 - "0gi0i5pbhfzr5j4mbngjxvrk6r4lvigw4w2104znplmmrf1mw6y2")))) + "052w92w21ywgip5p90nifn8vxqzg09by4a0ai22znhqm5mqh7qc1")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index a3654fd4d3..f4681c804d 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -57,7 +57,7 @@ file-system-service-type user-unmount-service swap-service - user-processes-service + user-processes-service-type host-name-service console-keymap-service %default-console-font @@ -162,6 +162,129 @@ ;;; ;;; Code: + + +;;; +;;; User processes. +;;; + +(define %do-not-kill-file + ;; Name of the file listing PIDs of processes that must survive when halting + ;; the system. Typical example is user-space file systems. + "/etc/shepherd/do-not-kill") + +(define (user-processes-shepherd-service requirements) + "Return the 'user-processes' Shepherd service with dependencies on +REQUIREMENTS (a list of service names). + +This is a synchronization point used to make sure user processes and daemons +get started only after crucial initial services have been started---file +system mounts, etc. This is similar to the 'sysvinit' target in systemd." + (define grace-delay + ;; Delay after sending SIGTERM and before sending SIGKILL. + 4) + + (list (shepherd-service + (documentation "When stopped, terminate all user processes.") + (provision '(user-processes)) + (requirement requirements) + (start #~(const #t)) + (stop #~(lambda _ + (define (kill-except omit signal) + ;; Kill all the processes with SIGNAL except those listed + ;; in OMIT and the current process. + (let ((omit (cons (getpid) omit))) + (for-each (lambda (pid) + (unless (memv pid omit) + (false-if-exception + (kill pid signal)))) + (processes)))) + + (define omitted-pids + ;; List of PIDs that must not be killed. + (if (file-exists? #$%do-not-kill-file) + (map string->number + (call-with-input-file #$%do-not-kill-file + (compose string-tokenize + (@ (ice-9 rdelim) read-string)))) + '())) + + (define (now) + (car (gettimeofday))) + + (define (sleep* n) + ;; Really sleep N seconds. + ;; Work around <http://bugs.gnu.org/19581>. + (define start (now)) + (let loop ((elapsed 0)) + (when (> n elapsed) + (sleep (- n elapsed)) + (loop (- (now) start))))) + + (define lset= (@ (srfi srfi-1) lset=)) + + (display "sending all processes the TERM signal\n") + + (if (null? omitted-pids) + (begin + ;; Easy: terminate all of them. + (kill -1 SIGTERM) + (sleep* #$grace-delay) + (kill -1 SIGKILL)) + (begin + ;; Kill them all except OMITTED-PIDS. XXX: We would + ;; like to (kill -1 SIGSTOP) to get a fixed list of + ;; processes, like 'killall5' does, but that seems + ;; unreliable. + (kill-except omitted-pids SIGTERM) + (sleep* #$grace-delay) + (kill-except omitted-pids SIGKILL) + (delete-file #$%do-not-kill-file))) + + (let wait () + ;; Reap children, if any, so that we don't end up with + ;; zombies and enter an infinite loop. + (let reap-children () + (define result + (false-if-exception + (waitpid WAIT_ANY (if (null? omitted-pids) + 0 + WNOHANG)))) + + (when (and (pair? result) + (not (zero? (car result)))) + (reap-children))) + + (let ((pids (processes))) + (unless (lset= = pids (cons 1 omitted-pids)) + (format #t "waiting for process termination\ + (processes left: ~s)~%" + pids) + (sleep* 2) + (wait)))) + + (display "all processes have been terminated\n") + #f)) + (respawn? #f)))) + +(define user-processes-service-type + (service-type + (name 'user-processes) + (extensions (list (service-extension shepherd-root-service-type + user-processes-shepherd-service))) + (compose concatenate) + (extend append) + + ;; The value is the list of Shepherd services 'user-processes' depends on. + ;; Extensions can add new services to this list. + (default-value '()) + + (description "The @code{user-processes} service is responsible for +terminating all the processes so that the root file system can be re-mounted +read-only, just before rebooting/halting. Processes still running after a few +seconds after @code{SIGTERM} has been sent are terminated with +@code{SIGKILL}."))) + ;;; ;;; File systems. @@ -349,7 +472,11 @@ FILE-SYSTEM." (list (service-extension shepherd-root-service-type file-system-shepherd-services) (service-extension fstab-service-type - identity))) + identity) + + ;; Have 'user-processes' depend on 'file-systems'. + (service-extension user-processes-service-type + (const '(file-systems))))) (compose concatenate) (extend append) (description @@ -389,111 +516,6 @@ file systems, as well as corresponding @file{/etc/fstab} entries."))) in KNOWN-MOUNT-POINTS when it is stopped." (service user-unmount-service-type known-mount-points)) -(define %do-not-kill-file - ;; Name of the file listing PIDs of processes that must survive when halting - ;; the system. Typical example is user-space file systems. - "/etc/shepherd/do-not-kill") - -(define user-processes-service-type - (shepherd-service-type - 'user-processes - (lambda (grace-delay) - (shepherd-service - (documentation "When stopped, terminate all user processes.") - (provision '(user-processes)) - (requirement '(file-systems)) - (start #~(const #t)) - (stop #~(lambda _ - (define (kill-except omit signal) - ;; Kill all the processes with SIGNAL except those listed - ;; in OMIT and the current process. - (let ((omit (cons (getpid) omit))) - (for-each (lambda (pid) - (unless (memv pid omit) - (false-if-exception - (kill pid signal)))) - (processes)))) - - (define omitted-pids - ;; List of PIDs that must not be killed. - (if (file-exists? #$%do-not-kill-file) - (map string->number - (call-with-input-file #$%do-not-kill-file - (compose string-tokenize - (@ (ice-9 rdelim) read-string)))) - '())) - - (define (now) - (car (gettimeofday))) - - (define (sleep* n) - ;; Really sleep N seconds. - ;; Work around <http://bugs.gnu.org/19581>. - (define start (now)) - (let loop ((elapsed 0)) - (when (> n elapsed) - (sleep (- n elapsed)) - (loop (- (now) start))))) - - (define lset= (@ (srfi srfi-1) lset=)) - - (display "sending all processes the TERM signal\n") - - (if (null? omitted-pids) - (begin - ;; Easy: terminate all of them. - (kill -1 SIGTERM) - (sleep* #$grace-delay) - (kill -1 SIGKILL)) - (begin - ;; Kill them all except OMITTED-PIDS. XXX: We would - ;; like to (kill -1 SIGSTOP) to get a fixed list of - ;; processes, like 'killall5' does, but that seems - ;; unreliable. - (kill-except omitted-pids SIGTERM) - (sleep* #$grace-delay) - (kill-except omitted-pids SIGKILL) - (delete-file #$%do-not-kill-file))) - - (let wait () - ;; Reap children, if any, so that we don't end up with - ;; zombies and enter an infinite loop. - (let reap-children () - (define result - (false-if-exception - (waitpid WAIT_ANY (if (null? omitted-pids) - 0 - WNOHANG)))) - - (when (and (pair? result) - (not (zero? (car result)))) - (reap-children))) - - (let ((pids (processes))) - (unless (lset= = pids (cons 1 omitted-pids)) - (format #t "waiting for process termination\ - (processes left: ~s)~%" - pids) - (sleep* 2) - (wait)))) - - (display "all processes have been terminated\n") - #f)) - (respawn? #f))))) - -(define* (user-processes-service #:key (grace-delay 4)) - "Return the service that is responsible for terminating all the processes so -that the root file system can be re-mounted read-only, just before -rebooting/halting. Processes still running GRACE-DELAY seconds after SIGTERM -has been sent are terminated with SIGKILL. - -The returned service will depend on 'file-systems', meaning that it is -considered started after all the auto-mount file systems have been mounted. - -All the services that spawn processes must depend on this one so that they are -stopped before 'kill' is called." - (service user-processes-service-type grace-delay)) - ;;; ;;; Preserve entropy to seed /dev/urandom on boot. @@ -507,7 +529,10 @@ stopped before 'kill' is called." (list (shepherd-service (documentation "Preserve entropy across reboots for /dev/urandom.") (provision '(urandom-seed)) - (requirement '(user-processes)) + + ;; Depend on udev so that /dev/hwrng is available. + (requirement '(file-systems udev)) + (start #~(lambda _ ;; On boot, write random seed into /dev/urandom. (when (file-exists? #$%random-seed-file) @@ -568,13 +593,20 @@ stopped before 'kill' is called." (service-type (name 'urandom-seed) (extensions (list (service-extension shepherd-root-service-type - urandom-seed-shepherd-service))) + urandom-seed-shepherd-service) + + ;; Have 'user-processes' depend on 'urandom-seed'. + ;; This ensures that user processes and daemons don't + ;; start until we have seeded the PRNG. + (service-extension user-processes-service-type + (const '(urandom-seed))))) + (default-value #f) (description "Seed the @file{/dev/urandom} pseudo-random number generator (RNG) with the value recorded when the system was last shut down."))) -(define (urandom-seed-service) +(define (urandom-seed-service) ;deprecated (service urandom-seed-service-type #f)) @@ -1954,9 +1986,10 @@ This service is not part of @var{%base-services}." (service static-networking-service-type (list (static-networking (interface "lo") (ip "127.0.0.1") + (requirement '()) (provision '(loopback))))) (syslog-service) - (urandom-seed-service) + (service urandom-seed-service-type) (guix-service) (nscd-service) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 78530b3454..64b999caba 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2017 ng0 <ng0@infotropique.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (gnu packages suckless) #:use-module (gnu packages linux) #:use-module (gnu packages libusb) + #:use-module (gnu packages mate) #:use-module (guix records) #:use-module (guix packages) #:use-module (guix store) @@ -82,6 +84,11 @@ gnome-desktop-service gnome-desktop-service-type + mate-desktop-configuration + mate-desktop-configuration? + mate-desktop-service + mate-desktop-service-type + xfce-desktop-configuration xfce-desktop-configuration? xfce-desktop-service @@ -817,6 +824,32 @@ rules." and extends polkit with the actions from @code{gnome-settings-daemon}." (service gnome-desktop-service-type config)) +;; MATE Desktop service. +;; TODO: Add mate-screensaver. + +(define-record-type* <mate-desktop-configuration> mate-desktop-configuration + make-mate-desktop-configuration + mate-desktop-configuration + (mate-package mate-package (default mate))) + +(define mate-desktop-service-type + (service-type + (name 'mate-desktop) + (extensions + (list (service-extension polkit-service-type + (compose list + (package-direct-input-selector + "mate-settings-daemon") + mate-package)) + (service-extension profile-service-type + (compose list + mate-package)))))) + +(define* (mate-desktop-service #:key (config (mate-desktop-configuration))) + "Return a service that adds the @code{mate} package to the system profile, +and extends polkit with the actions from @code{mate-settings-daemon}." + (service mate-desktop-service-type config)) + ;;; ;;; XFCE desktop service. diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 6305f06f85..ab90942739 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> +;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -745,12 +746,6 @@ allowed too, like 10.0.0.10-10.0.0.30.") "How long to redirect users to a specific server after it no longer has any connections.") - (director-doveadm-port - (non-negative-integer 0) - "TCP/IP port that accepts doveadm connections (instead of director -connections) If you enable this, you'll also need to add -@samp{inet-listener} for the port.") - (director-username-hash (string "%Lu") "How the username is translated before being hashed. Useful values @@ -831,7 +826,7 @@ string.") string, %$ contains the data we want to log.") (mail-log-prefix - (string "\"%s(%u): \"") + (string "\"%s(%u)<%{pid}><%{session}>: \"") "Log prefix for mail processes. See doc/wiki/Variables.txt for list of possible variables you can use.") @@ -1145,7 +1140,7 @@ files. If an index file already exists it's still read, just not updated.") (mdbox-rotate-size - (non-negative-integer #e2e6) + (non-negative-integer #e10e6) "Maximum dbox file size until it's rotated.") (mdbox-rotate-interval @@ -1262,18 +1257,12 @@ it, set @samp{auth-ssl-require-client-cert? #t} in auth section.") x500UniqueIdentifier are the usual choices. You'll also need to set @samp{auth-ssl-username-from-cert? #t}.") - (ssl-parameters-regenerate - (hours 168) - "How often to regenerate the SSL parameters file. Generation is -quite CPU intensive operation. The value is in hours, 0 disables -regeneration entirely.") - - (ssl-protocols - (string "!SSLv2") - "SSL protocols to use.") + (ssl-min-protocol + (string "TLSv1") + "Minimum SSL protocol version to accept.") (ssl-cipher-list - (string "ALL:!LOW:!SSLv2:!EXP:!aNULL") + (string "ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH") "SSL ciphers to use.") (ssl-crypto-device @@ -1356,14 +1345,15 @@ get \"Too long argument\" or \"IMAP command line too large\" errors often.") (imap-logout-format - (string "in=%i out=%o") + (string "in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed} hdr_count=%{fetch_hdr_count} hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} body_bytes=%{fetch_body_bytes}") "IMAP logout format string: @table @code @item %i total number of bytes read from client @item %o total number of bytes sent to client. -@end table") +@end table +See @file{doc/wiki/Variables.txt} for a list of all the variables you can use.") (imap-capability (string "") diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index d57a7562a2..a9820ed21f 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -320,13 +320,13 @@ can create such a file with: (data-path (file-name "/var/lib/prosody") "Location of the Prosody data storage directory. See -@url{http://prosody.im/doc/configure}." +@url{https://prosody.im/doc/configure}." global) (plugin-paths (file-name-list '()) "Additional plugin directories. They are searched in all the specified -paths in order. See @url{http://prosody.im/doc/plugins_directory}." +paths in order. See @url{https://prosody.im/doc/plugins_directory}." global) (certificates @@ -339,15 +339,15 @@ certificates/keys from the directory specified here." (admins (string-list '()) "This is a list of accounts that are admins for the server. Note that you -must create the accounts separately. See @url{http://prosody.im/doc/admins} and -@url{http://prosody.im/doc/creating_accounts}. +must create the accounts separately. See @url{https://prosody.im/doc/admins} and +@url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))}" common) (use-libevent? (boolean #f) "Enable use of libevent for better performance under high load. See -@url{http://prosody.im/doc/libevent}." +@url{https://prosody.im/doc/libevent}." common) (modules-enabled @@ -355,7 +355,7 @@ Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))}" "This is the list of modules Prosody will load on startup. It looks for @code{mod_modulename.lua} in the plugins folder, so make sure that exists too. Documentation on modules can be found at: -@url{http://prosody.im/doc/modules}." +@url{https://prosody.im/doc/modules}." common) (modules-disabled @@ -368,13 +368,13 @@ should you want to disable them then add them to this list." (file-name "/var/lib/prosody/sharedgroups.txt") "Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See -@url{http://prosody.im/doc/modules/mod_groups}." +@url{https://prosody.im/doc/modules/mod_groups}." common) (allow-registration? (boolean #f) "Disable account creation by default, for security. See -@url{http://prosody.im/doc/creating_accounts}." +@url{https://prosody.im/doc/creating_accounts}." common) (ssl @@ -382,13 +382,13 @@ empty then @samp{mod_groups} does nothing. See "These are the SSL/TLS-related settings. Most of them are disabled so to use Prosody's defaults. If you do not completely understand these options, do not add them to your config, it is easy to lower the security of your server -using them. See @url{http://prosody.im/doc/advanced_ssl_config}." +using them. See @url{https://prosody.im/doc/advanced_ssl_config}." common) (c2s-require-encryption? (boolean #f) "Whether to force all client-to-server connections to be encrypted or not. -See @url{http://prosody.im/doc/modules/mod_tls}." +See @url{https://prosody.im/doc/modules/mod_tls}." common) (disable-sasl-mechanisms @@ -400,7 +400,7 @@ See @url{http://prosody.im/doc/modules/mod_tls}." (s2s-require-encryption? (boolean #f) "Whether to force all server-to-server connections to be encrypted or not. -See @url{http://prosody.im/doc/modules/mod_tls}." +See @url{https://prosody.im/doc/modules/mod_tls}." common) (s2s-secure-auth? @@ -408,7 +408,7 @@ See @url{http://prosody.im/doc/modules/mod_tls}." "Whether to require encryption and certificate authentication. This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates. See -@url{http://prosody.im/doc/s2s#security}." +@url{https://prosody.im/doc/s2s#security}." common) (s2s-insecure-domains @@ -416,14 +416,14 @@ encryption AND present valid, trusted certificates. See "Many servers don't support encryption or have invalid or self-signed certificates. You can list domains here that will not be required to authenticate using certificates. They will be authenticated using DNS. See -@url{http://prosody.im/doc/s2s#security}." +@url{https://prosody.im/doc/s2s#security}." common) (s2s-secure-domains (string-list '()) "Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list here. See -@url{http://prosody.im/doc/s2s#security}." +@url{https://prosody.im/doc/s2s#security}." common) (authentication @@ -431,21 +431,21 @@ valid certificates for some domains by specifying a list here. See "Select the authentication backend to use. The default provider stores passwords in plaintext and uses Prosody's configured data storage to store the authentication data. If you do not trust your server please see -@url{http://prosody.im/doc/modules/mod_auth_internal_hashed} for information +@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for information about using the hashed backend. See also -@url{http://prosody.im/doc/authentication}" +@url{https://prosody.im/doc/authentication}" common) ;; TODO: Handle more complicated log structures. (log (maybe-string "*syslog") "Set logging options. Advanced logging configuration is not yet supported -by the GuixSD Prosody Service. See @url{http://prosody.im/doc/logging}." +by the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}." common) (pidfile (file-name "/var/run/prosody/prosody.pid") - "File to write pid in. See @url{http://prosody.im/doc/modules/mod_posix}." + "File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}." global) (http-max-content-size @@ -476,7 +476,7 @@ instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration. Conversely a server that hosts a single domain would have just one VirtualHost entry. -See @url{http://prosody.im/doc/configure#virtual_host_settings}." +See @url{https://prosody.im/doc/configure#virtual_host_settings}." global) (int-components @@ -490,14 +490,14 @@ Internal components are implemented with Prosody-specific plugins. To add an internal component, you simply fill the hostname field, and the plugin you wish to use for the component. -See @url{http://prosody.im/doc/components}." +See @url{https://prosody.im/doc/components}." global) (ext-components (ext-component-configuration-list '()) "External components use XEP-0114, which most standalone components support. To add an external component, you simply fill the hostname field. See -@url{http://prosody.im/doc/components}." +@url{https://prosody.im/doc/components}." global) (component-secret @@ -536,10 +536,10 @@ support. To add an external component, you simply fill the hostname field. See hosted chatrooms/conferences for XMPP users. General information on setting up and using multi-user chatrooms can be found -in the \"Chatrooms\" documentation (@url{http://prosody.im/doc/chatrooms}), +in the \"Chatrooms\" documentation (@url{https://prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms. -See also @url{http://prosody.im/doc/modules/mod_muc}." +See also @url{https://prosody.im/doc/modules/mod_muc}." int-component) (hostname diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index b0c23aafc7..c3ba0787c0 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,6 +52,7 @@ static-networking-ip static-networking-netmask static-networking-gateway + static-networking-requirement static-networking-service static-networking-service-type @@ -145,22 +147,21 @@ fe80::1%lo0 apps.facebook.com\n") (default #f)) (provision static-networking-provision (default #f)) + (requirement static-networking-requirement + (default '())) (name-servers static-networking-name-servers ;FIXME: doesn't belong here (default '()))) (define static-networking-shepherd-service (match-lambda (($ <static-networking> interface ip netmask gateway provision - name-servers) + requirement name-servers) (let ((loopback? (and provision (memq 'loopback provision)))) (shepherd-service - ;; Unless we're providing the loopback interface, wait for udev to be up - ;; and running so that INTERFACE is actually usable. - (requirement (if loopback? '() '(udev))) - (documentation "Bring up the networking interface using a static IP address.") + (requirement requirement) (provision (or provision (list (symbol-append 'networking- (string->symbol interface))))) @@ -263,6 +264,8 @@ network interface."))) (define* (static-networking-service interface ip #:key netmask gateway provision + ;; Most interfaces require udev to be usable. + (requirement '(udev)) (name-servers '())) "Return a service that starts @var{interface} with address @var{ip}. If @var{netmask} is true, use it as the network mask. If @var{gateway} is true, @@ -277,6 +280,7 @@ to handle." (list (static-networking (interface interface) (ip ip) (netmask netmask) (gateway gateway) (provision provision) + (requirement requirement) (name-servers name-servers))))) (define dhcp-client-service-type diff --git a/gnu/system.scm b/gnu/system.scm index 1e573a8082..d1c1b9e88c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -449,7 +449,7 @@ a container or that of a \"bare metal\" system." (other-fs (non-boot-file-system-service os)) (unmount (user-unmount-service known-fs)) (swaps (swap-services os)) - (procs (user-processes-service)) + (procs (service user-processes-service-type)) (host-name (host-name-service (operating-system-host-name os))) (entries (operating-system-directory-base-entries os #:container? container?))) diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl index 609b801cab..4b090e0fb7 100644 --- a/gnu/system/examples/beaglebone-black.tmpl +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -15,6 +15,11 @@ (bootloader (bootloader-configuration (bootloader u-boot-beaglebone-black-bootloader) (target "/dev/mmcblk1"))) + (initrd (lambda (fs . rest) + (apply base-initrd fs + ;; This module is required to mount the sd card. + #:extra-modules (list "omap_hsmmc") + rest))) (file-systems (cons (file-system (device "my-root") (title 'label) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 27734e892a..7f5afb00fe 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -279,46 +279,47 @@ TARGET in the other system." ;; parent directory. (dependencies (list parent)))) '("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" - "blkio" "perf_event" "hugetlb"))))) + "blkio" "perf_event"))))) (define %elogind-file-systems ;; We don't use systemd, but these file systems are needed for elogind, ;; which was extracted from systemd. - (list (file-system - (device "none") - (mount-point "/run/systemd") - (type "tmpfs") - (check? #f) - (flags '(no-suid no-dev no-exec)) - (options "mode=0755") - (create-mount-point? #t)) - (file-system - (device "none") - (mount-point "/run/user") - (type "tmpfs") - (check? #f) - (flags '(no-suid no-dev no-exec)) - (options "mode=0755") - (create-mount-point? #t)) - ;; Elogind uses cgroups to organize processes, allowing it to map PIDs - ;; to sessions. Elogind's cgroup hierarchy isn't associated with any - ;; resource controller ("subsystem"). - (file-system - (device "cgroup") - (mount-point "/sys/fs/cgroup/elogind") - (type "cgroup") - (check? #f) - (options "none,name=elogind") - (create-mount-point? #t) - (dependencies (list (car %control-groups)))))) + (append + (list (file-system + (device "none") + (mount-point "/run/systemd") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev no-exec)) + (options "mode=0755") + (create-mount-point? #t)) + (file-system + (device "none") + (mount-point "/run/user") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev no-exec)) + (options "mode=0755") + (create-mount-point? #t)) + ;; Elogind uses cgroups to organize processes, allowing it to map PIDs + ;; to sessions. Elogind's cgroup hierarchy isn't associated with any + ;; resource controller ("subsystem"). + (file-system + (device "cgroup") + (mount-point "/sys/fs/cgroup/elogind") + (type "cgroup") + (check? #f) + (options "none,name=elogind") + (create-mount-point? #t) + (dependencies (list (car %control-groups))))) + %control-groups)) (define %base-file-systems ;; List of basic file systems to be mounted. Note that /proc and /sys are ;; currently mounted by the initrd. - (append (list %pseudo-terminal-file-system - %shared-memory-file-system - %immutable-store) - %control-groups)) + (list %pseudo-terminal-file-system + %shared-memory-file-system + %immutable-store)) ;; File systems for Linux containers differ from %base-file-systems in that ;; they impose additional restrictions such as no-exec or need different diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 17cf6b7163..dbeb0d3436 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -22,23 +22,32 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix i18n) + #:use-module ((guix utils) + #:select (source-properties->location + &error-location)) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system uuid) + #:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages linux) (mdadm-static) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (ice-9 match) #:export (mapped-device mapped-device? mapped-device-source mapped-device-target mapped-device-type + mapped-device-location mapped-device-kind mapped-device-kind? mapped-device-kind-open mapped-device-kind-close + mapped-device-kind-check device-mapping-service-type device-mapping-service @@ -58,14 +67,18 @@ mapped-device? (source mapped-device-source) ;string | list of strings (target mapped-device-target) ;string - (type mapped-device-type)) ;<mapped-device-kind> + (type mapped-device-type) ;<mapped-device-kind> + (location mapped-device-location + (default (current-source-location)) (innate))) (define-record-type* <mapped-device-type> mapped-device-kind make-mapped-device-kind mapped-device-kind? (open mapped-device-kind-open) ;source target -> gexp (close mapped-device-kind-close ;source target -> gexp - (default (const #~(const #f))))) + (default (const #~(const #f)))) + (check mapped-device-kind-check ;source -> Boolean + (default (const #t)))) ;;; @@ -138,11 +151,26 @@ #~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup") "close" #$target))) +(define (check-luks-device md) + "Ensure the source of MD is valid." + (let ((source (mapped-device-source md))) + (or (not (uuid? source)) + (not (zero? (getuid))) + (find-partition-by-luks-uuid (uuid-bytevector source)) + (raise (condition + (&message + (message (format #f (G_ "no LUKS partition with UUID '~a'") + (uuid->string source)))) + (&error-location + (location (source-properties->location + (mapped-device-location md))))))))) + (define luks-device-mapping ;; The type of LUKS mapped devices. (mapped-device-kind (open open-luks-device) - (close close-luks-device))) + (close close-luks-device) + (check check-luks-device))) (define (open-raid-device sources target) "Return a gexp that assembles SOURCES (a list of devices) to the RAID device diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index aeee105a1c..d7d9166fa7 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +27,9 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (gnu packages bash) - #:export (%test-inetd)) + #:use-module (gnu packages networking) + #:use-module (gnu services shepherd) + #:export (%test-inetd %test-openvswitch)) (define %inetd-os ;; Operating system with 2 inetd services. @@ -135,3 +138,108 @@ port 7, and a dict service on port 2628." (name "inetd") (description "Connect to a host with an INETD server.") (value (run-inetd-test)))) + + +;;; +;;; Open vSwitch +;;; + +(define setup-openvswitch + #~(let ((ovs-vsctl (lambda (str) + (zero? (apply system* + #$(file-append openvswitch "/bin/ovs-vsctl") + (string-tokenize str))))) + (add-native-port (lambda (if) + (string-append "--may-exist add-port br0 " if + " vlan_mode=native-untagged" + " -- set Interface " if + " type=internal")))) + (and (ovs-vsctl "--may-exist add-br br0") + ;; Connect eth0 as an "untagged" port (no VLANs). + (ovs-vsctl "--may-exist add-port br0 eth0 vlan_mode=native-untagged") + (ovs-vsctl (add-native-port "ovs0"))))) + +(define openvswitch-configuration-service + (simple-service 'openvswitch-configuration shepherd-root-service-type + (list (shepherd-service + (provision '(openvswitch-configuration)) + (requirement '(vswitchd)) + (start #~(lambda () + #$setup-openvswitch)) + (respawn? #f))))) + +(define %openvswitch-os + (simple-operating-system + (static-networking-service "ovs0" "10.1.1.1" + #:netmask "255.255.255.252" + #:requirement '(openvswitch-configuration)) + (service openvswitch-service-type + (openvswitch-configuration + (package openvswitch))) + openvswitch-configuration-service)) + +(define (run-openvswitch-test) + (define os + (marionette-operating-system %openvswitch-os + #:imported-modules '((gnu services herd)))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$(virtual-machine os)))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "openvswitch") + + ;; Make sure the bridge is created. + (test-assert "br0 exists" + (marionette-eval + '(zero? (system* "ovs-vsctl" "br-exists" "br0")) + marionette)) + + ;; Make sure eth0 is connected to the bridge. + (test-equal "eth0 is connected to br0" + "br0" + (marionette-eval + '(begin + (use-modules (ice-9 popen) (ice-9 rdelim)) + (let* ((port (open-pipe* + OPEN_READ + (string-append #$openvswitch "/bin/ovs-vsctl") + "port-to-br" "eth0")) + (output (read-line port))) + (close-pipe port) + output)) + marionette)) + + ;; Make sure the virtual interface got a static IP. + (test-assert "networking has started on ovs0" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (srfi srfi-1)) + (live-service-running + (find (lambda (live) + (memq 'networking-ovs0 + (live-service-provision live))) + (current-services)))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "openvswitch-test" test)) + +(define %test-openvswitch + (system-test + (name "openvswitch") + (description "Test a running OpenvSwitch configuration.") + (value (run-openvswitch-test)))) diff --git a/guix/build/dub-build-system.scm b/guix/build/dub-build-system.scm index b2cb02e639..432d51f6a7 100644 --- a/guix/build/dub-build-system.scm +++ b/guix/build/dub-build-system.scm @@ -91,11 +91,19 @@ (grep* "sourceLibrary" "dub.sdl") ; note: format is different! (grep* "sourceLibrary" "dub.json")) #t - (zero? (apply system* `("dub" "build" ,@dub-build-flags))))) + (let ((status (zero? (apply system* `("dub" "build" ,@dub-build-flags))))) + (substitute* ".dub/dub.json" + (("\"lastUpgrade\": \"[^\"]*\"") + "\"lastUpgrade\": \"1970-01-01T00:00:00.0000000\"")) + status))) (define* (check #:key tests? #:allow-other-keys) (if tests? - (zero? (system* "dub" "test")) + (let ((status (zero? (system* "dub" "test")))) + (substitute* ".dub/dub.json" + (("\"lastUpgrade\": \"[^\"]*\"") + "\"lastUpgrade\": \"1970-01-01T00:00:00.0000000\"")) + status) #t)) (define* (install #:key inputs outputs #:allow-other-keys) diff --git a/guix/man-db.scm b/guix/man-db.scm index 5d62e0c82d..732aef1083 100644 --- a/guix/man-db.scm +++ b/guix/man-db.scm @@ -187,7 +187,8 @@ (define (man-files directory) "Return the list of man pages found under DIRECTORY, recursively." - (find-files directory "\\.[0-9][a-z]?(\\.gz)?$")) + ;; Filter the list to ensure that broken symlinks are excluded. + (filter file-exists? (find-files directory "\\.[0-9][a-z]?(\\.gz)?$"))) (define (mandb-entries directory) "Return mandb entries for the man pages found under DIRECTORY, recursively." diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 0571b874f1..57f2d82c5c 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -25,9 +25,12 @@ #:use-module (guix packages) #:use-module (guix grafts) + #:use-module (guix utils) + ;; Use the procedure that destructures "NAME-VERSION" forms. - #:use-module ((guix utils) #:hide (package-name->name+version)) - #:use-module ((guix build utils) #:select (package-name->name+version)) + #:use-module ((guix build utils) + #:select ((package-name->name+version + . hyphen-package-name->name+version))) #:use-module (guix monads) #:use-module (guix gexp) @@ -127,33 +130,37 @@ found. Return #f if no build log was found." (define register-root* (store-lift register-root)) -(define (package-with-source store p uri) +(define (numeric-extension? file-name) + "Return true if FILE-NAME ends with digits." + (string-every char-set:hex-digit (file-extension file-name))) + +(define (tarball-base-name file-name) + "Return the \"base\" of FILE-NAME, removing '.tar.gz' or similar +extensions." + ;; TODO: Factorize. + (cond ((not (file-extension file-name)) + file-name) + ((numeric-extension? file-name) + file-name) + ((string=? (file-extension file-name) "tar") + (file-sans-extension file-name)) + ((file-extension file-name) + => + (match-lambda + ("scm" file-name) + (else (tarball-base-name (file-sans-extension file-name))))) + (else + file-name))) + +(define* (package-with-source store p uri #:optional version) "Return a package based on P but with its source taken from URI. Extract the new package's version number from URI." - (define (numeric-extension? file-name) - ;; Return true if FILE-NAME ends with digits. - (string-every char-set:hex-digit (file-extension file-name))) - - (define (tarball-base-name file-name) - ;; Return the "base" of FILE-NAME, removing '.tar.gz' or similar - ;; extensions. - ;; TODO: Factorize. - (cond ((not (file-extension file-name)) - file-name) - ((numeric-extension? file-name) - file-name) - ((string=? (file-extension file-name) "tar") - (file-sans-extension file-name)) - ((file-extension file-name) - (tarball-base-name (file-sans-extension file-name))) - (else - file-name))) - (let ((base (tarball-base-name (basename uri)))) - (let-values (((name version) - (package-name->name+version base))) + (let-values (((_ version*) + (hyphen-package-name->name+version base))) (package (inherit p) - (version (or version (package-version p))) + (version (or version version* + (package-version p))) ;; Use #:recursive? #t to allow for directories. (source (download-to-store store uri @@ -173,8 +180,23 @@ the new package's version number from URI." matching URIs given in SOURCES." (define new-sources (map (lambda (uri) - (cons (package-name->name+version (basename uri)) - uri)) + (match (string-index uri #\=) + (#f + ;; Determine the package name and version from URI. + (call-with-values + (lambda () + (hyphen-package-name->name+version + (tarball-base-name (basename uri)))) + (lambda (name version) + (list name version uri)))) + (index + ;; What's before INDEX is a "PKG@VER" or "PKG" spec. + (call-with-values + (lambda () + (package-name->name+version (string-take uri index))) + (lambda (name version) + (list name version + (string-drop uri (+ 1 index)))))))) sources)) (lambda (store obj) @@ -182,10 +204,11 @@ matching URIs given in SOURCES." (result '())) (match obj ((? package? p) - (let ((source (assoc-ref sources (package-name p)))) - (if source - (package-with-source store p source) - p))) + (match (assoc-ref sources (package-name p)) + ((version source) + (package-with-source store p source version)) + (#f + p))) (_ obj))))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 36aed3331f..ebcf3e4f3b 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -44,6 +44,7 @@ #:use-module (gnu system) #:use-module (gnu bootloader) #:use-module (gnu system file-systems) + #:use-module (gnu system mapped-devices) #:use-module (gnu system linux-container) #:use-module (gnu system uuid) #:use-module (gnu system vm) @@ -621,6 +622,22 @@ any, are available. Raise an error if they're not." ;; Better be safe than sorry. (exit 1)))) +(define (check-mapped-devices mapped-devices) + "Check that each of MAPPED-DEVICES is valid according to the 'check' +procedure of its type." + (for-each (lambda (md) + (let ((check (mapped-device-kind-check + (mapped-device-type md)))) + ;; We expect CHECK to raise an exception with a detailed + ;; '&message' if something goes wrong, but handle the case + ;; where it just returns #f. + (unless (check md) + (leave (G_ "~a: invalid '~a' mapped device~%") + (location->string + (source-properties->location + (mapped-device-location md))))))) + mapped-devices)) + ;;; ;;; Action. @@ -710,9 +727,10 @@ output when building a system derivation, such as a disk image." ;; Check whether the declared file systems exist. This is better than ;; instantiating a broken configuration. Assume that we can only check if ;; running as root. - (when (and (memq action '(init reconfigure)) - (zero? (getuid))) - (check-file-system-availability (operating-system-file-systems os))) + (when (memq action '(init reconfigure)) + (when (zero? (getuid)) + (check-file-system-availability (operating-system-file-systems os))) + (check-mapped-devices (operating-system-mapped-devices os))) (mlet* %store-monad ((sys (system-derivation-for-action os action diff --git a/tests/scripts-build.scm b/tests/scripts-build.scm index a408ea6f8d..190426ed06 100644 --- a/tests/scripts-build.scm +++ b/tests/scripts-build.scm @@ -96,6 +96,35 @@ (string-contains (get-output-string port) "had no effect")))))) +(test-assert "options->transformation, with-source, PKG=URI" + (let* ((p (dummy-package "foo")) + (s (search-path %load-path "guix.scm")) + (f (string-append "foo=" s)) + (t (options->transformation `((with-source . ,f))))) + (with-store store + (let ((new (t store p))) + (and (not (eq? new p)) + (string=? (package-name new) (package-name p)) + (string=? (package-version new) + (package-version p)) + (string=? (package-source new) + (add-to-store store (basename s) #t + "sha256" s))))))) + +(test-assert "options->transformation, with-source, PKG@VER=URI" + (let* ((p (dummy-package "foo")) + (s (search-path %load-path "guix.scm")) + (f (string-append "foo@42.0=" s)) + (t (options->transformation `((with-source . ,f))))) + (with-store store + (let ((new (t store p))) + (and (not (eq? new p)) + (string=? (package-name new) (package-name p)) + (string=? (package-version new) "42.0") + (string=? (package-source new) + (add-to-store store (basename s) #t + "sha256" s))))))) + (test-assert "options->transformation, with-input" (let* ((p (dummy-package "guix.scm" (inputs `(("foo" ,(specification->package "coreutils")) |