Merge branch 'master' into staging

master
Marius Bakke 2019-04-01 00:02:39 +02:00
commit 571fb008a5
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
144 changed files with 7926 additions and 1903 deletions

View File

@ -313,7 +313,11 @@ interface (FFI) of Guile.")
(cons (string-append #$guile-gcrypt "/lib/guile/" (cons (string-append #$guile-gcrypt "/lib/guile/"
(effective-version) (effective-version)
"/site-ccache") "/site-ccache")
%load-compiled-path))) %load-compiled-path))
;; Disable position recording to save time and space
;; when loading the package modules.
(read-disable 'positions))
(use-modules (guix store) (use-modules (guix store)
(guix self) (guix self)

View File

@ -827,7 +827,7 @@ your @code{operating-system} configuration:
@example @example
(service qemu-binfmt-service-type (service qemu-binfmt-service-type
(qemu-binfmt-configuration (qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el")) (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))
(guix-support? #t))) (guix-support? #t)))
@end example @end example
@ -835,12 +835,11 @@ Then reconfigure your system.
You can then build packages for different platforms by specifying the You can then build packages for different platforms by specifying the
@code{--system} option. For example, to build the "hello" package for @code{--system} option. For example, to build the "hello" package for
the armhf, aarch64, powerpc, or mips64 architectures, you would run the the armhf, aarch64, or mips64 architectures, you would run the following
following commands, respectively: commands, respectively:
@example @example
guix build --system=armhf-linux --rounds=2 hello guix build --system=armhf-linux --rounds=2 hello
guix build --system=aarch64-linux --rounds=2 hello guix build --system=aarch64-linux --rounds=2 hello
guix build --system=powerpc-linux --rounds=2 hello
guix build --system=mips64el-linux --rounds=2 hello guix build --system=mips64el-linux --rounds=2 hello
@end example @end example

View File

@ -251,6 +251,7 @@ System Configuration
* File Systems:: Configuring file system mounts. * File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing. * Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts. * User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
* Services:: Specifying system services. * Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges. * Setuid Programs:: Programs running with root privileges.
@ -3620,7 +3621,7 @@ Generation 3 Jun 13 2018 23:31:07 (current)
69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{} 69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{}
@end example @end example
@ref{Invoking guix describe, @command{guix describe}}, for other ways to @xref{Invoking guix describe, @command{guix describe}}, for other ways to
describe the current status of Guix. describe the current status of Guix.
This @code{~/.config/guix/current} profile works like any other profile This @code{~/.config/guix/current} profile works like any other profile
@ -3665,7 +3666,7 @@ is provided, the subset of generations that match @var{pattern}.
The syntax of @var{pattern} is the same as with @code{guix package The syntax of @var{pattern} is the same as with @code{guix package
--list-generations} (@pxref{Invoking guix package}). --list-generations} (@pxref{Invoking guix package}).
@ref{Invoking guix describe}, for a way to display information about the @xref{Invoking guix describe}, for a way to display information about the
current generation only. current generation only.
@item --profile=@var{profile} @item --profile=@var{profile}
@ -5360,10 +5361,6 @@ more. To ensure that libraries written in those languages can find
library code they depend on at run time, run-time dependencies must be library code they depend on at run time, run-time dependencies must be
listed in @code{propagated-inputs} rather than @code{inputs}. listed in @code{propagated-inputs} rather than @code{inputs}.
@item @code{self-native-input?} (default: @code{#f})
This is a Boolean field telling whether the package should use itself as
a native input when cross-compiling.
@item @code{outputs} (default: @code{'("out")}) @item @code{outputs} (default: @code{'("out")})
The list of output names of the package. @xref{Packages with Multiple The list of output names of the package. @xref{Packages with Multiple
Outputs}, for typical uses of additional outputs. Outputs}, for typical uses of additional outputs.
@ -5816,6 +5813,11 @@ list of flags passed to the @code{dune} command during the build.
The @code{#:jbuild?} parameter can be passed to use the @code{jbuild} The @code{#:jbuild?} parameter can be passed to use the @code{jbuild}
command instead of the more recent @code{dune} command while building command instead of the more recent @code{dune} command while building
a package. Its default value is @code{#f}. a package. Its default value is @code{#f}.
The @code{#:package} parameter can be passed to specify a package name, which
is useful when a package contains multiple packages and you want to build
only one of them. This is equivalent to passing the @code{-p} argument to
@code{dune}.
@end defvr @end defvr
@defvr {Scheme Variable} go-build-system @defvr {Scheme Variable} go-build-system
@ -10127,6 +10129,7 @@ instance to support new system services.
* File Systems:: Configuring file system mounts. * File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing. * Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts. * User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
* Services:: Specifying system services. * Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges. * Setuid Programs:: Programs running with root privileges.
@ -10400,6 +10403,24 @@ the command-line of the kernel---e.g., @code{("console=ttyS0")}.
@item @code{bootloader} @item @code{bootloader}
The system bootloader configuration object. @xref{Bootloader Configuration}. The system bootloader configuration object. @xref{Bootloader Configuration}.
@item @code{keyboard-layout} (default: @code{#f})
This field specifies the keyboard layout to use in the console. It can be
either @code{#f}, in which case the default keyboard layout is used (usually
US English), or a @code{<keyboard-layout>} record.
This keyboard layout is in effect as soon as the kernel has booted. For
instance, it is the keyboard layout in effect when you type a passphrase if
your root file system is on a @code{luks-device-mapping} mapped device
(@pxref{Mapped Devices}).
@quotation Note
This does @emph{not} specify the keyboard layout used by the bootloader, nor
that used by the graphical display server. @xref{Bootloader Configuration},
for information on how to specify the bootloader's keyboard layout. @xref{X
Window}, for information on how to specify the keyboard layout used by the X
Window System.
@end quotation
@item @code{initrd-modules} (default: @code{%base-initrd-modules}) @item @code{initrd-modules} (default: @code{%base-initrd-modules})
@cindex initrd @cindex initrd
@cindex initial RAM disk @cindex initial RAM disk
@ -10506,6 +10527,13 @@ details.
@item @code{services} (default: @var{%base-services}) @item @code{services} (default: @var{%base-services})
A list of service objects denoting system services. @xref{Services}. A list of service objects denoting system services. @xref{Services}.
@cindex essential services
@item @code{essential-services} (default: ...)
The list of ``essential services''---i.e., things like instances of
@code{system-service-type} and @code{host-name-service-type} (@pxref{Service
Reference}), which are derived from the operating system definition itself.
As a user you should @emph{never} need to touch this field.
@item @code{pam-services} (default: @code{(base-pam-services)}) @item @code{pam-services} (default: @code{(base-pam-services)})
@cindex PAM @cindex PAM
@cindex pluggable authentication modules @cindex pluggable authentication modules
@ -10902,7 +10930,6 @@ this field must contain the encrypted password, as a string. You can use the
@example @example
(user-account (user-account
(name "charlie") (name "charlie")
(home-directory "/home/charlie")
(group "users") (group "users")
;; Specify a SHA-512-hashed initial password. ;; Specify a SHA-512-hashed initial password.
@ -10969,6 +10996,108 @@ Note that the ``root'' account is not included here. It is a
special-case and is automatically added whether or not it is specified. special-case and is automatically added whether or not it is specified.
@end defvr @end defvr
@node Keyboard Layout
@section Keyboard Layout
To specify what each key of your keyboard does, you need to tell the operating
system what @dfn{keyboard layout} you want to use. The default, when nothing
is specified, is the US English QWERTY layout for 105-key PC keyboards.
However, German speakers will usually prefer the German QWERTZ layout, French
speakers will want the AZERTY layout, and so on; hackers might prefer Dvorak
or bépo, and they might even want to further customize the effect of some of
the keys. This section explains how to get that done.
@cindex keyboard layout, definition
There are three components that will want to know about your keyboard layout:
@itemize
@item
The @emph{bootloader} may want to know what keyboard layout you want to use
(@pxref{Bootloader Configuration, @code{keyboard-layout}}). This is useful if
you want, for instance, to make sure that you can type the passphrase of your
encrypted root partition using the right layout.
@item
The @emph{operating system kernel}, Linux, will need that so that the console
is properly configured (@pxref{operating-system Reference,
@code{keyboard-layout}}).
@item
The @emph{graphical display server}, usually Xorg, also has its own idea of
the keyboard layout (@pxref{X Window, @code{keyboard-layout}}).
@end itemize
Guix allows you to configure all three separately but, fortunately, it allows
you to share the same keyboard layout for all three components.
@cindex XKB, keyboard layouts
Keyboard layouts are represented by records created by the
@code{keyboard-layout} procedure of @code{(gnu system keyboard)}. Following
the X Keyboard extension (XKB), each layout has four attributes: a name (often
a language code such as ``fi'' for Finnish or ``jp'' for Japanese), an
optional variant name, an optional keyboard model name, and a possibly empty
list of additional options. In most cases the layout name is all you care
about. Here are a few example:
@example
;; The German QWERTZ layout. Here we assume a standard
;; "pc105" keyboard model.
(keyboard-layout "de")
;; The bépo variant of the French layout.
(keyboard-layout "fr" "bepo")
;; The Catalan layout.
(keyboard-layout "es" "cat")
;; The Latin American Spanish layout. In addition, the
;; "Caps Lock" key is used as an additional "Ctrl" key,
;; and the "Menu" key is used as a "Compose" key to enter
;; accented letters.
(keyboard-layout "latam"
#:options '("ctrl:nocaps" "compose:menu"))
;; The Russian layout for a ThinkPad keyboard.
(keyboard-layout "ru" #:model "thinkpad")
;; The "US international" layout, which is the US layout plus
;; dead keys to enter accented characters. This is for an
;; Apple MacBook keyboard.
(keyboard-layout "us" "intl" #:model "macbook78")
@end example
See the @file{share/X11/xkb} directory of the @code{xkeyboard-config} package
for a complete list of supported layouts, variants, and models.
@cindex keyboard layout, configuration
Let's say you want your system to use the Turkish keyboard layout throughout
your system---bootloader, console, and Xorg. Here's what your system
configuration would look like:
@lisp
;; Using the Turkish layout for the bootloader, the console,
;; and for Xorg.
(operating-system
;; ...
(keyboard-layout (keyboard-layout "tr")) ;for the console
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(keyboard-layout keyboard-layout))) ;for GRUB
(services (modify-services %desktop-services
(gdm-service-type config =>
(gdm-configuration
(inherit config)
(xorg-configuration
(xorg-configuration ;for Xorg
(keyboard-layout keyboard-layout))))))))
@end lisp
In the example above, for GRUB and for Xorg, we just refer to the
@code{keyboard-layout} field defined above, but we could just as well refer to
a different layout.
@node Locales @node Locales
@section Locales @section Locales
@ -13161,7 +13290,13 @@ Package object of the Open vSwitch.
Support for the X Window graphical display system---specifically Support for the X Window graphical display system---specifically
Xorg---is provided by the @code{(gnu services xorg)} module. Note that Xorg---is provided by the @code{(gnu services xorg)} module. Note that
there is no @code{xorg-service} procedure. Instead, the X server is there is no @code{xorg-service} procedure. Instead, the X server is
started by the @dfn{login manager}, by default SLiM. started by the @dfn{login manager}, by default the GNOME Display Manager (GDM).
@cindex GDM
@cindex GNOME, login manager
GDM of course allows users to log in into window managers and desktop
environments other than GNOME; for those using GNOME, GDM is required for
features such as automatic screen locking.
@cindex window manager @cindex window manager
To use X11, you must install at least one @dfn{window manager}---for To use X11, you must install at least one @dfn{window manager}---for
@ -13169,23 +13304,59 @@ example the @code{windowmaker} or @code{openbox} packages---preferably
by adding it to the @code{packages} field of your operating system by adding it to the @code{packages} field of your operating system
definition (@pxref{operating-system Reference, system-wide packages}). definition (@pxref{operating-system Reference, system-wide packages}).
@defvr {Scheme Variable} slim-service-type @defvr {Scheme Variable} gdm-service-type
This is the type for the SLiM graphical login manager for X11. This is the type for the @uref{https://wiki.gnome.org/Projects/GDM/, GNOME
Desktop Manager} (GDM), a program that manages graphical display servers and
handles graphical user logins. Its value must be a @code{gdm-configuration}
(see below.)
@cindex session types (X11) @cindex session types (X11)
@cindex X11 session types @cindex X11 session types
SLiM looks for @dfn{session types} described by the @file{.desktop} files in GDM looks for @dfn{session types} described by the @file{.desktop} files in
@file{/run/current-system/profile/share/xsessions} and allows users to @file{/run/current-system/profile/share/xsessions} and allows users to choose
choose a session from the log-in screen using @kbd{F1}. Packages such a session from the log-in screen. Packages such as @code{gnome}, @code{xfce},
as @code{xfce}, @code{sawfish}, and @code{ratpoison} provide and @code{i3} provide @file{.desktop} files; adding them to the system-wide
@file{.desktop} files; adding them to the system-wide set of packages set of packages automatically makes them available at the log-in screen.
automatically makes them available at the log-in screen.
In addition, @file{~/.xsession} files are honored. When available, In addition, @file{~/.xsession} files are honored. When available,
@file{~/.xsession} must be an executable that starts a window manager @file{~/.xsession} must be an executable that starts a window manager
and/or other X clients. and/or other X clients.
@end defvr @end defvr
@deftp {Data Type} gdm-configuration
@table @asis
@item @code{auto-login?} (default: @code{#f})
@itemx @code{default-user} (default: @code{#f})
When @code{auto-login?} is false, GDM presents a log-in screen.
When @code{auto-login?} is true, GDM logs in directly as
@code{default-user}.
@item @code{gnome-shell-assets} (default: ...)
List of GNOME Shell assets needed by GDM: icon theme, fonts, etc.
@item @code{xorg-configuration} (default: @code{(xorg-configuration)})
Configuration of the Xorg graphical server.
@item @code{xsession} (default: @code{(xinitrc)})
Script to run before starting a X session.
@item @code{dbus-daemon} (default: @code{dbus-daemon-wrapper})
File name of the @code{dbus-daemon} executable.
@item @code{gdm} (default: @code{gdm})
The GDM package to use.
@end table
@end deftp
@defvr {Scheme Variable} slim-service-type
This is the type for the SLiM graphical login manager for X11.
Like GDM, SLiM looks for session types described by @file{.desktop} files and
allows users to choose a session from the log-in screen using @kbd{F1}. It
also honors @file{~/.xsession} files.
@end defvr
@deftp {Data Type} slim-configuration @deftp {Data Type} slim-configuration
Data type representing the configuration of @code{slim-service-type}. Data type representing the configuration of @code{slim-service-type}.
@ -13218,8 +13389,8 @@ your user profile. Failing to do that, if @code{auto-login-session} is
false, you will be unable to log in. false, you will be unable to log in.
@end quotation @end quotation
@item @code{startx} (default: @code{(xorg-start-command)}) @item @code{xorg-configuration} (default @code{(xorg-configuration)})
The command used to start the X11 graphical server. Configuration of the Xorg graphical server.
@item @code{xauth} (default: @code{xauth}) @item @code{xauth} (default: @code{xauth})
The XAuth package to use. The XAuth package to use.
@ -13295,8 +13466,8 @@ Script to run before starting a wayland session.
@item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions") @item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions")
Directory to look for desktop files starting wayland sessions. Directory to look for desktop files starting wayland sessions.
@item @code{xorg-server-path} (default @code{xorg-start-command}) @item @code{xorg-configuration} (default @code{(xorg-configuration)})
Path to xorg-server. Configuration of the Xorg graphical server.
@item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")}) @item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")})
Path to xauth. Path to xauth.
@ -13319,9 +13490,6 @@ Directory to look for desktop files starting X sessions.
@item @code{minimum-vt} (default: 7) @item @code{minimum-vt} (default: 7)
Minimum VT to use. Minimum VT to use.
@item @code{xserver-arguments} (default "-nolisten tcp")
Arguments to pass to xorg-server.
@item @code{auto-login-user} (default "") @item @code{auto-login-user} (default "")
User to use for auto-login. User to use for auto-login.
@ -13347,98 +13515,62 @@ type @code{<sddm-configuration>}.
@end example @end example
@end deffn @end deffn
@deffn {Scheme Procedure} xorg-start-command [#:guile] @ @cindex Xorg, configuration
[#:modules %default-xorg-modules] @ @deftp {Data Type} xorg-configuration
[#:fonts %default-xorg-fonts] @ This data type represents the configuration of the Xorg graphical display
[#:configuration-file (xorg-configuration-file @dots{})] @ server. Note that there is not Xorg service; instead, the X server is started
[#:xorg-server @var{xorg-server}] by a ``display manager'' such as GDM, SDDM, and SLiM. Thus, the configuration
[#:xserver-arguments '("-nolisten" "tcp")] of these display managers aggregates an @code{xorg-configuration} record.
Return a @code{startx} script in which @var{modules}, a list of X module
packages, and @var{fonts}, a list of X font directories, are available. See @table @asis
@code{xorg-wrapper} for more details on the arguments. The result should be @item @code{modules} (default: @code{%default-xorg-modules})
used in place of @code{startx}. This is a list of @dfn{module packages} loaded by the Xorg
server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so on.
@item @code{fonts} (default: @code{%default-xorg-fonts})
This is a list of font directories to add to the server's @dfn{font path}.
@item @code{drivers} (default: @code{'()})
This must be either the empty list, in which case Xorg chooses a graphics
driver automatically, or a list of driver names that will be tried in this
order---e.g., @code{("modesetting" "vesa")}.
@item @code{resolutions} (default: @code{'()})
When @code{resolutions} is the empty list, Xorg chooses an appropriate screen
resolution. Otherwise, it must be a list of resolutions---e.g., @code{((1024
768) (640 480))}.
@cindex keyboard layout, for Xorg
@cindex keymap, for Xorg
@item @code{keyboard-layout} (default: @code{#f})
If this is @code{#f}, Xorg uses the default keyboard layout---usually US
English (``qwerty'') for a 105-key PC keyboard.
Otherwise this must be a @code{keyboard-layout} object specifying the keyboard
layout in use when Xorg is running. @xref{Keyboard Layout}, for more
information on how to specify the keyboard layout.
@item @code{extra-config} (default: @code{'()})
This is a list of strings or objects appended to the configuration file. It
is used to pass extra text to be added verbatim to the configuration file.
@item @code{server} (default: @code{xorg-server})
This is the package providing the Xorg server.
@item @code{server-arguments} (default: @code{%default-xorg-server-arguments})
This is the list of command-line arguments to pass to the X server. The
default is @code{-nolisten tcp}.
@end table
@end deftp
@deffn {Scheme Procedure} xorg-start-command [@var{config}]
Return a @code{startx} script in which the modules, fonts, etc. specified
in @var{config}, are available. The result should be used in place of
@code{startx}.
Usually the X server is started by a login manager. Usually the X server is started by a login manager.
@end deffn @end deffn
@cindex @code{-listen tcp}, for X11.
This procedure is useful to override command line options for the X server,
such as having it listen to over TCP:
@example
(operating-system
...
(services
(modify-services %desktop-services
(slim-service-type config =>
(slim-configuration
(inherit config)
(startx (xorg-start-command
#:xserver-arguments '("-listen" "tcp"))))))))
@end example
@deffn {Scheme Procedure} xorg-configuration-file @
[#:modules %default-xorg-modules] @
[#:fonts %default-xorg-fonts] @
[#:drivers '()] [#:resolutions '()] [#:extra-config '()]
Return a configuration file for the Xorg server containing search paths for
all the common drivers.
@var{modules} must be a list of @dfn{module packages} loaded by the Xorg
server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so on.
@var{fonts} must be a list of font directories to add to the server's
@dfn{font path}.
@var{drivers} must be either the empty list, in which case Xorg chooses a
graphics driver automatically, or a list of driver names that will be tried in
this order---e.g., @code{("modesetting" "vesa")}.
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
appropriate screen resolution; otherwise, it must be a list of
resolutions---e.g., @code{((1024 768) (640 480))}.
Last, @var{extra-config} is a list of strings or objects appended to the
configuration file. It is used to pass extra text to be
added verbatim to the configuration file.
@cindex keymap
@cindex keyboard layout
This procedure is especially useful to configure a different keyboard layout
than the default US keymap. For instance, to use the ``bépo'' keymap by
default on the display manager:
@example
(define bepo-evdev
"Section \"InputClass\"
Identifier \"evdev keyboard catchall\"
Driver \"evdev\"
MatchIsKeyboard \"on\"
Option \"xkb_layout\" \"fr\"
Option \"xkb_variant\" \"bepo\"
EndSection")
(operating-system
...
(services
(modify-services %desktop-services
(slim-service-type config =>
(slim-configuration
(inherit config)
(startx (xorg-start-command
#:configuration-file
(xorg-configuration-file
#:extra-config
(list bepo-evdev)))))))))
@end example
The @code{MatchIsKeyboard} line specifies that we only apply the configuration
to keyboards. Without this line, other devices such as touchpad may not work
correctly because they will be attached to the wrong driver. In this example,
the user typically used @code{setxkbmap fr bepo} to set their favorite keymap
once logged in. The first argument corresponds to the layout, while the second
argument corresponds to the variant. The @code{xkb_variant} line can be omitted
to select the default variant.
@end deffn
@deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}] @deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}]
Add @var{package}, a package for a screen locker or screen saver whose Add @var{package}, a package for a screen locker or screen saver whose
@ -14301,7 +14433,7 @@ The @code{(gnu services desktop)} module provides services that are
usually useful in the context of a ``desktop'' setup---that is, on a usually useful in the context of a ``desktop'' setup---that is, on a
machine running a graphical display server, possibly with graphical user machine running a graphical display server, possibly with graphical user
interfaces, etc. It also defines services that provide specific desktop interfaces, etc. It also defines services that provide specific desktop
environments like GNOME, XFCE or MATE. environments like GNOME, Xfce or MATE.
To simplify things, the module defines a variable containing the set of To simplify things, the module defines a variable containing the set of
services that users typically expect on a machine with a graphical services that users typically expect on a machine with a graphical
@ -14312,7 +14444,7 @@ This is a list of services that builds upon @var{%base-services} and
adds or adjusts services for a typical ``desktop'' setup. adds or adjusts services for a typical ``desktop'' setup.
In particular, it adds a graphical login manager (@pxref{X Window, In particular, it adds a graphical login manager (@pxref{X Window,
@code{slim-service}}), screen lockers, a network management tool @code{gdm-service-type}}), screen lockers, a network management tool
(@pxref{Networking Services, @code{network-manager-service-type}}), energy and color (@pxref{Networking Services, @code{network-manager-service-type}}), energy and color
management services, the @code{elogind} login and seat manager, the management services, the @code{elogind} login and seat manager, the
Polkit privilege service, the GeoClue location service, the Polkit privilege service, the GeoClue location service, the
@ -14326,16 +14458,16 @@ The @var{%desktop-services} variable can be used as the @code{services}
field of an @code{operating-system} declaration (@pxref{operating-system field of an @code{operating-system} declaration (@pxref{operating-system
Reference, @code{services}}). Reference, @code{services}}).
Additionally, the @code{gnome-desktop-service}, Additionally, the @code{gnome-desktop-service-type},
@code{xfce-desktop-service}, @code{mate-desktop-service-type} and @code{xfce-desktop-service}, @code{mate-desktop-service-type} and
@code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, MATE @code{enlightenment-desktop-service-type} procedures can add GNOME, Xfce, MATE
and/or Enlightenment to a system. To ``add GNOME'' means that system-level and/or Enlightenment to a system. To ``add GNOME'' means that system-level
services like the backlight adjustment helpers and the power management services like the backlight adjustment helpers and the power management
utilities are added to the system, extending @code{polkit} and @code{dbus} utilities are added to the system, extending @code{polkit} and @code{dbus}
appropriately, allowing GNOME to operate with elevated privileges on a appropriately, allowing GNOME to operate with elevated privileges on a
limited number of special-purpose system interfaces. Additionally, limited number of special-purpose system interfaces. Additionally,
adding a service made by @code{gnome-desktop-service} adds the GNOME adding a service made by @code{gnome-desktop-service-type} adds the GNOME
metapackage to the system profile. Likewise, adding the XFCE service metapackage to the system profile. Likewise, adding the Xfce service
not only adds the @code{xfce} metapackage to the system profile, but it 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'' also gives the Thunar file manager the ability to open a ``root-mode''
file management window, if the user authenticates using the file management window, if the user authenticates using the
@ -14351,25 +14483,50 @@ functionality to work as expetected.
The desktop environments in Guix use the Xorg display server by The desktop environments in Guix use the Xorg display server by
default. If you'd like to use the newer display server protocol default. If you'd like to use the newer display server protocol
called Wayland, you need to use the @code{sddm-service} instead of the called Wayland, you need to use the @code{sddm-service} instead of
@code{slim-service} for the graphical login manager. You should then GDM as the graphical login manager. You should then
select the ``GNOME (Wayland)'' session in SDDM. Alternatively you can select the ``GNOME (Wayland)'' session in SDDM. Alternatively you can
also try starting GNOME on Wayland manually from a TTY with the also try starting GNOME on Wayland manually from a TTY with the
command ``XDG_SESSION_TYPE=wayland exec dbus-run-session command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
gnome-session``. Currently only GNOME has support for Wayland. gnome-session``. Currently only GNOME has support for Wayland.
@deffn {Scheme Procedure} gnome-desktop-service @defvr {Scheme Variable} gnome-desktop-service-type
Return a service that adds the @code{gnome} package to the system This is the type of the service that adds the @uref{https://www.gnome.org,
profile, and extends polkit with the actions from GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration}
@code{gnome-settings-daemon}. object (see below.)
@end deffn
@deffn {Scheme Procedure} xfce-desktop-service This service adds the @code{gnome} package to the system profile, and extends
Return a service that adds the @code{xfce} package to the system profile, polkit with the actions from @code{gnome-settings-daemon}.
and extends polkit with the ability for @code{thunar} to manipulate the @end defvr
file system as root from within a user session, after the user has
authenticated with the administrator's password. @deftp {Data Type} gnome-desktop-configuration
@end deffn Configuration record for the GNOME desktop environment.
@table @asis
@item @code{gnome} (default @code{gnome})
The GNOME package to use.
@end table
@end deftp
@defvr {Scheme Variable} xfce-desktop-service-type
This is the type of a service to run the @uref{Xfce, https://xfce.org/}
desktop environment. Its value is an @code{xfce-desktop-configuration} object
(see below.)
This service that adds the @code{xfce} package to the system profile, and
extends polkit with the ability for @code{thunar} to manipulate the file
system as root from within a user session, after the user has authenticated
with the administrator's password.
@end defvr
@deftp {Data Type} xfce-desktop-configuration
Configuration record for the Xfce desktop environment.
@table @asis
@item @code{xfce} (default @code{xfce})
The Xfce package to use.
@end table
@end deftp
@deffn {Scheme Variable} mate-desktop-service-type @deffn {Scheme Variable} mate-desktop-service-type
This is the type of the service that runs the @uref{https://mate-desktop.org/, This is the type of the service that runs the @uref{https://mate-desktop.org/,
@ -14402,9 +14559,9 @@ The enlightenment package to use.
@end table @end table
@end deftp @end deftp
Because the GNOME, XFCE and MATE desktop services pull in so many packages, Because the GNOME, Xfce and MATE desktop services pull in so many packages,
the default @code{%desktop-services} variable doesn't include any of the default @code{%desktop-services} variable doesn't include any of
them by default. To add GNOME, XFCE or MATE, 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{%desktop-services} in the @code{services} field of your
@code{operating-system}: @code{operating-system}:
@ -14414,8 +14571,8 @@ them by default. To add GNOME, XFCE or MATE, just @code{cons} them onto
(operating-system (operating-system
... ...
;; cons* adds items to the list given as its last argument. ;; cons* adds items to the list given as its last argument.
(services (cons* (gnome-desktop-service) (services (cons* (service gnome-desktop-service-type)
(xfce-desktop-service) (service xfce-desktop-service)
%desktop-services)) %desktop-services))
...) ...)
@end example @end example
@ -21624,7 +21781,7 @@ emulated:
@example @example
(service qemu-binfmt-service-type (service qemu-binfmt-service-type
(qemu-binfmt-configuration (qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc")))) (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))))
@end example @end example
In this example, we enable transparent emulation for the ARM and aarch64 In this example, we enable transparent emulation for the ARM and aarch64
@ -23528,6 +23685,7 @@ here is how to use it and customize it further.
@cindex initial RAM disk @cindex initial RAM disk
@deffn {Scheme Procedure} raw-initrd @var{file-systems} @ @deffn {Scheme Procedure} raw-initrd @var{file-systems} @
[#:linux-modules '()] [#:mapped-devices '()] @ [#:linux-modules '()] [#:mapped-devices '()] @
[#:keyboard-layout #f] @
[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
Return a derivation that builds a raw initrd. @var{file-systems} is Return a derivation that builds a raw initrd. @var{file-systems} is
a list of file systems to be mounted by the initrd, possibly in addition to a list of file systems to be mounted by the initrd, possibly in addition to
@ -23539,6 +23697,12 @@ the root file system specified on the kernel command line via @code{--root}.
include @code{e2fsck/static} or other packages needed by the initrd to check include @code{e2fsck/static} or other packages needed by the initrd to check
the root file system. the root file system.
When true, @var{keyboard-layout} is a @code{<keyboard-layout>} record denoting
the desired console keyboard layout. This is done before @var{mapped-devices}
are set up and before @var{file-systems} are mounted such that, should the
user need to enter a passphrase or use the REPL, this happens using the
intended keyboard layout.
When @var{qemu-networking?} is true, set up networking with the standard QEMU When @var{qemu-networking?} is true, set up networking with the standard QEMU
parameters. When @var{virtio?} is true, load additional modules so that the parameters. When @var{virtio?} is true, load additional modules so that the
initrd can be used as a QEMU guest with para-virtualized I/O drivers. initrd can be used as a QEMU guest with para-virtualized I/O drivers.
@ -23548,7 +23712,8 @@ to it are lost.
@end deffn @end deffn
@deffn {Scheme Procedure} base-initrd @var{file-systems} @ @deffn {Scheme Procedure} base-initrd @var{file-systems} @
[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:mapped-devices '()] [#:keyboard-layout #f] @
[#:qemu-networking? #f] [#:volatile-root? #f] @
[#:linux-modules '()] [#:linux-modules '()]
Return as a file-like object a generic initrd, with kernel Return as a file-like object a generic initrd, with kernel
modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be
@ -23556,6 +23721,12 @@ mounted by the initrd, possibly in addition to the root file system specified
on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device
mappings to realize before @var{file-systems} are mounted. mappings to realize before @var{file-systems} are mounted.
When true, @var{keyboard-layout} is a @code{<keyboard-layout>} record denoting
the desired console keyboard layout. This is done before @var{mapped-devices}
are set up and before @var{file-systems} are mounted such that, should the
user need to enter a passphrase or use the REPL, this happens using the
intended keyboard layout.
@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}. @var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}.
The initrd is automatically populated with all the kernel modules necessary The initrd is automatically populated with all the kernel modules necessary
@ -23649,6 +23820,19 @@ current system.
The number of seconds to wait for keyboard input before booting. Set to The number of seconds to wait for keyboard input before booting. Set to
0 to boot immediately, and to -1 to wait indefinitely. 0 to boot immediately, and to -1 to wait indefinitely.
@cindex keyboard layout, for the bootloader
@item @code{keyboard-layout} (default: @code{#f})
If this is @code{#f}, the bootloader's menu (if any) uses the default keyboard
layout, usually US@tie{}English (``qwerty'').
Otherwise, this must be a @code{keyboard-layout} object (@pxref{Keyboard
Layout}).
@quotation Note
This option is currently ignored by bootloaders other than @code{grub} and
@code{grub-efi}.
@end quotation
@item @code{theme} (default: @var{#f}) @item @code{theme} (default: @var{#f})
The bootloader theme object describing the theme to use. If no theme The bootloader theme object describing the theme to use. If no theme
is provided, some bootloaders might use a default theme, that's true is provided, some bootloaders might use a default theme, that's true

View File

@ -0,0 +1,20 @@
# -*- mode: snippet -*-
# name: guix-commit-message-rename-package
# key: rename
# condition: git-commit-mode
# --
gnu: ${1:`(with-temp-buffer
(magit-git-wash #'magit-diff-wash-diffs
"diff" "--staged")
(beginning-of-buffer)
(when (search-forward "-(define-public " nil 'noerror)
(thing-at-point 'sexp 'no-properties)))`}: Rename package to ${2:`(with-temp-buffer
(magit-git-wash #'magit-diff-wash-diffs
"diff" "--staged")
(beginning-of-buffer)
(when (search-forward "+(define-public " nil 'noerror)
(thing-at-point 'sexp 'no-properties)))`}.
* `(car (magit-staged-files))` ($1): Define in terms of
'deprecated-package'.
($2): New variable, formerly known as "$1".

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io> ;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
@ -45,6 +45,7 @@
(gnu system file-systems) (gnu system file-systems)
(gnu bootloader) (gnu bootloader)
(gnu bootloader grub) (gnu bootloader grub)
(gnu system keyboard)
(gnu system pam) (gnu system pam)
(gnu system shadow) ; 'user-account' (gnu system shadow) ; 'user-account'
(gnu system linux-initrd) (gnu system linux-initrd)

View File

@ -47,6 +47,7 @@
bootloader-configuration-menu-entries bootloader-configuration-menu-entries
bootloader-configuration-default-entry bootloader-configuration-default-entry
bootloader-configuration-timeout bootloader-configuration-timeout
bootloader-configuration-keyboard-layout
bootloader-configuration-theme bootloader-configuration-theme
bootloader-configuration-terminal-outputs bootloader-configuration-terminal-outputs
bootloader-configuration-terminal-inputs bootloader-configuration-terminal-inputs
@ -104,27 +105,27 @@
(define-record-type* <bootloader-configuration> (define-record-type* <bootloader-configuration>
bootloader-configuration make-bootloader-configuration bootloader-configuration make-bootloader-configuration
bootloader-configuration? bootloader-configuration?
(bootloader bootloader-configuration-bootloader) ; <bootloader> (bootloader bootloader-configuration-bootloader) ;<bootloader>
(target bootloader-configuration-target ; string (target bootloader-configuration-target ;string
(default #f)) (default #f))
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters> (menu-entries bootloader-configuration-menu-entries ;list of <boot-parameters>
(default '())) (default '()))
(default-entry bootloader-configuration-default-entry ; integer (default-entry bootloader-configuration-default-entry ;integer
(default 0)) (default 0))
(timeout bootloader-configuration-timeout ; seconds as integer (timeout bootloader-configuration-timeout ;seconds as integer
(default 5)) (default 5))
(theme bootloader-configuration-theme ; bootloader-specific theme (keyboard-layout bootloader-configuration-keyboard-layout ;<keyboard-layout> | #f
(default #f)) (default #f))
(terminal-outputs bootloader-configuration-terminal-outputs ; list of symbols (theme bootloader-configuration-theme ;bootloader-specific theme
(default '(gfxterm))) (default #f))
(terminal-inputs bootloader-configuration-terminal-inputs ; list of symbols (terminal-outputs bootloader-configuration-terminal-outputs ;list of symbols
(default '())) (default '(gfxterm)))
(serial-unit bootloader-configuration-serial-unit ; integer | #f (terminal-inputs bootloader-configuration-terminal-inputs ;list of symbols
(default #f)) (default '()))
(serial-speed bootloader-configuration-serial-speed ; integer | #f (serial-unit bootloader-configuration-serial-unit ;integer | #f
(default #f)) (default #f))
(additional-configuration bootloader-configuration-additional-configuration ; record (serial-speed bootloader-configuration-serial-speed ;integer | #f
(default #f))) (default #f)))
;;; ;;;

View File

@ -27,8 +27,10 @@
#:use-module (gnu bootloader) #:use-module (gnu bootloader)
#:use-module (gnu system uuid) #:use-module (gnu system uuid)
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
#:use-module (gnu system keyboard)
#:autoload (gnu packages bootloaders) (grub) #:autoload (gnu packages bootloaders) (grub)
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg) #:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
#:autoload (gnu packages xorg) (xkeyboard-config)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -219,6 +221,26 @@ fi~%"
;;; Configuration file. ;;; Configuration file.
;;; ;;;
(define* (keyboard-layout-file layout
#:key
(grub grub))
"Process the X keyboard layout description LAYOUT, a <keyboard-layout> record,
and return a file in the format for GRUB keymaps. LAYOUT must be present in
the 'share/X11/xkb/symbols/' directory of 'xkeyboard-config'."
(define builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
;; 'grub-kbdcomp' passes all its arguments but '-o' to 'ckbcomp'
;; (from the 'console-setup' package).
(invoke #$(file-append grub "/bin/grub-mklayout")
"-i" #+(keyboard-layout->console-keymap layout)
"-o" #$output))))
(computed-file (string-append "grub-keymap." (keyboard-layout-name layout))
builder))
(define (grub-setup-io config) (define (grub-setup-io config)
"Return GRUB commands to configure the input / output interfaces. The result "Return GRUB commands to configure the input / output interfaces. The result
is a string that can be inserted in grub.cfg." is a string that can be inserted in grub.cfg."
@ -330,6 +352,18 @@ entries corresponding to old generations of the system."
#:system system #:system system
#:port #~port)) #:port #~port))
(define keyboard-layout-config
(let ((layout (bootloader-configuration-keyboard-layout config))
(grub (bootloader-package
(bootloader-configuration-bootloader config))))
#~(let ((keymap #$(and layout
(keyboard-layout-file layout #:grub grub))))
(when keymap
(format port "\
terminal_input at_keyboard
insmod keylayouts
keymap ~a~%" keymap)))))
(define builder (define builder
#~(call-with-output-file #$output #~(call-with-output-file #$output
(lambda (port) (lambda (port)
@ -338,6 +372,7 @@ entries corresponding to old generations of the system."
# will be lost upon reconfiguration. # will be lost upon reconfiguration.
") ")
#$sugar #$sugar
#$keyboard-layout-config
(format port " (format port "
set default=~a set default=~a
set timeout=~a~%" set timeout=~a~%"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -437,6 +437,7 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(define* (boot-system #:key (define* (boot-system #:key
(linux-modules '()) (linux-modules '())
linux-module-directory linux-module-directory
keymap-file
qemu-guest-networking? qemu-guest-networking?
volatile-root? volatile-root?
pre-mount pre-mount
@ -444,7 +445,8 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(on-error 'debug)) (on-error 'debug))
"This procedure is meant to be called from an initrd. Boot a system by "This procedure is meant to be called from an initrd. Boot a system by
first loading LINUX-MODULES (a list of module names) from first loading LINUX-MODULES (a list of module names) from
LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if LINUX-MODULE-DIRECTORY, then installing KEYMAP-FILE with 'loadkeys' (if
KEYMAP-FILE is true), then setting up QEMU guest networking if
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
specified in MOUNTS, and finally booting into the new root if any. The initrd specified in MOUNTS, and finally booting into the new root if any. The initrd
supports kernel command-line options '--load', '--root', and '--repl'. supports kernel command-line options '--load', '--root', and '--repl'.
@ -491,6 +493,15 @@ upon error."
#:lookup-module lookup-module) #:lookup-module lookup-module)
(map lookup-module linux-modules)) (map lookup-module linux-modules))
(when keymap-file
(let ((status (system* "loadkeys" keymap-file)))
(unless (zero? status)
;; Emit a warning rather than abort when we cannot load
;; KEYMAP-FILE.
(format (current-error-port)
"warning: 'loadkeys' exited with status ~a~%"
status))))
(when qemu-guest-networking? (when qemu-guest-networking?
(unless (configure-qemu-networking) (unless (configure-qemu-networking)
(display "network interface is DOWN\n"))) (display "network interface is DOWN\n")))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,13 +43,17 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:export (installer-program)) #:export (installer-program))
(define not-config? (define module-to-import?
;; Select (guix …) and (gnu …) modules, except (guix config). ;; Return true for modules that should be imported. For (gnu system …) and
;; (gnu packages …) modules, we simply add the whole 'guix' package via
;; 'with-extensions' (to avoid having to rebuild it all), which is why these
;; modules are excluded here.
(match-lambda (match-lambda
(('guix 'config) #f) (('guix 'config) #f)
(('guix rest ...) #t) (('gnu 'installer _ ...) #t)
(('gnu rest ...) #t) (('gnu 'build _ ...) #t)
(rest #f))) (('guix 'build _ ...) #t)
(_ #f)))
(define* (build-compiled-file name locale-builder) (define* (build-compiled-file name locale-builder)
"Return a file-like object that evalutes the gexp LOCALE-BUILDER and store "Return a file-like object that evalutes the gexp LOCALE-BUILDER and store
@ -156,7 +161,8 @@ selected keymap."
(lambda (models layouts) (lambda (models layouts)
((installer-keymap-page current-installer) ((installer-keymap-page current-installer)
layouts))))) layouts)))))
(#$apply-keymap result)))) (#$apply-keymap result)
result)))
(define (installer-steps) (define (installer-steps)
(let ((locale-step (compute-locale-step (let ((locale-step (compute-locale-step
@ -208,7 +214,8 @@ selected keymap."
(id 'keymap) (id 'keymap)
(description (G_ "Keyboard mapping selection")) (description (G_ "Keyboard mapping selection"))
(compute (lambda _ (compute (lambda _
(#$keymap-step current-installer)))) (#$keymap-step current-installer)))
(configuration-formatter keyboard-layout->configuration))
;; Run a partitioning tool allowing the user to modify ;; Run a partitioning tool allowing the user to modify
;; partition tables, partitions and their mount points. ;; partition tables, partitions and their mount points.
@ -293,13 +300,15 @@ selected keymap."
"gnu/installer")) "gnu/installer"))
(define installer-builder (define installer-builder
;; Note: Include GUIX as an extension to get all the (gnu system …), (gnu
;; packages …), etc. modules.
(with-extensions (list guile-gcrypt guile-newt (with-extensions (list guile-gcrypt guile-newt
guile-parted guile-bytestructures guile-parted guile-bytestructures
guile-json) guile-json guile-git guix)
(with-imported-modules `(,@(source-module-closure (with-imported-modules `(,@(source-module-closure
`(,@modules `(,@modules
(guix build utils)) (guix build utils))
#:select? not-config?) #:select? module-to-import?)
((guix config) => ,(make-config.scm))) ((guix config) => ,(make-config.scm)))
#~(begin #~(begin
(use-modules (gnu installer record) (use-modules (gnu installer record)
@ -313,6 +322,8 @@ selected keymap."
(gnu installer timezone) (gnu installer timezone)
(gnu installer user) (gnu installer user)
(gnu installer newt) (gnu installer newt)
((gnu installer newt keymap)
#:select (keyboard-layout->configuration))
(guix i18n) (guix i18n)
(guix build utils) (guix build utils)
(ice-9 match)) (ice-9 match))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,7 +28,9 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:export (run-keymap-page)) #:use-module (ice-9 match)
#:export (run-keymap-page
keyboard-layout->configuration))
(define (run-layout-page layouts layout->text) (define (run-layout-page layouts layout->text)
(let ((title (G_ "Layout"))) (let ((title (G_ "Layout")))
@ -120,3 +123,11 @@ names of the selected keyboard layout and variant."
(list layout (or variant "")))) (list layout (or variant ""))))
(format-result (format-result
(run-installer-steps #:steps keymap-steps))) (run-installer-steps #:steps keymap-steps)))
(define (keyboard-layout->configuration keymap)
"Return the operating system configuration snippet to install KEYMAP."
(match keymap
((name "")
`((keyboard-layout (keyboard-layout ,name))))
((name variant)
`((keyboard-layout (keyboard-layout ,name ,variant))))))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,6 +30,7 @@
draw-connecting-page draw-connecting-page
run-input-page run-input-page
run-error-page run-error-page
run-confirmation-page
run-listbox-selection-page run-listbox-selection-page
run-scale-page run-scale-page
run-checkbox-tree-page run-checkbox-tree-page
@ -141,6 +143,42 @@ of the page is set to TITLE."
(newt-set-color COLORSET-ROOT "white" "blue") (newt-set-color COLORSET-ROOT "white" "blue")
(destroy-form-and-pop form))) (destroy-form-and-pop form)))
(define* (run-confirmation-page text title
#:key (exit-button-procedure (const #f)))
"Run a page to inform the user of an error. The page contains the given TEXT
to explain the error and an \"OK\" button to acknowledge the error. The title
of the page is set to TITLE."
(let* ((text-box
(make-reflowed-textbox -1 -1 text 40
#:flags FLAG-BORDER))
(ok-button (make-button -1 -1 (G_ "Continue")))
(exit-button (make-button -1 -1 (G_ "Exit")))
(grid (vertically-stacked-grid
GRID-ELEMENT-COMPONENT text-box
GRID-ELEMENT-SUBGRID
(horizontal-stacked-grid
GRID-ELEMENT-COMPONENT ok-button
GRID-ELEMENT-COMPONENT exit-button)))
(form (make-form)))
(add-form-to-grid grid form #t)
(make-wrapped-grid-window grid title)
(receive (exit-reason argument)
(run-form form)
(dynamic-wind
(const #t)
(lambda ()
(case exit-reason
((exit-component)
(cond
((components=? argument ok-button)
#t)
((components=? argument exit-button)
(exit-button-procedure))))))
(lambda ()
(destroy-form-and-pop form))))))
(define* (run-listbox-selection-page #:key (define* (run-listbox-selection-page #:key
info-text info-text
title title

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -53,7 +54,12 @@
(car result))) (car result)))
(define (draw-formatting-page) (define (draw-formatting-page)
"Draw a page to indicate partitions are being formated." "Draw a page asking for confirmation, and then indicating that partitions
are being formatted."
(run-confirmation-page (G_ "We are about to format your hard disk. All \
its data will be lost. Do you wish to continue?")
(G_ "Format disk?")
#:exit-button-procedure button-exit-action)
(draw-info-page (draw-info-page
(format #f (G_ "Partition formatting is in progress, please wait.")) (format #f (G_ "Partition formatting is in progress, please wait."))
(G_ "Preparing partitions"))) (G_ "Preparing partitions")))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,6 +25,10 @@
#:use-module ((gnu build file-systems) #:use-module ((gnu build file-systems)
#:select (read-partition-uuid #:select (read-partition-uuid
read-luks-partition-uuid)) read-luks-partition-uuid))
#:use-module ((gnu build linux-modules)
#:select (missing-modules))
#:use-module ((gnu system linux-initrd)
#:select (%base-initrd-modules))
#:use-module (guix build syscalls) #:use-module (guix build syscalls)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix records) #:use-module (guix records)
@ -1243,22 +1248,51 @@ from (gnu system mapped-devices) and return it."
(target ,label) (target ,label)
(type luks-device-mapping)))) (type luks-device-mapping))))
(define (root-user-partition? partition)
"Return true if PARTITION is the root partition."
(let ((mount-point (user-partition-mount-point partition)))
(and mount-point
(string=? mount-point "/"))))
(define (bootloader-configuration user-partitions) (define (bootloader-configuration user-partitions)
"Return the bootloader configuration field for USER-PARTITIONS." "Return the bootloader configuration field for USER-PARTITIONS."
(let* ((root-partition (let* ((root-partition (find root-user-partition?
(find (lambda (user-partition) user-partitions))
(let ((mount-point
(user-partition-mount-point user-partition)))
(and mount-point
(string=? mount-point "/"))))
user-partitions))
(root-partition-disk (user-partition-disk-file-name root-partition))) (root-partition-disk (user-partition-disk-file-name root-partition)))
`((bootloader-configuration `((bootloader-configuration
,@(if (efi-installation?) ,@(if (efi-installation?)
`((bootloader grub-efi-bootloader) `((bootloader grub-efi-bootloader)
(target ,(default-esp-mount-point))) (target ,(default-esp-mount-point)))
`((bootloader grub-bootloader) `((bootloader grub-bootloader)
(target ,root-partition-disk))))))) (target ,root-partition-disk)))
;; XXX: Assume we defined the 'keyboard-layout' field of
;; <operating-system> right above.
(keyboard-layout keyboard-layout)))))
(define (user-partition-missing-modules user-partitions)
"Return the list of kernel modules missing from the default set of kernel
modules to access USER-PARTITIONS."
(let ((devices (filter user-partition-crypt-label user-partitions))
(root (find root-user-partition? user-partitions)))
(delete-duplicates
(append-map (lambda (device)
(catch 'system-error
(lambda ()
(missing-modules device %base-initrd-modules))
(const '())))
(delete-duplicates
(map user-partition-file-name
(cons root devices)))))))
(define (initrd-configuration user-partitions)
"Return an 'initrd-modules' field with everything needed for
USER-PARTITIONS, or return nothing."
(match (user-partition-missing-modules user-partitions)
(()
'())
((modules ...)
`((initrd-modules ',modules)))))
(define (user-partitions->configuration user-partitions) (define (user-partitions->configuration user-partitions)
"Return the configuration field for USER-PARTITIONS." "Return the configuration field for USER-PARTITIONS."
@ -1266,10 +1300,11 @@ from (gnu system mapped-devices) and return it."
(swap-devices (map user-partition-file-name swap-user-partitions)) (swap-devices (map user-partition-file-name swap-user-partitions))
(encrypted-partitions (encrypted-partitions
(filter user-partition-crypt-label user-partitions))) (filter user-partition-crypt-label user-partitions)))
`(,@(if (null? swap-devices) `((bootloader ,@(bootloader-configuration user-partitions))
,@(initrd-configuration user-partitions)
,@(if (null? swap-devices)
'() '()
`((swap-devices (list ,@swap-devices)))) `((swap-devices (list ,@swap-devices))))
(bootloader ,@(bootloader-configuration user-partitions))
,@(if (null? encrypted-partitions) ,@(if (null? encrypted-partitions)
'() '()
`((mapped-devices `((mapped-devices

View File

@ -38,13 +38,15 @@
(list (list
(desktop-environment (desktop-environment
(name "GNOME") (name "GNOME")
(snippet '(gnome-desktop-service))) (snippet '(service gnome-desktop-service-type)))
(desktop-environment (desktop-environment
(name "Xfce") (name "Xfce")
;; TODO: Use 'xfce-desktop-service-type' when the 'guix' package provides
;; it with a default value.
(snippet '(xfce-desktop-service))) (snippet '(xfce-desktop-service)))
(desktop-environment (desktop-environment
(name "MATE") (name "MATE")
(snippet '(mate-desktop-service))) (snippet '(service mate-desktop-service-type)))
(desktop-environment (desktop-environment
(name "Enlightenment") (name "Enlightenment")
(snippet '(service enlightenment-desktop-service-type))))) (snippet '(service enlightenment-desktop-service-type)))))

View File

@ -538,6 +538,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/accounts.scm \ %D%/system/accounts.scm \
%D%/system/file-systems.scm \ %D%/system/file-systems.scm \
%D%/system/install.scm \ %D%/system/install.scm \
%D%/system/keyboard.scm \
%D%/system/linux-container.scm \ %D%/system/linux-container.scm \
%D%/system/linux-initrd.scm \ %D%/system/linux-initrd.scm \
%D%/system/locale.scm \ %D%/system/locale.scm \
@ -729,6 +730,7 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/docker-engine-test-noinstall.patch \ %D%/packages/patches/docker-engine-test-noinstall.patch \
%D%/packages/patches/docker-fix-tests.patch \ %D%/packages/patches/docker-fix-tests.patch \
%D%/packages/patches/docker-use-fewer-modprobes.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \
@ -744,6 +746,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-realgud-fix-configure-ac.patch \ %D%/packages/patches/emacs-realgud-fix-configure-ac.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/emacs-zones-called-interactively.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/eudev-rules-directory.patch \
@ -873,6 +876,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-fix-deprecation-macro-use.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
@ -1215,7 +1219,6 @@ dist_patch_DATA = \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \ %D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/reptyr-fix-gcc-7.patch \
%D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/rtags-separate-rct.patch \

View File

@ -32,6 +32,7 @@
mkdir-p)) mkdir-p))
#:autoload (guix profiles) (packages->manifest) #:autoload (guix profiles) (packages->manifest)
#:use-module (guix describe) #:use-module (guix describe)
#:use-module (guix deprecation)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:autoload (ice-9 binary-ports) (put-bytevector) #:autoload (ice-9 binary-ports) (put-bytevector)
@ -55,6 +56,7 @@
fold-packages fold-packages
fold-available-packages fold-available-packages
find-newest-available-packages
find-packages-by-name find-packages-by-name
find-package-locations find-package-locations
find-best-packages-by-name find-best-packages-by-name
@ -186,6 +188,29 @@ flags."
directory)) directory))
%load-path))) %load-path)))
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
;; See <https://github.com/alezost/guix.el/issues/30>.
(define-deprecated find-newest-available-packages
find-packages-by-name
(mlambda ()
"Return a vhash keyed by package names, and with
associated values of the form
(newest-version newest-package ...)
where the preferred package is listed first."
(fold-packages (lambda (p r)
(let ((name (package-name p))
(version (package-version p)))
(match (vhash-assoc name r)
((_ newest-so-far . pkgs)
(case (version-compare version newest-so-far)
((>) (vhash-cons name `(,version ,p) r))
((=) (vhash-cons name `(,version ,p ,@pkgs) r))
((<) r)))
(#f (vhash-cons name `(,version ,p) r)))))
vlist-null)))
(define (fold-available-packages proc init) (define (fold-available-packages proc init)
"Fold PROC over the list of available packages. For each available package, "Fold PROC over the list of available packages. For each available package,
PROC is called along these lines: PROC is called along these lines:

View File

@ -475,8 +475,8 @@ login, passwd, su, groupadd, and useradd.")
(synopsis "Getty for the text console") (synopsis "Getty for the text console")
(description (description
"Small console getty that is started on the Linux text console, "Small console getty that is started on the Linux text console,
asks for a login name and then transfers over to 'login'. It is extended to asks for a login name and then transfers over to @code{login}. It is extended
allow automatic login and starting any app.") to allow automatic login and starting any app.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public net-base (define-public net-base
@ -1140,7 +1140,8 @@ the client stations. It implements key negotiation with a WPA Authenticator
and it controls the roaming and IEEE 802.11 authentication/association of the and it controls the roaming and IEEE 802.11 authentication/association of the
WLAN driver. WLAN driver.
This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.") This package provides the @code{wpa_supplicant} daemon and the @code{wpa_cli}
command.")
;; In practice, this is linked against Readline, which makes it GPLv3+. ;; In practice, this is linked against Readline, which makes it GPLv3+.
(license license:bsd-3) (license license:bsd-3)
@ -2076,7 +2077,7 @@ a new command using the matched rule, and runs it.")
(home-page "https://www.gentoo.com/di/") (home-page "https://www.gentoo.com/di/")
(synopsis "Advanced df like disk information utility") (synopsis "Advanced df like disk information utility")
(description (description
"'di' is a disk information utility, displaying everything that your "@code{di} is a disk information utility, displaying everything that your
@code{df} command does and more. It features the ability to display your disk @code{df} command does and more. It features the ability to display your disk
usage in whatever format you prefer. It is designed to be highly portable and usage in whatever format you prefer. It is designed to be highly portable and
produce uniform output across heterogeneous networks.") produce uniform output across heterogeneous networks.")
@ -2918,7 +2919,8 @@ Logitech Unifying Receiver.")
(define-public lynis (define-public lynis
(package (package
(name "lynis") (name "lynis")
(version "2.7.2") ;; Also update the lynis-sdk input to the commit matching this release.
(version "2.7.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2927,7 +2929,7 @@ Logitech Unifying Receiver.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0dbbfk47dpxx7zpb98n4w3ls3z5di57qnr2nsgxjvp49gk9j3f6k")) (base32 "0md1w86i3fy9l78i98ijr5136nbhdiik2dxyw9qnzmvdlvkqmw70"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -2944,11 +2946,10 @@ Logitech Unifying Receiver.")
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk") (url "https://github.com/CISOfy/lynis-sdk")
(commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d"))) (commit "c166b6a67a53b24f5c1fecd4eb5033f54279a5b3")))
(file-name (git-file-name "lynis-sdk" version)) (file-name (git-file-name "lynis-sdk" version))
(sha256 (sha256
(base32 (base32 "0wa2azcmx6pj9axvq1jmwmz7826rj1c214asmmn1hq7pxmfw62zr"))))))
"0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View File

@ -131,7 +131,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium (define-public stellarium
(package (package
(name "stellarium") (name "stellarium")
(version "0.18.3") (version "0.19.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/Stellarium/" name (uri (string-append "https://github.com/Stellarium/" name
@ -139,7 +139,7 @@ programs for the manipulation and analysis of astronomical data.")
"/" name "-" version ".tar.gz")) "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3")))) "1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
@ -161,13 +161,6 @@ programs for the manipulation and analysis of astronomical data.")
(assoc-ref %build-inputs "qtserialport") (assoc-ref %build-inputs "qtserialport")
"/include/qt5")) "/include/qt5"))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
;; Skip a test that assumes Stellarium is "installed":
;; https://bugs.gentoo.org/674472
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "src/tests/testEphemeris.cpp"
(("ifndef Q_OS_WIN") "if 0"))
#t))
(add-before 'check 'set-offscreen-display (add-before 'check 'set-offscreen-display
(lambda _ (lambda _
;; make Qt render "offscreen", required for tests ;; make Qt render "offscreen", required for tests

View File

@ -943,7 +943,7 @@ gain controls. There is also a global bypass switch and gain control.
The 2nd order resonant filters are implemented using a Mitra-Regalia style The 2nd order resonant filters are implemented using a Mitra-Regalia style
lattice filter, which is stable even while parameters are being changed. lattice filter, which is stable even while parameters are being changed.
All switches and controls are internally smoothed, so they can be used 'live' All switches and controls are internally smoothed, so they can be used @code{live}
without any clicks or zipper noises. This makes this plugin suitable for use without any clicks or zipper noises. This makes this plugin suitable for use
in systems that allow automation of plugin control ports, such as Ardour, or in systems that allow automation of plugin control ports, such as Ardour, or
for stage use.") for stage use.")
@ -2130,11 +2130,7 @@ different audio devices such as ALSA or PulseAudio.")
"0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj")))) "0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f)) ; no check target
;; Disable xunique to prevent X hanging when starting qjackctl in
;; tiling window managers such as StumpWM or i3
;; (see https://github.com/rncbc/qjackctl/issues/13).
#:configure-flags '("--disable-xunique")))
(inputs (inputs
`(("jack" ,jack-1) `(("jack" ,jack-1)
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)

View File

@ -600,9 +600,9 @@ wrapper for the cross-linker for that target, called 'TARGET-ld'."
#t))))) #t)))))
(synopsis "The linker wrapper") (synopsis "The linker wrapper")
(description (description
"The linker wrapper (or 'ld-wrapper') wraps the linker to add any "The linker wrapper (or @code{ld-wrapper}) wraps the linker to add any
missing '-rpath' flags, and to detect any misuse of libraries outside of the missing @code{-rpath} flags, and to detect any misuse of libraries outside of
store.") the store.")
(home-page "https://www.gnu.org/software/guix//") (home-page "https://www.gnu.org/software/guix//")
(license gpl3+))) (license gpl3+)))
@ -1019,8 +1019,8 @@ with the Linux kernel.")
(synopsis "All the locales supported by the GNU C Library") (synopsis "All the locales supported by the GNU C Library")
(description (description
"This package provides all the locales supported by the GNU C Library, "This package provides all the locales supported by the GNU C Library,
more than 400 in total. To use them set the 'LOCPATH' environment variable to more than 400 in total. To use them set the @code{LOCPATH} environment variable
the 'share/locale' sub-directory of this package.") to the @code{share/locale} sub-directory of this package.")
(outputs '("out")) ;110+ MiB (outputs '("out")) ;110+ MiB
(native-search-paths '()) (native-search-paths '())
(arguments (arguments

File diff suppressed because it is too large Load Diff

View File

@ -2325,23 +2325,21 @@ files. The code was previously part of the cutadapt tool.")
(define-public cutadapt (define-public cutadapt
(package (package
(name "cutadapt") (name "cutadapt")
(version "1.18") (version "2.1")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (pypi-uri "cutadapt" version))
(url "https://github.com/marcelm/cutadapt.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08bbfwyc0kvcd95jf2s95xiv9s3cbsxm39ydl0qck3fw3cviwxpg")))) "1vqmsfkm6llxzmsz9wcfcvzx9a9f8iabvwik2rbyn7nc4wm25z89"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("python-dnaio" ,python-dnaio) `(("python-dnaio" ,python-dnaio)
("python-xopen" ,python-xopen))) ("python-xopen" ,python-xopen)))
(native-inputs (native-inputs
`(("python-cython" ,python-cython) `(("python-cython" ,python-cython)
("python-pytest" ,python-pytest))) ("python-pytest" ,python-pytest)
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://cutadapt.readthedocs.io/en/stable/") (home-page "https://cutadapt.readthedocs.io/en/stable/")
(synopsis "Remove adapter sequences from nucleotide sequencing reads") (synopsis "Remove adapter sequences from nucleotide sequencing reads")
(description (description
@ -6792,14 +6790,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.")
(define-public r-rbgl (define-public r-rbgl
(package (package
(name "r-rbgl") (name "r-rbgl")
(version "1.58.1") (version "1.58.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "RBGL" version)) (uri (bioconductor-uri "RBGL" version))
(sha256 (sha256
(base32 (base32
"1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf")))) "0vhnh47pswnp27c0zqcbnnsayfmq3cxcgrs9g860555ldqfl4cyl"))))
(properties `((upstream-name . "RBGL"))) (properties `((upstream-name . "RBGL")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-graph" ,r-graph))) (propagated-inputs `(("r-graph" ,r-graph)))
@ -7014,29 +7012,6 @@ annotation infrastructure.")
"This package provides a pipeline for the analysis of GRO-seq data.") "This package provides a pipeline for the analysis of GRO-seq data.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public r-sparql
(package
(name "r-sparql")
(version "1.16")
(source (origin
(method url-fetch)
(uri (cran-uri "SPARQL" version))
(sha256
(base32
"0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"))))
(properties `((upstream-name . "SPARQL")))
(build-system r-build-system)
(propagated-inputs
`(("r-rcurl" ,r-rcurl)
("r-xml" ,r-xml)))
(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.")
;; The only license indication is found in the DESCRIPTION file,
;; which states GPL-3. So we cannot assume GPLv3+.
(license license:gpl3)))
(define-public vsearch (define-public vsearch
(package (package
(name "vsearch") (name "vsearch")
@ -7243,32 +7218,6 @@ BLAST, KEGG, GenBank, MEDLINE and GO.")
;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+) ;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+)
(license (list license:ruby license:lgpl2.1+ license:gpl2+ )))) (license (list license:ruby license:lgpl2.1+ license:gpl2+ ))))
(define-public r-acsnminer
(package
(name "r-acsnminer")
(version "0.16.8.25")
(source (origin
(method url-fetch)
(uri (cran-uri "ACSNMineR" version))
(sha256
(base32
"0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"))))
(properties `((upstream-name . "ACSNMineR")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)))
(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
or depletion from your data based on pre-saved maps from the @dfn{Atlas of
Cancer Signalling Networks} (ACSN) or user imported maps. The gene set
enrichment can be run with hypergeometric test or Fisher exact test, and can
use multiple corrections. Visualization of data can be done either by
barplots or heatmaps.")
(license license:gpl2+)))
(define-public r-biocinstaller (define-public r-biocinstaller
(package (package
(name "r-biocinstaller") (name "r-biocinstaller")
@ -7315,30 +7264,6 @@ categorize packages in a Bioconductor package repository according to keywords,
also known as views, in a controlled vocabulary.") also known as views, in a controlled vocabulary.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-bookdown
(package
(name "r-bookdown")
(version "0.9")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
"0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
("r-knitr" ,r-knitr)
("r-rmarkdown" ,r-rmarkdown)
("r-tinytex" ,r-tinytex)
("r-yaml" ,r-yaml)
("r-xfun" ,r-xfun)))
(home-page "https://github.com/rstudio/bookdown")
(synopsis "Authoring books and technical documents with R markdown")
(description "This package provides output formats and utilities for
authoring books and technical documents with R Markdown.")
(license license:gpl3)))
(define-public r-biocstyle (define-public r-biocstyle
(package (package
(name "r-biocstyle") (name "r-biocstyle")
@ -7412,29 +7337,6 @@ functionality.")
checks on R packages that are to be submitted to the Bioconductor repository.") checks on R packages that are to be submitted to the Bioconductor repository.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-optparse
(package
(name "r-optparse")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "optparse" version))
(sha256
(base32
"04vyb6dhcga30mvghsg1p052jmf69xqxkvh3hzqz7dscyppy76w1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-getopt" ,r-getopt)))
(home-page
"https://github.com/trevorld/optparse")
(synopsis "Command line option parser")
(description
"This package provides a command line parser inspired by Python's
@code{optparse} library to be used with Rscript to write shebang scripts
that accept short and long options.")
(license license:gpl2+)))
(define-public r-s4vectors (define-public r-s4vectors
(package (package
(name "r-s4vectors") (name "r-s4vectors")
@ -7462,31 +7364,6 @@ In addition, a few low-level concrete subclasses of general interest (e.g.
S4Vectors package itself.") S4Vectors package itself.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-seqinr
(package
(name "r-seqinr")
(version "3.4-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqinr" version))
(sha256
(base32
"17zv0n5cji17izwmwg0jcbxbjl3w5rls91w15svcnlpxjms38ahn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ade4" ,r-ade4)
("r-segmented" ,r-segmented)))
(inputs
`(("zlib" ,zlib)))
(home-page "http://seqinr.r-forge.r-project.org/")
(synopsis "Biological sequences retrieval and analysis")
(description
"This package provides tools for exploratory data analysis and data
visualization of biological sequence (DNA and protein) data. It also includes
utilities for sequence data management under the ACNUC system.")
(license license:gpl2+)))
(define-public r-iranges (define-public r-iranges
(package (package
(name "r-iranges") (name "r-iranges")
@ -7888,10 +7765,10 @@ biological sequences or sets of sequences.")
(home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
(synopsis "Interface to samtools, bcftools, and tabix") (synopsis "Interface to samtools, bcftools, and tabix")
(description (description
"This package provides an interface to the 'samtools', 'bcftools', and "This package provides an interface to the @code{samtools},
'tabix' utilities for manipulating SAM (Sequence Alignment / Map), FASTA, @code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence
binary variant call (BCF) and compressed indexed tab-delimited (tabix) Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed
files.") tab-delimited (tabix) files.")
(license license:expat))) (license license:expat)))
(define-public r-delayedarray (define-public r-delayedarray
@ -8039,13 +7916,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures (define-public r-genomicfeatures
(package (package
(name "r-genomicfeatures") (name "r-genomicfeatures")
(version "1.34.6") (version "1.34.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version)) (uri (bioconductor-uri "GenomicFeatures" version))
(sha256 (sha256
(base32 (base32
"1cz7qx324dmsrkzyhm956cfgr08gpily5rpym7hc8zz5kbl6i3ra")))) "100y8cx9xfglbn36k25y09y0qfwm0qpb4b01qhk367832rqz5dhz"))))
(properties (properties
`((upstream-name . "GenomicFeatures"))) `((upstream-name . "GenomicFeatures")))
(build-system r-build-system) (build-system r-build-system)
@ -8587,45 +8464,6 @@ characterization and visualization of a wide range of mutational patterns
in SNV base substitution data.") in SNV base substitution data.")
(license license:expat))) (license license:expat)))
(define-public r-wgcna
(package
(name "r-wgcna")
(version "1.66")
(source
(origin
(method url-fetch)
(uri (cran-uri "WGCNA" version))
(sha256
(base32
"0rhnyhzfn93yp24jz9v6dzrmyizwzdw070a7idm0k33w1cm8sjqv"))))
(properties `((upstream-name . "WGCNA")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-doparallel" ,r-doparallel)
("r-dynamictreecut" ,r-dynamictreecut)
("r-fastcluster" ,r-fastcluster)
("r-foreach" ,r-foreach)
("r-go-db" ,r-go-db)
("r-hmisc" ,r-hmisc)
("r-impute" ,r-impute)
("r-rcpp" ,r-rcpp)
("r-robust" ,r-robust)
("r-survival" ,r-survival)
("r-matrixstats" ,r-matrixstats)
("r-preprocesscore" ,r-preprocesscore)))
(home-page
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
(synopsis "Weighted correlation network analysis")
(description
"This package provides functions necessary to perform Weighted
Correlation Network Analysis on high-dimensional data. It includes functions
for rudimentary data cleaning, construction and summarization of correlation
networks, module identification and functions for relating both variables and
modules to sample traits. It also includes a number of utility functions for
data manipulation and visualization.")
(license license:gpl2+)))
(define-public r-chipkernels (define-public r-chipkernels
(let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372") (let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372")
(revision "1")) (revision "1"))
@ -8693,39 +8531,6 @@ bound and non bound genomic regions to accurately identify transcription
factors bound at the specific regions.") factors bound at the specific regions.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-gkmsvm
(package
(name "r-gkmsvm")
(version "0.79.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gkmSVM" version))
(sha256
(base32
"04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3"))))
(properties `((upstream-name . "gkmSVM")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biostrings" ,r-biostrings)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-kernlab" ,r-kernlab)
("r-rcpp" ,r-rcpp)
("r-rocr" ,r-rocr)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-seqinr" ,r-seqinr)))
(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
for DNA and protein sequences. This package supports several sequence
kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
(license license:gpl2+)))
(define-public r-tximport (define-public r-tximport
(package (package
(name "r-tximport") (name "r-tximport")
@ -10384,14 +10189,14 @@ defining LD blocks.")
(define-public r-gqtlstats (define-public r-gqtlstats
(package (package
(name "r-gqtlstats") (name "r-gqtlstats")
(version "1.14.0") (version "1.14.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "gQTLstats" version)) (uri (bioconductor-uri "gQTLstats" version))
(sha256 (sha256
(base32 (base32
"1sg9kw59dlayj7qxql9pd93d4hmml504sa3kkfpzfh3xri7m5pxf")))) "1rkbnb3h02fdksc4nacqvmq4jgbj9fz4hm7j51yr2ggcgcykwraa"))))
(properties `((upstream-name . "gQTLstats"))) (properties `((upstream-name . "gQTLstats")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -10625,14 +10430,14 @@ block processing.")
(define-public r-rhdf5lib (define-public r-rhdf5lib
(package (package
(name "r-rhdf5lib") (name "r-rhdf5lib")
(version "1.4.2") (version "1.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version)) (uri (bioconductor-uri "Rhdf5lib" version))
(sha256 (sha256
(base32 (base32
"06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5")) "0hjhjvg2kss71fkmxlbgnyyy1agwzgq57rxkgkm4riw82x2rvw7q"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -10861,14 +10666,14 @@ memory usage and processing time is minimized.")
(define-public r-phangorn (define-public r-phangorn
(package (package
(name "r-phangorn") (name "r-phangorn")
(version "2.4.0") (version "2.5.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "phangorn" version)) (uri (cran-uri "phangorn" version))
(sha256 (sha256
(base32 (base32
"0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i")))) "1bv86yfk5r015s7ij6v4zz7bagwrw9m13yfs5853drxb19d5h1m3"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ape" ,r-ape) `(("r-ape" ,r-ape)
@ -11075,23 +10880,31 @@ with narrow binding events such as transcription factor ChIP-seq.")
(define-public trim-galore (define-public trim-galore
(package (package
(name "trim-galore") (name "trim-galore")
(version "0.4.5") (version "0.6.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/FelixKrueger/TrimGalore.git") (url "https://github.com/FelixKrueger/TrimGalore.git")
(commit version))) (commit version)))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0x5892l48c816pf00wmnz5vq0zq6170d3xc8zrxncd4jcz7h1p71")))) "1y31wbxwkm9xqzr5zv1pk5q418whnmlmgmfyxxpnl12h83m2i9iv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (replace 'configure
(lambda _
;; Trim Galore tries to figure out what version of Python
;; cutadapt is using by looking at the shebang. Of course that
;; doesn't work, because cutadapt is wrapped in a shell script.
(substitute* "trim_galore"
(("my \\$python_return.*")
"my $python_return = \"Python 3.999\";\n"))
#t))
(delete 'build) (delete 'build)
(add-after 'unpack 'hardcode-tool-references (add-after 'unpack 'hardcode-tool-references
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -11100,14 +10913,18 @@ with narrow binding events such as transcription factor ChIP-seq.")
(string-append "$path_to_cutadapt = '" (string-append "$path_to_cutadapt = '"
(assoc-ref inputs "cutadapt") (assoc-ref inputs "cutadapt")
"/bin/cutadapt'")) "/bin/cutadapt'"))
(("\\| gzip") (("\\$compression_path = \"gzip\"")
(string-append "| " (string-append "$compression_path = \""
(assoc-ref inputs "gzip") (assoc-ref inputs "gzip")
"/bin/gzip")) "/bin/gzip\""))
(("\"gunzip") (("\"gunzip")
(string-append "\"" (string-append "\""
(assoc-ref inputs "gzip") (assoc-ref inputs "gzip")
"/bin/gunzip"))) "/bin/gunzip"))
(("\"pigz")
(string-append "\""
(assoc-ref inputs "pigz")
"/bin/pigz")))
#t)) #t))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -11119,6 +10936,7 @@ with narrow binding events such as transcription factor ChIP-seq.")
(inputs (inputs
`(("gzip" ,gzip) `(("gzip" ,gzip)
("perl" ,perl) ("perl" ,perl)
("pigz" ,pigz)
("cutadapt" ,cutadapt))) ("cutadapt" ,cutadapt)))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
@ -13461,15 +13279,41 @@ in RNA-seq data.")
(define-public python-scanpy (define-public python-scanpy
(package (package
(name "python-scanpy") (name "python-scanpy")
(version "1.2.2") (version "1.4")
;; Fetch from git because the pypi tarball does not include tests.
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (pypi-uri "scanpy" version)) (uri (git-reference
(url "https://github.com/theislab/scanpy.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz")))) "0zn6x6c0cnm1a20i6isigwb51g3pr9zpjk8r1minjqnxi5yc9pm4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; These tests require Internet access.
(delete-file-recursively "scanpy/tests/notebooks")
(delete-file "scanpy/tests/test_clustering.py")
;; TODO: No module named 'louvain'
(delete-file "scanpy/tests/test_rank_genes_groups_logreg.py")
;; TODO: I can't get the plotting tests to work, even with Xvfb.
(delete-file "scanpy/tests/test_plotting.py")
(delete-file "scanpy/tests/test_preprocessing.py")
(delete-file "scanpy/tests/test_read_10x.py")
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(getenv "PYTHONPATH")))
(invoke "pytest")
#t)))))
(propagated-inputs (propagated-inputs
`(("python-anndata" ,python-anndata) `(("python-anndata" ,python-anndata)
("python-igraph" ,python-igraph) ("python-igraph" ,python-igraph)
@ -13485,7 +13329,9 @@ in RNA-seq data.")
("python-seaborn" ,python-seaborn) ("python-seaborn" ,python-seaborn)
("python-h5py" ,python-h5py) ("python-h5py" ,python-h5py)
("python-tables" ,python-tables))) ("python-tables" ,python-tables)))
(home-page "http://github.com/theislab/scanpy") (native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/theislab/scanpy")
(synopsis "Single-Cell Analysis in Python.") (synopsis "Single-Cell Analysis in Python.")
(description "Scanpy is a scalable toolkit for analyzing single-cell gene (description "Scanpy is a scalable toolkit for analyzing single-cell gene
expression data. It includes preprocessing, visualization, clustering, expression data. It includes preprocessing, visualization, clustering,
@ -13494,6 +13340,38 @@ Python-based implementation efficiently deals with datasets of more than one
million cells.") million cells.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-bbknn
(package
(name "python-bbknn")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bbknn" version))
(sha256
(base32
"1qgdganvj3lyxj84v7alm23b9vqhwpn8z0115qndpnpy90qxynwz"))))
(build-system python-build-system)
(propagated-inputs
`(("python-annoy" ,python-annoy)
("python-cython" ,python-cython)
("python-faiss" ,python-faiss)
("python-numpy" ,python-numpy)
("python-scanpy" ,python-scanpy)))
(home-page "https://github.com/Teichlab/bbknn")
(synopsis "Batch balanced KNN")
(description "BBKNN is a batch effect removal tool that can be directly
used in the Scanpy workflow. It serves as an alternative to
@code{scanpy.api.pp.neighbors()}, with both functions creating a neighbour
graph for subsequent use in clustering, pseudotime and UMAP visualisation. If
technical artifacts are present in the data, they will make it challenging to
link corresponding cell types across different batches. BBKNN actively
combats this effect by splitting your data into batches and finding a smaller
number of neighbours for each cell within each of the groups. This helps
create connections between analogous cells in different batches without
altering the counts or PCA space.")
(license license:expat)))
(define-public gffcompare (define-public gffcompare
(let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41")
(revision "1")) (revision "1"))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
@ -38,7 +38,8 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml))
(define-public tcc (define-public tcc
(package (package
@ -257,3 +258,32 @@ typing conventions?
every project that needs to deal with sizes in bytes. It is written in the C every project that needs to deal with sizes in bytes. It is written in the C
language with thin bindings for other languages.") language with thin bindings for other languages.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public udunits
(package
(name "udunits")
(version "2.2.26")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.unidata.ucar.edu/pub/udunits/"
"udunits-" version ".tar.gz"))
(sha256
(base32
"0v9mqw4drnkzkm57331ail6yvs9485jmi37s40lhvmf7r5lli3rn"))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)))
(home-page "https://www.unidata.ucar.edu/software/udunits/")
(synopsis "C library for units of physical quantities and value-conversion utils")
(description
"The UDUNITS-2 package provides support for units of physical quantities.
Its three main components are:
@enumerate
@item @code{udunits2lib}, a C library for units of physical quantities;
@item @code{udunits2prog}, a utility for obtaining the definition of a unit
and for converting numeric values between compatible units; and
@item an extensive database of units.
@end enumerate\n")
;; Like the BSD-3 license but with an extra anti patent clause.
(license (license:non-copyleft "file://COPYRIGHT"))))

View File

@ -96,13 +96,13 @@ data units.")
(define-public khal (define-public khal
(package (package
(name "khal") (name "khal")
(version "0.9.10") (version "0.10.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "khal" version)) (uri (pypi-uri "khal" version))
(sha256 (sha256
(base32 (base32
"03h0j0d3xyqh98x5v2gv63wv3g91hip3vsaxvybsn5iz331d23h4")))) "1p49f3g25x900vk32spjbr2aipj12kcbhayny2vwhdpkjlv6k396"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -122,22 +122,14 @@ data units.")
(setenv "TZ" (setenv "TZ"
(string-append (assoc-ref inputs "tzdata") (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo/Zulu")) "/share/zoneinfo/Zulu"))
(invoke "py.test" "tests" "-k" (invoke "py.test" "tests"))))))
(string-append
;; These tests are known to fail in when not
;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin "
"and not test_import_from_stdin "
;; https://github.com/pimutils/khal/issues/825
"and not test_description_and_location_and_categories")))))))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest) `(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov) ("python-pytest-cov" ,python-pytest-cov)
("python-setuptools-scm" ,python-setuptools-scm) ("python-setuptools-scm" ,python-setuptools-scm)
;; Required for tests ;; Required for tests
("python-freezegun" ,python-freezegun) ("python-freezegun" ,python-freezegun)
("tzdata" ,tzdata) ("tzdata" ,tzdata-for-tests)
("vdirsyncer" ,vdirsyncer) ("vdirsyncer" ,vdirsyncer)
;; Required to build manpage ;; Required to build manpage
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -336,13 +336,15 @@ or @command{xorrisofs} to create ISO 9660 images.")
(package (package
(name "dvdisaster") (name "dvdisaster")
(version "0.79.5") (version "0.79.5")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-" (method url-fetch)
version ".tar.bz2")) ;; Update this (and update HOME-PAGE) when/if one reappears.
(sha256 (uri (string-append "https://web.archive.org/web/20180428070843/"
(base32 "http://dvdisaster.net/downloads/dvdisaster-"
"0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w")))) version ".tar.bz2"))
(sha256
(base32 "0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gtk+" ,gtk+-2))) `(("gtk+" ,gtk+-2)))
@ -384,7 +386,8 @@ or @command{xorrisofs} to create ISO 9660 images.")
(copy-file "contrib/dvdisaster48.xpm" (copy-file "contrib/dvdisaster48.xpm"
(string-append datadir "/pixmaps/dvdisaster.xpm")) (string-append datadir "/pixmaps/dvdisaster.xpm"))
#t)))))) #t))))))
(home-page "http://dvdisaster.net/en/index.html") (home-page (string-append "https://web.archive.org/web/20180428070843/"
"http://dvdisaster.net/en/index.html"))
(synopsis "Error correcting codes for optical media images") (synopsis "Error correcting codes for optical media images")
(description "Optical media (CD,DVD,BD) keep their data only for a (description "Optical media (CD,DVD,BD) keep their data only for a
finite time (typically for many years). After that time, data loss develops finite time (typically for many years). After that time, data loss develops
@ -656,7 +659,7 @@ information is written to standard error.")
(define-public asunder (define-public asunder
(package (package
(name "asunder") (name "asunder")
(version "2.8") (version "2.9.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -665,7 +668,7 @@ information is written to standard error.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq")))) "1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:out-of-source? #f '(#:out-of-source? #f

View File

@ -485,13 +485,14 @@ test coverage and has a web user interface that will refresh automatically.")
(version "1.8.0") (version "1.8.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/google/googletest/archive/" (uri (git-reference
"release-" version ".tar.gz")) (url "https://github.com/google/googletest.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq")))) "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))

View File

@ -558,7 +558,7 @@ strings.")
(synopsis "MIT/GNU Scheme compatibility library for Chez Scheme") (synopsis "MIT/GNU Scheme compatibility library for Chez Scheme")
(description "This package provides a set of MIT/GNU Scheme compatibility (description "This package provides a set of MIT/GNU Scheme compatibility
libraries for Chez Scheme. The main goal was to provide the functionality libraries for Chez Scheme. The main goal was to provide the functionality
required to port the program 'Scmutils' to Chez Scheme.") required to port the program @code{Scmutils} to Chez Scheme.")
(license gpl3+))) (license gpl3+)))
(define-public chez-scmutils (define-public chez-scmutils

View File

@ -80,11 +80,9 @@
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ "chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license "courgette/third_party/bsdiff" ;BSD-2, BSD protection license
"courgette/third_party/divsufsort" ;Expat "courgette/third_party/divsufsort" ;Expat
"net/third_party/http2" ;BSD-3
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ "net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/nss" ;MPL-2.0 "net/third_party/nss" ;MPL-2.0
"net/third_party/quic" ;BSD-3 "net/third_party/quic" ;BSD-3
"net/third_party/spdy" ;BSD-3
"net/third_party/uri_template" ;ASL2.0 "net/third_party/uri_template" ;ASL2.0
"third_party/abseil-cpp" ;ASL2.0 "third_party/abseil-cpp" ;ASL2.0
"third_party/adobe/flash/flapper_version.h" ;no license, trivial "third_party/adobe/flash/flapper_version.h" ;no license, trivial
@ -206,6 +204,7 @@
"third_party/yasm/run_yasm.py" ;BSD-2 or BSD-3 "third_party/yasm/run_yasm.py" ;BSD-2 or BSD-3
"third_party/zlib/google" ;BSD-3 "third_party/zlib/google" ;BSD-3
"url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+ "url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+
"v8/src/third_party/siphash" ;Public domain
"v8/src/third_party/utf8-decoder" ;Expat "v8/src/third_party/utf8-decoder" ;Expat
"v8/src/third_party/valgrind" ;BSD-4 "v8/src/third_party/valgrind" ;BSD-4
"v8/third_party/inspector_protocol" ;BSD-3 "v8/third_party/inspector_protocol" ;BSD-3
@ -224,8 +223,9 @@ from forcing GEXP-PROMISE."
#:system system #:system system
#:guile-for-build guile))) #:guile-for-build guile)))
(define %chromium-version "72.0.3626.121") (define %chromium-version "73.0.3683.86")
(define %ungoogled-revision "a80839c418de8843dfcd6c13a557f12d26a0a17a") (define %ungoogled-revision "4c7fb6d1a86602999f30b58ef8b331b2115c5ad8")
(define %debian-revision "debian/73.0.3683.75-1")
(define package-revision "0") (define package-revision "0")
(define %package-version (string-append %chromium-version "-" (define %package-version (string-append %chromium-version "-"
@ -233,29 +233,43 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7))) (string-take %ungoogled-revision 7)))
;; This is a "computed" origin that does the following: ;; This is a "computed" origin that does the following:
;; 1) Runs the Ungoogled scripts on a pristine Chromium tarball. ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; 2) Prunes all third_party folders that are not explicitly preserved. ;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
;; 3) Adjusts "GN" build files such that system libraries are preferred. ;; *) Prunes all third_party directories that are not explicitly preserved.
;; *) Adjusts "GN" build files such that system libraries are preferred.
(define ungoogled-chromium-source (define ungoogled-chromium-source
(let* ((chromium-source (let ((chromium-source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com" (uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-" "/chromium-browser-official/chromium-"
%chromium-version ".tar.xz")) %chromium-version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"07xwmlvmzfga61nrimqmzl7s29jb4kc94nkzwwlb7sh6nr55a7jc")))) "18xzddqi8rgng5vksx23jaiv103prxc38pshwp702nfjfqap7fwy"))))
(ungoogled-source (ungoogled-source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium") (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
(commit %ungoogled-revision))) (commit %ungoogled-revision)))
(file-name (git-file-name "ungoogled-chromium" (file-name (git-file-name "ungoogled-chromium"
(string-take %ungoogled-revision 7))) (string-take %ungoogled-revision 7)))
(sha256 (sha256
(base32 (base32
"0rgirbxbgjdm3s2kzgj101rjq0clr7x2a7b37kfx2q629z4qlrpc"))))) "0njx505il07d237fzgbhciy78rz7h77r2ai5crbnsx2gdr9kpvd1"))))
(debian-source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/chromium-team/chromium.git")
(commit %debian-revision)))
(file-name (git-file-name "debian-chromium-packaging"
(if (string-prefix? "debian/" %debian-revision)
(cadr (string-split %debian-revision #\/))
(string-take %debian-revision 7))))
(sha256
(base32
"1pq0l3m7frf9ygxc1gva1191fxf3d1phaaqp7g3b70mgbabp0mxi")))))
(origin (origin
(method computed-origin-method) (method computed-origin-method)
@ -265,7 +279,10 @@ from forcing GEXP-PROMISE."
(delay (delay
(with-imported-modules '((guix build utils)) (with-imported-modules '((guix build utils))
#~(begin #~(begin
(use-modules (guix build utils)) (use-modules (guix build utils)
(ice-9 rdelim)
(srfi srfi-1)
(srfi srfi-26))
(let ((chromium-dir (string-append "chromium-" #$%chromium-version)) (let ((chromium-dir (string-append "chromium-" #$%chromium-version))
(preserved-files (list #$@%preserved-third-party-files))) (preserved-files (list #$@%preserved-third-party-files)))
@ -281,41 +298,61 @@ from forcing GEXP-PROMISE."
(with-directory-excursion "/tmp/ungoogled" (with-directory-excursion "/tmp/ungoogled"
;; Create a custom "bundle" that inherits from linux_rooted
;; and adds an additional patch.
(format #t "Creating Guix config bundle...~%")
(force-output)
(mkdir-p "config_bundles/guix")
(call-with-output-file "config_bundles/guix/bundlemeta.ini"
(lambda (port)
(format port
"[bundle]
display_name = GNU Guix
depends = linux_rooted\n")))
(call-with-output-file "config_bundles/guix/patch_order.list"
(lambda (port)
(format port "debian_buster/system/openjpeg.patch\n")))
(format #t "Unpacking chromium tarball...~%") (format #t "Unpacking chromium tarball...~%")
(force-output) (force-output)
(invoke "tar" "xf" #+chromium-source) (invoke "tar" "xf" #+chromium-source)
(format #t "Ungooglifying...~%") (format #t "Ungooglifying...~%")
(force-output) (force-output)
(invoke "python3" "run_buildkit_cli.py" "prune" (invoke "python3" "utils/prune_binaries.py" chromium-dir
"-b" "config_bundles/guix" chromium-dir) "pruning.list")
(invoke "python3" "run_buildkit_cli.py" "patches" "apply" (invoke "python3" "utils/patches.py" "apply"
"-b" "config_bundles/guix" chromium-dir) chromium-dir "patches")
(invoke "python3" "run_buildkit_cli.py" "domains" "apply" (invoke "python3" "utils/domain_substitution.py" "apply" "-r"
"-b" "config_bundles/linux_rooted" "domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" chromium-dir) "-c" "/tmp/domainscache.tar.gz" chromium-dir)
(with-directory-excursion chromium-dir (with-directory-excursion chromium-dir
(format #t "applying Debian patches...~%")
(force-output)
(let* ((debian #+debian-source)
(patches (string-append debian "/debian/patches"))
(series (string-append patches "/series"))
(grep-q (lambda (query file)
(with-input-from-file file
(lambda ()
(let loop ((line (read-line))
(match #f))
(if (or match (eof-object? line))
(if match #t #f)
(loop (read-line)
(string-contains line query)))))))))
(with-input-from-file series
(lambda ()
(let loop ((line (read-line)))
(unless (eof-object? line)
(when (and (> (string-length line) 1)
;; Skip the Debian-specific ones.
(not (string-prefix? "debianization/" line))
;; And those that conflict with Ungoogled.
(not (any (cute string-suffix? <> line)
'("widevine-buildflag.patch"
"signin.patch"
"third-party-cookies.patch")))
;; Ungoogled includes a subset of the Debian
;; patches. Exclude those already present.
(not (grep-q line "../patches/series")))
(invoke "patch" "--force" "-p1" "--input"
(string-append patches "/" line)
"--no-backup-if-mismatch"))
(loop (read-line)))))))
(format #t "Pruning third party files...~%") (format #t "Pruning third party files...~%")
(force-output) (force-output)
(apply invoke "python" (apply invoke "python"
"build/linux/unbundle/remove_bundled_libraries.py" "build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" preserved-files) "--do-remove" preserved-files)
(format #t "Replacing GN files...~%") (format #t "Replacing GN files...~%")
(force-output) (force-output)
@ -427,7 +464,12 @@ depends = linux_rooted\n")))
"use_openh264=true" "use_openh264=true"
"use_pulseaudio=true" "use_pulseaudio=true"
"link_pulseaudio=true" "link_pulseaudio=true"
"use_vaapi=true"
;; VA-API acceleration is currently only supported on x86_64-linux.
,@(if (string-prefix? "x86_64" (or (%current-target-system)
(%current-system)))
'("use_vaapi=true")
'())
;; Don't arbitrarily restrict formats supported by system ffmpeg. ;; Don't arbitrarily restrict formats supported by system ffmpeg.
"proprietary_codecs=true" "proprietary_codecs=true"
@ -502,12 +544,13 @@ depends = linux_rooted\n")))
(substitute* "third_party/webrtc/rtc_base/strings/json.h" (substitute* "third_party/webrtc/rtc_base/strings/json.h"
(("#include \"third_party/jsoncpp/") "#include \"json/")) (("#include \"third_party/jsoncpp/") "#include \"json/"))
(substitute* "media/base/decode_capabilities.cc" (substitute* '("ui/gfx/skia_util.h"
(("third_party/libvpx/source/libvpx/") "")) "components/viz/common/resources/resource_format_utils.h")
(substitute* "ui/gfx/skia_util.h"
(("third_party/vulkan/include/") "")) (("third_party/vulkan/include/") ""))
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
(("\\.\\./\\.\\./include/third_party/vulkan/") ""))
;; Building chromedriver embeds some files using the ZIP ;; Building chromedriver embeds some files using the ZIP
;; format which doesn't support timestamps before ;; format which doesn't support timestamps before
;; 1980. Therefore, advance the timestamps of the files ;; 1980. Therefore, advance the timestamps of the files

View File

@ -1050,7 +1050,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
(description (description
"This package provides a complete GCC tool chain for C/C++ development to "This package provides a complete GCC tool chain for C/C++ development to
be installed in user profiles. This includes GCC, as well as libc (headers be installed in user profiles. This includes GCC, as well as libc (headers
and binaries, plus debugging symbols in the 'debug' output), and Binutils.") and binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
(home-page "https://gcc.gnu.org/") (home-page "https://gcc.gnu.org/")
(outputs '("out" "debug" "static")) (outputs '("out" "debug" "static"))

View File

@ -158,8 +158,8 @@ the @code{zlib} source.")
(home-page "https://savannah.nongnu.org/projects/fastjar") (home-page "https://savannah.nongnu.org/projects/fastjar")
(synopsis "Replacement for Sun's 'jar' utility") (synopsis "Replacement for Sun's 'jar' utility")
(description (description
"FastJar is an attempt to create a much faster replacement for Sun's 'jar' "FastJar is an attempt to create a much faster replacement for Sun's
utility. Instead of being written in Java, FastJar is written in C.") @code{jar} utility. Instead of being written in Java, FastJar is written in C.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public libtar (define-public libtar

File diff suppressed because it is too large Load Diff

View File

@ -208,9 +208,9 @@ OpenBSD tool of the same name.")
(add-after 'unpack 'unpack-googletest (add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "vendor/github.com/google/googletest") (mkdir-p "vendor/github.com/google/googletest")
(invoke "tar" "xvf" (assoc-ref inputs "googletest-source") (copy-recursively (assoc-ref inputs "googletest-source")
"-C" "vendor/github.com/google/googletest" "vendor/github.com/google/googletest")
"--strip-components=1"))) #t))
(add-before 'check 'make-unittests (add-before 'check 'make-unittests
(lambda _ (lambda _
(invoke "make" "unittests")))))) (invoke "make" "unittests"))))))

View File

@ -239,32 +239,19 @@ ElasticSearch server")
(define-public leveldb (define-public leveldb
(package (package
(name "leveldb") (name "leveldb")
(version "1.20") (version "1.21")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/google/leveldb" (uri (git-reference
"/archive/v" version ".tar.gz")) (url "https://github.com/google/leveldb")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm")))) "00v0w6883z7a6204894j59nd5v6dazn3c8hvh3sbczv4wiabppw2"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:make-flags (list "CC=gcc") `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
;; There is no install target, so we do it here.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(include (string-append out "/include")))
(for-each (lambda (file)
(install-file file lib))
(find-files "out-shared" "^libleveldb\\.so.*$"))
(copy-recursively "include" include)
#t))))))
(inputs (inputs
`(("snappy" ,snappy))) `(("snappy" ,snappy)))
(home-page "http://leveldb.org/") (home-page "http://leveldb.org/")
@ -987,7 +974,7 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(home-page "https://github.com/tialaramex/sparql-query/") (home-page "https://github.com/tialaramex/sparql-query/")
(synopsis "Command-line tool for accessing SPARQL endpoints over HTTP") (synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
(description "Sparql-query is a command-line tool for accessing SPARQL (description "Sparql-query is a command-line tool for accessing SPARQL
endpoints over HTTP. It has been intentionally designed to 'feel' similar to endpoints over HTTP. It has been intentionally designed to @code{feel} similar to
tools for interrogating SQL databases. For example, you can enter a query over tools for interrogating SQL databases. For example, you can enter a query over
several lines, using a semi-colon at the end of a line to indicate the end of several lines, using a semi-colon at the end of a line to indicate the end of
your query. It also supports readline so that you can more easily recall and your query. It also supports readline so that you can more easily recall and

View File

@ -134,7 +134,7 @@ Qt-style API for Wayland clients.")
(define-public sddm (define-public sddm
(package (package
(name "sddm") (name "sddm")
(version "0.18.0") (version "0.18.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -143,7 +143,7 @@ Qt-style API for Wayland clients.")
"sddm-" version ".tar.xz")) "sddm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87")))) "0nilrhwlyvkngjgxfc08n73c16azgmw80pvx0a78xqww9y3hv4xh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules) `(("extra-cmake-modules" ,extra-cmake-modules)

View File

@ -519,9 +519,9 @@ project aims to bulk update given objects using one query over Django ORM.")
(replace 'check (replace 'check
(lambda _ (lambda _
;; the next version will need "make test" ;; the next version will need "make test"
(and (zero? (system* "flake8" "contact_form")) (invoke "flake8" "contact_form")
(zero? (system* "coverage" "run" "contact_form/runtests.py")) (invoke "coverage" "run" "contact_form/runtests.py")
(zero? (system* "coverage" "report" "-m" "--fail-under" "0")))))))) (invoke "coverage" "report" "-m" "--fail-under" "0"))))))
(native-inputs (native-inputs
`(("python-coverage" ,python-coverage) `(("python-coverage" ,python-coverage)
("python-flake8" ,python-flake8))) ("python-flake8" ,python-flake8)))
@ -577,8 +577,7 @@ entries, photos, book chapters, or anything else.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _ (invoke "./test_project/manage.py" "test"))))))
(zero? (system* "./test_project/manage.py" "test")))))))
(propagated-inputs (propagated-inputs
`(("python-django" ,python-django))) `(("python-django" ,python-django)))
(native-inputs (native-inputs

View File

@ -103,12 +103,13 @@ and freshness without requiring additional information from the user.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target) (let ((unpack (lambda (source target)
(with-directory-excursion target (with-directory-excursion target
(zero? (system* "tar" "xvf" (invoke "tar" "xvf"
(assoc-ref inputs source) (assoc-ref inputs source)
"--strip-components=1")))))) "--strip-components=1")))))
(and (unpack "phobos-src" "runtime/phobos") (unpack "phobos-src" "runtime/phobos")
(unpack "druntime-src" "runtime/druntime") (unpack "druntime-src" "runtime/druntime")
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))) (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
#t)))
(add-after 'unpack-submodule-sources 'patch-dmd2 (add-after 'unpack-submodule-sources 'patch-dmd2
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd2/root/port.c" (substitute* "dmd2/root/port.c"
@ -210,12 +211,12 @@ bootstrapping more recent compilers written in D.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target) (let ((unpack (lambda (source target)
(with-directory-excursion target (with-directory-excursion target
(zero? (system* "tar" "xvf" (invoke "tar" "xvf"
(assoc-ref inputs source) (assoc-ref inputs source)
"--strip-components=1")))))) "--strip-components=1")))))
(and (unpack "phobos-src" "runtime/phobos") (unpack "phobos-src" "runtime/phobos")
(unpack "druntime-src" "runtime/druntime") (unpack "druntime-src" "runtime/druntime")
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))) (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))
(add-after 'unpack-submodule-sources 'patch-phobos (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* '("runtime/phobos/std/process.d" (substitute* '("runtime/phobos/std/process.d"

View File

@ -227,6 +227,8 @@ network attachments.")
(home-page "http://containerd.io/") (home-page "http://containerd.io/")
(license license:asl2.0))) (license license:asl2.0)))
;; TODO: Patch out modprobes for ip_vs, nf_conntrack,
;; brige, nf_conntrack_netlink, aufs.
(define-public docker (define-public docker
(package (package
(name "docker") (name "docker")
@ -242,7 +244,8 @@ network attachments.")
(base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx")) (base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx"))
(patches (patches
(search-patches "docker-engine-test-noinstall.patch" (search-patches "docker-engine-test-noinstall.patch"
"docker-fix-tests.patch")))) "docker-fix-tests.patch"
"docker-use-fewer-modprobes.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules `(#:modules

View File

@ -73,6 +73,6 @@
(synopsis "Customizable and lightweight notification daemon") (synopsis "Customizable and lightweight notification daemon")
(description (description
"Dunst is a highly configurable and minimalistic notification daemon. "Dunst is a highly configurable and minimalistic notification daemon.
It provides 'org.freedesktop.Notifications' D-Bus service, so it is It provides @code{org.freedesktop.Notifications} D-Bus service, so it is
started automatically on the first call via D-Bus.") started automatically on the first call via D-Bus.")
(license license:bsd-3))) (license license:bsd-3)))

View File

@ -777,6 +777,29 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
@code{skip-chars-backward}.") @code{skip-chars-backward}.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-relint
(package
(name "emacs-relint")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/relint-" version ".el"))
(sha256
(base32
"0y7lki2vndpkmzg4k0yh2722hp01qr77vm337xnm8wp3bmwn8s1f"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-xr" ,emacs-xr)))
(home-page "https://github.com/mattiase/relint")
(synopsis "Elisp regexp mistake finder")
(description
"Relint (regular expression lint) scans Elisp files for mistakes in
regexps, including deprecated syntax and bad practice. It also checks the
regexp-like arguments to @code{skip-chars-forward} and
@code{skip-chars-backward}.")
(license license:gpl3+)))
;;; ;;;
;;; Web browsing. ;;; Web browsing.
@ -1158,19 +1181,45 @@ always indented. It reindents after every change, making it more reliable
than @code{electric-indent-mode}.") than @code{electric-indent-mode}.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-link-hint
;; Last release was in 2015.
(let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
(revision "1"))
(package
(name "emacs-link-hint")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/noctuid/link-hint.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-avy" ,emacs-avy)))
(home-page "https://github.com/noctuid/link-hint.el")
(synopsis "Vimperator-style link-hinting in Emacs")
(description "This package provides commands for visiting and acting on
links.")
(license license:gpl3+))))
(define-public emacs-ag (define-public emacs-ag
(package (package
(name "emacs-ag") (name "emacs-ag")
(version "0.47") (version "0.47")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/Wilfred/ag.el/archive/" (url "https://github.com/Wilfred/ag.el.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar")))) "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1262,13 +1311,14 @@ or XEmacs.")
(version "0.2.2") (version "0.2.2")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/sebastiansturm/autothemer/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/sebastiansturm/autothemer.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa")))) "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash))) `(("emacs-dash" ,emacs-dash)))
@ -1322,14 +1372,14 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(version "1.6") (version "1.6")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/kiwanami/emacs-calfw/archive/v" (url "https://github.com/kiwanami/emacs-calfw.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i")))) "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-howm" ,emacs-howm))) `(("emacs-howm" ,emacs-howm)))
@ -1346,14 +1396,14 @@ Emacs buffer.")
(version "1.2.0") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/wbolster/emacs-direnv/archive/" (url "https://github.com/wbolster/emacs-direnv.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0m9nxawklhiiysyibzzhh2zkxgq1fskqvaqb06f7r8dnhabfy9fr")))) "172jyl8v4zy9bbha8nndq63x8svn9xqkafkj3q17z289na8iaylh"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("dash" ,emacs-dash) `(("dash" ,emacs-dash)
@ -1461,13 +1511,14 @@ written in the Go programming language.")
(name "emacs-google-maps") (name "emacs-google-maps")
(version "1.0.0") (version "1.0.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/jd/google-maps.el/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/jd/google-maps.el.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs")))) "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/jd/google-maps.el") (home-page "https://github.com/jd/google-maps.el")
(synopsis "Access Google Maps from Emacs") (synopsis "Access Google Maps from Emacs")
@ -1527,24 +1578,18 @@ diagrams.")
(define-public emacs-mmm-mode (define-public emacs-mmm-mode
(package (package
(name "emacs-mmm-mode") (name "emacs-mmm-mode")
(version "0.5.5") (version "0.5.7")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/purcell/mmm-mode/archive/" (url "https://github.com/purcell/mmm-mode.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc")))) "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -1562,14 +1607,14 @@ single buffer.")
(name "emacs-tablist") (name "emacs-tablist")
(version "0.70") (version "0.70")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/politza/tablist/archive/v" (url "https://github.com/politza/tablist.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c")))) "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/politza/tablist") (home-page "https://github.com/politza/tablist")
(synopsis "Extension for @code{tabulated-list-mode}") (synopsis "Extension for @code{tabulated-list-mode}")
@ -2622,14 +2667,14 @@ source code using IPython.")
(define-public emacs-debbugs (define-public emacs-debbugs
(package (package
(name "emacs-debbugs") (name "emacs-debbugs")
(version "0.16") (version "0.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-" (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p")))) "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs (propagated-inputs
@ -2959,6 +3004,34 @@ automatically inserts a Unicode opening or closing quotation mark, depending
on context.") on context.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-company-lsp
(package
(name "emacs-company-lsp")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tigersoldier/company-lsp.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-lsp-mode" ,emacs-lsp-mode)
("emacs-company" ,emacs-company)
("emacs-s" ,emacs-s)
("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/tigersoldier/company-lsp")
(synopsis "Completion for @code{lsp-mode}")
(description
"This package provides completion features that are not possible with
@code{lsp-mode} and @code{company-capf} alone, including support for trigger
characters and asynchronous fetching of completion candidates.")
(license license:gpl3+)))
(define-public emacs-scheme-complete (define-public emacs-scheme-complete
(let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5")) (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
(package (package
@ -3037,6 +3110,33 @@ to a key in your preferred mode.")
SuperCollider is a platform for audio synthesis and algorithmic composition.") SuperCollider is a platform for audio synthesis and algorithmic composition.")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public emacs-company-auctex
(let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
(revision "1"))
(package
(name "emacs-company-auctex")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexeyr/company-auctex")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-yasnippet" ,emacs-yasnippet)
("emacs-auctex" ,emacs-auctex)
("emacs-company" ,emacs-company)))
(home-page "https://github.com/alexeyr/company-auctex/")
(synopsis "Completion for @code{AUCTeX}")
(description
"This package provides a group of backends permitting auto-completion
for @code{AUCTeX}.")
(license license:gpl3+))))
(define-public emacs-mit-scheme-doc (define-public emacs-mit-scheme-doc
(package (package
(name "emacs-mit-scheme-doc") (name "emacs-mit-scheme-doc")
@ -3208,6 +3308,78 @@ This provides a basic API and common UI widgets such as popup tooltips
and popup menus.") and popup menus.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-python-environment
(package
(name "emacs-python-environment")
(version "0.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tkf/emacs-python-environment/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-deferred" ,emacs-deferred)))
(home-page "https://github.com/tkf/emacs-python-environment")
(synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
(description
"This package permits automated installation of tools written in Python.")
(license license:gpl3+)))
(define-public emacs-jedi
(package
(name "emacs-jedi")
(version "0.2.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tkf/emacs-jedi/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
(build-system emacs-build-system)
(native-inputs
`(("emacs-mocker" ,emacs-mocker)))
(propagated-inputs
`(("emacs-auto-complete" ,emacs-auto-complete)
("emacs-python-environment" ,emacs-python-environment)
("emacs-epc" ,emacs-epc)))
(home-page "https://github.com/tkf/emacs-jedi")
(synopsis "Provides Python completion in Emacs")
(description
"This package provides completion in Python buffers and also helps find
the locations of docstrings, arguments, and functions.")
(license license:gpl3+)))
(define-public emacs-company-jedi
(package
(name "emacs-company-jedi")
(version "0.04")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/syohex/emacs-company-jedi")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-jedi" ,emacs-jedi)
("emacs-company" ,emacs-company)))
(home-page "https://github.com/syohex/emacs-company-jedi")
(synopsis "Provides Python completion in @code{company-mode}")
(description
"This package provides a Company backend for Python.")
(license license:gpl3+)))
(define-public emacs-puppet-mode (define-public emacs-puppet-mode
(let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2") (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
(revision "1")) (revision "1"))
@ -3283,6 +3455,32 @@ insertion mode. When enabled all keys are implicitly prefixed with
sgml/html integration, and indentation (working with sgml).") sgml/html integration, and indentation (working with sgml).")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-company-cabal
;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
(let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
(revision "1"))
(package
(name "emacs-company-cabal")
(version (git-version "0.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/iquiw/company-cabal/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)))
(home-page "https://github.com/iquiw/company-cabal/")
(synopsis "Company completion for Haskell Cabal files")
(description
"This package allows for completion of field names, section names,
field values, and more within @code{haskell-cabal-mode}.")
(license license:gpl3+))))
(define-public emacs-rfcview (define-public emacs-rfcview
(package (package
(name "emacs-rfcview") (name "emacs-rfcview")
@ -3409,6 +3607,31 @@ started with 20 minutes. All values are customizable.")
organizer.") organizer.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-company-flow
(let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
(revision "1"))
(package
(name "emacs-company-flow")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aaronjensen/company-flow/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)
("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/aaronjensen/company-flow/")
(synopsis "Flow backend for @code{company-mode}")
(description
"This package provides completion for JavaScript files utilizing Flow.")
(license license:gpl3+))))
(define-public emacs-atom-one-dark-theme (define-public emacs-atom-one-dark-theme
(let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2") (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
(revision "0")) (revision "0"))
@ -3535,6 +3758,31 @@ of sixteen colors suitable for a wide range of applications. Base16 is not a
single theme but a set of guidelines with numerous implementations.") single theme but a set of guidelines with numerous implementations.")
(license license:expat))) (license license:expat)))
(define-public emacs-prescient
(package
(name "emacs-prescient")
(version "2.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raxod502/prescient.el/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)
("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/raxod502/prescient.el/")
(synopsis "Library that sorts and filters lists of candidates")
(description
"This package provides a library for sorting and filtering, as well as
extensions for @code{ivy-mode} and @code{company-mode} that make use of the
library.")
(license license:gpl3+)))
(define-public emacs-smartparens (define-public emacs-smartparens
(package (package
(name "emacs-smartparens") (name "emacs-smartparens")
@ -4158,6 +4406,30 @@ The purpose of this library is to wrap all the quirks and hassle of
@code{package.el} into a sane API.") @code{package.el} into a sane API.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-counsel-projectile
(package
(name "emacs-counsel-projectile")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ericdanan/counsel-projectile")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/ericdanan/counsel-projectile")
(synopsis "Enhance Projectile with Ivy")
(description
"This package uses Ivy to provide additional actions for Projectile
commands and replacements for existing functions.")
(license license:gpl3+)))
(define-public emacs-queue (define-public emacs-queue
(package (package
(name "emacs-queue") (name "emacs-queue")
@ -5750,6 +6022,35 @@ interface and multiple, selectable \"styles\", whose use is fully
customizable by the user.") customizable by the user.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-zones
(let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
(revision "1"))
(package
(name "emacs-zones")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsmirror/zones.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
(patches
(search-patches
"emacs-zones-called-interactively.patch"))))
(build-system emacs-build-system)
(home-page "https://www.emacswiki.org/emacs/Zones")
(synopsis "Define and act on multiple zones of buffer text")
(description "Library @file{zones.el} lets you easily define and
subsequently act on multiple zones of buffer text. You can think of this as
enlarging the notion of region. In effect, it can remove the requirement of
target text being a contiguous sequence of characters. A set of buffer zones
is, in effect, a (typically) noncontiguous set of text.")
(license license:gpl3+))))
(define-public emacs-mu4e-alert (define-public emacs-mu4e-alert
(package (package
(name "emacs-mu4e-alert") (name "emacs-mu4e-alert")
@ -7212,7 +7513,7 @@ the actual transformations.")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public emacs-dired-hacks (define-public emacs-dired-hacks
(let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36") (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
(revision "1")) (revision "1"))
(package (package
(name "emacs-dired-hacks") (name "emacs-dired-hacks")
@ -7226,7 +7527,7 @@ the actual transformations.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx")))) "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)
@ -8481,13 +8782,14 @@ Anzu.zim.")
(name "emacs-emmet-mode") (name "emacs-emmet-mode")
(version "1.0.8") (version "1.0.8")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/smihica/emmet-mode" (uri (git-reference
"/archive/" version ".tar.gz")) (url "https://github.com/smihica/emmet-mode.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj")))) (base32
"1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/smihica/emmet-mode") (home-page "https://github.com/smihica/emmet-mode")
(synopsis "Unofficial Emmet's support for Emacs") (synopsis "Unofficial Emmet's support for Emacs")
@ -13852,3 +14154,26 @@ C-f} to advance by #xa4 characters.
"This package provides an Emacs Helm interface for search suggestions "This package provides an Emacs Helm interface for search suggestions
and article extracts for Wikipedia.") and article extracts for Wikipedia.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-webfeeder
(package
(name "emacs-webfeeder")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/webfeeder-"
version
".tar"))
(sha256
(base32
"06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
(synopsis "Build RSS and Atom webfeeds from HTML files")
(description
"Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
files. The various elements of the HTML input are parsed with customizable
functions (e.g. @code{webfeeder-title-function}).")
(license license:gpl3+)))

View File

@ -85,6 +85,7 @@
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets) #:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
@ -554,43 +555,65 @@ multipole-accelerated algorithm.")
(define-public fritzing (define-public fritzing
(package (package
(name "fritzing") (name "fritzing")
(version "0.9.2b") (version "0.9.3b")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/fritzing/" (uri (git-reference
"fritzing-app/archive/" version ".tar.gz")) (url "https://github.com/fritzing/fritzing-app.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"15rwjp4xdj9w1z9f709rz9p0k2mi9k9idma9hvzkj5j8p04mg7yd")))) "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(and (zero? (system* "tar" (copy-recursively (assoc-ref inputs "fritzing-parts-db")
"-xvf" (assoc-ref inputs "fritzing-parts-db") "parts")
"-C" "parts")) ;; Make compatible with libgit2 > 0.24
(zero? (system* "qmake" (substitute* "src/version/partschecker.cpp"
(string-append "PREFIX=" (("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
(assoc-ref outputs "out")) "error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
"phoenix.pro"))))))))
;; Use system libgit2 and boost.
(substitute* "phoenix.pro"
(("^LIBGIT2INCLUDE =.*")
(string-append "LIBGIT2INCLUDE="
(assoc-ref inputs "libgit2") "/include\n"))
(("^ LIBGIT2LIB =.*")
(string-append " LIBGIT2LIB="
(assoc-ref inputs "libgit2") "/lib\n")))
;; This file checks for old versions of Boost, insisting on
;; having us download the boost sources and placing them in the
;; build directory.
(substitute* "pri/utils.pri"
(("error\\(") "message("))
(let ((out (assoc-ref outputs "out")))
(invoke "qmake"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib")
(string-append "PREFIX=" out)
"phoenix.pro")))))))
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
("qtserialport" ,qtserialport) ("qtserialport" ,qtserialport)
("qtsvg" ,qtsvg) ("qtsvg" ,qtsvg)
("libgit2" ,libgit2)
("boost" ,boost) ("boost" ,boost)
("zlib" ,zlib) ("zlib" ,zlib)
("fritzing-parts-db" ("fritzing-parts-db"
,(origin ,(origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/fritzing/" (uri (git-reference
"fritzing-parts/archive/" version ".tar.gz")) (url "https://github.com/fritzing/fritzing-parts.git")
(file-name (string-append "fritzing-parts-" version ".tar.gz")) (commit version)))
(file-name (git-file-name "fritzing-parts" version))
(sha256 (sha256
(base32 (base32
"0jqr8yjg7177f3pk1fcns584r0qavwpr280nggsi2ff3pwk5wpsz")))))) "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
(home-page "http://fritzing.org") (home-page "http://fritzing.org")
(synopsis "Electronic circuit design") (synopsis "Electronic circuit design")
(description (description

View File

@ -43,7 +43,9 @@
;; When cross-compiling, this package depends upon a native install of ;; When cross-compiling, this package depends upon a native install of
;; itself. ;; itself.
(self-native-input? #t) (native-inputs (if (%current-target-system)
`(("self" ,this-package))
'()))
(synopsis "File type guesser") (synopsis "File type guesser")
(description (description

View File

@ -384,14 +384,14 @@ for long periods of working with computers (8 or more hours per day).")
(name "font-adobe-source-han-sans") (name "font-adobe-source-han-sans")
(version "1.004") (version "1.004")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/adobe-fonts/source-han-sans/archive/" (url "https://github.com/adobe-fonts/source-han-sans.git")
version "R.tar.gz")) (commit (string-append version "R"))))
(file-name (string-append "source-han-sans-" version "R.tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ssx0fw90sy6mj8fv8fv4dgzszpqwbmwpjnlx16g4pvaqzdmybbz")))) "0zm884d8fp5gvirq324050kqv7am9khyqhs9kk4r4rr3jzn61jpk"))))
(outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB. (outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
"cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF. "cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
(build-system trivial-build-system) (build-system trivial-build-system)
@ -400,20 +400,12 @@ for long periods of working with computers (8 or more hours per day).")
#:builder #:builder
(begin (begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(let ((tar (string-append (assoc-ref %build-inputs (let ((install-opentype-fonts
"tar")
"/bin/tar"))
(PATH (string-append (assoc-ref %build-inputs
"gzip")
"/bin"))
(install-opentype-fonts
(lambda (fonts-dir out) (lambda (fonts-dir out)
(copy-recursively fonts-dir (copy-recursively fonts-dir
(string-append (assoc-ref %outputs out) (string-append (assoc-ref %outputs out)
"/share/fonts/opentype"))))) "/share/fonts/opentype")))))
(setenv "PATH" PATH) (chdir (assoc-ref %build-inputs "source"))
(invoke tar "xvf" (assoc-ref %build-inputs "source"))
(chdir (string-append "source-han-sans-" ,version "R"))
(install-opentype-fonts "OTC" "out") (install-opentype-fonts "OTC" "out")
(install-opentype-fonts "SubsetOTF/CN" "cn") (install-opentype-fonts "SubsetOTF/CN" "cn")
(install-opentype-fonts "SubsetOTF/JP" "jp") (install-opentype-fonts "SubsetOTF/JP" "jp")
@ -421,9 +413,6 @@ for long periods of working with computers (8 or more hours per day).")
(install-opentype-fonts "SubsetOTF/TW" "tw") (install-opentype-fonts "SubsetOTF/TW" "tw")
(for-each delete-file (find-files %output "\\.zip$")) (for-each delete-file (find-files %output "\\.zip$"))
#t)))) #t))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(home-page "https://github.com/adobe-fonts/source-han-sans") (home-page "https://github.com/adobe-fonts/source-han-sans")
(synopsis "Pan-CJK fonts") (synopsis "Pan-CJK fonts")
(description (description
@ -933,13 +922,14 @@ Sans Pro family.")
(name "font-fira-sans") (name "font-fira-sans")
(version "4.202") (version "4.202")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/mozilla/Fira/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/mozilla/Fira.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1r6zdnqqp4bgq5nmgqbj0vvj7x1h9w912851ggbl9wc7fdjnjqnq")))) "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "https://mozilla.github.io/Fira/") (home-page "https://mozilla.github.io/Fira/")
(synopsis "Mozilla's Fira Sans Font") (synopsis "Mozilla's Fira Sans Font")
@ -997,13 +987,14 @@ vector graphics.")
(version "1.11.4") (version "1.11.4")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/sunaku/tamzen-font/archive/" (uri (git-reference
"Tamzen-" version ".tar.gz")) (url "https://github.com/sunaku/tamzen-font.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "Tamzen-" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ryd7gp6qiwaqw73jqbmh4kwlriyd8xykh4j7z90z8xp9fm7lrys")))) "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -1011,30 +1002,19 @@ vector graphics.")
(begin (begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(let ((tar (string-append (assoc-ref %build-inputs "tar") (let* ((out (assoc-ref %outputs "out"))
"/bin/tar")) (font-dir (string-append out "/share/fonts/misc"))
(PATH (string-append (assoc-ref %build-inputs "gzip") (psf-dir (string-append out "/share/kbd/consolefonts")))
"/bin")) (chdir (assoc-ref %build-inputs "source"))
(font-dir (string-append %output "/share/fonts/misc"))
(psf-dir (string-append %output "/share/kbd/consolefonts"))
(src-pcf-dir (string-append "tamzen-font-Tamzen-"
,version "/pcf")))
(setenv "PATH" PATH)
(invoke tar "xvf" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir) (mkdir-p font-dir)
(mkdir-p psf-dir) (mkdir-p psf-dir)
(chdir src-pcf-dir)
(for-each (lambda (pcf) (for-each (lambda (pcf)
(install-file pcf font-dir)) (install-file pcf font-dir))
(find-files "." "\\.pcf$")) (find-files "pcf" "\\.pcf$"))
(chdir "../psf")
(for-each (lambda (psf) (for-each (lambda (psf)
(install-file psf psf-dir)) (install-file psf psf-dir))
(find-files "." "\\.psf$")) (find-files "psf" "\\.psf$"))
#t)))) #t))))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)))
(home-page "https://github.com/sunaku/tamzen-font") (home-page "https://github.com/sunaku/tamzen-font")
(synopsis "Monospaced bitmap font for console and X11") (synopsis "Monospaced bitmap font for console and X11")
(description (description
@ -1106,15 +1086,15 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
(define-public font-iosevka (define-public font-iosevka
(package (package
(name "font-iosevka") (name "font-iosevka")
(version "1.12.5") (version "2.2.0")
(source (origin (source
(method url-fetch/zipbomb) (origin
(uri (string-append (method url-fetch/zipbomb)
"https://github.com/be5invis/Iosevka/releases/download/v" (uri (string-append "https://github.com/be5invis/Iosevka"
version "/iosevka-pack-" version ".zip")) "/releases/download/v" version
(sha256 "/ttc-iosevka-" version ".zip"))
(base32 (sha256
"0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi")))) (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "https://be5invis.github.io/Iosevka/") (home-page "https://be5invis.github.io/Iosevka/")
(synopsis "Coders' typeface, built from code") (synopsis "Coders' typeface, built from code")
@ -1125,6 +1105,20 @@ programming. Iosevka is completely generated from its source code.")
(license (list license:silofl1.1 ; build artifacts (i.e. the fonts) (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
license:bsd-3)))) ; supporting code license:bsd-3)))) ; supporting code
(define-public font-iosevka-slab
(package
(inherit font-iosevka)
(name "font-iosevka-slab")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/ttc-iosevka-slab-" version ".zip"))
(sha256
(base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml"))))))
(define-public font-go (define-public font-go
(let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
(revision "1")) (revision "1"))
@ -1162,14 +1156,14 @@ monospace, slab-serif fonts.")
(name "font-google-material-design-icons") (name "font-google-material-design-icons")
(version "3.0.1") (version "3.0.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/google/material-design-icons/archive/" (url "https://github.com/google/material-design-icons.git")
version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"018i3za9r6kf6svci33z09lc5pr5yz4164m8gzzwjzzqcrng0p5j")) "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "http://google.github.io/material-design-icons") (home-page "http://google.github.io/material-design-icons")
(synopsis "Icon font of Google Material Design icons") (synopsis "Icon font of Google Material Design icons")
@ -1188,13 +1182,14 @@ resolutions.")
(version "20160623") (version "20160623")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/antijingoist/open-dyslexic/" (uri (git-reference
"archive/" version "-Stable.tar.gz")) (url "https://github.com/antijingoist/open-dyslexic.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append version "-Stable"))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0al0j9kb32kfavcpq1kigsd36yzvf5yhzqhds0jkh7ngbxyxwkx4")))) "0nr7s92nk1kbr459154idnib977ixc70z6g9mbra3lp73nyrmyvz"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "https://opendyslexic.org") (home-page "https://opendyslexic.org")
(synopsis "Font for dyslexics and high readability") (synopsis "Font for dyslexics and high readability")

View File

@ -230,7 +230,7 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind (define-public elogind
(package (package
(name "elogind") (name "elogind")
(version "241.1") (version "241.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -239,7 +239,7 @@ the freedesktop.org XDG Base Directory specification.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0a4irq4ycps3xcizjjr0gz3j46dyqvcwa4ncinpqpqlasi8l18nk")))) "1ragysp4kh1vj3zpz1aprh5h4k3hmp3i5q55pimpabdpkdfbv2fc"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View File

@ -134,9 +134,9 @@ reliability in mind.")
(synopsis "Command-line File Transfer Protocol (FTP) client") (synopsis "Command-line File Transfer Protocol (FTP) client")
(description (description
"NcFTP Client (or just NcFTP) is a set of command-line programs to access "NcFTP Client (or just NcFTP) is a set of command-line programs to access
File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive File Transfer Protocol (FTP) servers. This includes @code{ncftp}, an interactive
FTP browser, as well as non-interactive commands such as 'ncftpput' and FTP browser, as well as non-interactive commands such as @code{ncftpput} and
'ncftpget'.") @code{ncftpget}.")
(license clarified-artistic))) (license clarified-artistic)))
@ -209,14 +209,14 @@ output.
(define-public filezilla (define-public filezilla
(package (package
(name "filezilla") (name "filezilla")
(version "3.41.1") (version "3.41.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/" (uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2")) "FileZilla_" version "_src.tar.bz2"))
(sha256 (sha256
(base32 "0mlv21054fk11rspbnig0q4gph1iqsqm4rpya3wl5is50p33vg5w")))) (base32 "05zhvzvzkbns0cdxmlswvasfa6031y22dhfj9y5p85gi654f4fy2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Don't let filezilla phone home to check for updates. ;; Don't let filezilla phone home to check for updates.

View File

@ -14,6 +14,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -35,6 +36,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -431,7 +433,7 @@ support.")
(define-public tiled (define-public tiled
(package (package
(name "tiled") (name "tiled")
(version "1.2.2") (version "1.2.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -440,7 +442,7 @@ support.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ay4x1b6h5xfax1cqry2fklcmqi6a16klgmci4gkhga7as66lnnn")))) "1nfyigfkl10n9r82p1qxhpr09jn2kwalh9n5r209bcaj8dxspph8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
@ -567,7 +569,7 @@ sounds from presets such as \"explosion\" or \"powerup\".")
(define-public physfs (define-public physfs
(package (package
(name "physfs") (name "physfs")
(version "3.0.1") (version "3.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -576,7 +578,7 @@ sounds from presets such as \"explosion\" or \"powerup\".")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1wgj2zqpnfbnyyi1i7bq5pshcc9n5cvwlpzp8im67nb8662ryyxp")))) "0qzqz4r88gvd8m7sh2z5hvqcr0jfr4wb2f77c19xycyn0rigfk9h"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
@ -1078,7 +1080,7 @@ of use.")
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "https://github.com/OpenMW/openmw/archive/" (string-append "https://github.com/OpenMW/openmw/archive/"
name "-" version ".tar.gz")) "openmw-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy")))) "03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy"))))
@ -1329,3 +1331,76 @@ that parenthetically inclined game developers need to make 2D (and eventually
@item REPL-driven development model @item REPL-driven development model
@end enumerate\n") @end enumerate\n")
(license license:gpl3+))) (license license:gpl3+)))
(define-public bennu-game-development
(package
(name "bennu-game-development")
(version "348")
(source (origin
(method svn-fetch)
(uri (svn-reference
(url "http://svn.code.sf.net/p/bennugd/code")
(revision (string->number version))))
(file-name (string-append name "-" version))
(sha256
(base32
"0wpzsbh4zi3931493dnyl5ffmh1b7fj2sx3mzrq304z9zs4d6lqq"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "3rdparty") #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-configure-to-use-openssl
(lambda* (#:key outputs #:allow-other-keys)
(chdir "core")
(delete-file "configure")
(substitute* "configure.in"
(("i\\*86\\)")
"*)
COMMON_CFLAGS=\"$COMMON_CFLAGS -DUSE_OPENSSL\"
COMMON_LDFLAGS=\"$COMMON_LDFLAGS\"
LIBSSL=\"crypto\"
USE_OPENSSL=yes
;;
i*86)"))
#t)))))
(inputs `(("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(synopsis "Programming language to create games")
(description "Bennu Game Development, also known as bennudg, is a
programming language tailored at game development. It is the successor of
Fenix.")
(home-page "https://sourceforge.net/projects/bennugd/")
(license license:zlib)))
(define-public bennu-game-development-modules
(package
(inherit bennu-game-development)
(name "bennu-game-development-modules")
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-conflicting-definitions
(lambda _
(with-fluids ((%default-port-encoding #f))
(substitute* "core/include/fmath.h"
(("extern fixed fmul\\( int x, int y \\);") "")
(("extern fixed fdiv\\( int x, int y \\);") "")))
(chdir "modules"))))))
(inputs `(("zlib" ,zlib)
("libpng" ,libpng)
("openssl" ,openssl)
("sdl-mixer" ,sdl-mixer)
("bennu-game-development" ,bennu-game-development)))
(synopsis "Modules for the Bennu Game Developement programming language")
(description "This package contains a collection of modules for the Bennu
Game Developement programming language, from CD handling through SDL to
joystick support.")))

File diff suppressed because it is too large Load Diff

View File

@ -120,7 +120,7 @@ as ASCII text.")
"Freeglut is a completely Free/OpenSourced alternative to "Freeglut is a completely Free/OpenSourced alternative to
the OpenGL Utility Toolkit (GLUT) library. GLUT was originally the OpenGL Utility Toolkit (GLUT) library. GLUT was originally
written by Mark Kilgard to support the sample programs in the written by Mark Kilgard to support the sample programs in the
second edition OpenGL 'RedBook'. Since then, GLUT has been used second edition OpenGL @code{RedBook}. Since then, GLUT has been used
in a wide variety of practical applications because it is simple, in a wide variety of practical applications because it is simple,
widely available and highly portable. widely available and highly portable.

View File

@ -392,7 +392,7 @@ formats like PNG, SVG, PDF and EPS.")
("libsoup" ,libsoup))) ("libsoup" ,libsoup)))
(propagated-inputs (propagated-inputs
`(("gcr" ,gcr) `(("gcr" ,gcr)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("liboauth" ,liboauth) ("liboauth" ,liboauth)
("libxml2" ,libxml2))) ("libxml2" ,libxml2)))
(home-page "https://wiki.gnome.org/Projects/libgdata") (home-page "https://wiki.gnome.org/Projects/libgdata")
@ -5064,7 +5064,23 @@ window manager.")
(sha256 (sha256
(base32 (base32
"035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47")))) "035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47"))))
(outputs '("out" "lib"))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-libgoa-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
(substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
(("@prefix@") lib)
(("@exec_prefix@") lib)
(("@libdir@") (string-append lib "/lib"))
(("@includedir@") (string-append lib "/include"))
(("@datadir@") (string-append lib "/share")))
#t))))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
@ -5101,6 +5117,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(sha256 (sha256
(base32 (base32
"11sq795115vrcgxl9svscm6wg8isjj784c3d84qzb6z47zq92zj3")))) "11sq795115vrcgxl9svscm6wg8isjj784c3d84qzb6z47zq92zj3"))))
(outputs '("out" "libedataserverui"))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(;; XXX FIXME: 11/85 tests are failing. '(;; XXX FIXME: 11/85 tests are failing.
@ -5141,7 +5158,40 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
;; CMakeLists.txt hard-codes runpath to just the libdir. ;; CMakeLists.txt hard-codes runpath to just the libdir.
;; Remove it so the configure flag is respected. ;; Remove it so the configure flag is respected.
(("SET\\(CMAKE_INSTALL_RPATH .*") "")) (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
#t))))) #t))
(add-before 'configure 'factor-webkit
(lambda _
(substitute* "CMakeLists.txt"
(("webkit2gtk-4\\.0>=\\$[{]webkit2gtk_minimum_version[}]") "")
(("if[(]ENABLE_OAUTH2[)]")
(string-append
"if(ENABLE_OAUTH2)\n"
"\tpkg_check_modules(OAUTH2_UI REQUIRED "
"webkit2gtk-4.0>=${webkit2gtk_minimum_version})")))
(substitute* "src/libedataserverui/CMakeLists.txt"
(("\\$[{]OAUTH2_([A-Z_]+)[}]" all part)
(string-append all " ${OAUTH2_UI_" part "}")))))
(add-after 'install 'split
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libedsui (assoc-ref outputs "libedataserverui")))
(for-each (lambda (file)
(mkdir-p (dirname (string-append libedsui file)))
(rename-file (string-append out file)
(string-append libedsui file)))
'("/lib/pkgconfig/libedataserverui-1.2.pc"
"/lib/libedataserverui-1.2.so"
"/lib/libedataserverui-1.2.so.2"
"/lib/libedataserverui-1.2.so.2.0.0"
"/lib/girepository-1.0/EDataServerUI-1.2.typelib"
"/include/evolution-data-server/libedataserverui"
"/share/gir-1.0/EDataServerUI-1.2.gir"
"/share/vala/vapi/libedataserverui-1.2.vapi"
"/share/vala/vapi/libedataserverui-1.2.deps"))
(substitute* (string-append libedsui "/lib/pkgconfig/"
"libedataserverui-1.2.pc")
((out) libedsui))
#t))))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
@ -5161,7 +5211,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(inputs (inputs
`(("bdb" ,bdb) `(("bdb" ,bdb)
("gcr" ,gcr) ("gcr" ,gcr)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("libgweather" ,libgweather) ("libgweather" ,libgweather)
("mit-krb5" ,mit-krb5) ("mit-krb5" ,mit-krb5)
@ -5777,6 +5827,7 @@ devices using the GNOME desktop.")
("gnome-bluetooth" ,gnome-bluetooth) ("gnome-bluetooth" ,gnome-bluetooth)
("gnome-desktop" ,gnome-desktop) ("gnome-desktop" ,gnome-desktop)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gnome-settings-daemon" ,gnome-settings-daemon) ("gnome-settings-daemon" ,gnome-settings-daemon)
("grilo" ,grilo) ("grilo" ,grilo)
("ibus" ,ibus) ("ibus" ,ibus)
@ -5920,7 +5971,6 @@ properties, screen resolution, and other GNOME parameters.")
("gdm" ,gdm) ("gdm" ,gdm)
("gjs" ,gjs) ("gjs" ,gjs)
("gnome-bluetooth" ,gnome-bluetooth) ("gnome-bluetooth" ,gnome-bluetooth)
("gnome-control-center" ,gnome-control-center)
("gnome-desktop" ,gnome-desktop) ("gnome-desktop" ,gnome-desktop)
("gnome-settings-daemon" ,gnome-settings-daemon) ("gnome-settings-daemon" ,gnome-settings-daemon)
("gst-plugins-base" ,gst-plugins-base) ("gst-plugins-base" ,gst-plugins-base)
@ -6487,7 +6537,7 @@ library.")
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("gnome-online-accounts" ,gnome-online-accounts) `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("rest" ,rest))) ("rest" ,rest)))
(home-page "https://wiki.gnome.org/Projects/Zapojit") (home-page "https://wiki.gnome.org/Projects/Zapojit")
@ -6560,9 +6610,10 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("evolution-data-server" ,evolution-data-server) `(("evolution-data-server" ,evolution-data-server)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("libdazzle" ,libdazzle) ("libdazzle" ,libdazzle)
("libedataserverui" ,evolution-data-server "libedataserverui")
("libgweather" ,libgweather) ("libgweather" ,libgweather)
("geoclue" ,geoclue))) ("geoclue" ,geoclue)))
(home-page "https://wiki.gnome.org/Apps/Calendar") (home-page "https://wiki.gnome.org/Apps/Calendar")
@ -6610,11 +6661,12 @@ desktop. It supports multiple calendars, month, week and year view.")
(inputs (inputs
`(("rest" ,rest) ; For Todoist plugin `(("rest" ,rest) ; For Todoist plugin
("json-glib" ,json-glib) ; For Todoist plugin ("json-glib" ,json-glib) ; For Todoist plugin
("libedataserverui" ,evolution-data-server "libedataserverui")
("libical" ,libical) ("libical" ,libical)
("libpeas" ,libpeas) ("libpeas" ,libpeas)
("python-pygobject" ,python-pygobject) ("python-pygobject" ,python-pygobject)
("evolution-data-server" ,evolution-data-server) ("evolution-data-server" ,evolution-data-server)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(home-page "https://wiki.gnome.org/Apps/Todo") (home-page "https://wiki.gnome.org/Apps/Todo")
(synopsis "GNOME's ToDo Application") (synopsis "GNOME's ToDo Application")
@ -6943,7 +6995,7 @@ compiled.")
("gobject-introspection" ,gobject-introspection))) ("gobject-introspection" ,gobject-introspection)))
(inputs (inputs
`(("json-glib" ,json-glib) `(("json-glib" ,json-glib)
("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("rest" ,rest))) ("rest" ,rest)))
(synopsis "GLib/GObject wrapper for the Facebook API") (synopsis "GLib/GObject wrapper for the Facebook API")
(description "This library allows you to use the Facebook API from (description "This library allows you to use the Facebook API from
@ -7825,6 +7877,7 @@ generic enough to work for everyone.")
("gtkspell3" ,gtkspell3) ("gtkspell3" ,gtkspell3)
("highlight" ,highlight) ("highlight" ,highlight)
("libcanberra" ,libcanberra) ("libcanberra" ,libcanberra)
("libedataserverui" ,evolution-data-server "libedataserverui")
("libgweather" ,libgweather) ("libgweather" ,libgweather)
("libnotify" ,libnotify) ("libnotify" ,libnotify)
("libsoup" ,libsoup) ("libsoup" ,libsoup)

View File

@ -104,8 +104,7 @@
(add-after 'unpack 'unpack-gmock (add-after 'unpack 'unpack-gmock
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(mkdir "gmock") (mkdir "gmock")
(invoke "tar" "xf" (assoc-ref inputs "googlemock") (copy-recursively (assoc-ref inputs "googlemock") "gmock")
"-C" "gmock" "--strip-components=1")
(setenv "GMOCK_ROOT" (string-append (getcwd) "/gmock/googlemock")) (setenv "GMOCK_ROOT" (string-append (getcwd) "/gmock/googlemock"))
#t)) #t))
(add-after 'unpack 'set-env-vars (add-after 'unpack 'set-env-vars
@ -165,14 +164,14 @@
,@(transitive-input-references ,@(transitive-input-references
'inputs 'inputs
(map (lambda (l) (map (lambda (l)
(assoc l (inputs))) (assoc l (package-inputs this-package)))
'("perl-finance-quote" '("perl-finance-quote"
"perl-date-manip")))) "perl-date-manip"))))
(list (list
,@(transitive-input-references ,@(transitive-input-references
'inputs 'inputs
(map (lambda (l) (map (lambda (l)
(assoc l (inputs))) (assoc l (package-inputs this-package)))
'("perl-finance-quote"))))))))) '("perl-finance-quote")))))))))
'("gnucash" '("gnucash"
"gnc-fq-check" "gnc-fq-check"

View File

@ -224,14 +224,14 @@ compatible to GNU Pth.")
(define-public gnupg (define-public gnupg
(package (package
(name "gnupg") (name "gnupg")
(version "2.2.14") (version "2.2.15")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0yzqrg24j9fc4f8ss5pclyvg70a9z53sv89vl77xii8yvi3fvy8v")))) "0m6lyphbb20i84isdxzfhcbzyc682hdrdv4aqkzmhrdksycf536b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -578,7 +578,7 @@ from forcing GEXP-PROMISE."
#:system system #:system system
#:guile-for-build guile))) #:guile-for-build guile)))
(define %icecat-version "60.6.0-guix1") (define %icecat-version "60.6.1-guix1")
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -600,7 +600,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz")) "firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256 (sha256
(base32 (base32
"1mc57dhwyjr6qjm3q617wvj306wi72548wjx7lz1dxkz6hndi03w")))) "1x8419a1yg6igsq5ij3ymf1zmnb2wpm9dqcdfkv5wy43xgf7y0wl"))))
(upstream-icecat-base-version "60.3.0") ; maybe older than base-version (upstream-icecat-base-version "60.3.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1") (upstream-icecat-gnu-version "1")

View File

@ -18,15 +18,90 @@
(define-module (gnu packages gpodder) (define-module (gnu packages gpodder)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)) #:use-module (gnu packages qt))
(define-public gpodder
(package
(name "gpodder")
(version "3.10.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gpodder/gpodder.git")
(commit version)))
(sha256
(base32
"0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(native-inputs
`(("intltool" ,intltool)))
(inputs
`(("gtk+" ,gtk+)
("python-pygobject" ,python-pygobject)
("python-pycairo" ,python-pycairo)
("python-dbus" ,python-dbus)
("python-html5lib" ,python-html5lib)
("python-mygpoclient" ,python-mygpoclient)
("python-podcastparser" ,python-podcastparser)
("xdg-utils" ,xdg-utils)))
(arguments
'(#:phases
(modify-phases %standard-phases
;; Avoid needing xdg-utils as a propagated input.
(add-after 'unpack 'patch-xdg-open
(lambda* (#:key inputs #:allow-other-keys)
(let ((xdg-utils (assoc-ref inputs "xdg-utils")))
(substitute* "src/gpodder/util.py"
(("xdg-open") (string-append xdg-utils "/bin/xdg-open")))
#t)))
;; 'msgmerge' introduces non-determinism by resetting the
;; POT-Creation-Date in .po files.
(add-before 'install 'do-not-run-msgmerge
(lambda _
(substitute* "makefile"
(("msgmerge") "true"))
#t))
(add-before 'install 'make-po-files-writable
(lambda _
(for-each
(lambda (f)
(chmod f #o664))
(find-files "po"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(setenv "PREFIX" (assoc-ref outputs "out"))
(invoke "make" "install")
#t))
(add-after 'install 'wrap-gpodder
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/gpodder")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
#t))))))
(home-page "https://gpodder.github.io")
(synopsis "Simple podcast client")
(description "gPodder is a podcatcher, i.e. an application that allows
podcast feeds (RSS, Atom, Youtube, Soundcloud, Vimeo and XSPF) to be
subscribed to, checks for new episodes and allows the podcast to be saved
locally for later listening.")
(license license:gpl3+)))
(define-public libmygpo-qt (define-public libmygpo-qt
(package (package
(name "libmygpo-qt") (name "libmygpo-qt")
@ -57,6 +132,36 @@
and track podcasts.") and track podcasts.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public python-mygpoclient
(package
(name "python-mygpoclient")
(version "1.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mygpoclient" version))
(sha256
(base32
"1fi5x6k1mngr0iviw2s4n1f3y2x7pwqy5ivkcrjdprzvwr37f0mh"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
("python-minimock" ,python-minimock)
("python-nose" ,python-nose)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "test"))))))
(home-page "https://mygpoclient.readthedocs.io")
(synopsis "Python library for the gPodder web service")
(description "@code{mygpoclient} provides an easy and structured way to
access the @url{https://gpodder.net} web services. In addition to
subscription list synchronization and storage, the API supports uploading and
downloading episode status changes.")
(license license:gpl3+)))
(define-public python-podcastparser (define-public python-podcastparser
(package (package
(name "python-podcastparser") (name "python-podcastparser")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,6 +23,8 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system r) #:use-module (guix build-system r)
@ -30,6 +33,7 @@
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages bioconductor) #:use-module (gnu packages bioconductor)
#:use-module (gnu packages bioinformatics) #:use-module (gnu packages bioinformatics)
#:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cran) #:use-module (gnu packages cran)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
@ -40,6 +44,7 @@
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages swig)
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
@ -239,3 +244,140 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
(define-public python2-plotly (define-public python2-plotly
(package-with-python2 python-plotly)) (package-with-python2 python-plotly))
(define-public faiss
(package
(name "faiss")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/facebookresearch/faiss.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pk15jfa775cy2pqmzq62nhd6zfjxmpvz5h731197c28aq3zw39w"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "utils.cpp"
(("#include <immintrin.h>")
"#ifdef __SSE__\n#include <immintrin.h>\n#endif"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA.
"-DBUILD_TUTORIAL=OFF") ; we don't need those
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-build
(lambda _
(let ((features (list ,@(let ((system (or (%current-target-system)
(%current-system))))
(cond
((string-prefix? "x86_64" system)
'("-mavx" "-msse2" "-mpopcnt"))
((string-prefix? "i686" system)
'("-msse2" "-mpopcnt"))
(else
'()))))))
(substitute* "CMakeLists.txt"
(("-m64") "")
(("-mpopcnt") "") ; only some architectures
(("-msse4")
(string-append
(string-join features)
" -I" (getcwd)))
;; Build also the shared library
(("ARCHIVE DESTINATION lib")
"LIBRARY DESTINATION lib")
(("add_library.*" m)
"\
add_library(objlib OBJECT ${faiss_cpu_headers} ${faiss_cpu_cpp})
set_property(TARGET objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
add_library(${faiss_lib}_static STATIC $<TARGET_OBJECTS:objlib>)
add_library(${faiss_lib} SHARED $<TARGET_OBJECTS:objlib>)
install(TARGETS ${faiss_lib}_static ARCHIVE DESTINATION lib)
\n")))
;; See https://github.com/facebookresearch/faiss/issues/520
(substitute* "IndexScalarQuantizer.cpp"
(("#define USE_AVX") ""))
;; Make header files available for compiling tests.
(mkdir-p "faiss")
(for-each (lambda (file)
(mkdir-p (string-append "faiss/" (dirname file)))
(copy-file file (string-append "faiss/" file)))
(find-files "." "\\.h$"))
#t))
(replace 'check
(lambda _
(invoke "make" "-C" "tests"
(format #f "-j~a" (parallel-job-count)))))
(add-after 'install 'remove-tests
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
(string-append (assoc-ref outputs "out")
"/test"))
#t)))))
(inputs
`(("openblas" ,openblas)))
(native-inputs
`(("googletest" ,googletest)))
(home-page "https://github.com/facebookresearch/faiss")
(synopsis "Efficient similarity search and clustering of dense vectors")
(description "Faiss is a library for efficient similarity search and
clustering of dense vectors. It contains algorithms that search in sets of
vectors of any size, up to ones that possibly do not fit in RAM. It also
contains supporting code for evaluation and parameter tuning.")
(license license:bsd-3)))
(define-public python-faiss
(package (inherit faiss)
(name "python-faiss")
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "python") #t))
(add-after 'chdir 'build-swig
(lambda* (#:key inputs #:allow-other-keys)
(with-output-to-file "../makefile.inc"
(lambda ()
(let ((python-version ,(version-major+minor (package-version python))))
(format #t "\
PYTHONCFLAGS =-I~a/include/python~am/ -I~a/lib/python~a/site-packages/numpy/core/include
LIBS = -lpython~am -lfaiss
SHAREDFLAGS = -shared -fopenmp
CXXFLAGS = -fpermissive -std=c++11 -fopenmp -fPIC
CPUFLAGS = ~{~a ~}~%"
(assoc-ref inputs "python*") python-version
(assoc-ref inputs "python-numpy") python-version
python-version
(list ,@(let ((system (or (%current-target-system)
(%current-system))))
(cond
((string-prefix? "x86_64" system)
'("-mavx" "-msse2" "-mpopcnt"))
((string-prefix? "i686" system)
'("-msse2" "-mpopcnt"))
(else
'()))))))))
(substitute* "Makefile"
(("../libfaiss.a") ""))
(invoke "make" "cpu"))))))
(inputs
`(("faiss" ,faiss)
("openblas" ,openblas)
("python*" ,python)
("swig" ,swig)))
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)))
(description "Faiss is a library for efficient similarity search and
clustering of dense vectors. This package provides Python bindings to the
Faiss library.")))

View File

@ -354,33 +354,23 @@ exception-handling library.")
(version "1.10.11") (version "1.10.11")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/OGRECave/" name (uri (git-reference
"/archive/v" version ".tar.gz")) (url "https://github.com/OGRECave/ogre.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13bdh9v4026qf8w8rbfln2rmwf0rby1a8fz55zpdvpy105i6cbpz")) "072rzw9mxymbiypgkrbkk9h10rgly6gczik4dlmssk6xkpqckaqr"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure (add-before 'configure 'pre-configure
(lambda _
;; It expects googletest source to be downloaded and
;; be in a specific place.
(substitute* "Tests/CMakeLists.txt"
(("URL(.*)$" _ suffix)
(string-append "URL " suffix
"\t\tURL_HASH "
"MD5=16877098823401d1bf2ed7891d7dce36\n")))
#t))
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "googletest-source") (substitute* "Tests/CMakeLists.txt"
(string-append (getcwd) (("URL(.*)$")
"/Tests/googletest-prefix/src/" (string-append "URL " (assoc-ref inputs "googletest-source"))))
"release-1.8.0.tar.gz"))
#t))) #t)))
#:configure-flags #:configure-flags
(list "-DOGRE_BUILD_TESTS=TRUE" (list "-DOGRE_BUILD_TESTS=TRUE"

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
@ -822,6 +822,18 @@ application suites.")
(variable "GUIX_GTK3_PATH") (variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0"))))))) (files '("lib/gtk-3.0")))))))
;; Fixes a bug in Gtk that causes crashes in IceCat and Emacs.
;; See <https://bugs.gnu.org/34454>, <https://bugs.gnu.org/34658>,
;; and <https://gitlab.gnome.org/GNOME/gtk/issues/1523>.
(define gtk+/fixed
(package
(inherit gtk+)
(source (origin
(inherit (package-source gtk+))
(patches
(cons (search-patch "gtk3-fix-deprecation-macro-use.patch")
(origin-patches (package-source gtk+))))))))
;;; ;;;
;;; Guile bindings. ;;; Guile bindings.
;;; ;;;

View File

@ -103,6 +103,12 @@
(substitute* "ice-9/popen.scm" (substitute* "ice-9/popen.scm"
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
#t))))) #t)))))
;; When cross-compiling, a native version of Guile itself is needed.
(native-inputs (if (%current-target-system)
`(("self" ,this-package))
'()))
(inputs `(("gawk" ,gawk) (inputs `(("gawk" ,gawk)
("readline" ,readline))) ("readline" ,readline)))
@ -111,9 +117,6 @@
(propagated-inputs `(("gmp" ,gmp) (propagated-inputs `(("gmp" ,gmp)
("libltdl" ,libltdl))) ("libltdl" ,libltdl)))
;; When cross-compiling, a native version of Guile itself is needed.
(self-native-input? #t)
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "GUILE_LOAD_PATH") (variable "GUILE_LOAD_PATH")
@ -141,7 +144,12 @@ without requiring the source code to be rewritten.")
(base32 (base32
"10lxc6l5alf3lzbs3ihnbfy6dfcrsyf8667wa57f26vf4mk2ai78")))) "10lxc6l5alf3lzbs3ihnbfy6dfcrsyf8667wa57f26vf4mk2ai78"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkgconfig" ,pkg-config)))
;; When cross-compiling, a native version of Guile itself is needed.
(native-inputs `(,@(if (%current-target-system)
`(("self" ,this-package))
'())
("pkgconfig" ,pkg-config)))
(inputs `(("libffi" ,libffi) (inputs `(("libffi" ,libffi)
,@(libiconv-if-needed) ,@(libiconv-if-needed)
@ -165,8 +173,6 @@ without requiring the source code to be rewritten.")
("bdw-gc" ,libgc) ("bdw-gc" ,libgc)
("gmp" ,gmp))) ("gmp" ,gmp)))
(self-native-input? #t)
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
@ -207,20 +213,6 @@ without requiring the source code to be rewritten.")
(home-page "https://www.gnu.org/software/guile/") (home-page "https://www.gnu.org/software/guile/")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public guile-2.0.13
;; For testing a "minimal" Guix
(hidden-package
(package (inherit guile-2.0)
(name "guile")
(version "2.0.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile/guile-" version
".tar.xz"))
(sha256
(base32
"12yqkr974y91ylgw6jnmci2v90i90s7h9vxa4zk0sai8vjnz4i1p")))))))
(define-public guile-2.2 (define-public guile-2.2
(package (inherit guile-2.0) (package (inherit guile-2.0)
(name "guile") (name "guile")

View File

@ -38,14 +38,14 @@
(define-public ddcutil (define-public ddcutil
(package (package
(name "ddcutil") (name "ddcutil")
(version "0.9.4") (version "0.9.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/" (uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz")) "ddcutil-" version ".tar.gz"))
(sha256 (sha256
(base32 "1jqfip43sx3dnx86znmpy8dj4ikkfpgf8npgq66s7hqwwa99i7zc")))) (base32 "18brwj54dkjylvpx7c6ksf7fzhdjffi60avyg7qbs8vw9awnsxqz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -148,9 +148,9 @@ Haskell test framework.")
"https://github.com/feuerbach/tasty-golden") "https://github.com/feuerbach/tasty-golden")
(synopsis "Golden tests support for tasty") (synopsis "Golden tests support for tasty")
(description (description
"This package provides support for 'golden testing'. A @dfn{golden test} "This package provides support for @code{golden testing}. A @dfn{golden
is an IO action that writes its result to a file. To pass the test, this test} is an IO action that writes its result to a file. To pass the test, this
output file should be identical to the corresponding 'golden' file, which output file should be identical to the corresponding @code{golden} file, which
contains the correct result for the test.") contains the correct result for the test.")
(license license:expat))) (license license:expat)))

View File

@ -1157,7 +1157,7 @@ them.")
(synopsis (synopsis
"Support for manipulating Haskell source code") "Support for manipulating Haskell source code")
(description (description
"The 'haskell-src' package provides support for manipulating Haskell "The @code{haskell-src} package provides support for manipulating Haskell
source code. The package provides a lexer, parser and pretty-printer, and a source code. The package provides a lexer, parser and pretty-printer, and a
definition of a Haskell abstract syntax tree (AST). Common uses of this definition of a Haskell abstract syntax tree (AST). Common uses of this
package are to parse or generate Haskell 98 code.") package are to parse or generate Haskell 98 code.")
@ -2360,11 +2360,11 @@ literals.")
"Compression and decompression in the gzip and zlib formats") "Compression and decompression in the gzip and zlib formats")
(description (description
"This package provides a pure interface for compressing and decompressing "This package provides a pure interface for compressing and decompressing
streams of data represented as lazy 'ByteString's. It uses the zlib C library streams of data represented as lazy @code{ByteString}s. It uses the zlib C
so it has high performance. It supports the 'zlib', 'gzip' and 'raw' library so it has high performance. It supports the @code{zlib}, @code{gzip}
compression formats. It provides a convenient high level API suitable for and @code{raw} compression formats. It provides a convenient high level API
most tasks and for the few cases where more control is needed it provides suitable for most tasks and for the few cases where more control is needed it
access to the full zlib feature set.") provides access to the full zlib feature set.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-stm (define-public ghc-stm
@ -2467,7 +2467,7 @@ are not exception safe and can be broken by @code{killThread}.")
"An efficient packed, immutable Unicode text type (both strict and "An efficient packed, immutable Unicode text type (both strict and
lazy), with a powerful loop fusion optimization framework. lazy), with a powerful loop fusion optimization framework.
The 'Text' type represents Unicode character strings, in a time and The @code{Text} type represents Unicode character strings, in a time and
space-efficient manner. This package provides text processing space-efficient manner. This package provides text processing
capabilities that are optimized for performance critical use, both capabilities that are optimized for performance critical use, both
in terms of large data quantities and high speed.") in terms of large data quantities and high speed.")
@ -3800,10 +3800,10 @@ writing to stdout and other handles.")
"https://github.com/basvandijk/case-insensitive") "https://github.com/basvandijk/case-insensitive")
(synopsis "Case insensitive string comparison") (synopsis "Case insensitive string comparison")
(description (description
"The module 'Data.CaseInsensitive' provides the 'CI' type constructor "The module @code{Data.CaseInsensitive} provides the @code{CI} type
which can be parameterised by a string-like type like: 'String', 'ByteString', constructor which can be parameterised by a string-like type like:
'Text', etc.. Comparisons of values of the resulting type will be insensitive @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
to cases.") the resulting type will be insensitive to cases.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-syb (define-public ghc-syb
@ -3830,7 +3830,7 @@ to cases.")
(description "This package contains the generics system described in the (description "This package contains the generics system described in the
/Scrap Your Boilerplate/ papers (see /Scrap Your Boilerplate/ papers (see
@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
defines the 'Data' class of types permitting folding and unfolding of defines the @code{Data} class of types permitting folding and unfolding of
constructor applications, instances of this class for primitive types, and a constructor applications, instances of this class for primitive types, and a
variety of traversals.") variety of traversals.")
(license license:bsd-3))) (license license:bsd-3)))
@ -4323,8 +4323,8 @@ interface.")
"https://github.com/haskell/network-uri") "https://github.com/haskell/network-uri")
(synopsis "Library for URI manipulation") (synopsis "Library for URI manipulation")
(description "This package provides an URI manipulation interface. In (description "This package provides an URI manipulation interface. In
'network-2.6' the 'Network.URI' module was split off from the 'network' @code{network-2.6} the @code{Network.URI} module was split off from the
package into this package.") @code{network} package into this package.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-ansi-terminal (define-public ghc-ansi-terminal
@ -5724,7 +5724,7 @@ using a simple box model.")
(description (description
"This package provides a @code{GHC.Generics}-based "This package provides a @code{GHC.Generics}-based
@code{Control.DeepSeq.Generics.genericRnf} function which can be used for @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
providing an 'rnf' implementation.") providing an @code{rnf} implementation.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-string-qq (define-public ghc-string-qq
@ -9430,7 +9430,7 @@ the community, with the missing features being added with pull-requests.")
`(("ghc-rebase" ,ghc-rebase))) `(("ghc-rebase" ,ghc-rebase)))
(home-page "https://github.com/nikita-volkov/rerebase") (home-page "https://github.com/nikita-volkov/rerebase")
(synopsis "Reexports from ``base'' with many other standard libraries") (synopsis "Reexports from ``base'' with many other standard libraries")
(description "A rich drop-in replacement for ``base''. For details and (description "A rich drop-in replacement for @code{base}. For details and
documentation please visit @uref{https://github.com/nikita-volkov/rerebase, documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
the project's home page}.") the project's home page}.")
(license license:expat))) (license license:expat)))

View File

@ -198,29 +198,6 @@ APNG patch provides APNG support to libpng.")
(base32 (base32
"1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl")))))) "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl"))))))
(define-public r-png
(package
(name "r-png")
(version "0.1-7")
(source (origin
(method url-fetch)
(uri (cran-uri "png" version))
(sha256
(base32
"0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"))))
(build-system r-build-system)
(inputs
`(("libpng" ,libpng)
("zlib" ,zlib)))
(home-page "http://www.rforge.net/png/")
(synopsis "Read and write PNG images")
(description
"This package provides an easy and simple way to read, write and display
bitmap images stored in the PNG format. It can read and write both files and
in-memory raw vectors.")
;; Any of these GPL versions.
(license (list license:gpl2 license:gpl3))))
(define-public pngcrush (define-public pngcrush
(package (package
(name "pngcrush") (name "pngcrush")
@ -568,7 +545,7 @@ arithmetic ops.")
(arguments '(#:configure-flags '("--disable-static"))) (arguments '(#:configure-flags '("--disable-static")))
(synopsis "Decoder of the JBIG2 image compression format") (synopsis "Decoder of the JBIG2 image compression format")
(description (description
"JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit "JBIG2 is designed for lossy or lossless encoding of @code{bilevel} (1-bit
monochrome) images at moderately high resolution, and in particular scanned monochrome) images at moderately high resolution, and in particular scanned
paper documents. In this domain it is very efficient, offering compression paper documents. In this domain it is very efficient, offering compression
ratios on the order of 100:1. ratios on the order of 100:1.

View File

@ -418,7 +418,7 @@ documentation.")
(home-page "https://community.kde.org/Frameworks") (home-page "https://community.kde.org/Frameworks")
(synopsis "Qt 5 addon providing access to numerous types of archives") (synopsis "Qt 5 addon providing access to numerous types of archives")
(description "KArchive provides classes for easy reading, creation and (description "KArchive provides classes for easy reading, creation and
manipulation of 'archive' formats like ZIP and TAR. manipulation of @code{archive} formats like ZIP and TAR.
It also provides transparent compression and decompression of data, like the It also provides transparent compression and decompression of data, like the
GZip format, via a subclass of QIODevice.") GZip format, via a subclass of QIODevice.")
@ -2585,8 +2585,9 @@ in applications using the KDE Frameworks.")
(synopsis "Library to speed up start of applications on KDE workspaces") (synopsis "Library to speed up start of applications on KDE workspaces")
(description "Kdeinit is a process launcher similar to init used for booting (description "Kdeinit is a process launcher similar to init used for booting
UNIX. It launches processes by forking and then loading a dynamic library which UNIX. It launches processes by forking and then loading a dynamic library which
contains a 'kdemain(...)' function. Using kdeinit to launch KDE applications contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
makes starting KDE applications faster and reduces memory consumption.") applications makes starting KDE applications faster and reduces memory
consumption.")
;; dual licensed ;; dual licensed
(license (list license:lgpl2.0+ license:lgpl2.1+)))) (license (list license:lgpl2.0+ license:lgpl2.1+))))

View File

@ -415,8 +415,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.") It has been modified to remove all non-free binary blobs.")
(license license:gpl2))) (license license:gpl2)))
(define %linux-libre-version "5.0.3") (define %linux-libre-version "5.0.5")
(define %linux-libre-hash "1ivdqr3y8r2hmv3a1g0a641cr2ckl3x4arapw0j6nwd0sbcyncam") (define %linux-libre-hash "1yivxqprxfzhzid4qv9hpnb5i38kijrj2g2pyzz7niliya1c58li")
(define %linux-libre-5.0-patches (define %linux-libre-5.0-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -429,8 +429,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-5.0-patches #:patches %linux-libre-5.0-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.30") (define %linux-libre-4.19-version "4.19.32")
(define %linux-libre-4.19-hash "1i15cs7zb53hagllgga8jaz0j1p9b22j93iczwc2w587zzhzlvng") (define %linux-libre-4.19-hash "19bryl8nmnnnrfh91pc8q9yiayh5ca2nb6b32qyx6riahc5dy0i9")
(define %linux-libre-4.19-patches (define %linux-libre-4.19-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -443,8 +443,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches #:patches %linux-libre-4.19-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.107") (define %linux-libre-4.14-version "4.14.109")
(define %linux-libre-4.14-hash "19i17b8sjjvi99vya1vncjalysdy027hp35rrla68gjs28dyas7r") (define %linux-libre-4.14-hash "05xnnyfiypg4sdcnh42wvg7h72ar8xx98dik12sgwysnfldi0gk9")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (make-linux-libre %linux-libre-4.14-version
@ -453,14 +453,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.164" (make-linux-libre "4.9.166"
"06bbynvijqlk92bpppmnjijyfwr0sk01krqdw4hpgbrvlg3wdlbk" "1gijzvhky3x0nl0dm9ksg113z7jc1mc1n30qbr6r1dd78lfd050p"
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.176" (make-linux-libre "4.4.177"
"0c300zqmsadahs2fpzxh6cn7q3h7jxq69msd17rh8v3wnvql8vzx" "0vvppw7j6jwn3cd5hhzgj5xfqkmz682zy36iyr6ynd0rbh1j7bhm"
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -2003,9 +2003,46 @@ system.")
(description (description
"This package contains keytable files and keyboard utilities compatible "This package contains keytable files and keyboard utilities compatible
for systems using the Linux kernel. This includes commands such as for systems using the Linux kernel. This includes commands such as
'loadkeys', 'setfont', 'kbdinfo', and 'chvt'.") @code{loadkeys}, @code{setfont}, @code{kbdinfo}, and @code{chvt}.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public loadkeys-static
(package
(inherit kbd)
(name "loadkeys-static")
(arguments
(substitute-keyword-arguments (package-arguments kbd)
((#:configure-flags flags ''())
`(append '("LDFLAGS=-static" "--disable-shared" "--disable-nls"
"--disable-vlock" ;so we don't need libpam
"--disable-libkeymap")
,flags))
((#:make-flags flags ''())
`(cons "LDFLAGS=-all-static" ,flags))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; The binary keeps references to gzip, among other things,
;; which we don't need in the initrd, so strip references.
(remove-store-references "src/loadkeys")
(install-file "src/loadkeys"
(string-append out "/bin"))
#t)))
(delete 'post-install)))
((#:strip-flags _ '())
''("--strip-all"))
((#:allowed-references _ '())
'())))
(synopsis "Statically-linked @command{loadkeys} program")
;; This package is meant to be used internally in the initrd so don't
;; expose it.
(properties '((hidden? . #t)))))
(define-public inotify-tools (define-public inotify-tools
(package (package
(name "inotify-tools") (name "inotify-tools")
@ -2272,7 +2309,7 @@ mapper. Kernel components are part of Linux-libre.")
#:tests? #f)) #:tests? #f))
(synopsis "Tools for manipulating Linux Wireless Extensions") (synopsis "Tools for manipulating Linux Wireless Extensions")
(description "Wireless Tools are used to manipulate the now-deprecated (description "Wireless Tools are used to manipulate the now-deprecated
Linux Wireless Extensions; consider using 'iw' instead. The Wireless Linux Wireless Extensions; consider using @code{iw} instead. The Wireless
Extension was an interface allowing you to set Wireless LAN specific Extension was an interface allowing you to set Wireless LAN specific
parameters and get the specific stats. It is deprecated in favor the nl80211 parameters and get the specific stats. It is deprecated in favor the nl80211
interface.") interface.")
@ -2630,7 +2667,7 @@ in a digital read-out.")
with support in the Linux kernel. perf can instrument CPU performance with support in the Linux kernel. perf can instrument CPU performance
counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable
of lightweight profiling. This package contains the user-land tools and in of lightweight profiling. This package contains the user-land tools and in
particular the 'perf' command.") particular the @code{perf} command.")
(license (package-license linux-libre)))) (license (package-license linux-libre))))
(define-public pflask (define-public pflask
@ -3986,8 +4023,8 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(home-page "https://www.kernel.org/pub/linux/utils/kernel/module-init-tools/") (home-page "https://www.kernel.org/pub/linux/utils/kernel/module-init-tools/")
(synopsis "Tools for loading and managing Linux kernel modules") (synopsis "Tools for loading and managing Linux kernel modules")
(description (description
"Tools for loading and managing Linux kernel modules, such as `modprobe', "Tools for loading and managing Linux kernel modules, such as
`insmod', `lsmod', and more.") @code{modprobe}, @code{insmod}, @code{lsmod}, and more.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public mcelog (define-public mcelog
@ -4274,6 +4311,45 @@ set the screen to be pitch black at a vaĺue of 0 (or higher).
Light is the successor of lightscript.") Light is the successor of lightscript.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public brightnessctl
(let ((commit "6a791e7694aeeb5d027f71c6098e5182cf03371c"))
(package
(name "brightnessctl")
(version (git-version "0.4" "0" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Hummer12007/brightnessctl/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1n1gb8ldgqv3vs565yhk1w4jfvrviczp94r8wqlkv5q6ab43c8w9"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output)
(string-append "UDEVDIR=" %output "/lib/udev/rules.d/"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'adjust-udev-rules
(lambda _
(substitute* "90-brightnessctl.rules"
(("/bin/") "/run/current-system/profile/bin/"))
#t)))))
(home-page "https://github.com/Hummer12007/brightnessctl")
(synopsis "Backlight and LED brightness control")
(description
"This program allows you read and control device brightness. Devices
include backlight and LEDs. It can also preserve current brightness before
applying the operation, such as on lid close.
The appropriate permissions must be set on the backlight or LED control
interface in sysfs, which can be accomplished with the included udev rules.")
(license license:expat))))
(define-public tlp (define-public tlp
(package (package
(name "tlp") (name "tlp")

View File

@ -96,10 +96,10 @@
(synopsis "Linux Infrared Remote Control") (synopsis "Linux Infrared Remote Control")
(description (description
"LIRC allows computers to send and receive IR signals of many commonly "LIRC allows computers to send and receive IR signals of many commonly
used remote controls. The most important part of LIRC is the 'lircd' daemon used remote controls. The most important part of LIRC is the @code{lircd}
that decodes IR signals received by the device drivers. The second daemon daemon that decodes IR signals received by the device drivers. The second
program 'lircmd' allows to translate IR signals to mouse movements. The daemon program @code{lircmd} allows to translate IR signals to mouse movements.
user space applications allow you to control your computer with a remote The user space applications allow you to control your computer with a remote
control: you can send X events to applications, start programs and much more control: you can send X events to applications, start programs and much more
on just one button press.") on just one button press.")
(license license:gpl2+))) (license license:gpl2+)))

View File

@ -1467,7 +1467,7 @@ compressor. It works on data produced by @code{parse-js} to generate a
@item reduce variable names (usually to single letters) @item reduce variable names (usually to single letters)
@item join consecutive @code{var} statements @item join consecutive @code{var} statements
@item resolve simple binary expressions @item resolve simple binary expressions
@item group most consecutive statements using the ``sequence'' operator (comma) @item group most consecutive statements using the @code{sequence} operator (comma)
@item remove unnecessary blocks @item remove unnecessary blocks
@item convert @code{IF} expressions in various ways that result in smaller code @item convert @code{IF} expressions in various ways that result in smaller code
@item remove some unreachable code @item remove some unreachable code

View File

@ -626,28 +626,6 @@ adaptive sparsity and the Wong algorithm for adaptively sparse gaussian
geometric models.") geometric models.")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public r-kernlab
(package
(name "r-kernlab")
(version "0.9-27")
(source
(origin
(method url-fetch)
(uri (cran-uri "kernlab" version))
(sha256
(base32
"1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn"))))
(build-system r-build-system)
(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
classification, regression, clustering, novelty detection, quantile regression
and dimensionality reduction. Among other methods @code{kernlab} includes
Support Vector Machines, Spectral Clustering, Kernel PCA, Gaussian Processes
and a QP solver.")
(license license:gpl2)))
(define-public dlib (define-public dlib
(package (package
(name "dlib") (name "dlib")

View File

@ -1287,7 +1287,7 @@ facilities for checking incoming mail.")
(define-public dovecot (define-public dovecot
(package (package
(name "dovecot") (name "dovecot")
(version "2.3.5") (version "2.3.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1295,7 +1295,8 @@ facilities for checking incoming mail.")
(version-major+minor version) "/" (version-major+minor version) "/"
"dovecot-" version ".tar.gz")) "dovecot-" version ".tar.gz"))
(sha256 (sha256
(base32 "1zxa9banams9nmk99sf1rqahr11cdqxhwi7hyz3ddxqidpn15qdz")))) (base32
"0gy3qzwbp6zsyn44pcfq8iiv9iy9q7z6py30h60alb1vkr3rv3yp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -1148,7 +1148,7 @@ can be used as backgrounds in the MATE Desktop environment.")
@item Allows you to set basic rules for a window type, such as maximise|undecorate @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 @item Allows exceptions to the rules, based on string matching for window name
and window class. and window class.
@item Allows 'reversing' of rules when the user manually changes something: @item Allows @code{reversing} of rules when the user manually changes something:
Re-decorates windows on un-maximise. Re-decorates windows on un-maximise.
@end enumerate\n") @end enumerate\n")
(license license:gpl3+))) (license license:gpl3+)))

View File

@ -887,121 +887,130 @@ extremely large and complex data collections.")
(define-public hdf-java (define-public hdf-java
(package (package
(name "hdf-java") (name "hdf-java")
(version "3.3.2") (version "3.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-" "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-"
version "/src/CMake-hdfjava-" version ".tar.gz")) version "/src/CMake-hdfjava-" version ".tar.gz"))
(sha256 (sha256
(base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr")) (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet ; Make sure we don't use the bundled sources and binaries. (snippet ; Make sure we don't use the bundled sources and binaries.
`(begin `(begin
(for-each delete-file (for-each delete-file
(list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz" (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz"
"HDF4.tar.gz" "HDF5.tar.gz")) "HDF4.tar.gz" "HDF5.tar.gz"))
(delete-file-recursively ,(string-append "hdfjava-" version "/lib")) (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("jdk" ,icedtea "jdk") `(("jdk" ,icedtea "jdk")
("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'. ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'.
;; For tests: ;; For tests:
("hamcrest-core" ,java-hamcrest-core) ("hamcrest-core" ,java-hamcrest-core)
("junit" ,java-junit) ("junit" ,java-junit)
("slf4j-simple" ,java-slf4j-simple))) ("slf4j-simple" ,java-slf4j-simple)))
(inputs (inputs
`(("hdf4" ,hdf4) `(("hdf4" ,hdf4)
("hdf5" ,hdf5) ("hdf5" ,hdf5)
("zlib" ,zlib) ("zlib" ,zlib)
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("slf4j-api" ,java-slf4j-api))) ("slf4j-api" ,java-slf4j-api)))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--target=" ,(or (%current-target-system) (%current-system))) (list (string-append "--target=" ,(or (%current-target-system) (%current-system)))
(string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include," (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include,"
(assoc-ref %build-inputs "jdk") "/lib" ) (assoc-ref %build-inputs "jdk") "/lib" )
(string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib") (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib")
(string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib")) (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib"))
#:make-flags #:make-flags
(list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib") (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib")
(string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib") (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib")
(string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so") (string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so")
(string-append "JPEGLIB=" (string-append "JPEGLIB="
(assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so") (assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so")
"LLEXT=so") "LLEXT=so")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'chdir-to-source (add-before 'configure 'chdir-to-source
(lambda _ (chdir ,(string-append "hdfjava-" version)))) (lambda _ (chdir ,(string-append "hdfjava-" version)) #t))
(add-before 'configure 'patch-build (add-before 'configure 'patch-build
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "configure" (substitute* "configure"
(("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles
(("/bin/cat") (which "cat"))) (("/bin/cat") (which "cat")))
;; Set classpath for compilation ;; Set classpath for compilation
(substitute* '("hdf/hdf5lib/Makefile.in" (substitute* '("hdf/hdf5lib/Makefile.in"
"hdf/hdf5lib/exceptions/Makefile.in" "hdf/hdf5lib/exceptions/Makefile.in"
"hdf/hdflib/Makefile.in") "hdf/hdflib/Makefile.in")
(("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar") (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar")
(string-append (assoc-ref inputs "slf4j-api") (string-append (assoc-ref inputs "slf4j-api")
"/share/java/slf4j-api.jar"))) "/share/java/slf4j-api.jar")))
;; Replace outdated config.sub and config.guess: ;; Replace outdated config.sub and config.guess:
(with-directory-excursion "config" (with-directory-excursion "config"
(for-each (lambda (file) (for-each (lambda (file)
(copy-file (install-file
(string-append (assoc-ref inputs "automake") (string-append (assoc-ref inputs "automake")
"/share/automake-1.15/" file) file)) "/share/automake-"
'("config.sub" "config.guess"))) ,(version-major+minor (package-version automake))
(mkdir-p (string-append (assoc-ref outputs "out"))) "/" file) "."))
;; Set classpath for tests '("config.sub" "config.guess")))
(let* ((build-dir (getcwd))
(lib (string-append build-dir "/lib"))
(jhdf (string-append lib "/jhdf.jar"))
(jhdf5 (string-append lib "/jhdf5.jar"))
(testjars
(map (lambda (i)
(string-append (assoc-ref inputs i)
"/share/java/" i ".jar"))
'("junit" "hamcrest-core" "slf4j-api" "slf4j-simple")))
(class-path
(string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":")))
(substitute* '("test/hdf5lib/Makefile.in" ;; Fix embedded version number
"test/hdf5lib/junit.sh.in" (let ((hdf5version (list ,@(string-split (package-version hdf5) #\.))))
"examples/runExample.sh.in") (substitute* "hdf/hdf5lib/H5.java"
(("/usr/bin/test") (("1, 8, 19")
(string-append (assoc-ref inputs "coreutils") (string-join hdf5version ", "))))
"/bin/test"))
(("/usr/bin/uname")
(string-append (assoc-ref inputs "coreutils")
"/bin/uname"))
(("CLASSPATH=[^\n]*")
(string-append "CLASSPATH=" class-path)))
(setenv "CLASSPATH" class-path))
#t))
(add-before 'check 'build-examples
(lambda _
(zero? (apply system* `("javac"
,@(find-files "examples" ".*\\.java")))))))
#:parallel-build? #f (mkdir-p (string-append (assoc-ref outputs "out")))
;; Set classpath for tests
(let* ((build-dir (getcwd))
(lib (string-append build-dir "/lib"))
(jhdf (string-append lib "/jhdf.jar"))
(jhdf5 (string-append lib "/jhdf5.jar"))
(testjars
(map (lambda (i)
(string-append (assoc-ref inputs i)
"/share/java/" i ".jar"))
'("junit" "hamcrest-core" "slf4j-api" "slf4j-simple")))
(class-path
(string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":")))
#:parallel-tests? #f )) (substitute* '("test/hdf5lib/Makefile.in"
(home-page "https://support.hdfgroup.org/products/java") "test/hdf5lib/junit.sh.in"
(synopsis "Java interface for the HDF4 and HDF5 libraries") "examples/runExample.sh.in")
(description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use (("/usr/bin/test")
(string-append (assoc-ref inputs "coreutils")
"/bin/test"))
(("/usr/bin/uname")
(string-append (assoc-ref inputs "coreutils")
"/bin/uname"))
(("CLASSPATH=[^\n]*")
(string-append "CLASSPATH=" class-path)))
(setenv "CLASSPATH" class-path))
#t))
(add-before 'check 'build-examples
(lambda _
(apply invoke `("javac"
,@(find-files "examples" ".*\\.java"))))))
#:parallel-build? #f
#:parallel-tests? #f ))
(home-page "https://support.hdfgroup.org/products/java")
(synopsis "Java interface for the HDF4 and HDF5 libraries")
(description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use
the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are
implemented in C.") implemented in C.")
;; BSD-style license: ;; BSD-style license:
(license (license:x11-style (license (license:x11-style
"https://support.hdfgroup.org/ftp/HDF5/hdf-java\ "https://support.hdfgroup.org/ftp/HDF5/hdf-java\
/current/src/unpacked/COPYING")))) /current/src/unpacked/COPYING"))))
(define-public hdf-eos2 (define-public hdf-eos2

View File

@ -492,14 +492,14 @@ compromised.")
(define-public znc (define-public znc
(package (package
(name "znc") (name "znc")
(version "1.7.2") (version "1.7.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-" (uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ac2csl5jr56vahnxdynlvrhwlvcc1gqxvyifckc6cn5aj7ygd30")))) "0g8i5hsl4kinpz1wp0a2zniidv3w2sd6awq8676fds516wcc6k0y"))))
;; TODO: autotools support has been deprecated, and new features like i18n ;; TODO: autotools support has been deprecated, and new features like i18n
;; are only supported when building with cmake. ;; are only supported when building with cmake.
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -46,6 +46,6 @@
(synopsis "Minimalistic serial line terminal program") (synopsis "Minimalistic serial line terminal program")
(description "Microcom is a minimalistic terminal program for accessing (description "Microcom is a minimalistic terminal program for accessing
devices via a serial connection. It features connection via RS232 serial devices via a serial connection. It features connection via RS232 serial
interfaces (including setting of transfer rates) as well as in `telnetmode' interfaces (including setting of transfer rates) as well as in @code{telnetmode}
as specified in rfc2217 and a (Linux specific) CAN mode.") as specified in rfc2217 and a (Linux specific) CAN mode.")
(license gpl2+))) (license gpl2+)))

View File

@ -1630,7 +1630,7 @@ mixing, FFT scopes, MIDI automation and full scriptability in Scheme.")
(home-page "http://bristol.sourceforge.net/") (home-page "http://bristol.sourceforge.net/")
(synopsis "Synthesizer emulator") (synopsis "Synthesizer emulator")
(description (description
"Bristol is an emulation package for a number of different 'classic' "Bristol is an emulation package for a number of different @code{classic}
synthesizers including additive and subtractive and a few organs. The synthesizers including additive and subtractive and a few organs. The
application consists of the engine, which is called bristol, and its own GUI application consists of the engine, which is called bristol, and its own GUI
library called brighton that represents all the emulations. There are library called brighton that represents all the emulations. There are
@ -2002,7 +2002,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
(define-public zynaddsubfx (define-public zynaddsubfx
(package (package
(name "zynaddsubfx") (name "zynaddsubfx")
(version "3.0.3") (version "3.0.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2010,7 +2010,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
version "/zynaddsubfx-" version ".tar.bz2")) version "/zynaddsubfx-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1hfpiqdm337gl4ynkmmp2qss2m5z8mzqzjrbiyg6w1v4js7l9phi")))) "18m4ax0x06y1hx4g2g3gf02v0bldkrrb5m7fsr5jlfp1kvjd2j1x"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -30,7 +30,7 @@
(define-public nano (define-public nano
(package (package
(name "nano") (name "nano")
(version "3.2") (version "4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0jb3zq0v84xb0chyynkcp2jhs9660wmpkic294p4p6c96npp69yi")))) "1hxsx6qi7897d8bwkbnijlwvnn1dfy5pd1b7v2kj8ikq6pmcybqy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 ng0 <ng0@n0.is> ;;; Copyright © 2016 ng0 <ng0@n0.is>
@ -196,9 +196,11 @@
,patch-makefile-phase) ,patch-makefile-phase)
(add-after 'unpack 'remove-unneeded-shebang (add-after 'unpack 'remove-unneeded-shebang
,remove-shebang-phase))))) ,remove-shebang-phase)))))
(self-native-input? #t) ; for `tic'
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(,@(if (%current-target-system)
`(("self" ,this-package)) ;for `tic'
'())
("pkg-config" ,pkg-config)))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "TERMINFO_DIRS") (variable "TERMINFO_DIRS")

View File

@ -547,7 +547,7 @@ and up to 1 Mbit/s downstream.")
(define-public whois (define-public whois
(package (package
(name "whois") (name "whois")
(version "5.4.1") (version "5.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -555,7 +555,7 @@ and up to 1 Mbit/s downstream.")
name "_" version ".tar.xz")) name "_" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0l7chmlvsl22r5cfm6fpm999z2n3sjrnx3ha8f8kf42cn4gmkriy")))) "0mqzs0g2qxd29ihammisg9qf4503sr7d4zas26zjz4an78xkmqzf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no test suite `(#:tests? #f ; no test suite
@ -1108,8 +1108,8 @@ offline emulation of DNS.")
(home-page "https://metacpan.org/release/Geo-IP") (home-page "https://metacpan.org/release/Geo-IP")
(synopsis (synopsis
"Look up location and network information by IP Address in Perl") "Look up location and network information by IP Address in Perl")
(description "The Perl module 'Geo::IP'. It looks up location and network (description "The Perl module @code{Geo::IP}. It looks up location and
information by IP Address.") network information by IP Address.")
(license license:perl-license))) (license license:perl-license)))
(define-public perl-io-socket-inet6 (define-public perl-io-socket-inet6

View File

@ -1254,7 +1254,9 @@ coverage information.")
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments (arguments
`(#:tests? #f; require odoc `(#:tests? #f; require odoc
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "LIBDIR=" (assoc-ref %outputs "out")
"/lib/ocaml/site-lib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
@ -1724,28 +1726,26 @@ immutability.")
(define-public ocaml-alcotest (define-public ocaml-alcotest
(package (package
(name "ocaml-alcotest") (name "ocaml-alcotest")
(version "0.7.2") (version "0.8.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/mirage/alcotest/releases/" (uri (string-append "https://github.com/mirage/alcotest/releases/"
"download/" version "/alcotest-" version ".tbz")) "download/" version "/alcotest-" version ".tbz"))
(sha256 (sha256
(base32 (base32
"0g5lzk0gpfx4q8hyhr460gr4lab5wakfxsmhfwvb3yinxwzs95gc")))) "0szwjxvaahgynsx0apj81jxj3ki6yz4is9mh2wkcbx66qy7n6fvb"))))
(build-system ocaml-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:tests? #f `(#:package "alcotest"
#:build-flags (list "build") #:test-target "."))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs (native-inputs
`(("ocamlbuild" ,ocamlbuild) `(("ocamlbuild" ,ocamlbuild)))
("opam" ,opam)
("topkg" ,ocaml-topkg)))
(propagated-inputs (propagated-inputs
`(("fmt" ,ocaml-fmt) `(("ocaml-astring" ,ocaml-astring)
("astring" ,ocaml-astring))) ("ocaml-cmdliner" ,ocaml-cmdliner)
("ocaml-fmt" ,ocaml-fmt)
("ocaml-result" ,ocaml-result)
("ocaml-uuidm" ,ocaml-uuidm)))
(home-page "https://github.com/mirage/alcotest") (home-page "https://github.com/mirage/alcotest")
(synopsis "Lightweight OCaml test framework") (synopsis "Lightweight OCaml test framework")
(description "Alcotest exposes simple interface to perform unit tests. It (description "Alcotest exposes simple interface to perform unit tests. It
@ -1797,21 +1797,22 @@ simple (yet expressive) query language to select the tests to run.")
(define-public ocaml-react (define-public ocaml-react
(package (package
(name "ocaml-react") (name "ocaml-react")
(version "1.2.0") (version "1.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://erratique.ch/software/react/releases/react-" (uri (string-append "http://erratique.ch/software/react/releases/react-"
version ".tbz")) version ".tbz"))
(sha256 (base32 (sha256 (base32
"0knhgbngphv5sp1yskfd97crf169qhpc0igr6w7vqw0q36lswyl8")))) "1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(native-inputs (native-inputs
`(("ocamlbuild" ,ocamlbuild) `(("ocamlbuild" ,ocamlbuild)
("opam" ,opam))) ("opam" ,opam)
("ocaml-topkg" ,ocaml-topkg)))
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:build-flags (list "native=true" "native-dynlink=true") #:build-flags (list "build")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
@ -2015,14 +2016,14 @@ file system and is independent from any system library.")
(define-public ocaml-bos (define-public ocaml-bos
(package (package
(name "ocaml-bos") (name "ocaml-bos")
(version "0.1.4") (version "0.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://erratique.ch/software/bos/releases/" (uri (string-append "http://erratique.ch/software/bos/releases/"
"bos-" version ".tbz")) "bos-" version ".tbz"))
(sha256 (sha256
(base32 (base32
"1ly66lysk4w6mdy4k1n3ynlpfpq7lw4wshcpzgx58v6x613w5s7q")))) "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
@ -4790,7 +4791,7 @@ Atom.")
(define-public ocaml-gsl (define-public ocaml-gsl
(package (package
(name "ocaml-gsl") (name "ocaml-gsl")
(version "1.22.0") (version "1.24.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4800,10 +4801,22 @@ Atom.")
version "/gsl-" version ".tbz")) version "/gsl-" version ".tbz"))
(sha256 (sha256
(base32 (base32
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb")))) "1l5zkkkg8sglsihrbf10ivq9s8xzl1y6ag89i4jqpnmi4m43fy34"))))
(build-system ocaml-build-system) (build-system dune-build-system)
(arguments
`(#:test-target "."
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-gsl-directory
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/config/discover.ml"
(("/usr") (assoc-ref inputs "gsl")))
#t)))))
(inputs (inputs
`(("gsl" ,gsl))) `(("gsl" ,gsl)))
(propagated-inputs
`(("ocaml-base" ,ocaml-base)
("ocaml-stdio" ,ocaml-stdio)))
(home-page "https://mmottl.github.io/gsl-ocaml") (home-page "https://mmottl.github.io/gsl-ocaml")
(synopsis "Bindings to the GNU Scientific Library") (synopsis "Bindings to the GNU Scientific Library")
(description (description

View File

@ -78,6 +78,7 @@
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -109,8 +110,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to ;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this. ;; start precisely like this.
(let ((version "0.16.0") (let ((version "0.16.0")
(commit "2637cfd7a4894ef2a2a7da3bb46d8815c43d7e75") (commit "f970946c1d3dc6d20bd48ec6f42c82a43bb7696f")
(revision 10)) (revision 11))
(package (package
(name "guix") (name "guix")
@ -126,7 +127,7 @@
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1m734gm45x9czqspsagdfxfgw5wiiinyq1s6zc9gfv7d3b2w472k")) "0v7qj2i9n52l1di8vk15nqdrlapfc22pcf5jl56fp4mqpq48ddrj"))
(file-name (string-append "guix-" version "-checkout")))) (file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -409,10 +410,10 @@ generated file."
(make-parameter #f)) (make-parameter #f))
(define-public current-guix (define-public current-guix
(let* ((repository-root (canonicalize-path (let* ((repository-root (delay (canonicalize-path
(string-append (current-source-directory) (string-append (current-source-directory)
"/../.."))) "/../.."))))
(select? (delay (or (git-predicate repository-root) (select? (delay (or (git-predicate (force repository-root))
source-file?)))) source-file?))))
(lambda () (lambda ()
"Return a package representing Guix built from the current source tree. "Return a package representing Guix built from the current source tree.
@ -422,7 +423,7 @@ out) and returning a package that uses that as its 'source'."
(package (package
(inherit guix) (inherit guix)
(version (string-append (package-version guix) "+")) (version (string-append (package-version guix) "+"))
(source (local-file repository-root "guix-current" (source (local-file (force repository-root) "guix-current"
#:recursive? #t #:recursive? #t
#:select? (force select?)))))))) #:select? (force select?))))))))
@ -1018,7 +1019,11 @@ the bootloader configuration.")
(sha256 (sha256
(base32 (base32
"0i0dn3w3545lvmjlzqj3j70lk8yrq64r9frp1rk6a161gwq20ixv")))) "0i0dn3w3545lvmjlzqj3j70lk8yrq64r9frp1rk6a161gwq20ixv"))))
(build-system gnu-build-system)
;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
;; find the TLS backend in glib-networking.
(build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:tests? #f ;; Tests fail due to trying to create files where it can't. '(#:tests? #f ;; Tests fail due to trying to create files where it can't.
#:configure-flags (list #:configure-flags (list

View File

@ -0,0 +1,119 @@
This patch makes docker find out whether a filesystem type is supported
by trying to mount a filesystem of that type rather than invoking "modprobe".
See <https://github.com/moby/moby/pull/38930>.
--- docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go.orig 1970-01-01 01:00:00.000000000 +0100
+++ docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go 2019-03-19 09:16:03.487087490 +0100
@@ -8,7 +8,6 @@
"io"
"io/ioutil"
"os"
- "os/exec"
"path"
"path/filepath"
"strconv"
@@ -201,9 +200,16 @@
}
func supportsOverlay() error {
- // We can try to modprobe overlay first before looking at
- // proc/filesystems for when overlay is supported
- exec.Command("modprobe", "overlay").Run()
+ // Access overlay filesystem so that Linux loads it (if possible).
+ mountTarget, err := ioutil.TempDir("", "supportsOverlay")
+ if err != nil {
+ logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.")
+ return graphdriver.ErrNotSupported
+ } else {
+ /* The mounting will fail--after the module has been loaded.*/
+ defer os.RemoveAll(mountTarget)
+ unix.Mount("overlay", mountTarget, "overlay", 0, "")
+ }
f, err := os.Open("/proc/filesystems")
if err != nil {
--- docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go.orig 2019-03-18 23:42:23.728525231 +0100
+++ docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go 2019-03-19 08:54:31.411906113 +0100
@@ -10,7 +10,6 @@
"io"
"io/ioutil"
"os"
- "os/exec"
"path"
"path/filepath"
"strconv"
@@ -261,9 +260,16 @@
}
func supportsOverlay() error {
- // We can try to modprobe overlay first before looking at
- // proc/filesystems for when overlay is supported
- exec.Command("modprobe", "overlay").Run()
+ // Access overlay filesystem so that Linux loads it (if possible).
+ mountTarget, err := ioutil.TempDir("", "supportsOverlay2")
+ if err != nil {
+ logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.")
+ return graphdriver.ErrNotSupported
+ } else {
+ /* The mounting will fail--after the module has been loaded.*/
+ defer os.RemoveAll(mountTarget)
+ unix.Mount("overlay", mountTarget, "overlay", 0, "")
+ }
f, err := os.Open("/proc/filesystems")
if err != nil {
--- docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go.orig 2019-03-19 09:19:16.592844887 +0100
+++ docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go 2019-03-19 09:21:18.019361761 +0100
@@ -540,8 +539,14 @@
return err // error text is descriptive enough
}
- // Check if kernel supports xfs filesystem or not.
- exec.Command("modprobe", "xfs").Run()
+ mountTarget, err := ioutil.TempDir("", "supportsXFS")
+ if err != nil {
+ return errors.Wrapf(err, "error checking for xfs support")
+ } else {
+ /* The mounting will fail--after the module has been loaded.*/
+ defer os.RemoveAll(mountTarget)
+ unix.Mount("none", mountTarget, "xfs", 0, "")
+ }
f, err := os.Open("/proc/filesystems")
if err != nil {
--- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go.orig 2019-03-19 09:47:19.430111170 +0100
+++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go 2019-03-19 10:38:01.445136177 +0100
@@ -72,11 +71,12 @@
}
func probe() {
- if out, err := exec.Command("modprobe", "-va", "nf_nat").CombinedOutput(); err != nil {
- logrus.Warnf("Running modprobe nf_nat failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
+ path, err := exec.LookPath("iptables")
+ if err != nil {
+ return
}
- if out, err := exec.Command("modprobe", "-va", "xt_conntrack").CombinedOutput(); err != nil {
- logrus.Warnf("Running modprobe xt_conntrack failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
+ if out, err := exec.Command(path, "--wait", "-t", "nat", "-L", "-n").CombinedOutput(); err != nil {
+ logrus.Warnf("Running iptables --wait -t nat -L -n failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
}
}
--- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go.orig 2019-03-19 11:23:20.738316699 +0100
+++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go 2019-03-19 11:27:57.149753073 +0100
@@ -100,12 +100,7 @@
}
func loadXfrmModules() error {
- if out, err := exec.Command("modprobe", "-va", "xfrm_user").CombinedOutput(); err != nil {
- return fmt.Errorf("Running modprobe xfrm_user failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
- }
- if out, err := exec.Command("modprobe", "-va", "xfrm_algo").CombinedOutput(); err != nil {
- return fmt.Errorf("Running modprobe xfrm_algo failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
- }
+ // Those are automatically loaded when someone opens the socket anyway.
return nil
}

View File

@ -0,0 +1,43 @@
From fb56fbb706804215ef9af0cc575db97c373046c6 Mon Sep 17 00:00:00 2001
From: Brian Leung <bkleung89@gmail.com>
Date: Sun, 17 Mar 2019 01:32:04 +0100
Subject: [PATCH] This patch silences the byte-compiler.
---
zones.el | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/zones.el b/zones.el
index 1bf94f0..94fa9a6 100644
--- a/zones.el
+++ b/zones.el
@@ -1031,7 +1031,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
(defadvice narrow-to-defun (after zz-add-zone--defun activate)
"Push the defun limits to the current `zz-izones-var'.
@@ -1039,7 +1039,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
;; Call `zz-add-zone' if interactive or `zz-add-zone-anyway-p'.
;;
@@ -1049,7 +1049,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
;;(@* "General Commands")
--
2.21.0

View File

@ -0,0 +1,28 @@
Copied from <https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a>.
Fixes upstream bugs <https://gitlab.gnome.org/GNOME/gtk/issues/1523>
and <https://gitlab.gnome.org/GNOME/gtk/issues/1280>.
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow *window,
double r, g, b, a;
cairo_surface_t *surface;
cairo_matrix_t matrix;
+ cairo_pattern_t *parent_relative_pattern;
if (GDK_WINDOW_DESTROYED (window))
return;
@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow *window,
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- if (pattern == gdk_x11_get_parent_relative_pattern ())
+ parent_relative_pattern = gdk_x11_get_parent_relative_pattern ();
G_GNUC_END_IGNORE_DEPRECATIONS
+
+ if (pattern == parent_relative_pattern)
{
GdkWindow *parent;

View File

@ -1,38 +0,0 @@
This patch allows reptyr to build with gcc 7. It is taken from reptyr mainline patches
fa0d63f and b45fd92.
https://github.com/nelhage/reptyr/commit/fa0d63ff8c488be15976e5353580b565e85586a1
https://github.com/nelhage/reptyr/commit/b45fd9238958fcf2d8f3d6fc23e6d491febea2ac
Patch by Nelson Elhage <nelhage@nelhage.com>.
diff --git a/attach.c b/attach.c
index bd8ef8c..8d9cbf8 100644
--- a/attach.c
+++ b/attach.c
@@ -389,8 +389,11 @@ int setup_steal_socket(struct steal_pty_state *steal) {
return errno;
steal->addr_un.sun_family = AF_UNIX;
- snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path),
- "%s/reptyr.sock", steal->tmpdir);
+ if (snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path),
+ "%s/reptyr.sock", steal->tmpdir) >= sizeof(steal->addr_un.sun_path)) {
+ error("tmpdir path too long!");
+ return ENAMETOOLONG;
+ }
if ((steal->sockfd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0)
return errno;
diff --git a/platform/linux/linux.h b/platform/linux/linux.h
index 9e6b78a..3ec5a99 100644
--- a/platform/linux/linux.h
+++ b/platform/linux/linux.h
@@ -40,6 +40,7 @@
#include <sys/ptrace.h>
#include <asm/ptrace.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include <sys/user.h>
#include <unistd.h>
#include <stdlib.h>

View File

@ -216,7 +216,7 @@ refreshed, and more.")
#:python ,python-2)) ;not compatible with Python 3 #:python ,python-2)) ;not compatible with Python 3
(synopsis "Patch tracking tool") (synopsis "Patch tracking tool")
(description (description
"'Patches' is a patch-tracking tool initially written for the QEMU "@code{Patches} is a patch-tracking tool initially written for the QEMU
project. It provides commands that build a database of patches from a mailing project. It provides commands that build a database of patches from a mailing
list, and commands that can search that database. It allows users to track list, and commands that can search that database. It allows users to track
the status of a patch, apply patches, and search for patches---all that from the status of a patch, apply patches, and search for patches---all that from

View File

@ -801,9 +801,10 @@ to gmtime,time or localtime.")
(home-page "https://metacpan.org/release/Test-More-UTF8") (home-page "https://metacpan.org/release/Test-More-UTF8")
(synopsis "Enhance Test::More for UTF8-based projects") (synopsis "Enhance Test::More for UTF8-based projects")
(description "@code{Test::More::UTF8} is a simple extension for the widely (description "@code{Test::More::UTF8} is a simple extension for the widely
used @code{Test::More} module. By default, it will do a @code{binmode ':utf8'} used @code{Test::More} module. By default, it will do a @code{binmode
on all of @code{Test::Builder}'s output handles thus enabling the easy use @code{:utf8}} on all of @code{Test::Builder}'s output handles thus enabling the
flagged strings without warnings like \"Wide character in print @dots{}\"") easy use flagged strings without warnings like \"Wide character in print
@dots{}\"")
(license perl-license))) (license perl-license)))
(define-public perl-test-most (define-public perl-test-most

View File

@ -55,7 +55,7 @@ endeavor to implement this idea using modern technologies.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/URI-" (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/URI-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32

View File

@ -18,7 +18,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; ;;;
@ -387,7 +387,7 @@ error when it would have happened.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/" (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"base-" version ".tar.gz")) "base-" version ".tar.gz"))
(sha256 (sha256
(base32 "1pjxcbbcpwlgzm0fzsbqd58zn8cj9vwril1wn3xfd7ws550mixa0")))) (base32 "1pjxcbbcpwlgzm0fzsbqd58zn8cj9vwril1wn3xfd7ws550mixa0"))))
@ -733,7 +733,7 @@ to test the installed perl for compatibility with his modules.")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/R/RJ/RJBS/Carp-" "mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -821,7 +821,7 @@ Perl.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Carp-Clan-" version ".tar.gz")) "Carp-Clan-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -911,7 +911,7 @@ the same mk_accessors interface.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Class-Accessor-Grouped-" version ".tar.gz")) "Class-Accessor-Grouped-" version ".tar.gz"))
(sha256 (sha256
(base32 "1fy48hx56n5kdn1gz66awg465qf34r0n5jam64x7zxh9zhzb1m9m")))) (base32 "1fy48hx56n5kdn1gz66awg465qf34r0n5jam64x7zxh9zhzb1m9m"))))
@ -981,7 +981,7 @@ supporting the same interface, but using Class::C3 to do the hard work.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Class-C3-Componentised-" version ".tar.gz")) "Class-C3-Componentised-" version ".tar.gz"))
(sha256 (sha256
(base32 "14wn1g45z3b5apqq7dcai5drk01hfyqydsd2m6hsxzhyvi3b2l9h")))) (base32 "14wn1g45z3b5apqq7dcai5drk01hfyqydsd2m6hsxzhyvi3b2l9h"))))
@ -1027,7 +1027,7 @@ subclasses and can be overridden.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/" (uri (string-append "mirror://cpan/authors/id/Y/YA/YANICK/"
"Class-Date-" version ".tar.gz")) "Class-Date-" version ".tar.gz"))
(sha256 (sha256
(base32 "1h7dfjxkpqbfymrf1bn7699i4fx6pbv5wvvi5zszfr8sqqkax1yf")))) (base32 "1h7dfjxkpqbfymrf1bn7699i4fx6pbv5wvvi5zszfr8sqqkax1yf"))))
@ -1190,11 +1190,11 @@ write accessor methods for your objects that perform standard tasks.")
("perl-test-requires" ,perl-test-requires))) ("perl-test-requires" ,perl-test-requires)))
(home-page "https://metacpan.org/release/Class-Method-Modifiers") (home-page "https://metacpan.org/release/Class-Method-Modifiers")
(synopsis "Moose-like method modifiers") (synopsis "Moose-like method modifiers")
(description "Class::Method::Modifiers provides three modifiers: 'before', (description "Class::Method::Modifiers provides three modifiers:
'around', and 'after'. 'before' and 'after' are run just before and after the @code{before}, @code{around}, and @code{after}. @code{before} and @code{after}
method they modify, but can not really affect that original method. 'around' are run just before and after the method they modify, but can not really affect
is run in place of the original method, with a hook to easily call that that original method. @code{around} is run in place of the original method,
original method.") with a hook to easily call that original method.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-class-singleton (define-public perl-class-singleton
@ -2216,7 +2216,7 @@ time before its creation (in 1582).")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PI/PIJLL/" (uri (string-append "mirror://cpan/authors/id/W/WY/WYANT/"
"DateTime-Calendar-Julian-" version ".tar.gz")) "DateTime-Calendar-Julian-" version ".tar.gz"))
(sha256 (sha256
(base32 "0gbw7rh706qk5jlmmz3yzsm0ilzp39kyar28g4j6d57my8cwaipx")))) (base32 "0gbw7rh706qk5jlmmz3yzsm0ilzp39kyar28g4j6d57my8cwaipx"))))
@ -2938,7 +2938,7 @@ input a message of arbitrary length and produces as output a
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Perl implementation of the SHA-1 message digest algorithm") (synopsis "Perl implementation of the SHA-1 message digest algorithm")
(description (description
"This package provides 'Digest::SHA1', an implementation of the NIST "This package provides @code{Digest::SHA1}, an implementation of the NIST
SHA-1 message digest algorithm for use by Perl programs.") SHA-1 message digest algorithm for use by Perl programs.")
(home-page "https://metacpan.org/release/Digest-SHA1") (home-page "https://metacpan.org/release/Digest-SHA1")
(license (package-license perl)))) (license (package-license perl))))
@ -3481,7 +3481,7 @@ provide a quick dropin when such functionality is needed.")
(home-page "https://metacpan.org/release/File-HomeDir") (home-page "https://metacpan.org/release/File-HomeDir")
(synopsis "Find your home and other directories on any platform") (synopsis "Find your home and other directories on any platform")
(description "File::HomeDir is a module for locating the directories that (description "File::HomeDir is a module for locating the directories that
are \"owned\" by a user (typically your user) and to solve the various issues are @code{owned} by a user (typically your user) and to solve the various issues
that arise trying to find them consistently across a wide variety of that arise trying to find them consistently across a wide variety of
platforms.") platforms.")
(license (package-license perl)))) (license (package-license perl))))
@ -3747,7 +3747,7 @@ slurping and spewing. All functions are optionally exported.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"File-Temp-" version ".tar.gz")) "File-Temp-" version ".tar.gz"))
(sha256 (sha256
(base32 "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1")))) (base32 "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1"))))
@ -4266,8 +4266,8 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.")
(home-page "https://metacpan.org/release/IO-Tty") (home-page "https://metacpan.org/release/IO-Tty")
(synopsis "Perl interface to pseudo ttys") (synopsis "Perl interface to pseudo ttys")
(description (description
"This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to "This package provides the @code{IO::Pty} and @code{IO::Tty} Perl
pseudo ttys.") interfaces to pseudo ttys.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-ipc-cmd (define-public perl-ipc-cmd
@ -4515,7 +4515,7 @@ versa.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Log-Any-" (uri (string-append "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1wb55ib4gvk8h5pjb6hliqg7li1xjk420q3w5r33f9p1ps60ylbl")))) (base32 "1wb55ib4gvk8h5pjb6hliqg7li1xjk420q3w5r33f9p1ps60ylbl"))))
@ -4533,7 +4533,7 @@ application, in turn, may choose one or more logging mechanisms via
@code{Log::Any} has a very tiny footprint and no dependencies beyond Perl @code{Log::Any} has a very tiny footprint and no dependencies beyond Perl
itself, which makes it appropriate for even small CPAN modules to use. It itself, which makes it appropriate for even small CPAN modules to use. It
defaults to 'null' logging activity, so a module can safely log without defaults to @code{null} logging activity, so a module can safely log without
worrying about whether the application has chosen (or will ever choose) a worrying about whether the application has chosen (or will ever choose) a
logging mechanism.") logging mechanism.")
(license (package-license perl)))) (license (package-license perl))))
@ -4606,7 +4606,7 @@ widely popular (Java-based) Log4j logging package in pure Perl.")
"This module allows libraries to have a dependency to a small module "This module allows libraries to have a dependency to a small module
instead of the full Log-Report distribution. The full power of instead of the full Log-Report distribution. The full power of
@code{Log::Report} is only released when the main program uses that module. @code{Log::Report} is only released when the main program uses that module.
In that case, the module using the 'Optional' will also use the full In that case, the module using the @code{Optional} will also use the full
@code{Log::Report}, otherwise the dressed-down @code{Log::Report::Minimal} @code{Log::Report}, otherwise the dressed-down @code{Log::Report::Minimal}
version.") version.")
(license (package-license perl)))) (license (package-license perl))))
@ -5274,7 +5274,7 @@ examine the contents, and perform some simple tasks. It can also load the
(home-page "https://metacpan.org/release/Module-Pluggable") (home-page "https://metacpan.org/release/Module-Pluggable")
(synopsis "Give your Perl module the ability to have plugins") (synopsis "Give your Perl module the ability to have plugins")
(description "This module provides a simple but extensible way of having (description "This module provides a simple but extensible way of having
'plugins' for your Perl module.") @code{plugins} for your Perl module.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-module-runtime (define-public perl-module-runtime
@ -5516,7 +5516,7 @@ sentences.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"MooseX-Emulate-Class-Accessor-Fast-" "MooseX-Emulate-Class-Accessor-Fast-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
@ -6226,7 +6226,7 @@ fields in Moo-based classes.")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/S/SY/SYOHEX/Mouse-v" "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v"
version version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
@ -6540,7 +6540,7 @@ number exists in a given range, and to be able to manipulate the range.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Object-Signature-" version ".tar.gz")) "Object-Signature-" version ".tar.gz"))
(sha256 (sha256
(base32 "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4")))) (base32 "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4"))))
@ -6635,7 +6635,7 @@ one or more modules.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Package-Stash-" version ".tar.gz")) "Package-Stash-" version ".tar.gz"))
(sha256 (sha256
(base32 "0zrs4byhlpq5ybnl0fd3y6pfzair6i2dyvzn7f7a7pgj9n2fi3n5")))) (base32 "0zrs4byhlpq5ybnl0fd3y6pfzair6i2dyvzn7f7a7pgj9n2fi3n5"))))
@ -6663,7 +6663,7 @@ of that behind a simple API.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Package-Stash-XS-" version ".tar.gz")) "Package-Stash-XS-" version ".tar.gz"))
(sha256 (sha256
(base32 "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk")))) (base32 "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk"))))
@ -7130,7 +7130,7 @@ of @code{ref}.")
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Provide commonly requested regular expressions") (synopsis "Provide commonly requested regular expressions")
(description (description
"This module exports a single hash (`%RE') that stores or generates "This module exports a single hash (@code{%RE}) that stores or generates
commonly needed regular expressions. Patterns currently provided include: commonly needed regular expressions. Patterns currently provided include:
balanced parentheses and brackets, delimited text (with escapes), integers and balanced parentheses and brackets, delimited text (with escapes), integers and
floating-point numbers in any base (up to 36), comments in 44 languages, floating-point numbers in any base (up to 36), comments in 44 languages,
@ -7790,7 +7790,7 @@ support for run-time mix-ins and roles.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/SVG-" (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/SVG-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1br8dwh2363s6r0qgy7vv30gv5kj456vj5m6x83savx4wzfnsggc")))) (base32 "1br8dwh2363s6r0qgy7vv30gv5kj456vj5m6x83savx4wzfnsggc"))))
@ -8612,7 +8612,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-" "mirror://cpan/authors/id/A/AT/ATOOMIC/Time-HiRes-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32

View File

@ -331,11 +331,12 @@ deserializing JSON.")
(synopsis "Provide simple serialisation/deserialisation of objects to/from JSON") (synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
(description "This is a simple role that provides methods to instantiate a (description "This is a simple role that provides methods to instantiate a
class from a JSON string that (hopefully,) represents it, and to serialise an class from a JSON string that (hopefully,) represents it, and to serialise an
object of the class to a JSON string. The JSON created from an instance should object of the class to a JSON string. The JSON created from an instance
round trip to a new instance with the same values for the @quot{public should round trip to a new instance with the same values for the public
attributes}. @quot{Private} attributes (that is ones without accessors,) will attributes. Private attributes (that is ones without accessors,) will be
be ignored for both serialisation and de-serialisation. The exact behaviour ignored for both serialisation and de-serialisation. The exact behaviour
depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal} respectively.") depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
respectively.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public perl6-json-fast (define-public perl6-json-fast
@ -492,13 +493,13 @@ licences therein.")
specification - the META file data can be read, created, parsed and written in a specification - the META file data can be read, created, parsed and written in a
manner that is conformant with the specification. manner that is conformant with the specification.
Where they are known about it also makes allowance for @quot{customary} usage in Where they are known about it also makes allowance for customary usage in
existing software (such as installers and so forth.) existing software (such as installers and so forth.)
The intent of this is allow the generation and testing of META files for module The intent of this is allow the generation and testing of META files for
authors, so it can provide meta-information whether the attributes are mandatory module authors, so it can provide meta-information whether the attributes are
as per the spec and where known the places that @quot{customary} attributes are mandatory as per the spec and where known the places that customary attributes
used.") are used.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public perl6-mime-base64 (define-public perl6-mime-base64

View File

@ -204,10 +204,13 @@ MTP, and much more.")
;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+. ;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+.
(license license:gpl2+))) (license license:gpl2+)))
;; Note: See <https://metacpan.org/pod/Image::ExifTool> for the latest
;; release. The versions at <https://www.sno.phy.queensu.ca/~phil/exiftool/>
;; are not meant for production use according to the Changes file.
(define-public perl-image-exiftool (define-public perl-image-exiftool
(package (package
(name "perl-image-exiftool") (name "perl-image-exiftool")
(version "11.31") (version "11.30")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -218,7 +221,7 @@ MTP, and much more.")
(string-append "https://www.sno.phy.queensu.ca/~phil/exiftool/" (string-append "https://www.sno.phy.queensu.ca/~phil/exiftool/"
"Image-ExifTool-" version ".tar.gz"))) "Image-ExifTool-" version ".tar.gz")))
(sha256 (sha256
(base32 "1kplb7hvhrhqxkr4ddc44q7a3fs0r8svv2jlh325nwkfi7aa5kz5")))) (base32 "0vkjb2c1a3jdlq8rx1jywx4p3f1bmgjn7rzfwx6dxgij2lx76lrs"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
'(#:phases '(#:phases

View File

@ -86,7 +86,7 @@
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags `(#:configure-flags
(let-syntax ((with (syntax-rules () (let-syntax ((with (syntax-rules ()
((_ option input) ((_ option input)
(string-append option "=" (string-append option "="
@ -182,6 +182,18 @@
(substitute* "ext/standard/tests/streams/bug60602.phpt" (substitute* "ext/standard/tests/streams/bug60602.phpt"
(("'ls'") (string-append "'" (which "ls") "'"))) (("'ls'") (string-append "'" (which "ls") "'")))
,@(if (string-prefix? "arm" (or (%current-system)
(%current-target-system)))
;; Drop tests known to fail on armhf.
'((for-each delete-file
(list
"ext/calendar/tests/unixtojd_error1.phpt"
;; arm can be a lot slower, so a time-related test fails
"ext/fileinfo/tests/cve-2014-3538-nojit.phpt"
"ext/pcre/tests/bug76514.phpt"
"ext/pcre/tests/preg_match_error3.phpt")))
'())
;; Drop tests that are known to fail. ;; Drop tests that are known to fail.
(for-each delete-file (for-each delete-file
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group. '("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group.

View File

@ -4,6 +4,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -162,7 +163,7 @@ different programming languages.")
(define-public fmt (define-public fmt
(package (package
(name "fmt") (name "fmt")
(version "4.1.0") (version "5.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -170,14 +171,10 @@ different programming languages.")
version "/fmt-" version ".zip")) version "/fmt-" version ".zip"))
(sha256 (sha256
(base32 (base32
"1swyqw3dn2vx5sw2yh5vk0vrvrkp7fv07cj4272yxl5rrq1byjcx")))) "0p51nhmvjniqlffmmb9djhprnclvm448f2vkdxymvxw307hl21sc"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
(arguments
`(#:configure-flags
(list (string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out") "/lib"))))
(home-page "http://fmtlib.net/") (home-page "http://fmtlib.net/")
(synopsis "Small and fast C++ formatting library") (synopsis "Small and fast C++ formatting library")
(description (description

View File

@ -2765,14 +2765,14 @@ Server (PLS).")
(define-public python-language-server (define-public python-language-server
(package (package
(name "python-language-server") (name "python-language-server")
(version "0.25.0") (version "0.26.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "python-language-server" version)) (uri (pypi-uri "python-language-server" version))
(sha256 (sha256
(base32 (base32
"1xabnaqd4n72myrc3mxl2y33vr2p7c9c5a87n77p9k327ckvdx01")))) "1vs9ckfmm534n1hq3m871916wsjvi5h4gyj6wlzg13ck6506lx0s"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-pluggy" ,python-pluggy) `(("python-pluggy" ,python-pluggy)
@ -5641,7 +5641,7 @@ It is written entirely in Python.")
(synopsis "Backport of additions to the 'collections.abc' module") (synopsis "Backport of additions to the 'collections.abc' module")
(description (description
"Python-backports-abc provides a backport of additions to the "Python-backports-abc provides a backport of additions to the
'collections.abc' module in Python-3.5.") @code{collections.abc} module in Python-3.5.")
(license license:psfl))) (license license:psfl)))
(define-public python2-backports-abc (define-public python2-backports-abc
@ -6072,14 +6072,14 @@ Python.")
(define-public python-markdown (define-public python-markdown
(package (package
(name "python-markdown") (name "python-markdown")
(version "3.0.1") (version "3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Markdown" version)) (uri (pypi-uri "Markdown" version))
(sha256 (sha256
(base32 (base32
"0z6v8649sr434d5r5zmrhydka7v7f9yas4bwcgkcs0650jdhybnh")))) "0l62x154r9mgdvfap06gf0nkrmjd7xixlfshsxcdif2nlrlnyjpw"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("python-nose" ,python-nose)
@ -6872,7 +6872,9 @@ Python's @code{ctypes} foreign function interface (FFI).")
(string-append "'" file "/lib/libmagic.so'"))) (string-append "'" file "/lib/libmagic.so'")))
#t)))))) #t))))))
(inputs `(("file" ,file))) (inputs `(("file" ,file)))
(self-native-input? #f) (native-inputs (if (%current-target-system)
`(("self" ,this-package))
'()))
(synopsis "Python bindings to the libmagic file type guesser. Note that (synopsis "Python bindings to the libmagic file type guesser. Note that
this module and the python-magic module both provide a \"magic.py\" file; this module and the python-magic module both provide a \"magic.py\" file;
these two modules, which are different and were developed separately, both these two modules, which are different and were developed separately, both
@ -10336,12 +10338,12 @@ Python to manipulate OpenDocument 1.2 files.")
(description (description
"Natsort lets you apply natural sorting on lists instead of "Natsort lets you apply natural sorting on lists instead of
lexicographical. If you use the built-in @code{sorted} method in python lexicographical. If you use the built-in @code{sorted} method in python
on a list such as @code{['a20', 'a9', 'a1', 'a4', 'a10']}, it would be on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
returned as @code{['a1', 'a10', 'a20', 'a4', 'a9']}. Natsort provides a @code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10}, @code{a20},
function @code{natsorted} that identifies numbers and sorts them separately @code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that
from strings. It can also sort version numbers, real numbers, mixed types identifies numbers and sorts them separately from strings. It can also sort
and more, and comes with a shell command @command{natsort} that exposes this version numbers, real numbers, mixed types and more, and comes with a shell
functionality in the command line.") command @command{natsort} that exposes this functionality in the command line.")
(license license:expat) (license license:expat)
(properties `((python2-variant . ,(delay python2-natsort)))))) (properties `((python2-variant . ,(delay python2-natsort))))))
@ -10833,16 +10835,17 @@ network.")
(define-public python-xopen (define-public python-xopen
(package (package
(name "python-xopen") (name "python-xopen")
(version "0.3.3") (version "0.5.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "xopen" version)) (uri (pypi-uri "xopen" version))
(sha256 (sha256
(base32 (base32
"1a0wbil552wsmklwd89ssmgz3pjd86qa9i7jh8wqb9wslc8a2qjr")) "17xbrgi23l87yg6h0qcknssp2q812miiy33qw6v45v5gx0jwv5xh"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/marcelm/xopen/") (home-page "https://github.com/marcelm/xopen/")
(synopsis "Open compressed files transparently") (synopsis "Open compressed files transparently")
(description "This module provides an @code{xopen} function that works like (description "This module provides an @code{xopen} function that works like
@ -14591,14 +14594,14 @@ tool).")
(define-public python-anndata (define-public python-anndata
(package (package
(name "python-anndata") (name "python-anndata")
(version "0.6.9") (version "0.6.18")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "anndata" version)) (uri (pypi-uri "anndata" version))
(sha256 (sha256
(base32 (base32
"1fh461xyyc7pcrjfgd013bdc2alf53r46ss3gfw3431mbb1gappi")))) "03x83yjaccbqszj7x4fwwmpil0ai59yx64d1zmf2691za3j03w73"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-h5py" ,python-h5py) `(("python-h5py" ,python-h5py)
@ -15271,3 +15274,26 @@ and dates in \"human readable\" forms. For example, it would display
(description "This is a collection of well-tested, simple modules and (description "This is a collection of well-tested, simple modules and
functions that aim to reduce boilerplate when working with data.") functions that aim to reduce boilerplate when working with data.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public python-annoy
(package
(name "python-annoy")
(version "1.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "annoy" version))
(sha256
(base32
"1rxn6snn0r32r07g45hdjhh8aa1xzx6fjrm8g62d8vzp46z7rzrp"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
(home-page "https://github.com/spotify/annoy/")
(synopsis "Approximate nearest neighbors library")
(description
"Annoy is a C++ library with Python bindings to search for points in
space that are close to a given query point. It also creates large read-only
file-based data structures that are @code{mmap}ped into memory so that many
processes may share the same data.")
(license license:asl2.0)))

View File

@ -96,6 +96,18 @@
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'delete-broken-tests
(lambda _
;; TODO: Two date tests (for date01 and date02) fail for unknown
;; reasons.
;; Actual (result): ""
;; Expected (output): "01"
;; Actual (result): ""
;; Expected (output): "Jan. 1, 2008"
(delete-file "templates/tests/testfilters.cpp")
(substitute* "templates/tests/CMakeLists.txt"
(("testfilters") ""))
#t))
(add-before 'check 'check-setup (add-before 'check 'check-setup
(lambda _ (lambda _
;; make Qt render "offscreen", required for tests ;; make Qt render "offscreen", required for tests

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
@ -30,17 +30,6 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages fontutils)) #:use-module (gnu packages fontutils))
(define ratpoison.desktop
(origin
(method url-fetch)
(uri (string-append "https://sources.gentoo.org/cgi-bin/viewvc.cgi/"
"gentoo-x86/x11-wm/ratpoison/files/ratpoison.desktop"
"?revision=1.1"))
(file-name "ratpoison.desktop")
(sha256
(base32
"1rh3f4c3rhn6q2hmkraam0831xqcqyj3qkqf019ahaxsxaan3553"))))
(define-public ratpoison (define-public ratpoison
(package (package
(name "ratpoison") (name "ratpoison")
@ -55,17 +44,28 @@
(patches (search-patches "ratpoison-shell.patch")))) (patches (search-patches "ratpoison-shell.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases `(#:modules ((ice-9 format)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'install-xsession (add-after 'install 'install-xsession
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((rpd "ratpoison.desktop") ;; Add a .desktop file to xsessions.
(dst (string-append (assoc-ref outputs "out") (let* ((output (assoc-ref outputs "out"))
"/share/xsessions/"))) (xsessions (string-append output "/share/xsessions")))
(mkdir-p dst) (mkdir-p xsessions)
(copy-file (assoc-ref inputs rpd) (call-with-output-file (string-append xsessions
(string-append dst rpd)) "/ratpoison.desktop")
#t)))))) (lambda (port)
(format port
"[Desktop Entry]~@
Name=ratpoison~@
Comment=Tiling window manager: say goodbye to the rodent!~@
Exec=~a/bin/ratpoison~@
TryExec=~@*~a/bin/ratpoison~@
Type=Application~%"
output)))
#t))))))
(inputs (inputs
`(("fontconfig" ,fontconfig) `(("fontconfig" ,fontconfig)
("freetype" ,freetype) ("freetype" ,freetype)
@ -80,8 +80,7 @@
("xorgproto" ,xorgproto))) ("xorgproto" ,xorgproto)))
(native-inputs (native-inputs
`(("perl" ,perl) `(("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)))
("ratpoison.desktop" ,ratpoison.desktop)))
(home-page "https://www.nongnu.org/ratpoison/") (home-page "https://www.nongnu.org/ratpoison/")
(synopsis "Simple mouse-free tiling window manager") (synopsis "Simple mouse-free tiling window manager")
(description (description

View File

@ -70,7 +70,10 @@
(_ (nix-system->gnu-triplet system)))) (_ (nix-system->gnu-triplet system))))
(define* (rust-source version hash #:key (patches '())) (define* (rust-source-pre-1.32 version hash
#:key
(patches '())
(patch-flags '("-p1")))
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://static.rust-lang.org/dist/" (uri (string-append "https://static.rust-lang.org/dist/"
@ -78,16 +81,51 @@
(sha256 (base32 hash)) (sha256 (base32 hash))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (delete-file-recursively "src/llvm") #t)) (snippet '(begin (delete-file-recursively "src/llvm") #t))
(patches (map search-patch patches)))) (patches (map search-patch patches))
(patch-flags patch-flags)))
(define* (rust-bootstrapped-package-pre-1.32 base-rust version checksum
#:key
(patches '())
(patch-flags '("-p1")))
"Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST.
Specific to rust versions before 1.32."
(package
(inherit base-rust)
(version version)
(source
(rust-source-pre-1.32 version checksum #:patches patches #:patch-flags patch-flags))
(native-inputs
(alist-replace "cargo-bootstrap" (list base-rust "cargo")
(alist-replace "rustc-bootstrap" (list base-rust)
(package-native-inputs base-rust))))))
(define* (rust-source version hash
#:key
(patches '())
(patch-flags '("-p1")))
(origin
(method url-fetch)
(uri (string-append "https://static.rust-lang.org/dist/"
"rustc-" version "-src.tar.gz"))
(sha256 (base32 hash))
(modules '((guix build utils)))
(snippet '(begin (delete-file-recursively "src/llvm")
(delete-file-recursively "vendor/jemalloc-sys/jemalloc")
#t))
(patches (map search-patch patches))
(patch-flags patch-flags)))
(define* (rust-bootstrapped-package base-rust version checksum (define* (rust-bootstrapped-package base-rust version checksum
#:key (patches '())) #:key
(patches '())
(patch-flags '("-p1")))
"Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST."
(package (package
(inherit base-rust) (inherit base-rust)
(version version) (version version)
(source (source
(rust-source version checksum #:patches patches)) (rust-source version checksum #:patches patches #:patch-flags patch-flags))
(native-inputs (native-inputs
(alist-replace "cargo-bootstrap" (list base-rust "cargo") (alist-replace "cargo-bootstrap" (list base-rust "cargo")
(alist-replace "rustc-bootstrap" (list base-rust) (alist-replace "rustc-bootstrap" (list base-rust)
@ -118,7 +156,7 @@
("flex" ,flex) ("flex" ,flex)
;; Required for the libstd sources. ;; Required for the libstd sources.
("rustc" ("rustc"
,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) ,(rust-source-pre-1.32 "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
(arguments (arguments
`(#:test-target "local_tests" `(#:test-target "local_tests"
#:make-flags (list (string-append "LLVM_CONFIG=" #:make-flags (list (string-append "LLVM_CONFIG="
@ -191,7 +229,7 @@ safety and thread safety guarantees.")
(package (package
(name "rust") (name "rust")
(version "1.19.0") (version "1.19.0")
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm" (source (rust-source-pre-1.32 version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
#:patches '("rust-1.19-mrustc.patch"))) #:patches '("rust-1.19-mrustc.patch")))
(outputs '("out" "cargo")) (outputs '("out" "cargo"))
(properties '((timeout . 72000) ;20 hours (properties '((timeout . 72000) ;20 hours
@ -427,7 +465,7 @@ safety and thread safety guarantees.")
(define-public rust-1.20 (define-public rust-1.20
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.19 "1.20.0" (rust-bootstrapped-package-pre-1.32 rust-1.19 "1.20.0"
"0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a"))) "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a")))
(package (package
(inherit base-rust) (inherit base-rust)
@ -572,7 +610,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t)))))))))) #t))))))))))
(define-public rust-1.21 (define-public rust-1.21
(let ((base-rust (rust-bootstrapped-package rust-1.20 "1.21.0" (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.20 "1.21.0"
"1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp"))) "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")))
(package (package
(inherit base-rust) (inherit base-rust)
@ -588,7 +626,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t))))))))) #t)))))))))
(define-public rust-1.22 (define-public rust-1.22
(let ((base-rust (rust-bootstrapped-package rust-1.21 "1.22.1" (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.21 "1.22.1"
"1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb"))) "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")))
(package (package
(inherit base-rust) (inherit base-rust)
@ -604,7 +642,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t))))))))) #t)))))))))
(define-public rust-1.23 (define-public rust-1.23
(let ((base-rust (rust-bootstrapped-package rust-1.22 "1.23.0" (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.22 "1.23.0"
"14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l"))) "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")))
(package (package
(inherit base-rust) (inherit base-rust)
@ -623,8 +661,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.24 (define-public rust-1.24
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.23 "1.24.1" (rust-bootstrapped-package-pre-1.32 rust-1.23 "1.24.1"
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))) "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
(package (package
(inherit base-rust) (inherit base-rust)
(arguments (arguments
@ -645,7 +683,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
;;; Keep using llvm 3.9.1 until builds become determenistic ;;; Keep using llvm 3.9.1 until builds become determenistic
(define-public rust-1.25 (define-public rust-1.25
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.24 "1.25.0" (rust-bootstrapped-package-pre-1.32 rust-1.24 "1.25.0"
"0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf" "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"
#:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch")))) #:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch"))))
(package (package
@ -676,7 +714,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.26 (define-public rust-1.26
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.25 "1.26.2" (rust-bootstrapped-package-pre-1.32 rust-1.25 "1.26.2"
"0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv"
#:patches '("rust-coresimd-doctest.patch" #:patches '("rust-coresimd-doctest.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch")))) "rust-1.25-accept-more-detailed-gdb-lines.patch"))))
@ -731,13 +769,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.27 (define-public rust-1.27
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.26 "1.27.2" (rust-bootstrapped-package-pre-1.32 rust-1.26 "1.27.2"
"0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs" "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
#:patches #:patches
'("rust-coresimd-doctest.patch" '("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch" "rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch")))) "rust-reproducible-builds.patch"))))
(package (package
(inherit base-rust) (inherit base-rust)
(arguments (arguments
@ -760,13 +798,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.28 (define-public rust-1.28
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.27 "1.28.0" (rust-bootstrapped-package-pre-1.32 rust-1.27 "1.28.0"
"11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx" "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
#:patches #:patches
'("rust-coresimd-doctest.patch" '("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch" "rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch")))) "rust-reproducible-builds.patch"))))
(package (package
(inherit base-rust) (inherit base-rust)
(inputs (inputs
@ -794,22 +832,22 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.29 (define-public rust-1.29
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.28 "1.29.2" (rust-bootstrapped-package-pre-1.32 rust-1.28 "1.29.2"
"1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h" "1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
#:patches #:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch" '("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch")))) "rust-reproducible-builds.patch"))))
(package (package
(inherit base-rust)))) (inherit base-rust))))
(define-public rust-1.30 (define-public rust-1.30
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.29 "1.30.1" (rust-bootstrapped-package-pre-1.32 rust-1.29 "1.30.1"
"0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn" "0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
#:patches #:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch" '("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch" "rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch")))) "rust-reproducible-builds.patch"))))
(package (package
(inherit base-rust) (inherit base-rust)
(inputs (inputs
@ -842,18 +880,21 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(("fn include") "#[ignore]\nfn include") (("fn include") "#[ignore]\nfn include")
(("fn exclude") "#[ignore]\nfn exclude")) (("fn exclude") "#[ignore]\nfn exclude"))
#t)) #t))
;; Appears that this test isn't currently running and has been ;; The test has been moved elsewhere.
;; moved elsewhere, so the patch doesn't apply. (replace 'disable-amd64-avx-test
(delete 'disable-amd64-avx-test)))))))) (lambda _
(substitute* "src/test/ui/run-pass/issues/issue-44056.rs"
(("only-x86_64") "ignore-test"))
#t)))))))))
(define-public rust (define-public rust-1.31
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.30 "1.31.1" (rust-bootstrapped-package-pre-1.32 rust-1.30 "1.31.1"
"0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli" "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
#:patches #:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch" '("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch" "rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch")))) "rust-reproducible-builds.patch"))))
(package (package
(inherit base-rust) (inherit base-rust)
(arguments (arguments
@ -875,6 +916,12 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
((" Command::new\\(\"echo\"\\)") ((" Command::new\\(\"echo\"\\)")
(string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n"))) (string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n")))
#t))) #t)))
;; The test has been moved elsewhere.
(replace 'disable-amd64-avx-test
(lambda _
(substitute* "src/test/ui/issues/issue-44056.rs"
(("only-x86_64") "ignore-test"))
#t))
(add-after 'patch-tests 'patch-process-docs-rev-cmd (add-after 'patch-tests 'patch-process-docs-rev-cmd
(lambda* _ (lambda* _
;; Disable some doc tests which depend on the "rev" command ;; Disable some doc tests which depend on the "rev" command
@ -882,3 +929,56 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(substitute* "src/libstd/process.rs" (substitute* "src/libstd/process.rs"
(("```rust") "```rust,no_run")) (("```rust") "```rust,no_run"))
#t))))))))) #t)))))))))
(define-public rust
(let ((base-rust
(rust-bootstrapped-package rust-1.31 "1.32.0"
"0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"
#:patches '("rust-reproducible-builds.patch")
;; the vendor directory has moved to the root of
;; the tarball, so we have to strip an extra prefix
#:patch-flags '("-p2"))))
(package
(inherit base-rust)
(inputs
;; Downgrade to LLVM 6, all LTO tests appear to fail with LLVM 7.0.1
(alist-replace "llvm" (list llvm-6)
(package-inputs base-rust)))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:phases phases)
`(modify-phases ,phases
;; Cargo.lock and the vendor/ directory have been moved to the
;; root of the rust tarball
(replace 'patch-cargo-checksums
(lambda* _
(substitute* "Cargo.lock"
(("(\"checksum .* = )\".*\"" all name)
(string-append name "\"" ,%cargo-reference-hash "\"")))
(for-each
(lambda (filename)
(use-modules (guix build cargo-utils))
(delete-file filename)
(let* ((dir (dirname filename)))
(display (string-append
"patch-cargo-checksums: generate-checksums for "
dir "\n"))
(generate-checksums dir ,%cargo-reference-project-file)))
(find-files "vendor" ".cargo-checksum.json"))
#t))
(add-after 'enable-codegen-tests 'override-jemalloc
(lambda* (#:key inputs #:allow-other-keys)
;; The compiler is no longer directly built against jemalloc,
;; but rather via the jemalloc-sys crate (which vendors the
;; jemalloc source). To use jemalloc we must enable linking to
;; it (otherwise it would use the system allocator), and set
;; an environment variable pointing to the compiled jemalloc.
(substitute* "config.toml"
(("^jemalloc =.*$") "")
(("[[]rust[]]") "\n[rust]\njemalloc=true\n"))
(setenv "JEMALLOC_OVERRIDE" (string-append (assoc-ref inputs "jemalloc")
"/lib/libjemalloc_pic.a"))
#t))
;; Remove no longer relevant steps
(delete 'remove-flaky-test)
(delete 'patch-aarch64-test))))))))

View File

@ -144,7 +144,7 @@ the Linux kernel CIFS client.")
(home-page "https://github.com/ndevilla/iniparser") (home-page "https://github.com/ndevilla/iniparser")
(synopsis "Standalone ini file parsing library") (synopsis "Standalone ini file parsing library")
(description (description
"iniparser is a free stand-alone `ini' file parsing library (Windows "iniparser is a free stand-alone @code{ini} file parsing library (Windows
configuration files). It is written in portable ANSI C and should compile configuration files). It is written in portable ANSI C and should compile
anywhere.") anywhere.")
(license x11))) (license x11)))

View File

@ -2,10 +2,10 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,10 +23,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages screen) (define-module (gnu packages screen)
#:use-module (srfi srfi-1)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -153,23 +153,27 @@ window manager as well as the Tmux terminal multiplexer.")
(define-public reptyr (define-public reptyr
(package (package
(name "reptyr") (name "reptyr")
(version "0.6.2") (version "0.7.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/nelhage/reptyr/archive" (uri (git-reference
"/reptyr-" version ".tar.gz")) (url "https://github.com/nelhage/reptyr.git")
;; XXX: To be removed on next reptyr release. (commit (string-append "reptyr-" version))))
(patches (search-patches "reptyr-fix-gcc-7.patch")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj"))))
"07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no tests '(#:tests? #f ; no tests
#:make-flags (list "CC=gcc" #:make-flags
(string-append "PREFIX=" %output)) (list "CC=gcc"
#:phases (modify-phases %standard-phases (delete 'configure)))) (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "BASHCOMPDIR=" (assoc-ref %outputs "out")
"/etc/bash_completion.d"))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(home-page "https://github.com/nelhage/reptyr") (home-page "https://github.com/nelhage/reptyr")
(synopsis "Tool for reparenting a running program to a new terminal") (synopsis "Tool for reparenting a running program to a new terminal")
(description (description
@ -177,7 +181,6 @@ window manager as well as the Tmux terminal multiplexer.")
it to a new terminal. Started a long-running process over @code{ssh}, but have it to a new terminal. Started a long-running process over @code{ssh}, but have
to leave and don't want to interrupt it? Just start a @code{screen}, use to leave and don't want to interrupt it? Just start a @code{screen}, use
reptyr to grab it, and then kill the @code{ssh} session and head on home.") reptyr to grab it, and then kill the @code{ssh} session and head on home.")
;; Reptyr currently does not support mips or aarch64. ;; Reptyr currently does not support mips.
(supported-systems (fold delete %supported-systems (supported-systems (delete "mips64el-linux" %supported-systems))
'("mips64el-linux" "aarch64-linux")))
(license expat))) (license expat)))

View File

@ -243,7 +243,7 @@ interfaces, or a C API.")
(home-page "https://pagure.io/mlocate") (home-page "https://pagure.io/mlocate")
(synopsis "Locate files on the file system") (synopsis "Locate files on the file system")
(description (description
"mlocate is a locate/updatedb implementation. The 'm' stands for "mlocate is a locate/updatedb implementation. The @code{m} stands for
\"merging\": @code{updatedb} reuses the existing database to avoid rereading \"merging\": @code{updatedb} reuses the existing database to avoid rereading
most of the file system, which makes it faster and does not trash the system most of the file system, which makes it faster and does not trash the system
caches as much. The locate(1) utility is intended to be completely compatible caches as much. The locate(1) utility is intended to be completely compatible

View File

@ -161,7 +161,7 @@ the low-level development kit for the Yubico YubiKey authentication device.")
(define-public pcsc-lite (define-public pcsc-lite
(package (package
(name "pcsc-lite") (name "pcsc-lite")
(version "1.8.24") (version "1.8.25")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -169,7 +169,7 @@ the low-level development kit for the Yubico YubiKey authentication device.")
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0s3mv6csbi9303vvis0hilm71xsmi6cqkbh2kiipdisydbx6865q")))) "14l7irs1nsh8b036ag4cfy8wryyysch78scz5dw6xxqwqgnpjvfp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers" `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers"

View File

@ -217,7 +217,7 @@ which allows users to view a desktop computing environment.")
#:parallel-tests? #f)) #:parallel-tests? #f))
(synopsis "Server implementation of the SPICE protocol") (synopsis "Server implementation of the SPICE protocol")
(description "SPICE is a remote display system built for virtual (description "SPICE is a remote display system built for virtual
environments which allows you to view a computing 'desktop' environment environments which allows you to view a computing @code{desktop} environment
not only on the machine where it is running, but from anywhere on the not only on the machine where it is running, but from anywhere on the
Internet and from a wide variety of machine architectures.") Internet and from a wide variety of machine architectures.")
(home-page "https://www.spice-space.org") (home-page "https://www.spice-space.org")

View File

@ -111,7 +111,7 @@ applications.")
(define-public libssh2 (define-public libssh2
(package (package
(name "libssh2") (name "libssh2")
(version "1.8.1") (version "1.8.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -119,7 +119,7 @@ applications.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ngif3ynk6xqzy5nlfjs7bsmfm81g9f145av0z86kf0vbgrigda0")) "0rqd37pc80nm2pz4sa2m9pfc48axys7jwq1l7z0vii5nyvchg0q8"))
(patches (patches
(search-patches "libssh2-fix-build-failure-with-gcrypt.patch")))) (search-patches "libssh2-fix-build-failure-with-gcrypt.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -451,7 +451,7 @@ TCP, not the SSH protocol.")
(define-public dropbear (define-public dropbear
(package (package
(name "dropbear") (name "dropbear")
(version "2019.77") (version "2019.78")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -459,7 +459,7 @@ TCP, not the SSH protocol.")
"https://matt.ucc.asn.au/dropbear/releases/" "https://matt.ucc.asn.au/dropbear/releases/"
"dropbear-" version ".tar.bz2")) "dropbear-" version ".tar.bz2"))
(sha256 (sha256
(base32 "13a55fcy2mx2pvsfj6dh9107k4wnbd9ybdyi3w3ivgikwvmph7yr")))) (base32 "19242qlr40pbqfqd0gg6h8qpj38q6lgv03ja6sahj9vj2abnanaj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:tests? #f)) ; there is no "make check" or anything similar (arguments `(#:tests? #f)) ; there is no "make check" or anything similar
;; TODO: Investigate unbundling libtommath and libtomcrypt or at least ;; TODO: Investigate unbundling libtommath and libtomcrypt or at least

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@ -548,14 +548,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix (define-public r-matrix
(package (package
(name "r-matrix") (name "r-matrix")
(version "1.2-16") (version "1.2-17")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Matrix" version)) (uri (cran-uri "Matrix" version))
(sha256 (sha256
(base32 (base32
"10fh0y1wd0bvnqbzlyck08pn1vxcd58bskx2lrf9m42v5792ba9p")))) "1k1zf92ycqr7fz44w7bp1p354ww7jg0wm23ybb8dzmbg37qfchyv"))))
(properties `((upstream-name . "Matrix"))) (properties `((upstream-name . "Matrix")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -802,10 +802,10 @@ effects of different types of color-blindness.")
(home-page "http://dirk.eddelbuettel.com/code/digest.html") (home-page "http://dirk.eddelbuettel.com/code/digest.html")
(synopsis "Create cryptographic hash digests of R objects") (synopsis "Create cryptographic hash digests of R objects")
(description (description
"This package contains an implementation of a function 'digest()' for the "This package contains an implementation of a function @code{digest()} for
creation of hash digests of arbitrary R objects (using the md5, sha-1, the creation of hash digests of arbitrary R objects (using the md5, sha-1,
sha-256, crc32, xxhash and murmurhash algorithms) permitting easy comparison sha-256, crc32, xxhash and murmurhash algorithms) permitting easy comparison
of R language objects, as well as a function 'hmac()' to create hash-based of R language objects, as well as a function @code{hmac()} to create hash-based
message authentication code. message authentication code.
Please note that this package is not meant to be deployed for cryptographic Please note that this package is not meant to be deployed for cryptographic
@ -827,7 +827,7 @@ OpenSSL should be used.")
(home-page "https://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") (synopsis "Tools for assessing estimability of linear predictions")
(description "Provides tools for determining estimability of linear (description "Provides tools for determining estimability of linear
functions of regression coefficients, and 'epredict' methods that handle functions of regression coefficients, and @code{epredict} methods that handle
non-estimable cases correctly.") non-estimable cases correctly.")
(license license:gpl2+))) (license license:gpl2+)))
@ -1063,7 +1063,7 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
(synopsis "Simple, consistent wrappers for common string operations") (synopsis "Simple, consistent wrappers for common string operations")
(description (description
"Stringr is a consistent, simple and easy to use set of wrappers around "Stringr is a consistent, simple and easy to use set of wrappers around
the fantastic 'stringi' package. All function and argument names (and the fantastic @code{stringi} package. All function and argument names (and
positions) are consistent, all functions deal with \"NA\"'s and zero length positions) are consistent, all functions deal with \"NA\"'s and zero length
vectors in the same way, and the output from one function is easy to feed into vectors in the same way, and the output from one function is easy to feed into
the input of another.") the input of another.")
@ -2274,9 +2274,9 @@ other packages.")
(synopsis "CommonMark and Github Markdown Rendering in R") (synopsis "CommonMark and Github Markdown Rendering in R")
(description (description
"The CommonMark specification defines a rationalized version of markdown "The CommonMark specification defines a rationalized version of markdown
syntax. This package uses the 'cmark' reference implementation for converting syntax. This package uses the @code{cmark} reference implementation for
markdown text into various formats including HTML, LaTeX and groff man. In converting markdown text into various formats including HTML, LaTeX and groff
addition, it exposes the markdown parse tree in XML format. The latest man. In addition, it exposes the markdown parse tree in XML format. The latest
version of this package also adds support for Github extensions including version of this package also adds support for Github extensions including
tables, autolinks and strikethrough text.") tables, autolinks and strikethrough text.")
(license license:bsd-2))) (license license:bsd-2)))
@ -2316,14 +2316,14 @@ collation, and NAMESPACE files.")
(define-public r-openssl (define-public r-openssl
(package (package
(name "r-openssl") (name "r-openssl")
(version "1.2.2") (version "1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "openssl" version)) (uri (cran-uri "openssl" version))
(sha256 (sha256
(base32 (base32
"0jfkna9zzhy2m5qd8501ija5jnpxzjn8wi3wjw0kr2fm4sl7qynz")))) "1gx4mk7js1irzkql5rgk48ja9c6mm28ccxz483ngbhdd57az90qw"))))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("libressl" ,libressl))) `(("libressl" ,libressl)))
@ -2580,13 +2580,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo (define-public r-rcpparmadillo
(package (package
(name "r-rcpparmadillo") (name "r-rcpparmadillo")
(version "0.9.200.7.1") (version "0.9.300.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RcppArmadillo" version)) (uri (cran-uri "RcppArmadillo" version))
(sha256 (sha256
(base32 (base32
"1gy3ywzw1cx344a8xihnmflgxphy2fhci7ng85msqd1iv9gzxyk4")))) "02zha49v6s8g39dcmk5dz0pygx0jibgmcwsyzybp9wmlqxnmdvip"))))
(properties `((upstream-name . "RcppArmadillo"))) (properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system) (build-system r-build-system)
;; All needed for vignettes ;; All needed for vignettes
@ -2709,13 +2709,13 @@ variety of formats.")
(define-public r-gtable (define-public r-gtable
(package (package
(name "r-gtable") (name "r-gtable")
(version "0.2.0") (version "0.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "gtable" version)) (uri (cran-uri "gtable" version))
(sha256 (sha256
(base32 (base32
"0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0")))) "1lyncxf2dqdjgw1071cn9c8zwzkz6sldnd5cgmicf70bc726qf7x"))))
(properties `((upstream-name . "gtable"))) (properties `((upstream-name . "gtable")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/gtable") (home-page "https://cran.r-project.org/web/packages/gtable")
@ -3165,8 +3165,8 @@ using the multicore functionality of the parallel package.")
(synopsis "R wrapper of the DataTables JavaScript library") (synopsis "R wrapper of the DataTables JavaScript library")
(description (description
"This package allows for data objects in R to be rendered as HTML tables "This package allows for data objects in R to be rendered as HTML tables
using the JavaScript library 'DataTables' (typically via R Markdown or Shiny). using the JavaScript library @code{DataTables} (typically via R Markdown or
The 'DataTables' library has been included in this R package.") Shiny). The @code{DataTables} library has been included in this R package.")
;; The DT package as a whole is distributed under GPLv3. The DT package ;; The DT package as a whole is distributed under GPLv3. The DT package
;; inludes other software components under different licenses: ;; inludes other software components under different licenses:
;; ;;
@ -3688,13 +3688,14 @@ most common form of color blindness.")
(home-page "https://github.com/sjmgarnier/viridisLite") (home-page "https://github.com/sjmgarnier/viridisLite")
(synopsis "Default color maps from matplotlib") (synopsis "Default color maps from matplotlib")
(description (description
"This package is a port of the new @code{matplotlib} color maps ('viridis', "This package is a port of the new @code{matplotlib} color maps
'magma', 'plasma' and 'inferno') to R. matplotlib is a popular plotting (@code{viridis}, @code{magma}, @code{plasma} and @code{inferno}) to R.
library for Python. These color maps are designed in such a way that they matplotlib is a popular plotting library for Python. These color maps are
will analytically be perfectly perceptually-uniform, both in regular form and designed in such a way that they will analytically be perfectly
also when converted to black-and-white. They are also designed to be perceptually-uniform, both in regular form and also when converted to
perceived by readers with the most common form of color blindness. This is black-and-white. They are also designed to be perceived by readers with the
the 'lite' version of the more complete @code{viridis} package.") most common form of color blindness. This is the @code{lite} version of the
more complete @code{viridis} package.")
(license license:expat))) (license license:expat)))
(define-public r-tidyselect (define-public r-tidyselect
@ -5283,14 +5284,14 @@ to Applied regression, Second Edition, Sage, 2011.")
(define-public r-caret (define-public r-caret
(package (package
(name "r-caret") (name "r-caret")
(version "6.0-81") (version "6.0-82")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "caret" version)) (uri (cran-uri "caret" version))
(sha256 (sha256
(base32 (base32
"1fibrskjzq2f06b8gbrfp3263svfc5s5apsjwaqdg9qzs7sy7fpc")))) "0zgkmiiarl7ll2ffyciikah61jyps41fin5pjb5l8ja2b26lgrdg"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-foreach" ,r-foreach) `(("r-foreach" ,r-foreach)
@ -5473,19 +5474,20 @@ genome-wide association studies can be analyzed efficiently.")
(define-public r-cairo (define-public r-cairo
(package (package
(name "r-cairo") (name "r-cairo")
(version "1.5-9") (version "1.5-10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Cairo" version)) (uri (cran-uri "Cairo" version))
(sha256 (sha256
(base32 (base32
"1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia")))) "1mdmd5zmjkh1b0x928zizgzh42x8swbajffb88rvnjfdhk1z0dvq"))))
(properties `((upstream-name . "Cairo"))) (properties `((upstream-name . "Cairo")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("cairo" ,cairo) `(("cairo" ,cairo)
("libxt" ,libxt))) ("libxt" ,libxt)
("zlib" ,zlib)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(home-page "http://www.rforge.net/Cairo/") (home-page "http://www.rforge.net/Cairo/")
@ -5527,7 +5529,7 @@ is supported.")
"This package provides functions to work with date-times and time-spans: "This package provides functions to work with date-times and time-spans:
fast and user friendly parsing of date-time data, extraction and updating of fast and user friendly parsing of date-time data, extraction and updating of
components of a date-time (years, months, days, hours, minutes, and seconds), components of a date-time (years, months, days, hours, minutes, and seconds),
algebraic manipulation on date-time and time-span objects. The 'lubridate' algebraic manipulation on date-time and time-span objects. The @code{lubridate}
package has a consistent and memorable syntax that makes working with dates package has a consistent and memorable syntax that makes working with dates
easy and fun.") easy and fun.")
(license license:gpl2))) (license license:gpl2)))

View File

@ -8,7 +8,10 @@
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Adonay Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,21 +30,41 @@
(define-module (gnu packages telephony) (define-module (gnu packages telephony)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages speech) #:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xiph) #:use-module (gnu packages xiph)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@ -529,3 +552,357 @@ messaging communcations using the SIP protocol. You can use it for direct IP
phone to IP phone communication or in a network using a SIP proxy to route your phone to IP phone communication or in a network using a SIP proxy to route your
calls and messages") calls and messages")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public pjproject
(package
(name "pjproject")
(version "2.7.2")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.pjsip.org/release/" ;
version "/" name "-" version ".tar.bz2"))
(modules '((guix build utils)))
(snippet
'(begin
(let ((third-party-directories
(list "BaseClasses" "bdsound" "bin" "g7221" "gsm"
"ilbc" "lib" "milenage" "mp3" "speex" "srtp"
"resample"
;; Keep only resample, build and README.txt.
"build/baseclasses" "build/g7221" "build/gsm"
"build/ilbc" "build/milenage" "build/samplerate"
"build/speex" "build/srtp"
"build/resample" "build/yuv")))
;; Keep only Makefiles related to resample.
(for-each (lambda (file)
(delete-file-recursively
(string-append "third_party/" file)))
third-party-directories)
#t)
(let ((third-party-dirs
(list "gsm" "ilbc" "speex" "g7221" "srtp"
"portaudio" "resample")))
(for-each
(lambda (dirs)
(substitute* "third_party/build/os-linux.mak"
(((string-append "DIRS += " dirs)) "")))
third-party-dirs))))
(sha256
(base32
"0wiph6g51wanzwjjrpwsz63amgvly8g08jz033gnwqmppa584b4w"))))
(build-system gnu-build-system)
(inputs
`(("portaudio" ,portaudio)))
(propagated-inputs
;; These packages are referenced in the Libs field of the pkg-config
;; file that will be installed by pjproject.
`(("speex" ,speex)
("libsrtp" ,libsrtp)
("gnutls" ,gnutls)
("util-linux" ,util-linux)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("libtool" ,libtool)))
(arguments
`(;; FIXME make: No rule to make target
;; 'pjlib-test-unknown-[something]-gnu'.
#:tests? #f
;; #:test-target "selftest"
#:phases
(modify-phases %standard-phases
(add-before 'build 'build-dep
(lambda _ (invoke "make" "dep")))
(add-before 'patch-source-shebangs 'autoconf
(lambda _
(invoke "autoconf" "-vfi" "-o"
"aconfigure" "aconfigure.ac")))
(add-before 'autoconf 'disable-some-tests
;; Three of the six test programs fail due to missing network
;; access.
(lambda _
(substitute* "Makefile"
(("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
"selftest: pjlib-test pjlib-util-test pjmedia-test"))
#t)))))
(home-page "https://www.pjsip.org")
(synopsis "Session Initiation Protocol (SIP) stack")
(description "PJProject provides an implementation of the Session
Initiation Protocol (SIP) and a multimedia framework.")
(license license:gpl2+)))
(define %jami-version "20190319.4.a16a99f")
(define* (jami-source #:key without-daemon)
(origin
(method url-fetch)
(uri (string-append "http://dl.jami.net/ring-release/tarballs/ring_"
%jami-version
".tar.gz"))
(modules '((guix build utils)))
(snippet
(if without-daemon
'(begin
(delete-file-recursively "daemon/contrib"))
#f))
(sha256
(base32
"1c6n6sm7skw83v25g33g4jzbragz9j4przbzaz7asxw54jy33dwl"))))
(define-public pjproject-jami
(package
(inherit pjproject)
(name "pjproject-jami")
(native-inputs
`(("savoir-faire-linux-patches" ,(jami-source))
,@(package-native-inputs pjproject)))
(arguments
`(#:tests? #f
;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
#:configure-flags
(list "--disable-oss"
"--disable-sound"
"--disable-video"
"--enable-ext-sound"
"--disable-speex-aec"
"--disable-g711-codec"
"--disable-l16-codec"
"--disable-gsm-codec"
"--disable-g722-codec"
"--disable-g7221-codec"
"--disable-speex-codec"
"--disable-ilbc-codec"
"--disable-opencore-amr"
"--disable-silk"
"--disable-sdl"
"--disable-ffmpeg"
"--disable-v4l2"
"--disable-openh264"
"--disable-resample"
"--disable-libwebrtc"
;; "-fPIC" is required for libring. Bug?
"CFLAGS=-fPIC -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=1024 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32"
"CXXFLAGS=-fPIC -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=1024 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32"
;; Now deviating from the rules.mak file.
"--enable-ssl=gnutls"
"--with-external-srtp")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'apply-patches
(lambda* (#:key inputs #:allow-other-keys)
(let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
;; Comes from
;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
;; WARNING: These amount for huge changes in pjproject.
;; Particularly, they add support for GnuTLS.
(savoir-faire-linux-patches
'("gnutls"
"rfc2466"
"ipv6"
"ice_config"
"multiple_listeners"
"pj_ice_sess"
"fix_turn_fallback"
"fix_ioqueue_ipv6_sendto"
"add_dtls_transport"
"rfc6062")))
(mkdir-p savoir-faire-linux-patches-directory)
(invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
"-C" savoir-faire-linux-patches-directory "--strip-components=5" "ring-project/daemon/contrib/src/pjproject")
(for-each
(lambda (file)
(invoke "patch" "--force" "-p1" "-i"
(string-append savoir-faire-linux-patches-directory "/"
file ".patch")))
savoir-faire-linux-patches))
#t))
;; TODO: We could use substitute-keyword-arguments instead of
;; repeating the phases from pjproject, but somehow it does
;; not work.
(add-before 'build 'build-dep
(lambda _ (invoke "make" "dep")))
(add-before 'patch-source-shebangs 'autoconf
(lambda _
(invoke "autoconf" "-v" "-f" "-i" "-o"
"aconfigure" "aconfigure.ac")))
(add-before 'autoconf 'disable-some-tests
;; Three of the six test programs fail due to missing network
;; access.
(lambda _
(substitute* "Makefile"
(("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
"selftest: pjlib-test pjlib-util-test pjmedia-test"))
#t)))))))
(define-public libring
(package
(name "libring")
(version %jami-version)
(source (jami-source #:without-daemon #t))
(build-system gnu-build-system)
(inputs
;; Missing (optional?) dep: libnatpmp.
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("dbus-c++" ,dbus-c++)
("eudev" ,eudev)
("ffmpeg" ,ffmpeg)
("flac" ,flac)
("gmp" ,gmp)
("gsm" ,gsm)
("jack" ,jack-1)
("jsoncpp" ,jsoncpp)
("libogg" ,libogg)
("libva" ,libva)
("opendht" ,opendht)
("opus" ,opus)
("pcre" ,pcre)
("pulseaudio" ,pulseaudio)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
("speex" ,speex)
("speexdsp" ,speexdsp)
("libupnp" ,libupnp)
("libvorbis" ,libvorbis)
("libx264" ,libx264)
("libvdpau" ,libvdpau)
("yaml-cpp" ,yaml-cpp)
("zlib" ,zlib)
("openssl" ,openssl)
("libsecp256k1" ,libsecp256k1)
("python" ,python)
("python-wrapper" ,python-wrapper)
("restbed" ,restbed)
("libx11" ,libx11)
;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
("pjproject" ,pjproject-jami)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("which" ,which)
("cppunit" ,cppunit)
("perl" ,perl))) ; Needed for documentation.
(arguments
`(#:tests? #f ; The tests fail to compile due to missing headers.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "daemon")
#t))
(add-before 'build 'add-lib-dir
(lambda _
(mkdir-p "src/lib")
#t)))))
(synopsis "Distributed multimedia communications platform")
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
video and chat communication platform that requires no centralized server and
leaves the power of privacy in the hands of the user. It supports the SIP and
IAX protocols, as well as decentralized calling using P2P-DHT.
This package provides a library and daemon implementing the Jami core
functionality.")
(home-page "https://jami.net/")
(license license:gpl3+)))
(define-public libringclient
(package
(inherit libring)
(name "libringclient")
(build-system cmake-build-system)
(propagated-inputs
`(("libring" ,libring) ; For 'dring'.
("qtbase" ,qtbase) ; Qt is included in several installed headers.
("qttools" ,qttools)))
(arguments
`(#:tests? #f ; There is no testsuite.
#:configure-flags
(list (string-append "-DRING_BUILD_DIR="
(assoc-ref %build-inputs "libring") "/include"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "lrc")
#t))
(add-before 'configure 'fix-dbus-interfaces-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix)
(string-append (assoc-ref inputs "libring")
dbus-interfaces-path-suffix))))))))
(synopsis "Distributed multimedia communications platform")
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
video and chat communication platform that requires no centralized server and
leaves the power of privacy in the hands of the user. It supports the SIP and
IAX protocols, as well as decentralized calling using P2P-DHT.
This package provides a library common to all Jami clients.")
(home-page "https://jami.net")
(license license:gpl3+)))
(define-public jami-client-gnome
(package
(inherit libring)
(name "jami-client-gnome")
(build-system cmake-build-system)
(inputs
`(("libringclient" ,libringclient)
("gtk+" ,gtk+)
("qrencode" ,qrencode)
("libnotify" ,libnotify)
("clutter" ,clutter)
("clutter-gtk" ,clutter-gtk)
("gettext" ,gnu-gettext)
("libcanberra" ,libcanberra)
("webkitgtk" ,webkitgtk)
;; TODO: We must wrap ring-client-gnome to force using the
;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
;; fails with:
;;
;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
;; undefined symbol: sqlite3_column_table_name16
;;
;; qtbase is built against sqlite-with-column-metadata but somehow
;; jami-client-gnome ends up with both `sqlite' and
;; `sqlite-with-column-metadata' as inputs and it seems that
;; libqsqlite.so gets confused.
("sqlite" ,sqlite-with-column-metadata)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")
("doxygen" ,doxygen)))
(propagated-inputs
`(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
("adwaita-icon-theme" ,adwaita-icon-theme)
("evolution-data-server" ,evolution-data-server)))
(arguments
`(#:tests? #f ; There is no testsuite.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "client-gnome")
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(path (string-append (assoc-ref inputs "sqlite") "/lib")))
(wrap-program (string-append out "/bin/gnome-ring")
`("LD_LIBRARY_PATH" ":" prefix (,path))))
#t)))))
(synopsis "Distributed multimedia communications platform")
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
video and chat communication platform that requires no centralized server and
leaves the power of privacy in the hands of the user. It supports the SIP and
IAX protocols, as well as decentralized calling using P2P-DHT.
This package provides the Jami client for the GNOME desktop.")
(home-page "https://jami.net")
(license license:gpl3+)))

Some files were not shown because too many files have changed in this diff Show More