Merge branch 'master' into staging

This commit is contained in:
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/"
(effective-version)
"/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)
(guix self)

View File

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

View File

@ -251,6 +251,7 @@ System Configuration
* File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* 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{}
@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.
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
--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.
@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
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")})
The list of output names of the package. @xref{Packages with Multiple
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}
command instead of the more recent @code{dune} command while building
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
@defvr {Scheme Variable} go-build-system
@ -10127,6 +10129,7 @@ instance to support new system services.
* File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* 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}
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})
@cindex initrd
@cindex initial RAM disk
@ -10506,6 +10527,13 @@ details.
@item @code{services} (default: @var{%base-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)})
@cindex PAM
@cindex pluggable authentication modules
@ -10902,7 +10930,6 @@ this field must contain the encrypted password, as a string. You can use the
@example
(user-account
(name "charlie")
(home-directory "/home/charlie")
(group "users")
;; 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.
@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
@section Locales
@ -13161,7 +13290,13 @@ Package object of the Open vSwitch.
Support for the X Window graphical display system---specifically
Xorg---is provided by the @code{(gnu services xorg)} module. Note that
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
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
definition (@pxref{operating-system Reference, system-wide packages}).
@defvr {Scheme Variable} slim-service-type
This is the type for the SLiM graphical login manager for X11.
@defvr {Scheme Variable} gdm-service-type
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 X11 session types
SLiM looks for @dfn{session types} described by the @file{.desktop} files in
@file{/run/current-system/profile/share/xsessions} and allows users to
choose a session from the log-in screen using @kbd{F1}. Packages such
as @code{xfce}, @code{sawfish}, and @code{ratpoison} provide
@file{.desktop} files; adding them to the system-wide set of packages
automatically makes them available at the log-in screen.
GDM looks for @dfn{session types} described by the @file{.desktop} files in
@file{/run/current-system/profile/share/xsessions} and allows users to choose
a session from the log-in screen. Packages such as @code{gnome}, @code{xfce},
and @code{i3} provide @file{.desktop} files; adding them to the system-wide
set of packages automatically makes them available at the log-in screen.
In addition, @file{~/.xsession} files are honored. When available,
@file{~/.xsession} must be an executable that starts a window manager
and/or other X clients.
@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
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.
@end quotation
@item @code{startx} (default: @code{(xorg-start-command)})
The command used to start the X11 graphical server.
@item @code{xorg-configuration} (default @code{(xorg-configuration)})
Configuration of the Xorg graphical server.
@item @code{xauth} (default: @code{xauth})
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")
Directory to look for desktop files starting wayland sessions.
@item @code{xorg-server-path} (default @code{xorg-start-command})
Path to xorg-server.
@item @code{xorg-configuration} (default @code{(xorg-configuration)})
Configuration of the Xorg graphical server.
@item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")})
Path to xauth.
@ -13319,9 +13490,6 @@ Directory to look for desktop files starting X sessions.
@item @code{minimum-vt} (default: 7)
Minimum VT to use.
@item @code{xserver-arguments} (default "-nolisten tcp")
Arguments to pass to xorg-server.
@item @code{auto-login-user} (default "")
User to use for auto-login.
@ -13347,98 +13515,62 @@ type @code{<sddm-configuration>}.
@end example
@end deffn
@deffn {Scheme Procedure} xorg-start-command [#:guile] @
[#:modules %default-xorg-modules] @
[#:fonts %default-xorg-fonts] @
[#:configuration-file (xorg-configuration-file @dots{})] @
[#:xorg-server @var{xorg-server}]
[#:xserver-arguments '("-nolisten" "tcp")]
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
@code{xorg-wrapper} for more details on the arguments. The result should be
used in place of @code{startx}.
@cindex Xorg, configuration
@deftp {Data Type} xorg-configuration
This data type represents the configuration of the Xorg graphical display
server. Note that there is not Xorg service; instead, the X server is started
by a ``display manager'' such as GDM, SDDM, and SLiM. Thus, the configuration
of these display managers aggregates an @code{xorg-configuration} record.
@table @asis
@item @code{modules} (default: @code{%default-xorg-modules})
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.
@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}]
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
machine running a graphical display server, possibly with graphical user
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
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.
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
management services, the @code{elogind} login and seat manager, 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
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{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
services like the backlight adjustment helpers and the power management
utilities are added to the system, extending @code{polkit} and @code{dbus}
appropriately, allowing GNOME to operate with elevated privileges on a
limited number of special-purpose system interfaces. Additionally,
adding a service made by @code{gnome-desktop-service} adds the GNOME
metapackage to the system profile. Likewise, adding the XFCE service
adding a service made by @code{gnome-desktop-service-type} adds the GNOME
metapackage to the system profile. Likewise, adding the Xfce service
not only adds the @code{xfce} metapackage to the system profile, but it
also gives the Thunar file manager the ability to open a ``root-mode''
file management window, if the user authenticates using the
@ -14351,25 +14483,50 @@ functionality to work as expetected.
The desktop environments in Guix use the Xorg display server by
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
@code{slim-service} for the graphical login manager. You should then
called Wayland, you need to use the @code{sddm-service} instead of
GDM as the graphical login manager. You should then
select the ``GNOME (Wayland)'' session in SDDM. Alternatively you can
also try starting GNOME on Wayland manually from a TTY with the
command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
gnome-session``. Currently only GNOME has support for Wayland.
@deffn {Scheme Procedure} gnome-desktop-service
Return a service that adds the @code{gnome} package to the system
profile, and extends polkit with the actions from
@code{gnome-settings-daemon}.
@end deffn
@defvr {Scheme Variable} gnome-desktop-service-type
This is the type of the service that adds the @uref{https://www.gnome.org,
GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration}
object (see below.)
@deffn {Scheme Procedure} xfce-desktop-service
Return a 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 deffn
This service adds the @code{gnome} package to the system profile, and extends
polkit with the actions from @code{gnome-settings-daemon}.
@end defvr
@deftp {Data Type} gnome-desktop-configuration
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
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 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
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{operating-system}:
@ -14414,8 +14571,8 @@ them by default. To add GNOME, XFCE or MATE, just @code{cons} them onto
(operating-system
...
;; cons* adds items to the list given as its last argument.
(services (cons* (gnome-desktop-service)
(xfce-desktop-service)
(services (cons* (service gnome-desktop-service-type)
(service xfce-desktop-service)
%desktop-services))
...)
@end example
@ -21624,7 +21781,7 @@ emulated:
@example
(service qemu-binfmt-service-type
(qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc"))))
(platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))))
@end example
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
@deffn {Scheme Procedure} raw-initrd @var{file-systems} @
[#:linux-modules '()] [#:mapped-devices '()] @
[#:keyboard-layout #f] @
[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
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
@ -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
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
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.
@ -23548,7 +23712,8 @@ to it are lost.
@end deffn
@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 '()]
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
@ -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
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}.
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
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})
The bootloader theme object describing the theme to use. If no theme
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
;;; 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 © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@ -45,6 +45,7 @@
(gnu system file-systems)
(gnu bootloader)
(gnu bootloader grub)
(gnu system keyboard)
(gnu system pam)
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)

View File

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

View File

@ -27,8 +27,10 @@
#:use-module (gnu bootloader)
#:use-module (gnu system uuid)
#:use-module (gnu system file-systems)
#:use-module (gnu system keyboard)
#:autoload (gnu packages bootloaders) (grub)
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
#:autoload (gnu packages xorg) (xkeyboard-config)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
@ -219,6 +221,26 @@ fi~%"
;;; 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)
"Return GRUB commands to configure the input / output interfaces. The result
is a string that can be inserted in grub.cfg."
@ -330,6 +352,18 @@ entries corresponding to old generations of the system."
#:system system
#: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
#~(call-with-output-file #$output
(lambda (port)
@ -338,6 +372,7 @@ entries corresponding to old generations of the system."
# will be lost upon reconfiguration.
")
#$sugar
#$keyboard-layout-config
(format port "
set default=~a
set timeout=~a~%"

View File

@ -1,5 +1,5 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
@ -437,6 +437,7 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(define* (boot-system #:key
(linux-modules '())
linux-module-directory
keymap-file
qemu-guest-networking?
volatile-root?
pre-mount
@ -444,7 +445,8 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(on-error 'debug))
"This procedure is meant to be called from an initrd. Boot a system by
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
specified in MOUNTS, and finally booting into the new root if any. The initrd
supports kernel command-line options '--load', '--root', and '--repl'.
@ -491,6 +493,15 @@ upon error."
#:lookup-module lookup-module)
(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?
(unless (configure-qemu-networking)
(display "network interface is DOWN\n")))

View File

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

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,7 +28,9 @@
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#: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)
(let ((title (G_ "Layout")))
@ -120,3 +123,11 @@ names of the selected keyboard layout and variant."
(list layout (or variant ""))))
(format-result
(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
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +30,7 @@
draw-connecting-page
run-input-page
run-error-page
run-confirmation-page
run-listbox-selection-page
run-scale-page
run-checkbox-tree-page
@ -141,6 +143,42 @@ of the page is set to TITLE."
(newt-set-color COLORSET-ROOT "white" "blue")
(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
info-text
title

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,7 +54,12 @@
(car result)))
(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
(format #f (G_ "Partition formatting is in progress, please wait."))
(G_ "Preparing partitions")))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,10 @@
#:use-module ((gnu build file-systems)
#:select (read-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 utils)
#:use-module (guix records)
@ -1243,22 +1248,51 @@ from (gnu system mapped-devices) and return it."
(target ,label)
(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)
"Return the bootloader configuration field for USER-PARTITIONS."
(let* ((root-partition
(find (lambda (user-partition)
(let ((mount-point
(user-partition-mount-point user-partition)))
(and mount-point
(string=? mount-point "/"))))
user-partitions))
(let* ((root-partition (find root-user-partition?
user-partitions))
(root-partition-disk (user-partition-disk-file-name root-partition)))
`((bootloader-configuration
,@(if (efi-installation?)
`((bootloader grub-efi-bootloader)
(target ,(default-esp-mount-point)))
`((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)
"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))
(encrypted-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))))
(bootloader ,@(bootloader-configuration user-partitions))
,@(if (null? encrypted-partitions)
'()
`((mapped-devices

View File

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

View File

@ -538,6 +538,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/accounts.scm \
%D%/system/file-systems.scm \
%D%/system/install.scm \
%D%/system/keyboard.scm \
%D%/system/linux-container.scm \
%D%/system/linux-initrd.scm \
%D%/system/locale.scm \
@ -729,6 +730,7 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/docker-engine-test-noinstall.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/doxygen-test.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-realgud-fix-configure-ac.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/erlang-man-path.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_IM_MODULE_FILE.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_IM_MODULE_FILE.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/red-eclipse-remove-gamma-name-hack.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/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \

View File

@ -32,6 +32,7 @@
mkdir-p))
#:autoload (guix profiles) (packages->manifest)
#:use-module (guix describe)
#:use-module (guix deprecation)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:autoload (ice-9 binary-ports) (put-bytevector)
@ -55,6 +56,7 @@
fold-packages
fold-available-packages
find-newest-available-packages
find-packages-by-name
find-package-locations
find-best-packages-by-name
@ -186,6 +188,29 @@ flags."
directory))
%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)
"Fold PROC over the list of available packages. For each available package,
PROC is called along these lines:

View File

@ -475,8 +475,8 @@ login, passwd, su, groupadd, and useradd.")
(synopsis "Getty for the text console")
(description
"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
allow automatic login and starting any app.")
asks for a login name and then transfers over to @code{login}. It is extended
to allow automatic login and starting any app.")
(license license:gpl2+)))
(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
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+.
(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/")
(synopsis "Advanced df like disk information utility")
(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
usage in whatever format you prefer. It is designed to be highly portable and
produce uniform output across heterogeneous networks.")
@ -2918,7 +2919,8 @@ Logitech Unifying Receiver.")
(define-public lynis
(package
(name "lynis")
(version "2.7.2")
;; Also update the lynis-sdk input to the commit matching this release.
(version "2.7.3")
(source
(origin
(method git-fetch)
@ -2927,7 +2929,7 @@ Logitech Unifying Receiver.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dbbfk47dpxx7zpb98n4w3ls3z5di57qnr2nsgxjvp49gk9j3f6k"))
(base32 "0md1w86i3fy9l78i98ijr5136nbhdiik2dxyw9qnzmvdlvkqmw70"))
(modules '((guix build utils)))
(snippet
'(begin
@ -2944,11 +2946,10 @@ Logitech Unifying Receiver.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d")))
(commit "c166b6a67a53b24f5c1fecd4eb5033f54279a5b3")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32
"0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
(base32 "0wa2azcmx6pj9axvq1jmwmz7826rj1c214asmmn1hq7pxmfw62zr"))))))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -131,7 +131,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
(version "0.18.3")
(version "0.19.0")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3"))))
"1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -161,13 +161,6 @@ programs for the manipulation and analysis of astronomical data.")
(assoc-ref %build-inputs "qtserialport")
"/include/qt5"))
#: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
(lambda _
;; 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
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
in systems that allow automation of plugin control ports, such as Ardour, or
for stage use.")
@ -2130,11 +2130,7 @@ different audio devices such as ALSA or PulseAudio.")
"0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj"))))
(build-system gnu-build-system)
(arguments
'(#: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")))
'(#:tests? #f)) ; no check target
(inputs
`(("jack" ,jack-1)
("alsa-lib" ,alsa-lib)

View File

@ -600,9 +600,9 @@ wrapper for the cross-linker for that target, called 'TARGET-ld'."
#t)))))
(synopsis "The linker wrapper")
(description
"The linker wrapper (or 'ld-wrapper') wraps the linker to add any
missing '-rpath' flags, and to detect any misuse of libraries outside of the
store.")
"The linker wrapper (or @code{ld-wrapper}) wraps the linker to add any
missing @code{-rpath} flags, and to detect any misuse of libraries outside of
the store.")
(home-page "https://www.gnu.org/software/guix//")
(license gpl3+)))
@ -1019,8 +1019,8 @@ with the Linux kernel.")
(synopsis "All the locales supported by the GNU C Library")
(description
"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
the 'share/locale' sub-directory of this package.")
more than 400 in total. To use them set the @code{LOCPATH} environment variable
to the @code{share/locale} sub-directory of this package.")
(outputs '("out")) ;110+ MiB
(native-search-paths '())
(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
(package
(name "cutadapt")
(version "1.18")
(version "2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/marcelm/cutadapt.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "cutadapt" version))
(sha256
(base32
"08bbfwyc0kvcd95jf2s95xiv9s3cbsxm39ydl0qck3fw3cviwxpg"))))
"1vqmsfkm6llxzmsz9wcfcvzx9a9f8iabvwik2rbyn7nc4wm25z89"))))
(build-system python-build-system)
(inputs
`(("python-dnaio" ,python-dnaio)
("python-xopen" ,python-xopen)))
(native-inputs
`(("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/")
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
(description
@ -6792,14 +6790,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.")
(define-public r-rbgl
(package
(name "r-rbgl")
(version "1.58.1")
(version "1.58.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RBGL" version))
(sha256
(base32
"1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf"))))
"0vhnh47pswnp27c0zqcbnnsayfmq3cxcgrs9g860555ldqfl4cyl"))))
(properties `((upstream-name . "RBGL")))
(build-system r-build-system)
(propagated-inputs `(("r-graph" ,r-graph)))
@ -7014,29 +7012,6 @@ annotation infrastructure.")
"This package provides a pipeline for the analysis of GRO-seq data.")
(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
(package
(name "vsearch")
@ -7243,32 +7218,6 @@ BLAST, KEGG, GenBank, MEDLINE and GO.")
;; (LGPLv2.1+) and scripts in samples (which have GPL2 and 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
(package
(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.")
(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
(package
(name "r-biocstyle")
@ -7412,29 +7337,6 @@ functionality.")
checks on R packages that are to be submitted to the Bioconductor repository.")
(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
(package
(name "r-s4vectors")
@ -7462,31 +7364,6 @@ In addition, a few low-level concrete subclasses of general interest (e.g.
S4Vectors package itself.")
(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
(package
(name "r-iranges")
@ -7888,10 +7765,10 @@ biological sequences or sets of sequences.")
(home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
(synopsis "Interface to samtools, bcftools, and tabix")
(description
"This package provides an interface to the 'samtools', 'bcftools', and
'tabix' utilities for manipulating SAM (Sequence Alignment / Map), FASTA,
binary variant call (BCF) and compressed indexed tab-delimited (tabix)
files.")
"This package provides an interface to the @code{samtools},
@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence
Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed
tab-delimited (tabix) files.")
(license license:expat)))
(define-public r-delayedarray
@ -8039,13 +7916,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
(version "1.34.6")
(version "1.34.7")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
"1cz7qx324dmsrkzyhm956cfgr08gpily5rpym7hc8zz5kbl6i3ra"))))
"100y8cx9xfglbn36k25y09y0qfwm0qpb4b01qhk367832rqz5dhz"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@ -8587,45 +8464,6 @@ characterization and visualization of a wide range of mutational patterns
in SNV base substitution data.")
(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
(let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372")
(revision "1"))
@ -8693,39 +8531,6 @@ bound and non bound genomic regions to accurately identify transcription
factors bound at the specific regions.")
(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
(package
(name "r-tximport")
@ -10384,14 +10189,14 @@ defining LD blocks.")
(define-public r-gqtlstats
(package
(name "r-gqtlstats")
(version "1.14.0")
(version "1.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "gQTLstats" version))
(sha256
(base32
"1sg9kw59dlayj7qxql9pd93d4hmml504sa3kkfpzfh3xri7m5pxf"))))
"1rkbnb3h02fdksc4nacqvmq4jgbj9fz4hm7j51yr2ggcgcykwraa"))))
(properties `((upstream-name . "gQTLstats")))
(build-system r-build-system)
(propagated-inputs
@ -10625,14 +10430,14 @@ block processing.")
(define-public r-rhdf5lib
(package
(name "r-rhdf5lib")
(version "1.4.2")
(version "1.4.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version))
(sha256
(base32
"06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5"))
"0hjhjvg2kss71fkmxlbgnyyy1agwzgq57rxkgkm4riw82x2rvw7q"))
(modules '((guix build utils)))
(snippet
'(begin
@ -10861,14 +10666,14 @@ memory usage and processing time is minimized.")
(define-public r-phangorn
(package
(name "r-phangorn")
(version "2.4.0")
(version "2.5.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "phangorn" version))
(sha256
(base32
"0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i"))))
"1bv86yfk5r015s7ij6v4zz7bagwrw9m13yfs5853drxb19d5h1m3"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
@ -11075,23 +10880,31 @@ with narrow binding events such as transcription factor ChIP-seq.")
(define-public trim-galore
(package
(name "trim-galore")
(version "0.4.5")
(version "0.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FelixKrueger/TrimGalore.git")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"0x5892l48c816pf00wmnz5vq0zq6170d3xc8zrxncd4jcz7h1p71"))))
"1y31wbxwkm9xqzr5zv1pk5q418whnmlmgmfyxxpnl12h83m2i9iv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#: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)
(add-after 'unpack 'hardcode-tool-references
(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 = '"
(assoc-ref inputs "cutadapt")
"/bin/cutadapt'"))
(("\\| gzip")
(string-append "| "
(("\\$compression_path = \"gzip\"")
(string-append "$compression_path = \""
(assoc-ref inputs "gzip")
"/bin/gzip"))
"/bin/gzip\""))
(("\"gunzip")
(string-append "\""
(assoc-ref inputs "gzip")
"/bin/gunzip")))
"/bin/gunzip"))
(("\"pigz")
(string-append "\""
(assoc-ref inputs "pigz")
"/bin/pigz")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@ -11119,6 +10936,7 @@ with narrow binding events such as transcription factor ChIP-seq.")
(inputs
`(("gzip" ,gzip)
("perl" ,perl)
("pigz" ,pigz)
("cutadapt" ,cutadapt)))
(native-inputs
`(("unzip" ,unzip)))
@ -13461,15 +13279,41 @@ in RNA-seq data.")
(define-public python-scanpy
(package
(name "python-scanpy")
(version "1.2.2")
(version "1.4")
;; Fetch from git because the pypi tarball does not include tests.
(source
(origin
(method url-fetch)
(uri (pypi-uri "scanpy" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/theislab/scanpy.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz"))))
"0zn6x6c0cnm1a20i6isigwb51g3pr9zpjk8r1minjqnxi5yc9pm4"))))
(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
`(("python-anndata" ,python-anndata)
("python-igraph" ,python-igraph)
@ -13485,7 +13329,9 @@ in RNA-seq data.")
("python-seaborn" ,python-seaborn)
("python-h5py" ,python-h5py)
("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.")
(description "Scanpy is a scalable toolkit for analyzing single-cell gene
expression data. It includes preprocessing, visualization, clustering,
@ -13494,6 +13340,38 @@ Python-based implementation efficiently deals with datasets of more than one
million cells.")
(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
(let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41")
(revision "1"))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
@ -38,7 +38,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#: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
(package
@ -257,3 +258,32 @@ typing conventions?
every project that needs to deal with sizes in bytes. It is written in the C
language with thin bindings for other languages.")
(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
(package
(name "khal")
(version "0.9.10")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"03h0j0d3xyqh98x5v2gv63wv3g91hip3vsaxvybsn5iz331d23h4"))))
"1p49f3g25x900vk32spjbr2aipj12kcbhayny2vwhdpkjlv6k396"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -122,22 +122,14 @@ data units.")
(setenv "TZ"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo/Zulu"))
(invoke "py.test" "tests" "-k"
(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")))))))
(invoke "py.test" "tests"))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-setuptools-scm" ,python-setuptools-scm)
;; Required for tests
("python-freezegun" ,python-freezegun)
("tzdata" ,tzdata)
("tzdata" ,tzdata-for-tests)
("vdirsyncer" ,vdirsyncer)
;; Required to build manpage
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; 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 © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -336,13 +336,15 @@ or @command{xorrisofs} to create ISO 9660 images.")
(package
(name "dvdisaster")
(version "0.79.5")
(source (origin
(method url-fetch)
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-"
version ".tar.bz2"))
(sha256
(base32
"0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w"))))
(source
(origin
(method url-fetch)
;; Update this (and update HOME-PAGE) when/if one reappears.
(uri (string-append "https://web.archive.org/web/20180428070843/"
"http://dvdisaster.net/downloads/dvdisaster-"
version ".tar.bz2"))
(sha256
(base32 "0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)))
@ -384,7 +386,8 @@ or @command{xorrisofs} to create ISO 9660 images.")
(copy-file "contrib/dvdisaster48.xpm"
(string-append datadir "/pixmaps/dvdisaster.xpm"))
#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")
(description "Optical media (CD,DVD,BD) keep their data only for a
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
(package
(name "asunder")
(version "2.8")
(version "2.9.3")
(source (origin
(method url-fetch)
(uri
@ -665,7 +668,7 @@ information is written to standard error.")
".tar.bz2"))
(sha256
(base32
"1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq"))))
"1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#: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")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/google/googletest/archive/"
"release-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/googletest.git")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq"))))
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))

View File

@ -558,7 +558,7 @@ strings.")
(synopsis "MIT/GNU Scheme compatibility library for Chez Scheme")
(description "This package provides a set of MIT/GNU Scheme compatibility
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+)))
(define-public chez-scmutils

View File

@ -80,11 +80,9 @@
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license
"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/nss" ;MPL-2.0
"net/third_party/quic" ;BSD-3
"net/third_party/spdy" ;BSD-3
"net/third_party/uri_template" ;ASL2.0
"third_party/abseil-cpp" ;ASL2.0
"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/zlib/google" ;BSD-3
"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/valgrind" ;BSD-4
"v8/third_party/inspector_protocol" ;BSD-3
@ -224,8 +223,9 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %chromium-version "72.0.3626.121")
(define %ungoogled-revision "a80839c418de8843dfcd6c13a557f12d26a0a17a")
(define %chromium-version "73.0.3683.86")
(define %ungoogled-revision "4c7fb6d1a86602999f30b58ef8b331b2115c5ad8")
(define %debian-revision "debian/73.0.3683.75-1")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
@ -233,29 +233,43 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
;; This is a "computed" origin that does the following:
;; 1) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; 2) Prunes all third_party folders that are not explicitly preserved.
;; 3) Adjusts "GN" build files such that system libraries are preferred.
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
;; *) Prunes all third_party directories that are not explicitly preserved.
;; *) Adjusts "GN" build files such that system libraries are preferred.
(define ungoogled-chromium-source
(let* ((chromium-source
(origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
%chromium-version ".tar.xz"))
(sha256
(base32
"07xwmlvmzfga61nrimqmzl7s29jb4kc94nkzwwlb7sh6nr55a7jc"))))
(ungoogled-source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
(commit %ungoogled-revision)))
(file-name (git-file-name "ungoogled-chromium"
(string-take %ungoogled-revision 7)))
(sha256
(base32
"0rgirbxbgjdm3s2kzgj101rjq0clr7x2a7b37kfx2q629z4qlrpc")))))
(let ((chromium-source
(origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
%chromium-version ".tar.xz"))
(sha256
(base32
"18xzddqi8rgng5vksx23jaiv103prxc38pshwp702nfjfqap7fwy"))))
(ungoogled-source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
(commit %ungoogled-revision)))
(file-name (git-file-name "ungoogled-chromium"
(string-take %ungoogled-revision 7)))
(sha256
(base32
"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
(method computed-origin-method)
@ -265,7 +279,10 @@ from forcing GEXP-PROMISE."
(delay
(with-imported-modules '((guix build utils))
#~(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))
(preserved-files (list #$@%preserved-third-party-files)))
@ -281,41 +298,61 @@ from forcing GEXP-PROMISE."
(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...~%")
(force-output)
(invoke "tar" "xf" #+chromium-source)
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python3" "run_buildkit_cli.py" "prune"
"-b" "config_bundles/guix" chromium-dir)
(invoke "python3" "run_buildkit_cli.py" "patches" "apply"
"-b" "config_bundles/guix" chromium-dir)
(invoke "python3" "run_buildkit_cli.py" "domains" "apply"
"-b" "config_bundles/linux_rooted"
(invoke "python3" "utils/prune_binaries.py" chromium-dir
"pruning.list")
(invoke "python3" "utils/patches.py" "apply"
chromium-dir "patches")
(invoke "python3" "utils/domain_substitution.py" "apply" "-r"
"domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" 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...~%")
(force-output)
(apply invoke "python"
"build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" preserved-files)
"build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" preserved-files)
(format #t "Replacing GN files...~%")
(force-output)
@ -427,7 +464,12 @@ depends = linux_rooted\n")))
"use_openh264=true"
"use_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.
"proprietary_codecs=true"
@ -502,12 +544,13 @@ depends = linux_rooted\n")))
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
(("#include \"third_party/jsoncpp/") "#include \"json/"))
(substitute* "media/base/decode_capabilities.cc"
(("third_party/libvpx/source/libvpx/") ""))
(substitute* "ui/gfx/skia_util.h"
(substitute* '("ui/gfx/skia_util.h"
"components/viz/common/resources/resource_format_utils.h")
(("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
;; format which doesn't support timestamps before
;; 1980. Therefore, advance the timestamps of the files

View File

@ -1050,7 +1050,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
(description
"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
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/")
(outputs '("out" "debug" "static"))

View File

@ -158,8 +158,8 @@ the @code{zlib} source.")
(home-page "https://savannah.nongnu.org/projects/fastjar")
(synopsis "Replacement for Sun's 'jar' utility")
(description
"FastJar is an attempt to create a much faster replacement for Sun's 'jar'
utility. Instead of being written in Java, FastJar is written in C.")
"FastJar is an attempt to create a much faster replacement for Sun's
@code{jar} utility. Instead of being written in Java, FastJar is written in C.")
(license license:gpl2+)))
(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
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "vendor/github.com/google/googletest")
(invoke "tar" "xvf" (assoc-ref inputs "googletest-source")
"-C" "vendor/github.com/google/googletest"
"--strip-components=1")))
(copy-recursively (assoc-ref inputs "googletest-source")
"vendor/github.com/google/googletest")
#t))
(add-before 'check 'make-unittests
(lambda _
(invoke "make" "unittests"))))))

View File

@ -239,32 +239,19 @@ ElasticSearch server")
(define-public leveldb
(package
(name "leveldb")
(version "1.20")
(version "1.21")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/google/leveldb"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/leveldb")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm"))))
(build-system gnu-build-system)
"00v0w6883z7a6204894j59nd5v6dazn3c8hvh3sbczv4wiabppw2"))))
(build-system cmake-build-system)
(arguments
'(#:make-flags (list "CC=gcc")
#: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))))))
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
(inputs
`(("snappy" ,snappy)))
(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/")
(synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
(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
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

View File

@ -134,7 +134,7 @@ Qt-style API for Wayland clients.")
(define-public sddm
(package
(name "sddm")
(version "0.18.0")
(version "0.18.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -143,7 +143,7 @@ Qt-style API for Wayland clients.")
"sddm-" version ".tar.xz"))
(sha256
(base32
"0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87"))))
"0nilrhwlyvkngjgxfc08n73c16azgmw80pvx0a78xqww9y3hv4xh"))))
(build-system cmake-build-system)
(native-inputs
`(("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
(lambda _
;; the next version will need "make test"
(and (zero? (system* "flake8" "contact_form"))
(zero? (system* "coverage" "run" "contact_form/runtests.py"))
(zero? (system* "coverage" "report" "-m" "--fail-under" "0"))))))))
(invoke "flake8" "contact_form")
(invoke "coverage" "run" "contact_form/runtests.py")
(invoke "coverage" "report" "-m" "--fail-under" "0"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-flake8" ,python-flake8)))
@ -577,8 +577,7 @@ entries, photos, book chapters, or anything else.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "./test_project/manage.py" "test")))))))
(lambda _ (invoke "./test_project/manage.py" "test"))))))
(propagated-inputs
`(("python-django" ,python-django)))
(native-inputs

View File

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

View File

@ -227,6 +227,8 @@ network attachments.")
(home-page "http://containerd.io/")
(license license:asl2.0)))
;; TODO: Patch out modprobes for ip_vs, nf_conntrack,
;; brige, nf_conntrack_netlink, aufs.
(define-public docker
(package
(name "docker")
@ -242,7 +244,8 @@ network attachments.")
(base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx"))
(patches
(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)
(arguments
`(#:modules

View File

@ -73,6 +73,6 @@
(synopsis "Customizable and lightweight notification daemon")
(description
"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.")
(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}.")
(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.
@ -1158,19 +1181,45 @@ always indented. It reindents after every change, making it more reliable
than @code{electric-indent-mode}.")
(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
(package
(name "emacs-ag")
(version "0.47")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Wilfred/ag.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Wilfred/ag.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
"15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -1262,13 +1311,14 @@ or XEmacs.")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/sebastiansturm/autothemer/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/sebastiansturm/autothemer.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa"))))
"0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@ -1322,14 +1372,14 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(version "1.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/kiwanami/emacs-calfw/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/kiwanami/emacs-calfw.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
"0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-howm" ,emacs-howm)))
@ -1346,14 +1396,14 @@ Emacs buffer.")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/wbolster/emacs-direnv/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/wbolster/emacs-direnv.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0m9nxawklhiiysyibzzhh2zkxgq1fskqvaqb06f7r8dnhabfy9fr"))))
"172jyl8v4zy9bbha8nndq63x8svn9xqkafkj3q17z289na8iaylh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("dash" ,emacs-dash)
@ -1461,13 +1511,14 @@ written in the Go programming language.")
(name "emacs-google-maps")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jd/google-maps.el/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jd/google-maps.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs"))))
"183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
(build-system emacs-build-system)
(home-page "https://github.com/jd/google-maps.el")
(synopsis "Access Google Maps from Emacs")
@ -1527,24 +1578,18 @@ diagrams.")
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
(version "0.5.5")
(version "0.5.7")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/purcell/mmm-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/purcell/mmm-mode.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
"0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -1562,14 +1607,14 @@ single buffer.")
(name "emacs-tablist")
(version "0.70")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/politza/tablist/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/politza/tablist.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c"))))
"0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
(build-system emacs-build-system)
(home-page "https://github.com/politza/tablist")
(synopsis "Extension for @code{tabulated-list-mode}")
@ -2622,14 +2667,14 @@ source code using IPython.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.16")
(version "0.17")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
"0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
"0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@ -2959,6 +3004,34 @@ automatically inserts a Unicode opening or closing quotation mark, depending
on context.")
(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
(let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
(package
@ -3037,6 +3110,33 @@ to a key in your preferred mode.")
SuperCollider is a platform for audio synthesis and algorithmic composition.")
(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
(package
(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.")
(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
(let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
(revision "1"))
@ -3283,6 +3455,32 @@ insertion mode. When enabled all keys are implicitly prefixed with
sgml/html integration, and indentation (working with sgml).")
(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
(package
(name "emacs-rfcview")
@ -3409,6 +3607,31 @@ started with 20 minutes. All values are customizable.")
organizer.")
(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
(let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
(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.")
(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
(package
(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.")
(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
(package
(name "emacs-queue")
@ -5750,6 +6022,35 @@ interface and multiple, selectable \"styles\", whose use is fully
customizable by the user.")
(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
(package
(name "emacs-mu4e-alert")
@ -7212,7 +7513,7 @@ the actual transformations.")
(license license:gpl2+))))
(define-public emacs-dired-hacks
(let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
(let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
(revision "1"))
(package
(name "emacs-dired-hacks")
@ -7226,7 +7527,7 @@ the actual transformations.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx"))))
"1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@ -8481,13 +8782,14 @@ Anzu.zim.")
(name "emacs-emmet-mode")
(version "1.0.8")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/smihica/emmet-mode"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/smihica/emmet-mode.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
(build-system emacs-build-system)
(home-page "https://github.com/smihica/emmet-mode")
(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
and article extracts for Wikipedia.")
(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 tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xorg))
@ -554,43 +555,65 @@ multipole-accelerated algorithm.")
(define-public fritzing
(package
(name "fritzing")
(version "0.9.2b")
(version "0.9.3b")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/fritzing/"
"fritzing-app/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-app.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15rwjp4xdj9w1z9f709rz9p0k2mi9k9idma9hvzkj5j8p04mg7yd"))))
"0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(and (zero? (system* "tar"
"-xvf" (assoc-ref inputs "fritzing-parts-db")
"-C" "parts"))
(zero? (system* "qmake"
(string-append "PREFIX="
(assoc-ref outputs "out"))
"phoenix.pro"))))))))
(copy-recursively (assoc-ref inputs "fritzing-parts-db")
"parts")
;; Make compatible with libgit2 > 0.24
(substitute* "src/version/partschecker.cpp"
(("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
"error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
;; 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
`(("qtbase" ,qtbase)
("qtserialport" ,qtserialport)
("qtsvg" ,qtsvg)
("libgit2" ,libgit2)
("boost" ,boost)
("zlib" ,zlib)
("fritzing-parts-db"
,(origin
(method url-fetch)
(uri (string-append "https://github.com/fritzing/"
"fritzing-parts/archive/" version ".tar.gz"))
(file-name (string-append "fritzing-parts-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-parts.git")
(commit version)))
(file-name (git-file-name "fritzing-parts" version))
(sha256
(base32
"0jqr8yjg7177f3pk1fcns584r0qavwpr280nggsi2ff3pwk5wpsz"))))))
"1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
(home-page "http://fritzing.org")
(synopsis "Electronic circuit design")
(description

View File

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

View File

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

View File

@ -134,9 +134,9 @@ reliability in mind.")
(synopsis "Command-line File Transfer Protocol (FTP) client")
(description
"NcFTP Client (or just NcFTP) is a set of command-line programs to access
File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive
FTP browser, as well as non-interactive commands such as 'ncftpput' and
'ncftpget'.")
File Transfer Protocol (FTP) servers. This includes @code{ncftp}, an interactive
FTP browser, as well as non-interactive commands such as @code{ncftpput} and
@code{ncftpget}.")
(license clarified-artistic)))
@ -209,14 +209,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
(version "3.41.1")
(version "3.41.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
(base32 "0mlv21054fk11rspbnig0q4gph1iqsqm4rpya3wl5is50p33vg5w"))))
(base32 "05zhvzvzkbns0cdxmlswvasfa6031y22dhfj9y5p85gi654f4fy2"))))
(build-system gnu-build-system)
(arguments
;; 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 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,6 +36,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -431,7 +433,7 @@ support.")
(define-public tiled
(package
(name "tiled")
(version "1.2.2")
(version "1.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -440,7 +442,7 @@ support.")
(file-name (git-file-name name version))
(sha256
(base32
"0ay4x1b6h5xfax1cqry2fklcmqi6a16klgmci4gkhga7as66lnnn"))))
"1nfyigfkl10n9r82p1qxhpr09jn2kwalh9n5r209bcaj8dxspph8"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -567,7 +569,7 @@ sounds from presets such as \"explosion\" or \"powerup\".")
(define-public physfs
(package
(name "physfs")
(version "3.0.1")
(version "3.0.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -576,7 +578,7 @@ sounds from presets such as \"explosion\" or \"powerup\".")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wgj2zqpnfbnyyi1i7bq5pshcc9n5cvwlpzp8im67nb8662ryyxp"))))
"0qzqz4r88gvd8m7sh2z5hvqcr0jfr4wb2f77c19xycyn0rigfk9h"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@ -1078,7 +1080,7 @@ of use.")
(method url-fetch)
(uri
(string-append "https://github.com/OpenMW/openmw/archive/"
name "-" version ".tar.gz"))
"openmw-" version ".tar.gz"))
(sha256
(base32
"03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy"))))
@ -1329,3 +1331,76 @@ that parenthetically inclined game developers need to make 2D (and eventually
@item REPL-driven development model
@end enumerate\n")
(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
the OpenGL Utility Toolkit (GLUT) library. GLUT was originally
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,
widely available and highly portable.

View File

@ -392,7 +392,7 @@ formats like PNG, SVG, PDF and EPS.")
("libsoup" ,libsoup)))
(propagated-inputs
`(("gcr" ,gcr)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("liboauth" ,liboauth)
("libxml2" ,libxml2)))
(home-page "https://wiki.gnome.org/Projects/libgdata")
@ -5064,7 +5064,23 @@ window manager.")
(sha256
(base32
"035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47"))))
(outputs '("out" "lib"))
(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
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("gobject-introspection" ,gobject-introspection)
@ -5101,6 +5117,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(sha256
(base32
"11sq795115vrcgxl9svscm6wg8isjj784c3d84qzb6z47zq92zj3"))))
(outputs '("out" "libedataserverui"))
(build-system cmake-build-system)
(arguments
'(;; 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.
;; Remove it so the configure flag is respected.
(("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
`(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection)
@ -5161,7 +5211,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(inputs
`(("bdb" ,bdb)
("gcr" ,gcr)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("json-glib" ,json-glib)
("libgweather" ,libgweather)
("mit-krb5" ,mit-krb5)
@ -5777,6 +5827,7 @@ devices using the GNOME desktop.")
("gnome-bluetooth" ,gnome-bluetooth)
("gnome-desktop" ,gnome-desktop)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gnome-settings-daemon" ,gnome-settings-daemon)
("grilo" ,grilo)
("ibus" ,ibus)
@ -5920,7 +5971,6 @@ properties, screen resolution, and other GNOME parameters.")
("gdm" ,gdm)
("gjs" ,gjs)
("gnome-bluetooth" ,gnome-bluetooth)
("gnome-control-center" ,gnome-control-center)
("gnome-desktop" ,gnome-desktop)
("gnome-settings-daemon" ,gnome-settings-daemon)
("gst-plugins-base" ,gst-plugins-base)
@ -6487,7 +6537,7 @@ library.")
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("gnome-online-accounts" ,gnome-online-accounts)
`(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("json-glib" ,json-glib)
("rest" ,rest)))
(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)))
(inputs
`(("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)
("libdazzle" ,libdazzle)
("libedataserverui" ,evolution-data-server "libedataserverui")
("libgweather" ,libgweather)
("geoclue" ,geoclue)))
(home-page "https://wiki.gnome.org/Apps/Calendar")
@ -6610,11 +6661,12 @@ desktop. It supports multiple calendars, month, week and year view.")
(inputs
`(("rest" ,rest) ; For Todoist plugin
("json-glib" ,json-glib) ; For Todoist plugin
("libedataserverui" ,evolution-data-server "libedataserverui")
("libical" ,libical)
("libpeas" ,libpeas)
("python-pygobject" ,python-pygobject)
("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)))
(home-page "https://wiki.gnome.org/Apps/Todo")
(synopsis "GNOME's ToDo Application")
@ -6943,7 +6995,7 @@ compiled.")
("gobject-introspection" ,gobject-introspection)))
(inputs
`(("json-glib" ,json-glib)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("rest" ,rest)))
(synopsis "GLib/GObject wrapper for the Facebook API")
(description "This library allows you to use the Facebook API from
@ -7825,6 +7877,7 @@ generic enough to work for everyone.")
("gtkspell3" ,gtkspell3)
("highlight" ,highlight)
("libcanberra" ,libcanberra)
("libedataserverui" ,evolution-data-server "libedataserverui")
("libgweather" ,libgweather)
("libnotify" ,libnotify)
("libsoup" ,libsoup)

View File

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

View File

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

View File

@ -578,7 +578,7 @@ from forcing GEXP-PROMISE."
#:system system
#: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
;; 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"))
(sha256
(base32
"1mc57dhwyjr6qjm3q617wvj306wi72548wjx7lz1dxkz6hndi03w"))))
"1x8419a1yg6igsq5ij3ymf1zmnb2wpm9dqcdfkv5wy43xgf7y0wl"))))
(upstream-icecat-base-version "60.3.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")

View File

@ -18,15 +18,90 @@
(define-module (gnu packages gpodder)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#: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 python-web)
#:use-module (gnu packages python-xyz)
#: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
(package
(name "libmygpo-qt")
@ -57,6 +132,36 @@
and track podcasts.")
(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
(package
(name "python-podcastparser")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +23,8 @@
#:use-module (guix download)
#:use-module (guix git-download)
#: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 python)
#:use-module (guix build-system r)
@ -30,6 +33,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages bioconductor)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
#:use-module (gnu packages graphviz)
@ -40,6 +44,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics)
#:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
@ -239,3 +244,140 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
(define-public python2-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")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OGRECave/" name
"/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/OGRECave/ogre.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"13bdh9v4026qf8w8rbfln2rmwf0rby1a8fz55zpdvpy105i6cbpz"))
(file-name (string-append name "-" version ".tar.gz"))))
"072rzw9mxymbiypgkrbkk9h10rgly6gczik4dlmssk6xkpqckaqr"))))
(build-system cmake-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(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)
(copy-file (assoc-ref inputs "googletest-source")
(string-append (getcwd)
"/Tests/googletest-prefix/src/"
"release-1.8.0.tar.gz"))
(substitute* "Tests/CMakeLists.txt"
(("URL(.*)$")
(string-append "URL " (assoc-ref inputs "googletest-source"))))
#t)))
#:configure-flags
(list "-DOGRE_BUILD_TESTS=TRUE"

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; 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 © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
@ -822,6 +822,18 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(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.
;;;

View File

@ -103,6 +103,12 @@
(substitute* "ice-9/popen.scm"
(("/bin/sh") (which "sh")))
#t)))))
;; When cross-compiling, a native version of Guile itself is needed.
(native-inputs (if (%current-target-system)
`(("self" ,this-package))
'()))
(inputs `(("gawk" ,gawk)
("readline" ,readline)))
@ -111,9 +117,6 @@
(propagated-inputs `(("gmp" ,gmp)
("libltdl" ,libltdl)))
;; When cross-compiling, a native version of Guile itself is needed.
(self-native-input? #t)
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
@ -141,7 +144,12 @@ without requiring the source code to be rewritten.")
(base32
"10lxc6l5alf3lzbs3ihnbfy6dfcrsyf8667wa57f26vf4mk2ai78"))))
(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)
,@(libiconv-if-needed)
@ -165,8 +173,6 @@ without requiring the source code to be rewritten.")
("bdw-gc" ,libgc)
("gmp" ,gmp)))
(self-native-input? #t)
(outputs '("out" "debug"))
(arguments
@ -207,20 +213,6 @@ without requiring the source code to be rewritten.")
(home-page "https://www.gnu.org/software/guile/")
(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
(package (inherit guile-2.0)
(name "guile")

View File

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

View File

@ -148,9 +148,9 @@ Haskell test framework.")
"https://github.com/feuerbach/tasty-golden")
(synopsis "Golden tests support for tasty")
(description
"This package provides support for 'golden testing'. A @dfn{golden 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
"This package provides support for @code{golden testing}. A @dfn{golden
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 @code{golden} file, which
contains the correct result for the test.")
(license license:expat)))

View File

@ -1157,7 +1157,7 @@ them.")
(synopsis
"Support for manipulating Haskell source code")
(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
definition of a Haskell abstract syntax tree (AST). Common uses of this
package are to parse or generate Haskell 98 code.")
@ -2360,11 +2360,11 @@ literals.")
"Compression and decompression in the gzip and zlib formats")
(description
"This package provides a pure interface for compressing and decompressing
streams of data represented as lazy 'ByteString's. It uses the zlib C library
so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
compression formats. It provides a convenient high level API suitable for
most tasks and for the few cases where more control is needed it provides
access to the full zlib feature set.")
streams of data represented as lazy @code{ByteString}s. It uses the zlib C
library so it has high performance. It supports the @code{zlib}, @code{gzip}
and @code{raw} compression formats. It provides a convenient high level API
suitable for most tasks and for the few cases where more control is needed it
provides access to the full zlib feature set.")
(license license:bsd-3)))
(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
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
capabilities that are optimized for performance critical use, both
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")
(synopsis "Case insensitive string comparison")
(description
"The module 'Data.CaseInsensitive' provides the 'CI' type constructor
which can be parameterised by a string-like type like: 'String', 'ByteString',
'Text', etc.. Comparisons of values of the resulting type will be insensitive
to cases.")
"The module @code{Data.CaseInsensitive} provides the @code{CI} type
constructor which can be parameterised by a string-like type like:
@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
the resulting type will be insensitive to cases.")
(license license:bsd-3)))
(define-public ghc-syb
@ -3830,7 +3830,7 @@ to cases.")
(description "This package contains the generics system described in the
/Scrap Your Boilerplate/ papers (see
@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
variety of traversals.")
(license license:bsd-3)))
@ -4323,8 +4323,8 @@ interface.")
"https://github.com/haskell/network-uri")
(synopsis "Library for URI manipulation")
(description "This package provides an URI manipulation interface. In
'network-2.6' the 'Network.URI' module was split off from the 'network'
package into this package.")
@code{network-2.6} the @code{Network.URI} module was split off from the
@code{network} package into this package.")
(license license:bsd-3)))
(define-public ghc-ansi-terminal
@ -5724,7 +5724,7 @@ using a simple box model.")
(description
"This package provides a @code{GHC.Generics}-based
@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
providing an 'rnf' implementation.")
providing an @code{rnf} implementation.")
(license license:bsd-3)))
(define-public ghc-string-qq
@ -9430,7 +9430,7 @@ the community, with the missing features being added with pull-requests.")
`(("ghc-rebase" ,ghc-rebase)))
(home-page "https://github.com/nikita-volkov/rerebase")
(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,
the project's home page}.")
(license license:expat)))

View File

@ -198,29 +198,6 @@ APNG patch provides APNG support to libpng.")
(base32
"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
(package
(name "pngcrush")
@ -568,7 +545,7 @@ arithmetic ops.")
(arguments '(#:configure-flags '("--disable-static")))
(synopsis "Decoder of the JBIG2 image compression format")
(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
paper documents. In this domain it is very efficient, offering compression
ratios on the order of 100:1.

View File

@ -418,7 +418,7 @@ documentation.")
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt 5 addon providing access to numerous types of archives")
(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
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")
(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
contains a 'kdemain(...)' function. Using kdeinit to launch KDE applications
makes starting KDE applications faster and reduces memory consumption.")
contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
applications makes starting KDE applications faster and reduces memory
consumption.")
;; dual licensed
(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.")
(license license:gpl2)))
(define %linux-libre-version "5.0.3")
(define %linux-libre-hash "1ivdqr3y8r2hmv3a1g0a641cr2ckl3x4arapw0j6nwd0sbcyncam")
(define %linux-libre-version "5.0.5")
(define %linux-libre-hash "1yivxqprxfzhzid4qv9hpnb5i38kijrj2g2pyzz7niliya1c58li")
(define %linux-libre-5.0-patches
(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
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.30")
(define %linux-libre-4.19-hash "1i15cs7zb53hagllgga8jaz0j1p9b22j93iczwc2w587zzhzlvng")
(define %linux-libre-4.19-version "4.19.32")
(define %linux-libre-4.19-hash "19bryl8nmnnnrfh91pc8q9yiayh5ca2nb6b32qyx6riahc5dy0i9")
(define %linux-libre-4.19-patches
(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
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.107")
(define %linux-libre-4.14-hash "19i17b8sjjvi99vya1vncjalysdy027hp35rrla68gjs28dyas7r")
(define %linux-libre-4.14-version "4.14.109")
(define %linux-libre-4.14-hash "05xnnyfiypg4sdcnh42wvg7h72ar8xx98dik12sgwysnfldi0gk9")
(define-public linux-libre-4.14
(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))
(define-public linux-libre-4.9
(make-linux-libre "4.9.164"
"06bbynvijqlk92bpppmnjijyfwr0sk01krqdw4hpgbrvlg3wdlbk"
(make-linux-libre "4.9.166"
"1gijzvhky3x0nl0dm9ksg113z7jc1mc1n30qbr6r1dd78lfd050p"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.176"
"0c300zqmsadahs2fpzxh6cn7q3h7jxq69msd17rh8v3wnvql8vzx"
(make-linux-libre "4.4.177"
"0vvppw7j6jwn3cd5hhzgj5xfqkmz682zy36iyr6ynd0rbh1j7bhm"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
@ -2003,9 +2003,46 @@ system.")
(description
"This package contains keytable files and keyboard utilities compatible
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+)))
(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
(package
(name "inotify-tools")
@ -2272,7 +2309,7 @@ mapper. Kernel components are part of Linux-libre.")
#:tests? #f))
(synopsis "Tools for manipulating Linux Wireless Extensions")
(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
parameters and get the specific stats. It is deprecated in favor the nl80211
interface.")
@ -2630,7 +2667,7 @@ in a digital read-out.")
with support in the Linux kernel. perf can instrument CPU performance
counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable
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))))
(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/")
(synopsis "Tools for loading and managing Linux kernel modules")
(description
"Tools for loading and managing Linux kernel modules, such as `modprobe',
`insmod', `lsmod', and more.")
"Tools for loading and managing Linux kernel modules, such as
@code{modprobe}, @code{insmod}, @code{lsmod}, and more.")
(license license:gpl2+)))
(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.")
(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
(package
(name "tlp")

View File

@ -96,10 +96,10 @@
(synopsis "Linux Infrared Remote Control")
(description
"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
that decodes IR signals received by the device drivers. The second daemon
program 'lircmd' allows to translate IR signals to mouse movements. The
user space applications allow you to control your computer with a remote
used remote controls. The most important part of LIRC is the @code{lircd}
daemon that decodes IR signals received by the device drivers. The second
daemon program @code{lircmd} allows to translate IR signals to mouse movements.
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
on just one button press.")
(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 join consecutive @code{var} statements
@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 convert @code{IF} expressions in various ways that result in smaller code
@item remove some unreachable code

View File

@ -626,28 +626,6 @@ adaptive sparsity and the Wong algorithm for adaptively sparse gaussian
geometric models.")
(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
(package
(name "dlib")

View File

@ -1287,7 +1287,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
(version "2.3.5")
(version "2.3.5.1")
(source
(origin
(method url-fetch)
@ -1295,7 +1295,8 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
(base32 "1zxa9banams9nmk99sf1rqahr11cdqxhwi7hyz3ddxqidpn15qdz"))))
(base32
"0gy3qzwbp6zsyn44pcfq8iiv9iy9q7z6py30h60alb1vkr3rv3yp"))))
(build-system gnu-build-system)
(native-inputs
`(("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 exceptions to the rules, based on string matching for window name
and window class.
@item Allows 'reversing' of rules when the user manually changes something:
@item Allows @code{reversing} of rules when the user manually changes something:
Re-decorates windows on un-maximise.
@end enumerate\n")
(license license:gpl3+)))

View File

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

View File

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

View File

@ -46,6 +46,6 @@
(synopsis "Minimalistic serial line terminal program")
(description "Microcom is a minimalistic terminal program for accessing
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.")
(license gpl2+)))

View File

@ -1630,7 +1630,7 @@ mixing, FFT scopes, MIDI automation and full scriptability in Scheme.")
(home-page "http://bristol.sourceforge.net/")
(synopsis "Synthesizer emulator")
(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
application consists of the engine, which is called bristol, and its own GUI
library called brighton that represents all the emulations. There are
@ -2002,7 +2002,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
(version "3.0.3")
(version "3.0.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -2010,7 +2010,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
version "/zynaddsubfx-" version ".tar.bz2"))
(sha256
(base32
"1hfpiqdm337gl4ynkmmp2qss2m5z8mzqzjrbiyg6w1v4js7l9phi"))))
"18m4ax0x06y1hx4g2g3gf02v0bldkrrb5m7fsr5jlfp1kvjd2j1x"))))
(build-system cmake-build-system)
(arguments
`(#:phases

View File

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

View File

@ -1,5 +1,5 @@
;;; 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 © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 ng0 <ng0@n0.is>
@ -196,9 +196,11 @@
,patch-makefile-phase)
(add-after 'unpack 'remove-unneeded-shebang
,remove-shebang-phase)))))
(self-native-input? #t) ; for `tic'
(native-inputs
`(("pkg-config" ,pkg-config)))
`(,@(if (%current-target-system)
`(("self" ,this-package)) ;for `tic'
'())
("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
(variable "TERMINFO_DIRS")

View File

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

View File

@ -1254,7 +1254,9 @@ coverage information.")
(build-system ocaml-build-system)
(arguments
`(#: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
(modify-phases %standard-phases
(replace 'configure
@ -1724,28 +1726,26 @@ immutability.")
(define-public ocaml-alcotest
(package
(name "ocaml-alcotest")
(version "0.7.2")
(version "0.8.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mirage/alcotest/releases/"
"download/" version "/alcotest-" version ".tbz"))
(sha256
(base32
"0g5lzk0gpfx4q8hyhr460gr4lab5wakfxsmhfwvb3yinxwzs95gc"))))
(build-system ocaml-build-system)
"0szwjxvaahgynsx0apj81jxj3ki6yz4is9mh2wkcbx66qy7n6fvb"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f
#:build-flags (list "build")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
`(#:package "alcotest"
#:test-target "."))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
("opam" ,opam)
("topkg" ,ocaml-topkg)))
`(("ocamlbuild" ,ocamlbuild)))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("astring" ,ocaml-astring)))
`(("ocaml-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")
(synopsis "Lightweight OCaml test framework")
(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
(package
(name "ocaml-react")
(version "1.2.0")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/react/releases/react-"
version ".tbz"))
(sha256 (base32
"0knhgbngphv5sp1yskfd97crf169qhpc0igr6w7vqw0q36lswyl8"))))
"1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v"))))
(build-system ocaml-build-system)
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
("opam" ,opam)))
("opam" ,opam)
("ocaml-topkg" ,ocaml-topkg)))
(arguments
`(#:tests? #f
#:build-flags (list "native=true" "native-dynlink=true")
#:build-flags (list "build")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
@ -2015,14 +2016,14 @@ file system and is independent from any system library.")
(define-public ocaml-bos
(package
(name "ocaml-bos")
(version "0.1.4")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/bos/releases/"
"bos-" version ".tbz"))
(sha256
(base32
"1ly66lysk4w6mdy4k1n3ynlpfpq7lw4wshcpzgx58v6x613w5s7q"))))
"1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f
@ -4790,7 +4791,7 @@ Atom.")
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
(version "1.22.0")
(version "1.24.0")
(source
(origin
(method url-fetch)
@ -4800,10 +4801,22 @@ Atom.")
version "/gsl-" version ".tbz"))
(sha256
(base32
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
(build-system ocaml-build-system)
"1l5zkkkg8sglsihrbf10ivq9s8xzl1y6ag89i4jqpnmi4m43fy34"))))
(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
`(("gsl" ,gsl)))
(propagated-inputs
`(("ocaml-base" ,ocaml-base)
("ocaml-stdio" ,ocaml-stdio)))
(home-page "https://mmottl.github.io/gsl-ocaml")
(synopsis "Bindings to the GNU Scientific Library")
(description

View File

@ -78,6 +78,7 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
@ -109,8 +110,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.16.0")
(commit "2637cfd7a4894ef2a2a7da3bb46d8815c43d7e75")
(revision 10))
(commit "f970946c1d3dc6d20bd48ec6f42c82a43bb7696f")
(revision 11))
(package
(name "guix")
@ -126,7 +127,7 @@
(commit commit)))
(sha256
(base32
"1m734gm45x9czqspsagdfxfgw5wiiinyq1s6zc9gfv7d3b2w472k"))
"0v7qj2i9n52l1di8vk15nqdrlapfc22pcf5jl56fp4mqpq48ddrj"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -409,10 +410,10 @@ generated file."
(make-parameter #f))
(define-public current-guix
(let* ((repository-root (canonicalize-path
(string-append (current-source-directory)
"/../..")))
(select? (delay (or (git-predicate repository-root)
(let* ((repository-root (delay (canonicalize-path
(string-append (current-source-directory)
"/../.."))))
(select? (delay (or (git-predicate (force repository-root))
source-file?))))
(lambda ()
"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
(inherit guix)
(version (string-append (package-version guix) "+"))
(source (local-file repository-root "guix-current"
(source (local-file (force repository-root) "guix-current"
#:recursive? #t
#:select? (force select?))))))))
@ -1018,7 +1019,11 @@ the bootloader configuration.")
(sha256
(base32
"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
'(#:tests? #f ;; Tests fail due to trying to create files where it can't.
#: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
(synopsis "Patch tracking tool")
(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
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

View File

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

View File

@ -55,7 +55,7 @@ endeavor to implement this idea using modern technologies.")
(source
(origin
(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"))
(sha256
(base32

View File

@ -18,7 +18,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; 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 Kei Kebreau <kkebreau@posteo.net>
;;;
@ -387,7 +387,7 @@ error when it would have happened.")
(source
(origin
(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"))
(sha256
(base32 "1pjxcbbcpwlgzm0fzsbqd58zn8cj9vwril1wn3xfd7ws550mixa0"))))
@ -733,7 +733,7 @@ to test the installed perl for compatibility with his modules.")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/R/RJ/RJBS/Carp-"
"mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-"
version ".tar.gz"))
(sha256
(base32
@ -821,7 +821,7 @@ Perl.")
(source
(origin
(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"))
(sha256
(base32
@ -911,7 +911,7 @@ the same mk_accessors interface.")
(source
(origin
(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"))
(sha256
(base32 "1fy48hx56n5kdn1gz66awg465qf34r0n5jam64x7zxh9zhzb1m9m"))))
@ -981,7 +981,7 @@ supporting the same interface, but using Class::C3 to do the hard work.")
(source
(origin
(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"))
(sha256
(base32 "14wn1g45z3b5apqq7dcai5drk01hfyqydsd2m6hsxzhyvi3b2l9h"))))
@ -1027,7 +1027,7 @@ subclasses and can be overridden.")
(source
(origin
(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"))
(sha256
(base32 "1h7dfjxkpqbfymrf1bn7699i4fx6pbv5wvvi5zszfr8sqqkax1yf"))))
@ -1190,11 +1190,11 @@ write accessor methods for your objects that perform standard tasks.")
("perl-test-requires" ,perl-test-requires)))
(home-page "https://metacpan.org/release/Class-Method-Modifiers")
(synopsis "Moose-like method modifiers")
(description "Class::Method::Modifiers provides three modifiers: 'before',
'around', and 'after'. 'before' and 'after' are run just before and after the
method they modify, but can not really affect that original method. 'around'
is run in place of the original method, with a hook to easily call that
original method.")
(description "Class::Method::Modifiers provides three modifiers:
@code{before}, @code{around}, and @code{after}. @code{before} and @code{after}
are run just before and after the method they modify, but can not really affect
that original method. @code{around} is run in place of the original method,
with a hook to easily call that original method.")
(license (package-license perl))))
(define-public perl-class-singleton
@ -2216,7 +2216,7 @@ time before its creation (in 1582).")
(source
(origin
(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"))
(sha256
(base32 "0gbw7rh706qk5jlmmz3yzsm0ilzp39kyar28g4j6d57my8cwaipx"))))
@ -2938,7 +2938,7 @@ input a message of arbitrary length and produces as output a
(build-system perl-build-system)
(synopsis "Perl implementation of the SHA-1 message digest algorithm")
(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.")
(home-page "https://metacpan.org/release/Digest-SHA1")
(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")
(synopsis "Find your home and other directories on any platform")
(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
platforms.")
(license (package-license perl))))
@ -3747,7 +3747,7 @@ slurping and spewing. All functions are optionally exported.")
(source
(origin
(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"))
(sha256
(base32 "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1"))))
@ -4266,8 +4266,8 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.")
(home-page "https://metacpan.org/release/IO-Tty")
(synopsis "Perl interface to pseudo ttys")
(description
"This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to
pseudo ttys.")
"This package provides the @code{IO::Pty} and @code{IO::Tty} Perl
interfaces to pseudo ttys.")
(license (package-license perl))))
(define-public perl-ipc-cmd
@ -4515,7 +4515,7 @@ versa.")
(source
(origin
(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"))
(sha256
(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
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
logging mechanism.")
(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
instead of the full Log-Report distribution. The full power of
@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}
version.")
(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")
(synopsis "Give your Perl module the ability to have plugins")
(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))))
(define-public perl-module-runtime
@ -5516,7 +5516,7 @@ sentences.")
(source
(origin
(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-"
version ".tar.gz"))
(sha256
@ -6226,7 +6226,7 @@ fields in Moo-based classes.")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/SY/SYOHEX/Mouse-v"
"mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v"
version
".tar.gz"))
(sha256
@ -6540,7 +6540,7 @@ number exists in a given range, and to be able to manipulate the range.")
(source
(origin
(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"))
(sha256
(base32 "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4"))))
@ -6635,7 +6635,7 @@ one or more modules.")
(source
(origin
(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"))
(sha256
(base32 "0zrs4byhlpq5ybnl0fd3y6pfzair6i2dyvzn7f7a7pgj9n2fi3n5"))))
@ -6663,7 +6663,7 @@ of that behind a simple API.")
(source
(origin
(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"))
(sha256
(base32 "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk"))))
@ -7130,7 +7130,7 @@ of @code{ref}.")
(build-system perl-build-system)
(synopsis "Provide commonly requested regular expressions")
(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:
balanced parentheses and brackets, delimited text (with escapes), integers and
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
(origin
(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"))
(sha256
(base32 "1br8dwh2363s6r0qgy7vv30gv5kj456vj5m6x83savx4wzfnsggc"))))
@ -8612,7 +8612,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-"
"mirror://cpan/authors/id/A/AT/ATOOMIC/Time-HiRes-"
version ".tar.gz"))
(sha256
(base32

View File

@ -331,11 +331,12 @@ deserializing JSON.")
(synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
(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
object of the class to a JSON string. The JSON created from an instance should
round trip to a new instance with the same values for the @quot{public
attributes}. @quot{Private} attributes (that is ones without accessors,) will
be ignored for both serialisation and de-serialisation. The exact behaviour
depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal} respectively.")
object of the class to a JSON string. The JSON created from an instance
should round trip to a new instance with the same values for the public
attributes. Private attributes (that is ones without accessors,) will be
ignored for both serialisation and de-serialisation. The exact behaviour
depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
respectively.")
(license license:artistic2.0)))
(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
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.)
The intent of this is allow the generation and testing of META files for module
authors, so it can provide meta-information whether the attributes are mandatory
as per the spec and where known the places that @quot{customary} attributes are
used.")
The intent of this is allow the generation and testing of META files for
module authors, so it can provide meta-information whether the attributes are
mandatory as per the spec and where known the places that customary attributes
are used.")
(license license:artistic2.0)))
(define-public perl6-mime-base64

View File

@ -204,10 +204,13 @@ MTP, and much more.")
;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+.
(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
(package
(name "perl-image-exiftool")
(version "11.31")
(version "11.30")
(source
(origin
(method url-fetch)
@ -218,7 +221,7 @@ MTP, and much more.")
(string-append "https://www.sno.phy.queensu.ca/~phil/exiftool/"
"Image-ExifTool-" version ".tar.gz")))
(sha256
(base32 "1kplb7hvhrhqxkr4ddc44q7a3fs0r8svv2jlh325nwkfi7aa5kz5"))))
(base32 "0vkjb2c1a3jdlq8rx1jywx4p3f1bmgjn7rzfwx6dxgij2lx76lrs"))))
(build-system perl-build-system)
(arguments
'(#:phases

View File

@ -86,7 +86,7 @@
#t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
`(#:configure-flags
(let-syntax ((with (syntax-rules ()
((_ option input)
(string-append option "="
@ -182,6 +182,18 @@
(substitute* "ext/standard/tests/streams/bug60602.phpt"
(("'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.
(for-each delete-file
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group.

View File

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

View File

@ -2765,14 +2765,14 @@ Server (PLS).")
(define-public python-language-server
(package
(name "python-language-server")
(version "0.25.0")
(version "0.26.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
"1xabnaqd4n72myrc3mxl2y33vr2p7c9c5a87n77p9k327ckvdx01"))))
"1vs9ckfmm534n1hq3m871916wsjvi5h4gyj6wlzg13ck6506lx0s"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
@ -5641,7 +5641,7 @@ It is written entirely in Python.")
(synopsis "Backport of additions to the 'collections.abc' module")
(description
"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)))
(define-public python2-backports-abc
@ -6072,14 +6072,14 @@ Python.")
(define-public python-markdown
(package
(name "python-markdown")
(version "3.0.1")
(version "3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Markdown" version))
(sha256
(base32
"0z6v8649sr434d5r5zmrhydka7v7f9yas4bwcgkcs0650jdhybnh"))))
"0l62x154r9mgdvfap06gf0nkrmjd7xixlfshsxcdif2nlrlnyjpw"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
@ -6872,7 +6872,9 @@ Python's @code{ctypes} foreign function interface (FFI).")
(string-append "'" file "/lib/libmagic.so'")))
#t))))))
(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
this module and the python-magic module both provide a \"magic.py\" file;
these two modules, which are different and were developed separately, both
@ -10336,12 +10338,12 @@ Python to manipulate OpenDocument 1.2 files.")
(description
"Natsort lets you apply natural sorting on lists instead of
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
returned as @code{['a1', 'a10', 'a20', 'a4', 'a9']}. Natsort provides a
function @code{natsorted} that identifies numbers and sorts them separately
from strings. It can also sort version numbers, real numbers, mixed types
and more, and comes with a shell command @command{natsort} that exposes this
functionality in the command line.")
on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
@code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10}, @code{a20},
@code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that
identifies numbers and sorts them separately from strings. It can also sort
version numbers, real numbers, mixed types and more, and comes with a shell
command @command{natsort} that exposes this functionality in the command line.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-natsort))))))
@ -10833,16 +10835,17 @@ network.")
(define-public python-xopen
(package
(name "python-xopen")
(version "0.3.3")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xopen" version))
(sha256
(base32
"1a0wbil552wsmklwd89ssmgz3pjd86qa9i7jh8wqb9wslc8a2qjr"))
(file-name (string-append name "-" version ".tar.gz"))))
"17xbrgi23l87yg6h0qcknssp2q812miiy33qw6v45v5gx0jwv5xh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/marcelm/xopen/")
(synopsis "Open compressed files transparently")
(description "This module provides an @code{xopen} function that works like
@ -14591,14 +14594,14 @@ tool).")
(define-public python-anndata
(package
(name "python-anndata")
(version "0.6.9")
(version "0.6.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "anndata" version))
(sha256
(base32
"1fh461xyyc7pcrjfgd013bdc2alf53r46ss3gfw3431mbb1gappi"))))
"03x83yjaccbqszj7x4fwwmpil0ai59yx64d1zmf2691za3j03w73"))))
(build-system python-build-system)
(propagated-inputs
`(("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
functions that aim to reduce boilerplate when working with data.")
(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
`(#: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
(lambda _
;; make Qt render "offscreen", required for tests

View File

@ -1,5 +1,5 @@
;;; 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 © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@ -30,17 +30,6 @@
#:use-module (gnu packages pkg-config)
#: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
(package
(name "ratpoison")
@ -55,17 +44,28 @@
(patches (search-patches "ratpoison-shell.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
`(#:modules ((ice-9 format)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-xsession
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((rpd "ratpoison.desktop")
(dst (string-append (assoc-ref outputs "out")
"/share/xsessions/")))
(mkdir-p dst)
(copy-file (assoc-ref inputs rpd)
(string-append dst rpd))
#t))))))
(lambda* (#:key outputs #:allow-other-keys)
;; Add a .desktop file to xsessions.
(let* ((output (assoc-ref outputs "out"))
(xsessions (string-append output "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file (string-append xsessions
"/ratpoison.desktop")
(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
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
@ -80,8 +80,7 @@
("xorgproto" ,xorgproto)))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("ratpoison.desktop" ,ratpoison.desktop)))
("pkg-config" ,pkg-config)))
(home-page "https://www.nongnu.org/ratpoison/")
(synopsis "Simple mouse-free tiling window manager")
(description

View File

@ -70,7 +70,10 @@
(_ (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
(method url-fetch)
(uri (string-append "https://static.rust-lang.org/dist/"
@ -78,16 +81,51 @@
(sha256 (base32 hash))
(modules '((guix build utils)))
(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
#:key (patches '()))
#:key
(patches '())
(patch-flags '("-p1")))
"Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST."
(package
(inherit base-rust)
(version version)
(source
(rust-source version checksum #:patches patches))
(rust-source 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)
@ -118,7 +156,7 @@
("flex" ,flex)
;; Required for the libstd sources.
("rustc"
,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
,(rust-source-pre-1.32 "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
(arguments
`(#:test-target "local_tests"
#:make-flags (list (string-append "LLVM_CONFIG="
@ -191,7 +229,7 @@ safety and thread safety guarantees.")
(package
(name "rust")
(version "1.19.0")
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
(source (rust-source-pre-1.32 version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
#:patches '("rust-1.19-mrustc.patch")))
(outputs '("out" "cargo"))
(properties '((timeout . 72000) ;20 hours
@ -427,7 +465,7 @@ safety and thread safety guarantees.")
(define-public rust-1.20
(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")))
(package
(inherit base-rust)
@ -572,7 +610,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t))))))))))
(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")))
(package
(inherit base-rust)
@ -588,7 +626,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t)))))))))
(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")))
(package
(inherit base-rust)
@ -604,7 +642,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t)))))))))
(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")))
(package
(inherit base-rust)
@ -623,8 +661,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.24
(let ((base-rust
(rust-bootstrapped-package rust-1.23 "1.24.1"
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
(rust-bootstrapped-package-pre-1.32 rust-1.23 "1.24.1"
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
(package
(inherit base-rust)
(arguments
@ -645,7 +683,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
;;; Keep using llvm 3.9.1 until builds become determenistic
(define-public rust-1.25
(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"
#:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch"))))
(package
@ -676,7 +714,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.26
(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"
#:patches '("rust-coresimd-doctest.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
(let ((base-rust
(rust-bootstrapped-package rust-1.26 "1.27.2"
"0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
#:patches
'("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(rust-bootstrapped-package-pre-1.32 rust-1.26 "1.27.2"
"0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
#:patches
'("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(package
(inherit base-rust)
(arguments
@ -760,13 +798,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.28
(let ((base-rust
(rust-bootstrapped-package rust-1.27 "1.28.0"
"11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
#:patches
'("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(rust-bootstrapped-package-pre-1.32 rust-1.27 "1.28.0"
"11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
#:patches
'("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch"
"rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(package
(inherit base-rust)
(inputs
@ -794,22 +832,22 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(define-public rust-1.29
(let ((base-rust
(rust-bootstrapped-package rust-1.28 "1.29.2"
"1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(rust-bootstrapped-package-pre-1.32 rust-1.28 "1.29.2"
"1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-reproducible-builds.patch"))))
(package
(inherit base-rust))))
(define-public rust-1.30
(let ((base-rust
(rust-bootstrapped-package rust-1.29 "1.30.1"
"0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch"))))
(rust-bootstrapped-package-pre-1.32 rust-1.29 "1.30.1"
"0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch"))))
(package
(inherit base-rust)
(inputs
@ -842,18 +880,21 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(("fn include") "#[ignore]\nfn include")
(("fn exclude") "#[ignore]\nfn exclude"))
#t))
;; Appears that this test isn't currently running and has been
;; moved elsewhere, so the patch doesn't apply.
(delete 'disable-amd64-avx-test))))))))
;; The test has been moved elsewhere.
(replace '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
(rust-bootstrapped-package rust-1.30 "1.31.1"
"0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch"))))
(rust-bootstrapped-package-pre-1.32 rust-1.30 "1.31.1"
"0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
#:patches
'("rust-1.25-accept-more-detailed-gdb-lines.patch"
"rust-1.30-gdb-llvm.patch"
"rust-reproducible-builds.patch"))))
(package
(inherit base-rust)
(arguments
@ -875,6 +916,12 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
((" Command::new\\(\"echo\"\\)")
(string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n")))
#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
(lambda* _
;; 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"
(("```rust") "```rust,no_run"))
#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")
(synopsis "Standalone ini file parsing library")
(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
anywhere.")
(license x11)))

View File

@ -2,10 +2,10 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 © 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.
;;;
@ -23,10 +23,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages screen)
#:use-module (srfi srfi-1)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
@ -153,23 +153,27 @@ window manager as well as the Tmux terminal multiplexer.")
(define-public reptyr
(package
(name "reptyr")
(version "0.6.2")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/nelhage/reptyr/archive"
"/reptyr-" version ".tar.gz"))
;; XXX: To be removed on next reptyr release.
(patches (search-patches "reptyr-fix-gcc-7.patch"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/nelhage/reptyr.git")
(commit (string-append "reptyr-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"))))
(base32 "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases (delete 'configure))))
'(#:tests? #f ; no tests
#:make-flags
(list "CC=gcc"
(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")
(synopsis "Tool for reparenting a running program to a new terminal")
(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
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 currently does not support mips or aarch64.
(supported-systems (fold delete %supported-systems
'("mips64el-linux" "aarch64-linux")))
;; Reptyr currently does not support mips.
(supported-systems (delete "mips64el-linux" %supported-systems))
(license expat)))

View File

@ -243,7 +243,7 @@ interfaces, or a C API.")
(home-page "https://pagure.io/mlocate")
(synopsis "Locate files on the file system")
(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
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

View File

@ -161,7 +161,7 @@ the low-level development kit for the Yubico YubiKey authentication device.")
(define-public pcsc-lite
(package
(name "pcsc-lite")
(version "1.8.24")
(version "1.8.25")
(source (origin
(method url-fetch)
(uri (string-append
@ -169,7 +169,7 @@ the low-level development kit for the Yubico YubiKey authentication device.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0s3mv6csbi9303vvis0hilm71xsmi6cqkbh2kiipdisydbx6865q"))))
"14l7irs1nsh8b036ag4cfy8wryyysch78scz5dw6xxqwqgnpjvfp"))))
(build-system gnu-build-system)
(arguments
`(#: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))
(synopsis "Server implementation of the SPICE protocol")
(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
Internet and from a wide variety of machine architectures.")
(home-page "https://www.spice-space.org")

View File

@ -111,7 +111,7 @@ applications.")
(define-public libssh2
(package
(name "libssh2")
(version "1.8.1")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -119,7 +119,7 @@ applications.")
version ".tar.gz"))
(sha256
(base32
"0ngif3ynk6xqzy5nlfjs7bsmfm81g9f145av0z86kf0vbgrigda0"))
"0rqd37pc80nm2pz4sa2m9pfc48axys7jwq1l7z0vii5nyvchg0q8"))
(patches
(search-patches "libssh2-fix-build-failure-with-gcrypt.patch"))))
(build-system gnu-build-system)
@ -451,7 +451,7 @@ TCP, not the SSH protocol.")
(define-public dropbear
(package
(name "dropbear")
(version "2019.77")
(version "2019.78")
(source
(origin
(method url-fetch)
@ -459,7 +459,7 @@ TCP, not the SSH protocol.")
"https://matt.ucc.asn.au/dropbear/releases/"
"dropbear-" version ".tar.bz2"))
(sha256
(base32 "13a55fcy2mx2pvsfj6dh9107k4wnbd9ybdyi3w3ivgikwvmph7yr"))))
(base32 "19242qlr40pbqfqd0gg6h8qpj38q6lgv03ja6sahj9vj2abnanaj"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; there is no "make check" or anything similar
;; 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 Vicente Vera Parra <vicentemvp@gmail.com>
;;; 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 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@ -548,14 +548,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix
(package
(name "r-matrix")
(version "1.2-16")
(version "1.2-17")
(source
(origin
(method url-fetch)
(uri (cran-uri "Matrix" version))
(sha256
(base32
"10fh0y1wd0bvnqbzlyck08pn1vxcd58bskx2lrf9m42v5792ba9p"))))
"1k1zf92ycqr7fz44w7bp1p354ww7jg0wm23ybb8dzmbg37qfchyv"))))
(properties `((upstream-name . "Matrix")))
(build-system r-build-system)
(propagated-inputs
@ -802,10 +802,10 @@ effects of different types of color-blindness.")
(home-page "http://dirk.eddelbuettel.com/code/digest.html")
(synopsis "Create cryptographic hash digests of R objects")
(description
"This package contains an implementation of a function 'digest()' for the
creation of hash digests of arbitrary R objects (using the md5, sha-1,
"This package contains an implementation of a function @code{digest()} for
the creation of hash digests of arbitrary R objects (using the md5, sha-1,
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.
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")
(synopsis "Tools for assessing estimability of linear predictions")
(description "Provides tools for determining estimability of linear
functions of regression coefficients, and 'epredict' methods that handle
functions of regression coefficients, and @code{epredict} methods that handle
non-estimable cases correctly.")
(license license:gpl2+)))
@ -1063,7 +1063,7 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
(synopsis "Simple, consistent wrappers for common string operations")
(description
"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
vectors in the same way, and the output from one function is easy to feed into
the input of another.")
@ -2274,9 +2274,9 @@ other packages.")
(synopsis "CommonMark and Github Markdown Rendering in R")
(description
"The CommonMark specification defines a rationalized version of markdown
syntax. This package uses the 'cmark' reference implementation for converting
markdown text into various formats including HTML, LaTeX and groff man. In
addition, it exposes the markdown parse tree in XML format. The latest
syntax. This package uses the @code{cmark} reference implementation for
converting markdown text into various formats including HTML, LaTeX and groff
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
tables, autolinks and strikethrough text.")
(license license:bsd-2)))
@ -2316,14 +2316,14 @@ collation, and NAMESPACE files.")
(define-public r-openssl
(package
(name "r-openssl")
(version "1.2.2")
(version "1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "openssl" version))
(sha256
(base32
"0jfkna9zzhy2m5qd8501ija5jnpxzjn8wi3wjw0kr2fm4sl7qynz"))))
"1gx4mk7js1irzkql5rgk48ja9c6mm28ccxz483ngbhdd57az90qw"))))
(build-system r-build-system)
(inputs
`(("libressl" ,libressl)))
@ -2580,13 +2580,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.9.200.7.1")
(version "0.9.300.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"1gy3ywzw1cx344a8xihnmflgxphy2fhci7ng85msqd1iv9gzxyk4"))))
"02zha49v6s8g39dcmk5dz0pygx0jibgmcwsyzybp9wmlqxnmdvip"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
;; All needed for vignettes
@ -2709,13 +2709,13 @@ variety of formats.")
(define-public r-gtable
(package
(name "r-gtable")
(version "0.2.0")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (cran-uri "gtable" version))
(sha256
(base32
"0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0"))))
"1lyncxf2dqdjgw1071cn9c8zwzkz6sldnd5cgmicf70bc726qf7x"))))
(properties `((upstream-name . "gtable")))
(build-system r-build-system)
(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")
(description
"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).
The 'DataTables' library has been included in this R package.")
using the JavaScript library @code{DataTables} (typically via R Markdown or
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
;; inludes other software components under different licenses:
;;
@ -3688,13 +3688,14 @@ most common form of color blindness.")
(home-page "https://github.com/sjmgarnier/viridisLite")
(synopsis "Default color maps from matplotlib")
(description
"This package is a port of the new @code{matplotlib} color maps ('viridis',
'magma', 'plasma' and 'inferno') to R. matplotlib is a popular plotting
library for Python. These color maps are designed in such a way that they
will analytically be perfectly perceptually-uniform, both in regular form and
also when converted to black-and-white. They are also designed to be
perceived by readers with the most common form of color blindness. This is
the 'lite' version of the more complete @code{viridis} package.")
"This package is a port of the new @code{matplotlib} color maps
(@code{viridis}, @code{magma}, @code{plasma} and @code{inferno}) to R.
matplotlib is a popular plotting library for Python. These color maps are
designed in such a way that they will analytically be perfectly
perceptually-uniform, both in regular form and also when converted to
black-and-white. They are also designed to be perceived by readers with the
most common form of color blindness. This is the @code{lite} version of the
more complete @code{viridis} package.")
(license license:expat)))
(define-public r-tidyselect
@ -5283,14 +5284,14 @@ to Applied regression, Second Edition, Sage, 2011.")
(define-public r-caret
(package
(name "r-caret")
(version "6.0-81")
(version "6.0-82")
(source
(origin
(method url-fetch)
(uri (cran-uri "caret" version))
(sha256
(base32
"1fibrskjzq2f06b8gbrfp3263svfc5s5apsjwaqdg9qzs7sy7fpc"))))
"0zgkmiiarl7ll2ffyciikah61jyps41fin5pjb5l8ja2b26lgrdg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-foreach" ,r-foreach)
@ -5473,19 +5474,20 @@ genome-wide association studies can be analyzed efficiently.")
(define-public r-cairo
(package
(name "r-cairo")
(version "1.5-9")
(version "1.5-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "Cairo" version))
(sha256
(base32
"1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia"))))
"1mdmd5zmjkh1b0x928zizgzh42x8swbajffb88rvnjfdhk1z0dvq"))))
(properties `((upstream-name . "Cairo")))
(build-system r-build-system)
(inputs
`(("cairo" ,cairo)
("libxt" ,libxt)))
("libxt" ,libxt)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(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:
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),
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
easy and fun.")
(license license:gpl2)))

View File

@ -8,7 +8,10 @@
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; 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 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,21 +30,41 @@
(define-module (gnu packages telephony)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#: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 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 gtk)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#: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 pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#: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 xorg)
#: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
calls and messages")
(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