Merge branch 'master' into core-updates

This commit is contained in:
Ludovic Courtès 2016-09-30 12:01:32 +02:00
commit 79355ae3e8
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
207 changed files with 13660 additions and 2236 deletions

View File

@ -41,6 +41,7 @@ MODULES = \
guix/combinators.scm \
guix/utils.scm \
guix/sets.scm \
guix/modules.scm \
guix/download.scm \
guix/git-download.scm \
guix/hg-download.scm \
@ -207,6 +208,12 @@ endif INSTALL_SRFI_37
# Handy way to remove the .go files without removing all the rest.
clean-go:
-$(RM) -f $(GOBJECTS)
@find . -name '*.go' -print | \
if test -t 1; then \
xargs -r echo -e "\033[31mwarning:\033[0m stray .go files:"; \
else \
xargs -r echo "warning: stray .go files:"; \
fi
# Test extensions; has to be unconditional.
@ -222,6 +229,7 @@ SCM_TESTS = \
tests/pk-crypto.scm \
tests/pki.scm \
tests/sets.scm \
tests/modules.scm \
tests/gnu-maintenance.scm \
tests/substitute.scm \
tests/builders.scm \
@ -342,6 +350,9 @@ dist_pkgdata_DATA = hydra.gnu.org.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix
# Zsh completion file.
dist_zshcompletion_DATA = etc/completion/zsh/_guix
EXTRA_DIST = \
HACKING \
ROADMAP \

View File

@ -41,6 +41,13 @@ AC_ARG_WITH([bash-completion-dir],
[bashcompletiondir='${sysconfdir}/bash_completion.d'])
AC_SUBST([bashcompletiondir])
AC_ARG_WITH([zsh-completion-dir],
AC_HELP_STRING([--with-zsh-completion-dir=DIR],
[name of the Zsh completion directory]),
[zshcompletiondir="$withval"],
[zshcompletiondir='${datadir}/zsh/site-functions'])
AC_SUBST([zshcompletiondir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@ -67,14 +74,22 @@ dnl We require pkg.m4 (from pkg-config) and guile.m4 (from Guile.)
dnl Make sure they are available.
m4_pattern_forbid([PKG_CHECK_MODULES])
m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
m4_pattern_forbid([^GUILE_P$])
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
dnl Search for 'guile' and 'guild'. Prefer 2.0 until the 2.2 upgrade is
dnl complete.
GUILE_PKG([2.0 2.2])
GUILE_PROGS
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
fi
if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
else
AC_MSG_WARN([Guile $GUILE_EFFECTIVE_VERSION is not fully supported!])
fi
dnl guile-json is used for the PyPI package importer
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])

View File

@ -225,7 +225,7 @@ guix pull}) from Emacs using:
With @kbd{C-u}, make it verbose.
@end table
Once @command{guix pull} has succeeded, the Guix REPL is restared. This
Once @command{guix pull} has succeeded, the Guix REPL is restarted. This
allows you to keep using the Emacs interface with the updated Guix.
@ -266,7 +266,7 @@ Describe current mode to see all available bindings.
@end table
@emph{Hint:} If you need several ``list'' or ``info'' buffers, you can
simlpy @kbd{M-x clone-buffer} them, and each buffer will have its own
simply @kbd{M-x clone-buffer} them, and each buffer will have its own
history.
@emph{Warning:} Name/version pairs cannot be used to identify packages
@ -310,7 +310,7 @@ Mark the current package for upgrading.
@item ^
Mark all obsolete packages for upgrading.
@item e
Edit the definition of the curent package (go to its location). This is
Edit the definition of the current package (go to its location). This is
similar to @command{guix edit} command (@pxref{Invoking guix edit}), but
for opening a package recipe in the current Emacs instance.
@item x

View File

@ -10,7 +10,7 @@
@include version.texi
@c Identifier of the OpenPGP key used to sign tarballs and such.
@set OPENPGP-SIGNING-KEY-ID 090B11993D9AEBB5
@set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@copying
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016 Ludovic Courtès@*
@ -25,6 +25,7 @@ Copyright @copyright{} 2015, 2016 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016 Chris Marusich@*
Copyright @copyright{} 2016 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016 ng0
Permission is granted to copy, distribute and/or modify this document
@ -218,7 +219,7 @@ Services
* Database Services:: SQL databases.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* Web Services:: Web servers.
* Various Services:: Other services.
* Miscellaneous Services:: Other services.
Defining Services
@ -3793,7 +3794,7 @@ native package build:
"-s"
(string-append #$emacs "/bin/emacs")
(string-append #$output "/bin/vi")))
#:target "mips64el-linux")
#:target "mips64el-linux-gnu")
@end example
@noindent
@ -3825,6 +3826,28 @@ In this example, the @code{(guix build utils)} module is automatically
pulled into the isolated build environment of our gexp, such that
@code{(use-modules (guix build utils))} works as expected.
@cindex module closure
@findex source-module-closure
Usually you want the @emph{closure} of the module to be imported---i.e.,
the module itself and all the modules it depends on---rather than just
the module; failing to do that, attempts to use the module will fail
because of missing dependent modules. The @code{source-module-closure}
procedure computes the closure of a module by looking at its source file
headers, which comes in handy in this case:
@example
(use-modules (guix modules)) ;for 'source-module-closure'
(with-imported-modules (source-module-closure
'((guix build utils)
(gnu build vm)))
(gexp->derivation "something-with-vms"
#~(begin
(use-modules (guix build utils)
(gnu build vm))
@dots{})))
@end example
The syntactic form to construct gexps is summarized below.
@deffn {Scheme Syntax} #~@var{exp}
@ -3962,7 +3985,7 @@ The @code{local-file}, @code{plain-file}, @code{computed-file},
these objects lead to a file in the store. Consider this G-expression:
@example
#~(system* (string-append #$glibc "/sbin/nscd") "-f"
#~(system* #$(file-append glibc "/sbin/nscd") "-f"
#$(local-file "/tmp/my-nscd.conf"))
@end example
@ -4021,7 +4044,7 @@ command:
(use-modules (guix gexp) (gnu packages base))
(gexp->script "list-files"
#~(execl (string-append #$coreutils "/bin/ls")
#~(execl #$(file-append coreutils "/bin/ls")
"ls"))
@end example
@ -4032,8 +4055,7 @@ executable file @file{/gnu/store/@dots{}-list-files} along these lines:
@example
#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds
!#
(execl (string-append "/gnu/store/@dots{}-coreutils-8.22"/bin/ls")
"ls")
(execl "/gnu/store/@dots{}-coreutils-8.22"/bin/ls" "ls")
@end example
@end deffn
@ -4103,6 +4125,34 @@ as in:
This is the declarative counterpart of @code{text-file*}.
@end deffn
@deffn {Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}
Return a file-like object that expands to the concatenation of @var{obj}
and @var{suffix}, where @var{obj} is a lowerable object and each
@var{suffix} is a string.
As an example, consider this gexp:
@example
(gexp->script "run-uname"
#~(system* #$(file-append coreutils
"/bin/uname")))
@end example
The same effect could be achieved with:
@example
(gexp->script "run-uname"
#~(system* (string-append #$coreutils
"/bin/uname")))
@end example
There is one difference though: in the @code{file-append} case, the
resulting script contains the absolute file name as a string, whereas in
the second case, the resulting script contains a @code{(string-append
@dots{})} expression to construct the file name @emph{at run time}.
@end deffn
Of course, in addition to gexps embedded in ``host'' code, there are
also modules containing build tools. To make it clear that they are
meant to be used in the build stratum, these modules are kept in the
@ -4656,7 +4706,7 @@ The general syntax is:
guix hash @var{option} @var{file}
@end example
@command{guix hash} has the following option:
@command{guix hash} has the following options:
@table @code
@ -4684,6 +4734,11 @@ hash (@pxref{Invoking guix archive}).
@c FIXME: Replace xref above with xref to an ``Archive'' section when
@c it exists.
@item --exclude-vcs
@itemx -x
When combined with @option{--recursive}, exclude version control system
directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)
@vindex git-fetch
As an example, here is how you would compute the hash of a Git checkout,
which is useful when using the @code{git-fetch} method (@pxref{origin
@ -4692,8 +4747,7 @@ Reference}):
@example
$ git clone http://example.org/foo.git
$ cd foo
$ rm -rf .git
$ guix hash -r .
$ guix hash -rx .
@end example
@end table
@ -6129,7 +6183,7 @@ Few system services are currently supported out-of-the-box
(@pxref{Services}).
@item
More than 3,200 packages are available, but you may
More than 4,000 packages are available, but you may
occasionally find that a useful package is missing.
@item
@ -6699,8 +6753,7 @@ following in your operating system declaration:
(extra-options '("--gc-keep-derivations"))))
(mingetty-service-type config =>
(mingetty-configuration
(inherit config)
(motd (plain-file "motd" "Howdy!"))))))
(inherit config)))))
(operating-system
;; @dots{}
@ -7534,7 +7587,7 @@ declaration.
* Database Services:: SQL databases.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* Web Services:: Web servers.
* Various Services:: Other services.
* Miscellaneous Services:: Other services.
@end menu
@node Base Services
@ -7565,6 +7618,27 @@ this:
Return a service that sets the host name to @var{name}.
@end deffn
@deffn {Scheme Procedure} login-service @var{config}
Return a service to run login according to @var{config}, a
@code{<login-configuration>} object, which specifies the message of the day,
among other things.
@end deffn
@deftp {Data Type} login-configuration
This is the data type representing the configuration of login.
@table @asis
@item @code{motd}
A file-like object containing the ``message of the day''.
@item @code{allow-empty-passwords?} (default: @code{#t})
Allow empty passwords by default so that first-time users can log in when
the 'root' account has just been created.
@end table
@end deftp
@deffn {Scheme Procedure} mingetty-service @var{config}
Return a service to run mingetty according to @var{config}, a
@code{<mingetty-configuration>} object, which specifies the tty to run, among
@ -7580,9 +7654,6 @@ implements console log-in.
@item @code{tty}
The name of the console this Mingetty runs on---e.g., @code{"tty1"}.
@item @code{motd}
A file-like object containing the ``message of the day''.
@item @code{auto-login} (default: @code{#f})
When true, this field must be a string denoting the user name under
which the system automatically logs in. When it is @code{#f}, a
@ -7603,6 +7674,37 @@ The Mingetty package to use.
@end table
@end deftp
@deffn {Scheme Procedure} kmscon-service-type @var{config}
Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon}
according to @var{config}, a @code{<kmscon-configuration>} object, which
specifies the tty to run, among other things.
@end deffn
@deftp {Data Type} kmscon-configuration
This is the data type representing the configuration of Kmscon, which
implements console log-in.
@table @asis
@item @code{virtual-terminal}
The name of the console this Kmscon runs on---e.g., @code{"tty1"}.
@item @code{login-program} (default: @code{#~(string-append #$shadow "/bin/login")})
A gexp denoting the name of the log-in program. The default log-in program is
@command{login} from the Shadow tool suite.
@item @code{login-arguments} (default: @code{'("-p")})
A list of arguments to pass to @command{login}.
@item @code{hardware-acceleration?} (default: #f)
Whether to use hardware acceleration.
@item @code{kmscon} (default: @var{kmscon})
The Kmscon package to use.
@end table
@end deftp
@cindex name service cache daemon
@cindex nscd
@deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @
@ -7697,12 +7799,23 @@ privacy---often the result of host name lookups is in local cache, so
external name servers do not even need to be queried.
@end defvr
@anchor{syslog-configuration-type}
@deftp {Data Type} syslog-configuration
This data type represents the configuration of the syslog daemon.
@deffn {Scheme Procedure} syslog-service @
[#:config-file @var{%default-syslog.conf}]
Return a service that runs @command{syslogd}. If the configuration file
name @var{config-file} is not specified, use some reasonable default
settings.
@table @asis
@item @code{syslogd} (default: @code{#~(string-append #$inetutils "/libexec/syslogd")})
The syslog daemon to use.
@item @code{config-file} (default: @code{%default-syslog.conf})
The syslog configuration file to use.
@end table
@end deftp
@anchor{syslog-service}
@deffn {Scheme Procedure} syslog-service @var{config}
Return a service that runs a syslog daemon according to @var{config}.
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
information on the configuration file syntax.
@ -8086,6 +8199,40 @@ root.
The other options should be self-descriptive.
@end deffn
@deffn {Scheme Procedure} openssh-service [#:pid-file "/var/run/sshd.pid"] @
[#:port-number 22] [#:permit-root-login 'without-password] @
[#:allow-empty-passwords #f] [#:password-authentication? #t] @
[#:pubkey-authentication? #t] [#:rsa-authentication? #t] @
[#:x11-forwarding? #f] [#:protocol-number "2"]
Run the @command{sshd} program from @var{openssh} on port
@var{port-number}. @command{sshd} runs an SSH daemon and writes its PID
to @var{pid-file}. It understands SSH protocol
@var{protocol-number}. The @var{protocol-number} can be either 1 or 2.
@var{permit-root-login} takes one of @code{#t}, @code{'without-password}
and @code{#f}. It is used to allow root login through SSH.
@code{'without-password} means that root login is allowed, but not with
password-based authentication.
When @var{allow-empty-passwords?} is true, users with empty passwords
may log in. When false, they may not.
When @var{password-authentication?} is true, users may log in with their
password. When false, they have to use other means of authentication.
When @var{pubkey-authentication?} is true, users may log in using public
key authentication. When false, users have to use other means of
authentication. Authorized public keys are stored in
@file{~/.ssh/authorized_keys}. This is used only by protocol version 2.
When @var{rsa-authentication?} is true, users may log in using pure RSA
authentication. When false, users have to use other means of
authentication. This is used only by protocol 1.
When @var{x11-forwarding?} is true, @command{ssh} options @option{-X}
and @option{-Y} will work.
@end deffn
@deffn {Scheme Procedure} dropbear-service [@var{config}]
Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH
daemon} with the given @var{config}, a @code{<dropbear-configuration>}
@ -8193,6 +8340,109 @@ 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}, currently SLiM.
@deftp {Data Type} sddm-configuration
This is the data type representing the sddm service configuration.
@table @asis
@item @code{display-server} (default: "x11")
Select display server to use for the greeter. Valid values are "x11"
or "wayland".
@item @code{numlock} (default: "on")
Valid values are "on", "off" or "none".
@item @code{halt-command} (default @code{#~(string-apppend #$shepherd "/sbin/halt")})
Command to run when halting.
@item @code{reboot-command} (default @code{#~(string-append #$shepherd "/sbin/reboot")})
Command to run when rebooting.
@item @code{theme} (default "maldives")
Theme to use. Default themes provided by SDDM are "elarun" or "maldives".
@item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes")
Directory to look for themes.
@item @code{faces-directory} (default "/run/current-system/profile/share/sddm/faces")
Directory to look for faces.
@item @code{default-path} (default "/run/current-system/profile/bin")
Default PATH to use.
@item @code{minimum-uid} (default 1000)
Minimum UID to display in SDDM.
@item @code{maximum-uid} (default 2000)
Maximum UID to display in SDDM
@item @code{remember-last-user?} (default #t)
Remember last user.
@item @code{remember-last-session?} (default #t)
Remember last session.
@item @code{hide-users} (default "")
Usernames to hide from SDDM greeter.
@item @code{hide-shells} (default @code{#~(string-append #$shadow "/sbin/nologin")})
Users with shells listed will be hidden from the SDDM greeter.
@item @code{session-command} (default @code{#~(string-append #$sddm "/share/sddm/scripts/wayland-session")})
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{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")})
Path to xauth.
@item @code{xephyr-path} (default @code{#~(string-append #$xorg-server "/bin/Xephyr")})
Path to Xephyr.
@item @code{xdisplay-start} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xsetup")})
Script to run after starting xorg-server.
@item @code{xdisplay-stop} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xstop")})
Script to run before stopping xorg-server.
@item @code{xsession-command} (default: @code{xinitr })
Script to run before starting a X session.
@item @code{xsessions-directory} (default: "/run/current-system/profile/share/xsessions")
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.
@item @code{auto-login-session} (default "")
Desktop file to use for auto-login.
@item @code{relogin?} (default #f)
Relogin after logout.
@end table
@end deftp
@deffn {Scheme Procedure} sddm-service config
Return a service that spawns the SDDM graphical login manager for config of
type @code{<sddm-configuration>}.
@example
(sddm-service (sddm-configuration
(auto-login-user "Alice")
(auto-login-session "xfce.desktop")))
@end example
@end deffn
@deffn {Scheme Procedure} slim-service [#:allow-empty-passwords? #f] @
[#:auto-login? #f] [#:default-user ""] [#:startx] @
[#:theme @var{%default-slim-theme}] @
@ -8324,7 +8574,7 @@ profile, and extends polkit with the actions from
@deffn {Scheme Procedure} xfce-desktop-service
Return a service that adds the @code{xfce} package to the system profile,
and extends polkit with the abilit for @code{thunar} to manipulate the
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
@ -9328,7 +9578,7 @@ Defaults to @samp{""}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
Allow full filesystem access to clients. There's no access checks
Allow full file system access to clients. There's no access checks
other than what the operating system does for the active UID/GID. It
works with both maildir and mboxes, allowing you to prefix mailboxes
names with e.g. /path/ or ~user/.
@ -9337,7 +9587,7 @@ Defaults to @samp{#f}.
@deftypevr {@code{dovecot-configuration} parameter} boolean mmap-disable?
Don't use mmap() at all. This is required if you store indexes to
shared filesystems (NFS or clustered filesystem).
shared file systems (NFS or clustered file system).
Defaults to @samp{#f}.
@end deftypevr
@ -9599,7 +9849,7 @@ Defaults to @samp{"1d"}.
@deftypevr {@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?
When creating new mdbox files, immediately preallocate their size to
@samp{mdbox-rotate-size}. This setting currently works only in Linux
with some filesystems (ext4, xfs).
with some file systems (ext4, xfs).
Defaults to @samp{#f}.
@end deftypevr
@ -9622,7 +9872,7 @@ Defaults to @samp{128000}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} string mail-attachment-fs
Filesystem backend to use for saving attachments:
File system backend to use for saving attachments:
@table @code
@item posix
No SiS done by Dovecot (but this might help FS's own deduplication)
@ -9748,8 +9998,8 @@ Defaults to @samp{""}.
@deftypevr {@code{dovecot-configuration} parameter} string postmaster-address
Address to use when sending rejection mails.
Default is postmaster@@<your domain>. %d expands to recipient domain.
Defaults to @samp{""}.
%d expands to recipient domain.
Defaults to @samp{"postmaster@@%d"}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} string hostname
@ -9950,8 +10200,33 @@ directories are created when the service is activated.
@end deffn
@node Various Services
@subsubsection Various Services
@node Miscellaneous Services
@subsubsection Miscellaneous Services
@subsubheading RPC Bind Service
@cindex rpcbind
The @code{(gnu services nfs)} module provides the following:
@defvr {Scheme Variable} rpcbind-service-type
A service type for the RPC portmapper daemon.
@end defvr
@deftp {Data Type} rpcbind-configuration
Data type representing the configuration of the RPC Bind Service.
This type has the following parameters:
@table @asis
@item @code{rpcbind} (default: @code{rpcbind})
The rpcbind package to use.
@item @code{warm-start?} (default: @code{#t})
If this parameter is @code{#t}, then the daemon will read a
state file on startup thus reloading state information saved by a previous
instance.
@end table
@end deftp
@cindex lirc
@subsubheading Lirc Service
@ -10429,9 +10704,23 @@ The @code{grub-theme} object describing the theme to use.
@end deftp
@cindex dual boot
@cindex boot menu
Should you want to list additional boot menu entries @i{via} the
@code{menu-entries} field above, you will need to create them with the
@code{menu-entry} form:
@code{menu-entry} form. For example, imagine you want to be able to
boot another distro (hard to imagine!), you can define a menu entry
along these lines:
@example
(menu-entry
(label "The Other Distro")
(linux "/boot/old/vmlinux-2.6.32")
(linux-arguments '("root=/dev/sda2"))
(initrd "/boot/old/initrd"))
@end example
Details below.
@deftp {Data Type} menu-entry
The type of an entry in the GRUB boot menu.
@ -10442,7 +10731,11 @@ The type of an entry in the GRUB boot menu.
The label to show in the menu---e.g., @code{"GNU"}.
@item @code{linux}
The Linux kernel to boot.
The Linux kernel image to boot, for example:
@example
(file-append linux-libre "/bzImage")
@end example
@item @code{linux-arguments} (default: @code{()})
The list of extra Linux kernel command-line arguments---e.g.,
@ -11089,6 +11382,25 @@ the extension; it must return a valid value for the target service.
Return true if @var{obj} is a service extension.
@end deffn
Occasionally, you might want to simply extend an existing service. This
involves creating a new service type and specifying the extension of
interest, which can be verbose; the @code{simple-service} procedure
provides a shorthand for this.
@deffn {Scheme Procedure} simple-service @var{name} @var{target} @var{value}
Return a service that extends @var{target} with @var{value}. This works
by creating a singleton service type @var{name}, of which the returned
service is an instance.
For example, this extends mcron (@pxref{Scheduled Job Execution}) with
an additional job:
@example
(simple-service 'my-mcron-job mcron-service-type
#~(job '(next-hour (3)) "guix gc -F 2G"))
@end example
@end deffn
At the core of the service abstraction lies the @code{fold-services}
procedure, which is responsible for ``compiling'' a list of services
down to a single directory that contains everything needed to boot and

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@ -20,6 +20,15 @@
declare _guix_available_packages
_guix_complete_subcommand ()
{
local command="${COMP_WORDS[1]}"
local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \
| grep '^ [a-z]' \
| sed -e's/^ \+\([a-z-]\+\).*$/\1/g')"
COMPREPLY=($(compgen -W "$subcommands" -- "${COMP_WORDS[${#COMP_WORDS[*]} - 1]}"))
}
_guix_complete_available_package ()
{
local prefix="$1"
@ -27,7 +36,8 @@ _guix_complete_available_package ()
then
# Cache the complete list because it rarely changes and makes
# completion much faster.
_guix_available_packages="$(${COMP_WORDS[0]} package -A | cut -f1)"
_guix_available_packages="$(${COMP_WORDS[0]} package -A 2> /dev/null \
| cut -f1)"
fi
COMPREPLY=($(compgen -W "$_guix_available_packages" -- "$prefix"))
}
@ -37,17 +47,23 @@ _guix_complete_installed_package ()
# Here we do not cache the list of installed packages because that
# may change over time and the list is relatively small anyway.
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" | cut -f1)"
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" 2> /dev/null \
| cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
}
_guix_complete_option ()
{
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} --help \
local subcommand
case "${COMP_WORDS[2]}" in
-*) subcommand="";;
[a-z]*) subcommand="${COMP_WORDS[2]}";;
esac
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} $subcommand --help 2> /dev/null \
| grep '^ \+-' \
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g' )"
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')"
compopt -o nospace
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[$word_count - 1]}"))
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[${#COMP_WORDS[*]} - 1]}"))
}
_guix_is_command ()
@ -119,7 +135,8 @@ _guix_complete ()
if [ -z "$_guix_subcommands" ]
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
_guix_subcommands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
;;
@ -137,13 +154,13 @@ _guix_complete ()
fi
elif _guix_is_command "system"
then
_guix_complete_file # TODO: complete sub-commands
_guix_complete_subcommand
elif _guix_is_command "import"
then
_guix_complete_subcommand
elif _guix_is_command "hash"
then
_guix_complete_file
elif _guix_is_command "import" # TODO: complete sub-commands
then
_guix_complete_file
_guix_complete_file
else
_guix_complete_available_package "$word_at_point"
fi

456
etc/completion/zsh/_guix Normal file
View File

@ -0,0 +1,456 @@
#compdef guix
#
# GNU Guix --- Functional package management for GNU
# Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
_guix_caching_policy()
{
local -a old_policy
old_policy=( "$1"(Nmh+24) )
(( $#old_policy ))
}
_guix_list_actions()
{
_guix_actions=( $(guix system --help | sed -n 's/^ \([a-z-]\+\)\s\+.\+/\1/p') )
}
_guix_list_checkers()
{
_guix_checkers=( $(guix lint -l | sed -n 's/^- \(.\+\): .\+/\1/p') )
}
_guix_list_graph_types()
{
_guix_graph_types=( $(guix graph --list-types | sed -n 's/^ - \(.\+\): .\+/\1/p') )
}
_guix_list_importers()
{
_guix_importers=( $(guix import --help | sed -n 's/^\s\+\([a-z]\+\)$/\1/p') )
}
_guix_list_updaters()
{
_guix_updaters=( $(guix lint -l | sed -n 's/^- \(.\+\): .\+/\1/p') )
}
_guix_list_available_packages()
{
if ( [[ ${+_guix_available_packages} -eq 0 ]] || _cache_invalid GUIX_AVAILABLE_PACKAGES ) \
&& ! _retrieve_cache GUIX_AVAILABLE_PACKAGES; then
_guix_available_packages=(${${(f)"$(guix package -A | cut -f1)"}})
_store_cache GUIX_AVAILABLE_PACKAGES _guix_available_packages
fi
}
_guix_list_installed_packages()
{
_guix_installed_packages=( $(guix package -I "^${prefix}" | cut -f1) )
}
(( $+functions[_guix_build] )) || _guix_build()
{
_arguments \
'--expression=[build the package matching EXPR]:EXPR' \
'--file=[build the package matching code evaluated from FILE]:FILE:_files' \
'--source[build the packages source derivations]' \
'--sources=[build source derivations]:TYPE:(all package transitive)' \
'--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--target=[cross-build for TRIPLET (e.g. "armel-linux-gnu")]:TRIPLET' \
'--derivations[return the derivation paths of the given packages]' \
'--check[rebuild items to check for non-determinism issues]' \
'--root=[symlink result to FILE and register it as GC root]:FILE:_files' \
'--quiet[do not show the build log]' \
'--log-file[return the log file names for the given derivations]' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
'--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_available_packages
compadd -a -- _guix_available_packages
fi
}
(( $+functions[_guix_challenge] )) || _guix_challenge()
{
_arguments \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_available_packages
compadd -a -- _guix_available_packages
fi
}
(( $+functions[_guix_container] )) || _guix_container()
{
_arguments \
':action:(exec)' \
'*:args'
}
(( $+functions[_guix_download] )) || _guix_download()
{
_arguments \
'--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
'1:URL:_urls'
}
(( $+functions[_guix_edit] )) || _guix_edit()
{
_guix_list_available_packages
compadd -a -- _guix_available_packages
}
(( $+functions[_guix_environment] )) || _guix_environment()
{
_arguments \
'--expression=[create environment for the package evaluated from EXPR]:EXPR' \
'--load=[create environment for the package evaluated from FILE]:FILE:_files' \
'--ad-hoc[include all specified packages, not only their inputs]' \
'--pure[unset existing environment variables]' \
'--search-paths[display needed environment variable definitions]' \
'--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--container[run command within an isolated container]' \
'--network[allow containers to access the network]' \
'--share=[share writable host file system according to SPEC]:SPEC' \
'--expose=[expose read-only host file system according to SPEC]:SPEC' \
'--bootstrap[use bootstrap binaries to build the environment]' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_available_packages
compadd -a -- _guix_available_packages
fi
}
(( $+functions[_guix_gc] )) || _guix_gc()
{
_arguments \
'--collect-garbage=[collect at least MIN bytes of garbage]:MIN' \
'--free-space=[attempt to reach FREE available space in the store]:FREE' \
'--delete[attempt to delete PATHS]' \
'--optimize[optimize the store by deduplicating identical files]' \
'--list-dead[list dead paths]' \
'--list-live[list live paths]' \
'--references[list the references of PATHS]' \
'--requisites[list the requisites of PATHS]' \
'--referrers[list the referrers of PATHS]' \
'--verify=[verify the integrity of the store]:OPTS:(contents repair)' \
'--list-failures[list cached build failures]' \
'--clear-failures[remove PATHS from the set of cached failures]' \
'1:PATH:_dirs'
}
(( $+functions[_guix_graph] )) || _guix_graph()
{
_arguments \
'--type=[represent nodes of the given TYPE]:TYPE:->types' \
'--list-types[list the available graph types]' \
'--expression=[consider the package EXPR evaluates to]:EXPR' \
'1:PACKAGE:->packages'
case "$state" in
types)
_guix_list_graph_types
compadd -a -- _guix_graph_types
;;
packages)
_guix_list_available_packages
compadd -a -- _guix_available_packages
;;
esac
}
(( $+functions[_guix_hash] )) || _guix_hash()
{
_arguments \
'--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
'--recursive[compute the hash on FILE recursively]'\
'1:FILE:_files'
}
(( $+functions[_guix_import] )) || _guix_import()
{
_arguments \
'1:IMPORTER:->importer' \
'*:args:'
if [[ "$state" = importer ]]; then
_guix_list_importers
compadd -a -- _guix_importers
fi
}
(( $+functions[_guix_lint] )) || _guix_lint()
{
_arguments \
'--checkers=[only run the specified checkers]:CHECKERS:->checkers' \
'--list-checkers[display the list of available lint checkers]' \
'1:PACKAGE:->packages'
case "$state" in
checkers)
_guix_list_checkers
compadd -a -- _guix_checkers
;;
packages)
_guix_list_available_packages
compadd -a -- _guix_available_packages
;;
esac
}
(( $+functions[_guix_package] )) || _guix_package()
{
_arguments \
'--install[install one or more packages]: :->install' \
'--install-from-expression=[install the package EXP evaluates to]:EXP' \
'--install-from-file=[install the package evaluated from FILE]:FILE:_files' \
'--remove[remove one or more packages]: :->remove' \
'--upgrade=[upgrade all the installed packages matching REGEXP]:REGEXP' \
'--manifest=[create a new profile generation from FILE]:FILE:_files' \
'--do-not-upgrade=[do not upgrade any packages matching REGEXP]:REGEXP' \
'--roll-back[roll back to the previous generation]' \
'--search-paths=[display needed environment variable definitions]:KINDS' \
'--list-generations=[list generations matching PATTERN]:PATTERN' \
'--delete-generations=[delete generations matching PATTERN]:PATTERN' \
'--switch-generation=[switch to a generation matching PATTERN]:PATTERN' \
'--profile=[use PROFILE instead of the default profile]:PROFILE' \
'--bootstrap[use the bootstrap Guile to build the profile]' \
'--verbose[produce verbose output]' \
'--search=[search in synopsis and description using REGEXP]:REGEXP' \
'--list-installed=[list installed packages matching REGEXP]:REGEXP' \
'--list-available=[list available packages matching REGEXP]:REGEXP' \
'--show=[show details about a package]: :->show' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
'--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT'
case "$state" in
install|show)
_guix_list_available_packages
compadd -a -- _guix_available_packages
;;
remove)
_guix_list_installed_packages
compadd -a -- _guix_installed_packages
;;
esac
}
(( $+functions[_guix_publish] )) || _guix_publish()
{
_arguments \
'--port=[listen on PORT]:PORT:' \
'--listen=[listen on the network interface for HOST]:HOST:_hosts' \
'--user=[change privileges to USER as soon as possible]:USER:_users' \
'--compression=[compress archives at LEVEL]:LEVEL' \
'--ttl=[announce narinfos can be cached for TTL seconds]:TTL' \
'--repl=[spawn REPL server on PORT]:PORT'
}
(( $+functions[_guix_pull] )) || _guix_pull()
{
_arguments \
'--verbose[produce verbose output]' \
'--url=[download the Guix tarball from URL]:URL:_urls' \
'--bootstrap[use the bootstrap Guile to build the new Guix]'
}
(( $+functions[_guix_refresh] )) || _guix_refresh()
{
_arguments \
'--expression=[consider the package EXPR evaluates to]:EXPR' \
'--update[update source files in place]' \
'--select=[select all the packages in SUBSET]:SUBSET:(core non-core)' \
'--type=[restrict to updates from the specified updaters]:UPDATER:->updaters' \
'--list-updaters[list available updaters and exit]' \
'--list-dependent[list top-level dependent packages]' \
'--key-server=[use HOST as the OpenPGP key server]:HOST:_hosts' \
'--gpg=[use COMMAND as the GnuPG 2.x command]:COMMAND' \
'--key-download=[policy to handle missing OpenPGP keys]:POLICY:(always interactive never)' \
'*:package:->packages'
case "$state" in
updaters)
_guix_list_updaters
compadd -a -- _guix_updaters
;;
packages)
_guix_list_available_packages
compadd -a -- _guix_available_packages
;;
esac
}
(( $+functions[_guix_size] )) || _guix_size()
{
_arguments \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'-system=[consider packages for SYSTEM--e.g., "i686-linux"]:SYSTEM' \
'--map-file=[write to FILE a graphical map of disk usage]:FILE:_files' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_available_packages
compadd -a -- _guix_available_packages
fi
}
(( $+functions[_guix_system] )) || _guix_system()
{
_arguments \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--derivation[return the derivation of the given system]' \
'--on-error=[apply STRATEGY when an error occurs while reading FILE]:STRATEGY' \
'--image-size=[for "vm-image", produce an image of SIZE]:SIZE' \
'--no-grub[for "init", do not install GRUB]' \
'--share=[for "vm", share host file system according to SPEC]:SPEC' \
'--expose=[for "vm", expose host file system according to SPEC]:SPEC' \
'--full-boot[for "vm", make a full boot sequence]' \
'1:action:->actions' \
'*:file:_files'
if [[ "$state" = actions ]]; then
_guix_list_actions
compadd -a -- _guix_actions
fi
}
(( $+functions[_guix_command] )) || _guix_command()
{
local -a _guix_cmds
_guix_cmds=(
"archive:Export/import one or more packages from/to the store"
"build:Build a given package"
"challenge:Challenge the substitutes for a package"
"container:Build and manipulate Linux containers"
"download:Download the file at given URL and add it to the store"
"edit:Edit the definitions of a package"
"environment:Build an environment with a package and its dependencies"
"gc:Invoke the garbage collector"
"graph:Emit a DOT representation of the dependencies of a package"
"hash:Return the cryptographic hash of a file"
"import:Run an importer"
"lint:Run a set of checkers on a package"
"package:Install, remove, or upgrade packages"
"publish:Publish /gnu/store over HTTP."
"pull:Download and deploy the latest version of Guix"
"refresh:Update package definitions to match the latest version"
"size:Report the size of a package and its dependencies"
"system:Build the operating system"
)
if (( CURRENT == 1 )); then
_describe -t commands 'guix command' _guix_cmds || compadd "$@"
else
local curcontext="$curcontext"
cmd="${${_guix_cmds[(r)$words[1]:*]%%:*}}"
if (( $#cmd )); then
local cache_policy
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
if [[ -z "$cache_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy _guix_caching_policy
fi
curcontext="${curcontext%:*:*}:guix-${cmd}:"
_call_function ret _guix_${cmd} || _message 'no more arguments'
else
_message "unknown guix command: $words[1]"
fi
return ret
fi
}
_arguments \
'(--version)--version[Display version information and exit]' \
'*::guix command:_guix_command'
# vim: ts=4 sts=4 sw=4 et ai
# Local variables:
# mode: sh
# End:

View File

@ -233,6 +233,9 @@ numeric gid or #f."
;; 'groupadd' aborts if the file doesn't already exist.
(touch "/etc/group")
;; Allow home directories to be created under /var/lib.
(mkdir-p "/var/lib")
;; Create the root account so we can use 'useradd' and 'groupadd'.
(activate-user (find (match-lambda
((name (? zero?) _ ...) #t)

View File

@ -19,6 +19,7 @@
(define-module (gnu build file-systems)
#:use-module (guix build utils)
#:use-module (guix build bournish)
#:use-module (guix build syscalls)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
@ -41,17 +42,16 @@
uuid->string
string->uuid
MS_RDONLY
MS_NOSUID
MS_NODEV
MS_NOEXEC
MS_BIND
MS_MOVE
bind-mount
mount-flags->bit-mask
check-file-system
mount-file-system))
mount-file-system)
#:re-export (mount
umount
MS_BIND
MS_MOVE
MS_RDONLY))
;;; Commentary:
;;;
@ -61,21 +61,11 @@
;;; Code:
;; 'mount' is already defined in the statically linked Guile used for initial
;; RAM disks, but in all other cases the (guix build syscalls) module contains
;; the mount binding.
(eval-when (expand load eval)
(unless (defined? 'mount)
(module-use! (current-module)
(resolve-interface '(guix build syscalls)))))
;; Linux mount flags, from libc's <sys/mount.h>.
(define MS_RDONLY 1)
(define MS_NOSUID 2)
(define MS_NODEV 4)
(define MS_NOEXEC 8)
(define MS_REMOUNT 32)
(define MS_BIND 4096)
(define MS_MOVE 8192)
;; RAM disks, in which case the bindings in (guix build syscalls) do not work
;; (the FFI bindings do not work there). Override them in that case.
(when (module-defined? the-scm-module 'mount)
(set! mount (@ (guile) mount))
(set! umount (@ (guile) umount)))
(define (bind-mount source target)
"Bind-mount SOURCE at TARGET."

View File

@ -98,6 +98,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/dillo.scm \
%D%/packages/disk.scm \
%D%/packages/display-managers.scm \
%D%/packages/django.scm \
%D%/packages/djvu.scm \
%D%/packages/dns.scm \
%D%/packages/docbook.scm \
@ -142,6 +143,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/geo.scm \
%D%/packages/geeqie.scm \
%D%/packages/gettext.scm \
%D%/packages/gforth.scm \
%D%/packages/ghostscript.scm \
%D%/packages/gimp.scm \
%D%/packages/gkrellm.scm \
@ -155,6 +157,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gnustep.scm \
%D%/packages/gnuzilla.scm \
%D%/packages/gnu-pw-mgr.scm \
%D%/packages/gobby.scm \
%D%/packages/golang.scm \
%D%/packages/gperf.scm \
%D%/packages/gprolog.scm \
@ -214,6 +217,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/libusb.scm \
%D%/packages/libunwind.scm \
%D%/packages/libupnp.scm \
%D%/packages/lighting.scm \
%D%/packages/links.scm \
%D%/packages/linux.scm \
%D%/packages/lirc.scm \
@ -239,6 +243,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/mcrypt.scm \
%D%/packages/messaging.scm \
%D%/packages/mg.scm \
%D%/packages/microcom.scm \
%D%/packages/mit-krb5.scm \
%D%/packages/moe.scm \
%D%/packages/mono.scm \
@ -256,6 +261,8 @@ GNU_SYSTEM_MODULES = \
%D%/packages/netpbm.scm \
%D%/packages/nettle.scm \
%D%/packages/networking.scm \
%D%/packages/nfs.scm \
%D%/packages/nickle.scm \
%D%/packages/ninja.scm \
%D%/packages/node.scm \
%D%/packages/noweb.scm \
@ -312,6 +319,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/screen.scm \
%D%/packages/scribus.scm \
%D%/packages/scsi.scm \
%D%/packages/sdcc.scm \
%D%/packages/sdl.scm \
%D%/packages/search.scm \
%D%/packages/serialization.scm \
@ -344,7 +352,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/tls.scm \
%D%/packages/tmux.scm \
%D%/packages/tor.scm \
%D%/packages/tre.scm \
%D%/packages/tv.scm \
%D%/packages/unrtf.scm \
%D%/packages/upnp.scm \
@ -389,8 +396,10 @@ GNU_SYSTEM_MODULES = \
%D%/services/mail.scm \
%D%/services/mcron.scm \
%D%/services/networking.scm \
%D%/services/nfs.scm \
%D%/services/shepherd.scm \
%D%/services/herd.scm \
%D%/services/sddm.scm \
%D%/services/spice.scm \
%D%/services/ssh.scm \
%D%/services/web.scm \
@ -452,6 +461,7 @@ dist_patch_DATA = \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bigloo-gc-shebangs.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \
@ -480,12 +490,11 @@ dist_patch_DATA = \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/devil-CVE-2009-3994.patch \
%D%/packages/patches/devil-fix-libpng.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dtc-add-missing-symbols-to-lds.patch \
%D%/packages/patches/duplicity-piped-password.patch \
%D%/packages/patches/duplicity-test_selection-tmp.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
@ -507,7 +516,6 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-test-xargs.patch \
%D%/packages/patches/flashrom-use-libftdi1.patch \
%D%/packages/patches/flex-CVE-2016-6354.patch \
%D%/packages/patches/flint-ldconfig.patch \
%D%/packages/patches/fltk-shared-lib-defines.patch \
@ -537,6 +545,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gnupg-fix-expired-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
@ -552,14 +561,15 @@ dist_patch_DATA = \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.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 \
%D%/packages/patches/hdf5-config-date.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hop-bigloo-4.0b.patch \
%D%/packages/patches/hop-linker-flags.patch \
%D%/packages/patches/hydra-automake-1.15.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/hypre-doc-tables.patch \
%D%/packages/patches/hypre-ldflags.patch \
@ -654,10 +664,12 @@ dist_patch_DATA = \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
%D%/packages/patches/lua-pkgconfig.patch \
%D%/packages/patches/lua51-liblua-so.patch \
%D%/packages/patches/lua51-pkgconfig.patch \
%D%/packages/patches/lua52-liblua-so.patch \
%D%/packages/patches/luajit-no_ldconfig.patch \
%D%/packages/patches/luajit-symlinks.patch \
@ -677,11 +689,11 @@ dist_patch_DATA = \
%D%/packages/patches/mplayer2-theora-fix.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \
%D%/packages/patches/mupdf-CVE-2016-6265.patch \
%D%/packages/patches/mupdf-CVE-2016-6525.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/mysql-fix-failing-test.patch \
%D%/packages/patches/nasm-no-ps-pdf.patch \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-config-date.patch \
@ -696,15 +708,20 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/onionshare-fix-install-paths.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openjpeg-CVE-2015-6581.patch \
%D%/packages/patches/openjpeg-CVE-2016-5157.patch \
%D%/packages/patches/openjpeg-CVE-2016-7163.patch \
%D%/packages/patches/openjpeg-use-after-free-fix.patch \
%D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/openssl-CVE-2016-2177.patch \
%D%/packages/patches/openssl-CVE-2016-2178.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/patchelf-page-size.patch \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
@ -730,6 +747,7 @@ dist_patch_DATA = \
%D%/packages/patches/pinball-system-ltdl.patch \
%D%/packages/patches/pingus-sdl-libs-config.patch \
%D%/packages/patches/plink-1.07-unclobber-i.patch \
%D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/polkit-drop-test.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \
@ -752,6 +770,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.4-fix-tests.patch \
%D%/packages/patches/python-3.5-fix-tests.patch \
%D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
%D%/packages/patches/python-django-fix-testcase.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python-ipython-inputhook-ctype.patch \
%D%/packages/patches/python-rarfile-fix-tests.patch \
@ -783,9 +802,13 @@ dist_patch_DATA = \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
%D%/packages/patches/slock-CVE-2016-6866.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/soprano-find-clucene.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/synfig-build-fix.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \

View File

@ -305,8 +305,15 @@ return its return value."
(when fallback?
(warning (_ "deprecated NAME-VERSION syntax; \
use NAME@VERSION instead~%")))
pkg)
(_
(match (package-superseded pkg)
((? package? new)
(info (_ "package '~a' has been superseded by '~a'~%")
(package-name pkg) (package-name new))
new)
(#f
pkg)))
(x
(if version
(leave (_ "~A: package not found for version ~a~%") name version)
(if (not fallback?)

View File

@ -14,6 +14,7 @@
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Coypright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,6 +75,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gnome)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages gtk))
(define-public aide
@ -239,7 +241,9 @@ re-executing them as necessary.")
(base32
"05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
(build-system gnu-build-system)
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
(arguments `(#:configure-flags '("--localstatedir=/var")
;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
;; which is currently missing.
#:tests? #f))
(inputs `(("ncurses" ,ncurses)
@ -454,8 +458,8 @@ connection alive.")
(let* ((bind-major-version "9")
(bind-minor-version "9")
(bind-patch-version "9")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "4"
(bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "3") ; for patch release, e.g. "4"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@ -571,7 +575,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"0w8qqm6p2y6x57j2l0a3278g173wd84dsr4py9z00191f3wra74q"))))
"1qlii6syr491yjn6kpyqknlvbsrkwlsqa0grmmfbq1g3471fyfyn"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@ -731,15 +735,34 @@ over ssh connections.")
"true")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "ROTT_ETCDIR="
(assoc-ref %outputs "out")
"/etc")
'(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
"--localstatedir=/var")
#:phases (alist-cons-after
'install 'install-info
(lambda _
(zero? (system* "make" "install-info")))
%standard-phases)))
;; Install example config files in OUT/etc.
#:make-flags (list (string-append "ROTT_ETCDIR="
(assoc-ref %outputs "out")
"/etc"))
#:phases (modify-phases %standard-phases
(add-after 'build 'set-packdir
(lambda _
;; Set a default location for archived logs.
(substitute* "rc/rc"
(("packdir=\"\"")
"packdir=\"/var/log\""))
#t))
(add-before 'install 'tweak-rc-weekly
(lambda _
(substitute* "rc/weekly"
(("/bin/kill")
(which "kill"))
(("syslogd\\.pid")
;; The file is called 'syslog.pid' (no 'd').
"syslog.pid"))
#t))
(add-after 'install 'install-info
(lambda _
(zero? (system* "make" "install-info")))))))
(native-inputs `(("texinfo" ,texinfo)
("util-linux" ,util-linux))) ; for 'cal'
(home-page "http://www.gnu.org/software/rottlog/")
@ -1440,9 +1463,9 @@ limits.")
`("PYTHONPATH" ":" prefix (,py)))
#t))))))
(home-page "https://github.com/wting/autojump")
(synopsis "Shell extension for filesystem navigation")
(synopsis "Shell extension for file system navigation")
(description
"Autojump provides a faster way to navigate your filesystem, with a \"cd
"Autojump provides a faster way to navigate your file system, with a \"cd
command that learns\". It works by maintaining a database of the directories
you use the most from the command line and allows you to \"jump\" to
frequently used directories by typing only a small pattern.")
@ -1771,3 +1794,55 @@ the status of your battery in the system tray.")
shortcut syntax and completion options.")
(home-page "https://github.com/TrilbyWhite/interrobang")
(license license:gpl3+))))
(define-public pam-krb5
(package
(name "pam-krb5")
(version "4.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://archives.eyrie.org/software/kerberos/" name "-"
version ".tar.xz"))
(sha256
(base32
"0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-tests
(lambda _
;; The build container seems to interfere with some tests.
(substitute* "tests/TESTS"
(("module/basic\n") ""))
(substitute* "tests/TESTS"
(("pam-util/vector\n") ""))
#t)))))
(inputs
`(("linux-pam" ,linux-pam)
("mit-krb5" ,mit-krb5)))
(native-inputs
`(("perl" ,perl)
("perl-test-pod" ,perl-test-pod))) ; required for tests
(synopsis "Kerberos PAM module")
(description
"Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.
It supports ticket refreshing by screen savers, configurable
authorization handling, authentication of non-local accounts for network
services, password changing, and password expiration, as well as all the
standard expected PAM features. It works correctly with OpenSSH, even
with ChallengeResponseAuthentication and PrivilegeSeparation enabled,
and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
;; However, the tarball does not contain a copy of the GPL, so unless
;; we put one in, we cannot distribute it under GPL without violating
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz

View File

@ -59,19 +59,19 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
(version "1.11.0")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://c-ares.haxx.se/download/" name "-" version
"https://c-ares.haxx.se/download/" name "-" version
".tar.gz"))
(sha256
(base32
"1z9y1f835dpi1ka2a2vzjygm3djdvr01036ml4l2js6r2xk2wqdk"))))
"1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://c-ares.haxx.se/")
(home-page "https://c-ares.haxx.se/")
(synopsis "C library for asynchronous DNS requests")
(description
"C-ares is a C library that performs DNS requests and name resolution

View File

@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.2.2-75")
(version "1.2.2-81")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"0vs111fkd900wkm7yypaxmplc8i8j63d9shc3fbdhddn7cdj70b1"))))
"0jwlx8b97zkly9gcbdfbj4mzyn21dbg1kgpw7j7vqs380jryzgfs"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -505,6 +505,32 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
\"dc\", a reverse-polish calculator.")
(license license:gpl2+)))
;; The original kiss-fft does not have a complete build system and does not
;; build any shared libraries. This is a fork used by Extempore.
(define-public kiss-fft-for-extempore
(package
(name "kiss-fft-for-extempore")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/extemporelang/kiss_fft/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0hkp9l6l4c92fb1l2sh6a6zv1hynpvb2s4d03vd8vxyvybc0l4pv"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/extemporelang/kiss_fft")
(synopsis "Mixed-radix Fast Fourier Transform")
(description
"Kiss FFT attempts to be a reasonably efficient, moderately useful FFT
that can use fixed or floating data types and can easily be incorporated into
a C program.")
(license license:bsd-3)))
(define-public fftw
(package
(name "fftw")

View File

@ -91,6 +91,11 @@ C++ @dfn{Standard Template Library} (STL).")
(substitute* "src/modules/mod_svg/svg_parser.cpp"
(("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
#t))
(add-after 'unpack 'fix-isnan-error
(lambda _
(substitute* "src/synfig/time.cpp"
(("return !::isnan") "return !std::isnan"))
#t))
(add-before 'configure 'set-flags
(lambda _
;; Compile with C++11, required by libsigc++.

View File

@ -43,7 +43,8 @@
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "Makefile.in" (("/bin/") "")))))))
(substitute* "Makefile.in" (("/bin/") ""))
#t)))))
(home-page "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html")
(synopsis "Library for reading and writing FITS files")
(description "CFITSIO provides simple high-level routines for reading and
@ -62,7 +63,8 @@ in FITS files.")
(origin
(method url-fetch)
(uri (string-append
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version ".tar.bz2"))
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
".tar.bz2"))
(sha256
(base32 "1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb"))))
(inputs
@ -73,7 +75,8 @@ in FITS files.")
(add-before 'configure 'patch-/bin/sh
(lambda _
(substitute* "makedefs.in"
(("/bin/sh") "sh")))))))
(("/bin/sh") "sh"))
#t)))))
(home-page "http://www.atnf.csiro.au/people/mcalabre/WCS")
(synopsis "Library which implements the FITS WCS standard")
(description "The FITS \"World Coordinate System\" (WCS) standard defines

View File

@ -6,6 +6,8 @@
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -177,7 +179,7 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
(version "5.0")
(version "5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -191,14 +193,15 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"5.0-10-g23d1d1f\" ; }"))))
namespace ARDOUR { const char* revision = \"5.3\" ; }"))))
(sha256
(base32
"0ihd6zxha1vvp4jy5s49pqyw09qxxjgrdlslrkz6ll59zdh6x7am"))
"0xdyc3syxg4drg7rafadhlrn6nycg169ay6q5xhga19kcwy6qmqm"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:configure-flags '("--cxx11") ; required by gtkmm
`(#:configure-flags '("--cxx11" ; required by gtkmm
"--no-phone-home") ; don't contact ardour.org
#:phases
(modify-phases %standard-phases
(add-after
@ -264,12 +267,15 @@ engineers, musicians, soundtrack editors and composers.")
".tar.bz2"))
(sha256
(base32
"18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
"18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))
(patches (search-patches "azr3.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags
(list "LV2PEG=ttl2c"
"CXXFLAGS=-std=gnu++11"
"CFLAGS=-std=gnu++11"
(string-append "prefix=" %output)
(string-append "pkgdatadir=" %output "/share/azr3-jack"))))
(inputs
@ -1467,7 +1473,7 @@ lv2-c++-tools.")
(define-public openal
(package
(name "openal")
(version "1.15.1")
(version "1.17.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -1475,7 +1481,7 @@ lv2-c++-tools.")
version ".tar.bz2"))
(sha256
(base32
"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
"051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no check target
@ -1511,6 +1517,32 @@ buffers, and audio capture.")
(home-page "http://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0+)))
(define-public freealut
(package
(name "freealut")
(version "1.1.0")
(source (origin
(method url-fetch)
;; Upstream url is unclear, many systems use Fedora, there is also
;; https://github.com/vancegroup/freealut though the status of it
;; (official? unofficial?) is not clear.
(uri (string-append
"https://pkgs.fedoraproject.org/repo/pkgs/" name "/" name "-"
version ".tar.gz" "/e089b28a0267faabdb6c079ee173664a/" name
"-" version ".tar.gz"))
(sha256
(base32
"0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no check target
(inputs
`(("openal" ,openal)))
(synopsis "Free implementation of OpenAL's ALUT standard")
(description "freealut is the OpenAL Utility Toolkit.")
(home-page "http://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0)))
(define-public patchage
(package
(name "patchage")
@ -2456,3 +2488,80 @@ with support for HD extensions.")
flavors EBU R128, ATSC A/85, and ReplayGain 2.0. It helps normalizing the
loudness of audio and video files to the same level.")
(license license:gpl2+)))
(define-public filteraudio
(let ((revision "1")
(commit "2fc669581e2a0ff87fba8de85861b49133306094"))
(package
(name "filteraudio")
(version (string-append "0.0.0-" revision "."
(string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/irungentoo/filter_audio.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc")
#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
;; No configure script
(delete 'configure))))
(synopsis "Lightweight audio filtering library")
(description "An easy to use audio filtering library made from webrtc
code, used in @code{libtoxcore}.")
(home-page "https://github.com/irungentoo/filter_audio")
(license license:bsd-3))))
(define-public gsm
(package
(name "gsm")
(version "1.0.14")
(source
(origin
(method url-fetch)
(uri
(string-append "http://www.quut.com/" name "/" name
"-" version ".tar.gz"))
(sha256
(base32
"0b1mx69jq88wva3wk0hi6fcl5a52qhnq2f9p3f3jdh5k61ma252q"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "tst"
#:phases
(modify-phases %standard-phases
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(substitute* "Makefile"
(("INSTALL_ROOT\t=")
(string-append "INSTALL_ROOT\t=\t" out)))
(mkdir-p (string-append out "/inc"))
(mkdir-p (string-append out "/man"))
(mkdir-p (string-append out "/man/man1"))
(mkdir-p (string-append out "/man/man3"))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/lib")))))
(add-after 'install 'post-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(rename-file (string-append out "/inc")
(string-append out "/include"))
(mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc"
(string-append out "/include/gsm")))))
(delete 'configure))))
(synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM
06.10 RPE-LTP lossy speech compression algorithm.")
(home-page "http://quut.com/gsm/")
(license (license:non-copyleft "file://COPYRIGHT"))))

View File

@ -163,7 +163,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive
(package
(name "autoconf-archive")
(version "2016.03.20")
(version "2016.09.16")
(source
(origin
(method url-fetch)
@ -171,7 +171,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz"))
(sha256
(base32
"0dz4fnc723jqn3by22ds5fys7g31apzm1r9allldvva0yvzjxyw8"))))
"10mxz9hfnfz66m1l9s28sbyfb9a04akz92wkyv9blhpq6p9fzwp8"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive")
(synopsis "Collection of freely reusable Autoconf macros")

View File

@ -28,6 +28,7 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
@ -99,6 +100,42 @@ uses GnuPG to encrypt and/or sign these archives, they will be safe from
spying and/or modification by the server.")
(license license:gpl2+)))
(define-public par2cmdline
(package
(name "par2cmdline")
(version "0.6.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ykfb7ar0x0flfdgf6i8xphyv5b93dalbjj2jb6hx7sdjax33n1g"))
;; This test merely needs a file to test recovery on, but
;; /dev/random is essentially /dev/urandom plus minimum entropy
;; locking, making the test hang indefinitely. This change is
;; already upstream: remove on upgrade to future 0.6.15.
;; https://github.com/Parchive/par2cmdline/commit/27723a678f780da82c79b98592592009c779a4fb
(modules '((guix build utils)))
(snippet
'(substitute* "tests/test20" (("if=/dev/random") "if=/dev/urandom")))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
(synopsis "File verification and repair tool")
(description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
files using Reed-Solomon coding. PAR2 files can be stored along side backups
or distributed files for recovering from bitrot.")
(home-page "https://github.com/Parchive/par2cmdline")
(license license:gpl3+)))
(define-public hdup
(package
(name "hdup")
@ -321,48 +358,6 @@ to a remote location, and only the differences will be transmitted. Finally,
rdiff-backup is easy to use and settings have sensible defaults.")
(license license:gpl2+)))
(define-public attic
(package
(name "attic")
(version "0.16")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/A/Attic/Attic-"
version ".tar.gz"))
(sha256
(base32
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before
'build 'set-openssl-prefix
(lambda* (#:key inputs #:allow-other-keys)
(setenv "ATTIC_OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
#t)))))
(inputs
`(("acl" ,acl)
("openssl" ,openssl)
("python-msgpack" ,python-msgpack)
;; Attic is probably incompatible with llfuse > 0.41.
;; These links are to discussions of llfuse compatibility from
;; the borg project. Borg is a recent fork of attic, and attic
;; has not been updated since the fork, so it's likely that
;; llfuse compatibility requirements are still the same.
;; https://github.com/borgbackup/borg/issues/642
;; https://github.com/borgbackup/borg/issues/643
("python-llfuse" ,python-llfuse-0.41)))
(synopsis "Deduplicating backup program")
(description "Attic is a deduplicating backup program. The main goal of
Attic is to provide an efficient and secure way to backup data. The data
deduplication technique used makes Attic suitable for daily backups since only
changes are stored.")
(home-page "https://attic-backup.org/")
(license license:bsd-3)))
(define-public libchop
(package
(name "libchop")
@ -410,10 +405,13 @@ detection, and lossless compression.")
(source (origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32
"1l9iw55w5x51yxl3q89cf6avg80lajxvc8qz584hrsmnk6i56cr0"))))
"1l9iw55w5x51yxl3q89cf6avg80lajxvc8qz584hrsmnk6i56cr0"))
(modules '((guix build utils)))
(snippet
'(for-each
delete-file (find-files "borg" "^(c|h|p).*\\.c$")))))
(build-system python-build-system)
(arguments
`(#:phases
@ -437,7 +435,8 @@ detection, and lossless compression.")
(install-file "docs/_build/man/borg.1" man)
#t))))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
`(("python-cython" ,python-cython)
("python-setuptools-scm" ,python-setuptools-scm)
;; For generating the documentation.
("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
@ -456,3 +455,46 @@ stored. The authenticated encryption technique makes it suitable for backups
to not fully trusted targets. Borg is a fork of Attic.")
(home-page "https://borgbackup.github.io/borgbackup/")
(license license:bsd-3)))
(define-public attic
(package
(name "attic")
(version "0.16")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/A/Attic/Attic-"
version ".tar.gz"))
(sha256
(base32
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before
'build 'set-openssl-prefix
(lambda* (#:key inputs #:allow-other-keys)
(setenv "ATTIC_OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
#t)))))
(inputs
`(("acl" ,acl)
("openssl" ,openssl)
("python-msgpack" ,python-msgpack)
;; Attic is probably incompatible with llfuse > 0.41.
;; These links are to discussions of llfuse compatibility from
;; the borg project. Borg is a recent fork of attic, and attic
;; has not been updated since the fork, so it's likely that
;; llfuse compatibility requirements are still the same.
;; https://github.com/borgbackup/borg/issues/642
;; https://github.com/borgbackup/borg/issues/643
("python-llfuse" ,python-llfuse-0.41)))
(synopsis "Deduplicating backup program")
(description "Attic is a deduplicating backup program. The main goal of
Attic is to provide an efficient and secure way to backup data. The data
deduplication technique used makes Attic suitable for daily backups since only
changes are stored.")
(home-page "https://attic-backup.org/")
(license license:bsd-3)
(properties `((superseded . ,borg)))))

File diff suppressed because it is too large Load Diff

View File

@ -207,7 +207,7 @@ interface, for the Transmission BitTorrent daemon.")
(define-public aria2
(package
(name "aria2")
(version "1.26.0")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tatsuhiro-t/aria2/"
@ -215,7 +215,7 @@ interface, for the Transmission BitTorrent daemon.")
name "-" version ".tar.xz"))
(sha256
(base32
"1388qswa0in7kb1dx7qb10wp60p58zvvpys7jwim3clsbqvz6a68"))))
"023g22yn91pnvv7jvx43gl4x5rszn31sc9crgkxgsb3067pjg5n0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-libaria2"

View File

@ -34,7 +34,7 @@
(define-public boost
(package
(name "boost")
(version "1.60.0")
(version "1.61.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -43,7 +43,7 @@
".tar.bz2"))
(sha256
(base32
"0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8"))))
"0h5nk7pgxf7xsvvshj9qfpsfp9wx6gq9r78n3nx736pxq83bsix5"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(native-inputs
@ -90,7 +90,9 @@
(replace
'build
(lambda* (#:key outputs make-flags #:allow-other-keys)
(zero? (apply system* "./b2" make-flags))))
(zero? (apply system* "./b2"
(format #f "-j~a" (parallel-job-count))
make-flags))))
(replace
'install
(lambda* (#:key outputs make-flags #:allow-other-keys)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -58,6 +59,8 @@
(assoc-ref %build-inputs "libc")
"/lib"))
#:test-target "test"))
;; Fails to build on MIPS: "Unsupported CPU"
(supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
(description
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages base)
@ -34,7 +36,8 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
#:use-module (gnu packages python))
#:use-module (gnu packages python)
#:use-module (srfi srfi-26))
(define-public libical
(package
@ -134,3 +137,53 @@ data units.")
able to synchronize with CalDAV servers through vdirsyncer.")
(home-page "http://lostpackets.de/khal/")
(license expat)))
(define-public remind
(package
(name "remind")
(version "3.1.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.roaringpenguin.com/files/download/"
"remind-"
(string-join (map (cut string-pad <> 2 #\0)
(string-split version #\.))
".")
".tar.gz"))
(sha256
(base32
"1hcfcxz5fjzl7606prlb7dgls5kr8z3wb51h48s6qm8ang0b9nla"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ;no "check" target
(home-page "http://www.roaringpenguin.com/products/remind/")
(synopsis "Sophisticated calendar and alarm program")
(description
"Remind allows you to remind yourself of upcoming events and appointments.
Each reminder or alarm can consist of a message sent to standard output, or a
program to be executed. It also features: sophisticated date calculation,
moon phases, sunrise/sunset, Hebrew calendar, alarms, PostScript output and
proper handling of holidays.")
(license gpl2)))
(define-public libhdate
(package
(name "libhdate")
(version "1.6.02")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libhdate/libhdate/libhdate-"
version "/" name "-" version ".tar.bz2"))
(sha256
(base32
"0qkpq412p78znw8gckwcx3l0wcss9s0dgw1pvjb1ih2pxf6hm4rw"))))
(build-system gnu-build-system)
(home-page "http://libhdate.sourceforge.net/")
(synopsis "Library to use Hebrew dates")
(description "LibHdate is a small library for the Hebrew calendar and times
of day, written in C, and including bindings for C++, pascal, perl, php, python,
and ruby. It includes two illustrative command-line programs, @code{hcal} and
@code{hdate}, and some snippets and scripts written in the binding languages.")
(license gpl3+)))

View File

@ -29,7 +29,7 @@
(define-public ccache
(package
(name "ccache")
(version "3.2.5")
(version "3.3.1")
(source
(origin
(method url-fetch)
@ -37,24 +37,24 @@
version ".tar.xz"))
(sha256
(base32
"11db1g109g0g5si0s50yd99ja5f8j4asxb081clvx78r9d9i2w0i"))))
"1ij1p8arz72fw67gx65ngb7jmg30ynjxk7i8dmikjxkdri4pmn66"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for test.sh
("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib)))
(arguments
'(#:phases (alist-cons-before
'check 'setup-tests
(lambda _
(substitute* '("test/test_hashutil.c" "test.sh")
(("#!/bin/sh") (string-append "#!" (which "sh")))
(("which") (which "which")))
#t)
%standard-phases)))
'(#:phases (modify-phases %standard-phases
(add-before 'check 'setup-tests
(lambda _
(substitute* '("test/test_hashutil.c" "test.sh")
(("#!/bin/sh") (string-append "#!" (which "sh")))
(("which") (which "which")))
#t)))))
(home-page "https://ccache.samba.org/")
(synopsis "Compiler cache")
(description
"Ccache is a compiler cache. It speeds up recompilation by caching
previous compilations and detecting when the same compilation is being done
again. Supported languages are C, C++, Objective-C and Objective-C++.")
again. Supported languages are C, C++, Objective-C, Objective-C++, and
Fortran 77.")
(license gpl3+)))

View File

@ -130,14 +130,14 @@ libcdio.")
(define-public xorriso
(package
(name "xorriso")
(version "1.4.4")
(version "1.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"1izv8dvwacyh432vv1rm6lyjrq0v205kyakfra6iwa146c9m9fgr"))))
"112p0ghwzxrcjbsir1n2jxhq103ckrw93wzvd55qqvzfgs674vsj"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@ -146,10 +146,10 @@ libcdio.")
("zlib" ,zlib)
("libcdio" ,libcdio)))
(home-page "https://www.gnu.org/software/xorriso/")
(synopsis "Create, manipulate, burn ISO-9660 filesystems")
(synopsis "Create, manipulate, burn ISO-9660 file systems")
(description
"GNU Xorriso is a tool for copying files to and from ISO 9660 Rock
Ridge, a.k.a. Compact Disc File System, filesystems and it allows
Ridge, a.k.a. Compact Disc File System, file systems and it allows
session-wise manipulation of them. It features a formatter and burner for
CD, DVD and BD. It can operate on existing ISO images or it can create new
ones. xorriso can then be used to copy files directly into or out of ISO

View File

@ -73,7 +73,7 @@
(define-public nss-certs
(package
(name "nss-certs")
(version "3.23")
(version "3.26")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -84,7 +84,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
"1kqidv91icq96m9m8zx50n7px08km2l88458rkgyjwcn3kiq7cwl"))))
"0r65s5q8kk0vr48s0zr8xi610k7h072lgkkpp4z6jlxr19bkly4i"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs

View File

@ -39,23 +39,22 @@
#:use-module (guix build-system gnu))
(define-public hydra
(let ((commit "4c0e3e47034545ad3e9e86dd069138bcebb8ccee"))
(let ((commit "1ff48da3d3d4a425063f5b7dd0b89d35270f8932"))
(package
(name "hydra")
(version (string-append "20150407." (string-take commit 7)))
(version (string-append "20151030." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NixOS/hydra")
(commit commit)))
(file-name (string-append name "-" version))
(patches (search-patches
;; TODO: Remove once we have a darcs input
"hydra-disable-darcs-test.patch"))
(sha256
(base32
"08vc76xb7f42hh65j7qvjf58hw36aki5ml343170pq94vk75b1nh"))
(patches (search-patches
"hydra-automake-1.15.patch"
;; TODO: Remove once we have a darcs input
"hydra-disable-darcs-test.patch"))))
"0ni8i8v1nxxfr51rz8m6znwpbm77vr7i05k506hmgmg32r938lap"))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip)
@ -74,7 +73,8 @@
("mercurial" ,mercurial)
("bazaar" ,bazaar)))
(inputs
`(("perl" ,perl)
`(("libpqxx" ,libpqxx)
("perl" ,perl)
("guile" ,guile-2.0)
("openssl" ,openssl)
("bzip2" ,bzip2)
@ -125,6 +125,7 @@
("perl-libwww" ,perl-libwww)
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
("perl-net-amazon-s3" ,perl-net-amazon-s3)
("perl-net-statsd" ,perl-net-statsd)
("perl-padwalker" ,perl-padwalker)
("perl-readonly" ,perl-readonly)
("perl-set-scalar" ,perl-set-scalar)

View File

@ -12,6 +12,8 @@
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -662,14 +664,14 @@ time for compression ratio.")
("xz" ,xz)
("zlib" ,zlib)))
(home-page "http://squashfs.sourceforge.net/")
(synopsis "Tools to create and extract squashfs filesystems")
(synopsis "Tools to create and extract squashfs file systems")
(description
"Squashfs is a highly compressed read-only filesystem for Linux. It uses
"Squashfs is a highly compressed read-only file system for Linux. It uses
zlib to compress files, inodes, and directories. All blocks are packed to
minimize the data overhead, and block sizes of between 4K and 1M are supported.
It is intended to be used for archival use, for live CDs, and for embedded
systems where low overhead is needed. This package allows you to create and
extract such filesystems.")
extract such file systems.")
(license license:gpl2+)))
(define-public pigz
@ -895,3 +897,107 @@ compared to the fastest mode of zlib, Snappy is an order of magnitude faster
for most inputs, but the resulting compressed files are anywhere from 20% to
100% bigger.")
(license license:asl2.0)))
(define-public p7zip
(package
(name "p7zip")
(version "16.02")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
version "/" name "_" version
"_src_all.tar.bz2"))
(sha256
(base32
"07rlwbbgszq8i7m8jh3x6j2w2hc9a72dc7fmqawnqkwlwb00mcjy"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove non-free source files
(for-each delete-file
(append
(find-files "CPP/7zip/Compress" "Rar.*")
(find-files "CPP/7zip/Crypto" "Rar.*")
(find-files "DOC/unRarLicense.txt")
(find-files "Utils/file_Codecs_Rar_so.py")))
(delete-file-recursively "CPP/7zip/Archive/Rar")
(delete-file-recursively "CPP/7zip/Compress/Rar")
#t))
(patches (search-patches "p7zip-remove-unused-code.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "DEST_HOME=" (assoc-ref %outputs "out")) "all3")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key system outputs #:allow-other-keys)
(zero? (system* "cp"
(let ((system ,(or (%current-target-system)
(%current-system))))
(cond
((string-prefix? "x86_64" system)
"makefile.linux_amd64_asm")
((string-prefix? "i686" system)
"makefile.linux_x86_asm_gcc_4.X")
(else
"makefile.linux_any_cpu_gcc_4.X")))
"makefile.machine"))))
(replace 'check
(lambda _
(and (zero? (system* "make" "test"))
(zero? (system* "make" "test_7z"))
(zero? (system* "make" "test_7zr"))))))))
(inputs
(let ((system (or (%current-target-system)
(%current-system))))
`(,@(cond ((string-prefix? "x86_64" system)
`(("yasm" ,yasm)))
((string-prefix? "i686" system)
`(("nasm" ,nasm)))
(else '())))))
(home-page "http://p7zip.sourceforge.net/")
(synopsis "Command-line file archiver with high compression ratio")
(description "p7zip is a command-line port of 7-Zip, a file archiver that
handles the 7z format which features very high compression ratios.")
(license (list license:lgpl2.1+
license:gpl2+
license:public-domain))))
(define-public gzstream
(package
(name "gzstream")
(version "1.5")
(source (origin
(method url-fetch)
(uri
;; No versioned URL, but last release was in 2003.
"http://www.cs.unc.edu/Research/compgeom/gzstream/gzstream.tgz")
(file-name (string-append name "-" version ".tgz"))
(sha256
(base32
"00y19pqjsdj5zcrx4p9j56pl73vayfwnb7y2hvp423nx0cwv5b4r"))
(modules '((guix build utils)))
(snippet
;; Remove pre-compiled object.
'(delete-file "gzstream.o"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(include (string-append out "/include")))
(install-file "libgzstream.a" lib)
(install-file "gzstream.h" include)
#t))))))
(propagated-inputs `(("zlib" ,zlib)))
(home-page "http://www.cs.unc.edu/Research/compgeom/gzstream/")
(synopsis "Compressed C++ iostream")
(description "gzstream is a small library for providing zlib
functionality in a C++ iostream.")
(license license:lgpl2.1+)))

View File

@ -4,6 +4,8 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,9 +24,15 @@
(define-module (gnu packages crypto)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
@ -32,11 +40,17 @@
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages readline)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
(define-public libsodium
@ -133,9 +147,10 @@ OpenBSD tool of the same name.")
(inputs
`(("gnutls" ,gnutls)
("nettle" ,nettle)
("msgpack" ,msgpack)
("readline" ,readline)
("argon2" ,argon2)))
(propagated-inputs
`(("msgpack" ,msgpack))) ;included in several installed headers
(native-inputs
`(("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
@ -154,36 +169,10 @@ be used to manage peer-to-peer network connections as needed for real time
communication.")
(license license:gpl3)))
(define rlog
(package
(name "rlog")
(version "1.4")
(source
(origin
(method url-fetch)
(uri
(string-append "http://rlog.googlecode.com/files/rlog-"
version ".tar.gz"))
(sha256
(base32
"0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'patch-/bin/sh
(lambda _
(substitute* "docs/Makefile.in"
(("/bin/sh") "sh")))))))
(home-page "http://www.arg0.net/rlog")
(synopsis "Flexible message logging library for EncFS")
(description
"RLog provides message logging for EncFS. It is no longer maintained.")
(license license:lgpl2.1+)))
(define-public encfs
(package
(name "encfs")
(version "1.8.1")
(version "1.9.1")
(source
(origin
(method url-fetch)
@ -192,27 +181,26 @@ communication.")
version "/encfs-" version ".tar.gz"))
(sha256
(base32
"1lfmcsk187qr6ahy8c8959p7jrk9d5rd9kcsx572850ca3zmf0la"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-boost-serialization=boost_wserialization"
"--with-boost-filesystem=boost_filesystem")
#:phases (modify-phases %standard-phases
(add-before 'configure 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
"1906254dg5hwljh0h4gyrw09ms3b57dlhjfzhfzffv50yzpkl837"))
(modules '((guix build utils)))
;; Remove bundled dependencies in favour of proper inputs.
(snippet '(for-each delete-file-recursively
(find-files "internal" "^tinyxml2-[0-9]"
#:directories? #t)))))
(build-system cmake-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("perl" ,perl)
("pkg-config" ,pkg-config)))
`(("gettext" ,gettext-minimal)
;; Test dependencies.
("expect" ,expect)
("perl" ,perl)))
(inputs
`(("boost" ,boost)
`(("attr" ,attr)
("fuse" ,fuse)
("openssl" ,openssl)
("rlog" ,rlog)))
("tinyxml2" ,tinyxml2)))
(arguments
`(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")))
(home-page "https://vgough.github.io/encfs")
(synopsis "Encrypted virtual file system")
(description
@ -221,8 +209,9 @@ created under an EncFS mount point is stored as a separate encrypted file on
the underlying file system. Like most encrypted file systems, EncFS is meant
to provide security against off-line attacks, such as a drive falling into
the wrong hands.")
(license (list license:lgpl3+ ;encfs library
license:gpl3+)))) ;command-line tools
(license (list license:expat ; internal/easylogging++.h
license:lgpl3+ ; encfs library
license:gpl3+)))) ; command-line tools
(define-public keyutils
(package
@ -263,3 +252,129 @@ gain and retain the authorization and encryption keys required to perform
secure operations. ")
(license (list license:lgpl2.1+ ; the files keyutils.*
license:gpl2+)))) ; the rest
;; There is no release candidate but commits point out a version number,
;; furthermore no tarball exists.
(define-public eschalot
(let ((commit "0bf31d88a11898c19b1ed25ddd2aff7b35dbac44")
(revision "1"))
(package
(name "eschalot")
(version (string-append "1.2.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/schnabear/eschalot")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98"))))
(inputs
`(("openssl" ,openssl))) ; It needs: openssl/{bn,pem,rsa,sha}.h
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "INSTALL=" "install"))
;; XXX: make test would run a !VERY! long hashing of names with the use
;; of a wordlist, the amount of computing time this would waste on build
;; servers is in no relation to the size or importance of this small
;; application, therefore we run our own tests on eschalot and worgen.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'check
(lambda _
(and
(zero? (system* "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt"
"3-6" "top150adjectives.txt" "3-6"))
(zero? (system* "./eschalot" "-r" "^guix|^guixsd"))
(zero? (system* "./eschalot" "-r" "^gnu|^free"))
(zero? (system* "./eschalot" "-r" "^cyber|^hack"))
(zero? (system* "./eschalot" "-r" "^troll")))))
;; Make install can not create the bin dir, create it.
(add-before 'install 'create-bin-dir
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
#t))))))
(home-page "https://github.com/schnabear/eschalot")
(synopsis "Tor hidden service name generator")
(description
"Eschalot is a tor hidden service name generator, it allows one to
produce customized vanity .onion addresses using a brute-force method. Searches
for valid names can be run with regular expressions and wordlists. For the
generation of wordlists the included tool @code{worgen} can be used. There is
no man page, refer to the home page for usage details.")
(license (list license:isc license:expat)))))
(define-public tomb
(package
(name "tomb")
(version "2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"tomb-" version ".tar.gz"))
(sha256
(base32
"11msj38fdmymiqcmwq1883kjqi5zr01ybdjj58rfjjrw4zw2w5y0"))))
(build-system gnu-build-system)
(inputs
`(("zsh" ,zsh)
("sudo" ,sudo)
("gnupg" ,gnupg)
("cryptsetup" ,cryptsetup)
("e2fsprogs" ,e2fsprogs) ;for mkfs.ext4
("gettext" ,gnu-gettext) ;used at runtime
("mlocate" ,mlocate)
("pinentry" ,pinentry)
("qrencode" ,qrencode)
("steghide" ,steghide)
("swish-e" ,swish-e)))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
;; TODO: Build and install gtk and qt trays
#:phases
(modify-phases %standard-phases
(delete 'configure) ;no configuration to be done
(add-after 'install 'i18n
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system*
"make" "-C" "extras/translations"
"install" make-flags))))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/tomb")
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "mlocate") "/bin")
,@(map (lambda (program)
(or (and=> (which program) dirname)
(error "program not found:" program)))
'("seq" "mkfs.ext4" "pinentry" "sudo"
"gpg" "cryptsetup" "gettext"
"qrencode" "steghide" "swish-e")))))
#t)))
(delete 'check)
(add-after 'wrap 'check
(lambda* (#:key outputs #:allow-other-keys)
;; Running the full tests requires sudo/root access for
;; cryptsetup, which is not available in the build environment.
;; But we can run `tomb dig` without root, so make sure that
;; works. TODO: It Would Be Nice to check the expected "index",
;; "search", "bury", and "exhume" features are available by
;; querying `tomb -h`.
(let ((tomb (string-append (assoc-ref outputs "out")
"/bin/tomb")))
(zero? (system* tomb "dig" "-s" "10" "secrets.tomb"))))))))
(home-page "http://www.dyne.org/software/tomb")
(synopsis "File encryption for secret data")
(description
"Tomb is an application to manage the creation and access of encrypted
storage files: it can be operated from commandline and it can integrate with a
user's graphical desktop.")
(license license:gpl3+)))

View File

@ -40,14 +40,14 @@
(define-public curl
(package
(name "curl")
(version "7.50.1")
(version "7.50.3")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"0qc3qp3h18v24irzw7dgg1jf39v4hnz8irv83v9lbn9rxzrpdcdj"))))
"1spmk0345hq0sgpwxs8d410268lmg3wf1x9v23hxff7wxki5fm4c"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages

View File

@ -11,6 +11,7 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,6 +64,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix utils)
#:use-module (srfi srfi-26)
@ -205,7 +207,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(define-public mysql
(package
(name "mysql")
(version "5.7.13")
(version "5.7.15")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -215,13 +217,12 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(string-append
"http://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(patches (search-patches "mysql-fix-failing-test.patch"))
(sha256
(base32
"11qbib1xpy0zkki7j9ip17hks5kp5zgpcj7x8gy3a4m66lb1mgsh"))))
"0mlrxcvkn6bf869hjw9fb6m24ak26ndffnd91b4mknmz8cqkb1ch"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
`(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
@ -248,7 +249,9 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(lambda _
;; Mysql wants boost-1.59.0 specifically
(substitute* "cmake/boost.cmake"
(("59") "60"))))
(("59")
,(match (string-split (package-version boost) #\.)
((_ minor . _) minor))))))
(add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
@ -279,7 +282,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
(version "10.1.16")
(version "10.1.17")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@ -287,7 +290,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
"14s3wq1c25n62n75hkixl8n7cni4m73w055nsx4czm655k33bjv7"))))
"1ddalhxxcn95qp5b50z213niylcd0s6bqphid0c7c624wg2mm92c"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@ -1096,3 +1099,58 @@ trees (LSM), for sustained throughput under random insert workloads.")
(synopsis "Lightning memory-mapped database library")
(description "Lightning memory-mapped database library.")
(license license:openldap2.8)))
(define-public libpqxx
(package
(name "libpqxx")
(version "4.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://pqxx.org/download/software/libpqxx/"
name "-" version ".tar.gz"))
(sha256
(base32
"0f6wxspp6rx12fkasanb0z2g2gc8dhcfwnxagx8wwqbpg6ifsz09"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
(inputs `(("postgresql" ,postgresql)))
(arguments
`(#:tests? #f)) ; # FAIL: 1
(synopsis "C++ connector for PostgreSQL")
(description
"Libpqxx is a C++ library to enable user programs to communicate with the
PostgreSQL database back-end. The database back-end can be local or it may be
on another machine, accessed via TCP/IP.")
(home-page "http://pqxx.org/")
(license license:bsd-3)))
(define-public python-peewee
(package
(name "python-peewee")
(version "2.8.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "peewee" version))
(sha256
(base32
"1605bk11s7aap2q4qyba93rx7yfh8b11kk0cqi08z8klx2iar8yd"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Fails to import test data
(native-inputs
`(("python-cython" ,python-cython)))
(home-page "https://github.com/coleifer/peewee/")
(synopsis "Small object-relational mapping utility")
(description
"Peewee is a simple and small ORM (object-relation mapping) tool. Peewee
handles converting between pythonic values and those used by databases, so you
can use Python types in your code without having to worry. It has built-in
support for sqlite, mysql and postgresql. If you already have a database, you
can autogenerate peewee models using @code{pwiz}, a model generator.")
(license license:expat)))
(define-public python2-peewee
(package-with-python2 python-peewee))

View File

@ -88,7 +88,7 @@ program to exhibit a bug.")
(define-public c-reduce
(package
(name "c-reduce")
(version "2.3.0")
(version "2.5.0")
(source
(origin
(method url-fetch)
@ -97,26 +97,21 @@ program to exhibit a bug.")
"creduce-" version ".tar.gz")))
(sha256
(base32
"0r9lvnifjcnsrkrk8k4mha1kmmb93jya7alm523ck59y3173bpi0"))
(modules '((guix build utils)))
(snippet
'(substitute* "clang_delta/TransformationManager.cpp"
(("llvm/Config/config.h") "llvm/Config/llvm-config.h")))))
"1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d"))))
(build-system gnu-build-system)
(inputs
`(("astyle" ,astyle)
("delta" ,delta)
("llvm" ,llvm)
("clang" ,clang)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
("benchmark-timer" ,perl-benchmark-timer)
("exporter-lite" ,perl-exporter-lite)
("file-which" ,perl-file-which)
("getopt-tabular" ,perl-getopt-tabular)
("regex-common" ,perl-regexp-common)
("sys-cpu" ,perl-sys-cpu)))
("sys-cpu" ,perl-sys-cpu)
("term-readkey" ,perl-term-readkey)))
(arguments
`(#:phases (alist-cons-after
'install 'set-load-paths
@ -131,7 +126,7 @@ program to exhibit a bug.")
(string-append (assoc-ref inputs p)
"/lib/perl5/site_perl/"
,(package-version perl)))
'("benchmark-timer" "exporter-lite"
'("term-readkey" "exporter-lite"
"file-which" "getopt-tabular"
"regex-common" "sys-cpu"))))))
%standard-phases)))
@ -161,7 +156,10 @@ tools that process C/C++ code.")
;; XXX: Disable tests because of GTester's rejection of duplicate test
;; names, which wasn't addressed in this version of QEMU.
`(#:tests? #f
,@(package-arguments qemu-minimal)))))
,@(substitute-keyword-arguments (package-arguments qemu-minimal)
((#:phases phases)
;; We disable the tests so we skip the phase disabling the qga test.
`(modify-phases ,phases (delete 'disable-test-qga))))))))
(define-public american-fuzzy-lop
(let ((machine (match (or (%current-target-system)

View File

@ -26,7 +26,9 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression))
#:use-module (gnu packages compression)
#:use-module (gnu packages tcl))
(define-public vera
(package
@ -138,3 +140,63 @@ body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/")
(license gpl3+)))
(define-public ding
(package
(name "ding")
(version "1.8")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.tu-chemnitz.de/pub/Local/urz/" name
"/" name "-" version ".tar.gz"))
(sha256
(base32
"00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l"))))
(build-system gnu-build-system)
(inputs `(("tk" ,tk)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace
'install
(lambda _
(let ((bindir (string-append
(assoc-ref %outputs "out") "/bin"))
(wish (string-append
(assoc-ref %build-inputs "tk")
"/bin/wish8.6"))
(sharedir (string-append
(assoc-ref %outputs "out")
"/share/applications"))
(libdir (string-append
(assoc-ref %outputs "out") "/lib")))
(mkdir-p bindir)
(mkdir-p libdir)
(mkdir-p sharedir)
(substitute* "ding.desktop"
(("Exec=/usr/bin/ding")
(string-append "Exec=" bindir "/ding")))
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "ding" (("exec wish") (string-append "exec " wish))))
(substitute* "install.sh"
(("/bin/cp") "cp")
(("/bin/mv") "mv")
(("NEEDPROG=\"wish\"")
(string-append "NEEDPROG=\"" wish "\""))
(("DEFBINDIR=\"/usr/local/bin\"")
(string-append "DEFBINDIR=\"" bindir "\""))
(("DEFLIBDIR=\"/usr/local/lib\"")
(string-append "DEFLIBDIR=\"" libdir "\"")))
(install-file "ding.desktop" sharedir)
(install-file "ding.png" sharedir)
(zero?
(system* "./install.sh"))))))))
(synopsis "Dictionary lookup program with a German-English dictionary")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))

View File

@ -191,10 +191,10 @@ to recover data more efficiently by only reading the necessary blocks.")
"CC=gcc")
#:tests? #f)) ;no tests
(home-page "https://github.com/dosfstools/dosfstools")
(synopsis "Utilities for making and checking MS-DOS FAT filesystems")
(synopsis "Utilities for making and checking MS-DOS FAT file systems")
(description
"The dosfstools package includes the mkfs.fat and fsck.fat utilities,
which respectively make and check MS-DOS FAT filesystems.")
which respectively make and check MS-DOS FAT file systems.")
(license license:gpl3+)))
(define-public sdparm

View File

@ -19,18 +19,172 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages display-managers)
#:use-module ((guix licenses) #:prefix l:)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages gl)
#:use-module (gnu packages xorg)
#:use-module (gnu packages image)
#:use-module (gnu packages admin)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages linux))
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
(define-public greenisland
(package
(name "greenisland")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/greenisland/greenisland"
"/releases/download/v" version "/"
"greenisland-" version ".tar.xz"))
(sha256
(base32
"1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("dbus" ,dbus)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server)))
(inputs
`(("elogind" ,elogind)
("eudev" ,eudev)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
("libdrm" ,libdrm)
("libinput" ,libinput-minimal)
("libxcursor" ,libxcursor)
("libxkbcommon" ,libxkbcommon)
("libx11" ,libx11)
("mesa" ,mesa)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
("xcb-util-cursor" ,xcb-util-cursor)))
(arguments
`(#:configure-flags
(list (string-append "-DPLUGIN_INSTALL_DIR="
(assoc-ref %outputs "out") "/plugins")
(string-append "-DQML_INSTALL_DIR="
(assoc-ref %outputs "out") "/qml"))
#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-udev-tests
(lambda _ ; FIXME: Build env doesn't contain /dev/sda
(substitute* "tests/auto/platform/tst_udev.cpp"
(("QVERIFY") "// QVERIFY")
(("QCOMPARE") "// QCOMPARE"))))
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" "."))))
(add-before 'check 'check-setup
(lambda _
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "XDG_RUNTIME_DIR" (getcwd))
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "greenisland")
(wrap-qt-program out "greenisland-launcher")
(wrap-qt-program out "greenisland-screencaster")
(wrap-qt-program out "greenisland-wayland-scanner")
#t))))))
(synopsis "QtQuick Wayland compositor and shell for desktop and mobile")
(description "Green Island provides a full blown Wayland compositor for
QtQuick as well as pluggable hardware abstraction, extensions, tools and a
Qt-style API for Wayland clients.")
(home-page "http://hawaiios.org")
;; Choice of license at the user's opinion.
(license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
(define-public sddm
(package
(name "sddm")
(version "0.14.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/sddm/sddm"
"/releases/download/v" version "/"
"sddm-" version ".tar.xz"))
(sha256
(base32
"0y3pn8g2qj7q20zkmbasrfsj925lfzizk63sfrvzf84bc5c84d3y"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs
`(("glib" ,glib)
("greenisland" ,greenisland)
("libxcb" ,libxcb)
("libxkbcommon" ,libxkbcommon)
("linux-pam" ,linux-pam)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("shadow" ,shadow)
("wayland" ,wayland)))
(arguments
`(#:configure-flags
(list
;; Currently doesn't do anything
;; Option added by enable wayland greeters PR
"-DENABLE_WAYLAND=ON"
"-DENABLE_PAM=ON"
"-DCONFIG_FILE=/etc/sddm.conf"
;; Set path to /etc/login.defs
;; Alternatively use -DUID_MIN and -DUID_MAX
(string-append "-DLOGIN_DEFS_PATH="
(assoc-ref %build-inputs "shadow")
"/etc/login.defs")
(string-append "-DQT_IMPORTS_DIR="
(assoc-ref %outputs "out") "/qml")
(string-append "-DCMAKE_INSTALL_SYSCONFDIR="
(assoc-ref %outputs "out") "/etc"))
#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "sddm")
(wrap-qt-program out "sddm-greeter")
#t))))))
(synopsis "QML based X11 and Wayland display manager")
(description "SDDM is a display manager for X11 and Wayland aiming to be
fast, simple and beautiful. SDDM is themeable and puts no restrictions on the
user interface design. It uses QtQuick which gives the designer the ability to
create smooth, animated user interfaces.")
(home-page "https://github.com/sddm/sddm")
;; QML files are MIT licensed and images are CC BY 3.0.
(license (list license:gpl2+ license:expat license:cc-by3.0))))
(define-public slim
(package
@ -92,4 +246,4 @@ fonts, External themes support, Configurable runtime options: X server --
login / shutdown / reboot commands, Single (GDM-like) or double (XDM-like)
input control, Can load predefined user at startup, Configurable welcome /
shutdown messages, Random theme selection.")
(license l:gpl2)))
(license license:gpl2)))

195
gnu/packages/django.scm Normal file
View File

@ -0,0 +1,195 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages django)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages python))
(define-public python-django
(package
(name "python-django")
(version "1.10")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26"))
(patches (search-patches "python-django-fix-testcase.patch"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-tzdir
(lambda* (#:key inputs #:allow-other-keys)
;; The test-suite tests timezone-dependent functions, thus tzdata
;; needs to be available.
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t))
(replace 'check
(lambda _
(setenv "PYTHONPATH"
(string-append ".:" (getenv "PYTHONPATH")))
(zero? (system* "python" "tests/runtests.py")))))))
;; TODO: Install extras/django_bash_completion.
(propagated-inputs
;; Django uses 'pkg_resources' (part of setuptools) to locate templates
;; at run-time.
`(("python-setuptools" ,python-setuptools)))
(native-inputs
`(("tzdata", tzdata)
;; bcrypt and argon2-cffi are extra requirements not yet in guix
;;("python-argon2-cffi" ,python-argon2-cffi) ; >= 16.1.0
;;("python-bcrypt" ,python-bcrypt) ; not py-bcrypt!
;; Remaining packages are test requirements taken from
;; tests/requirements/py3.txt
("python-docutils" ,python-docutils)
;; optional for tests: ("python-geoip2" ,python-geoip2)
("python-jinja2" ,python-jinja2) ; >= 2.7
;; optional for tests: ("python-memcached" ,python-memcached)
("python-numpy" ,python-numpy)
("python-pillow" ,python-pillow)
("python-pyyaml" ,python-pyyaml)
("python-pytz" ,python-pytz)
;; optional for tests: ("python-selenium" ,python-selenium)
("python-sqlparse" ,python-sqlparse)
("python-tblib" ,python-tblib)))
(home-page "http://www.djangoproject.com/")
(synopsis "High-level Python Web framework")
(description
"Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. It provides many tools for building
any Web site. Django focuses on automating as much as possible and adhering
to the @dfn{don't repeat yourself} (DRY) principle.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-django))))))
(define-public python2-django
(let ((base (package-with-python2 (strip-python2-variant python-django))))
(package
(inherit base)
(native-inputs
`(;; Test requirements for Python 2 taken from
;; tests/requirements/py3.txt: enum34 and mock.
("python2-enum34" ,python2-enum34)
("python2-mock" ,python2-mock)
;; When adding memcached mind: for Python 2 memcached <= 1.53 is
;; required.
,@(package-native-inputs base))))))
(define-public python-django-simple-math-captcha
(package
(name "python-django-simple-math-captcha")
(version "1.0.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-simple-math-captcha" version))
(sha256
(base32
"0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)))
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/alsoicode/django-simple-math-captcha")
(synopsis "Easy-to-use math field/widget captcha for Django forms")
(description
"A multi-value-field that presents a human answerable question,
with no settings.py configuration necessary, but instead can be configured
with arguments to the field constructor.")
(license license:asl2.0)))
(define-public python2-django-simple-math-captcha
(package-with-python2 python-django-simple-math-captcha))
(define-public python-pytest-django
(package
(name "python-pytest-django")
(version "2.9.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-django" version))
(sha256
(base32
"1mmc7zsz3dlhs6sx4sppkj1vgshabi362r1a8b8wpj1qfximpqcb"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-setuppy
(lambda _
(substitute* "setup.py"
(("setuptools_scm==1.8.0") "setuptools_scm"))
#t)))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(inputs
`(("python-py" ,python-py)
("python-pytest" ,python-pytest)))
(home-page "http://pytest-django.readthedocs.org/")
(synopsis "Django plugin for py.test")
(description "Pytest-django is a plugin for py.test that provides a set of
useful tools for testing Django applications and projects.")
(properties `((python2-variant . ,(delay python2-pytest-django))))
(license license:bsd-3)))
(define-public python2-pytest-django
(let ((base (package-with-python2
(strip-python2-variant python-pytest-django))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(define-public python-django-filter
(package
(name "python-django-filter")
(version "0.14.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-filter" version))
(sha256
(base32
"0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx"))))
(build-system python-build-system)
(home-page "https://django-filter.readthedocs.io/en/latest/")
(synopsis "Reusable Django application to filter querysets dynamically")
(description
"Django-filter is a generic, reusable application to alleviate writing
some of the more mundane bits of view code. Specifically, it allows users to
filter down a queryset based on a models fields, displaying the form to let
them do this.")
(properties `((python2-variant . ,(delay python2-django-filter))))
(license license:bsd-3)))
(define-public python2-django-filter
(let ((base (package-with-python2
(strip-python2-variant python-django-filter))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,56 +64,67 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; Source files only say GPL2 and GPL3 are allowed.
(license (list license:gpl2 license:gpl3))))
(define-public bind-utils
(define-public bind
(package
(name "bind-utils")
(version "9.10.4")
(name "bind")
(version "9.10.4-P3")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.gz"))
(uri (string-append
"ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
version ".tar.gz"))
(sha256
(base32
"0mmhzi4483mkak47wj255a36g3v0yilxwfwlbckr1hssinri5m7q"))))
"1vxs29w4hnl7jcd7sknga58xv1qk2rcpsxyich7cpp7xi77faxd0"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
;; it would be nice to add GeoIP and gssapi once there is package
`(("libcap" ,libcap)
("libxml2" ,libxml2)
("mysql" ,mysql)
("openssl" ,openssl)
("perl" ,perl)
("p11-kit" ,p11-kit)))
(native-inputs `(("perl" ,perl)
("net-tools" ,net-tools)))
(arguments
`(#:tests? #f ; no test phase implemented
#:configure-flags
`(#:configure-flags
(list (string-append "--with-openssl="
(assoc-ref %build-inputs "openssl"))
(string-append "--with-dlz-mysql="
(assoc-ref %build-inputs "mysql"))
(string-append "--with-pkcs11="
(assoc-ref %build-inputs "p11-kit")))
#:modules ((srfi srfi-1)
(srfi srfi-26)
,@%gnu-build-system-modules)
#:phases
(let ((libs '("dns" "isc" "bind9" "isccfg" "lwres"))
(bins '("dig" "nsupdate")))
(modify-phases %standard-phases
(replace 'build
(lambda _
(every (lambda (dir)
(zero? (system* "make" "-C" dir)))
(append (map (cut string-append "lib/" <>) libs)
(map (cut string-append "bin/" <>) bins)))))
(replace 'install
(lambda _
(every (lambda (dir)
(zero? (system* "make" "-C" dir "install")))
(map (cut string-append "bin/" <>) bins))))))))
(home-page "https://www.isc.org/downloads/bind/")
(synopsis "Tools for querying nameservers")
(description
"These tools, included with ISC BIND, are useful for analysis of DNS
issues or verification of configuration.")
(modify-phases %standard-phases
(add-after 'strip 'move-to-utils
(lambda _
(for-each
(lambda (file)
(let ((target (string-append (assoc-ref %outputs "utils") file))
(src (string-append (assoc-ref %outputs "out") file)))
(mkdir-p (dirname target))
(link src target)
(delete-file src)))
'("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
"/share/man/man1/dig.1"
"/share/man/man1/host.1"
"/share/man/man1/nslookup.1"
"/share/man/man1/nsupdate.1"))))
;; When and if guix provides user namespaces for the build process,
;; then the following can be uncommented and the subsequent "force-test"
;; will not be necessary.
;;
;; (add-before 'check 'set-up-loopback
;; (lambda _
;; (system "bin/tests/system/ifconfig.sh up")))
(replace 'check
(lambda _
(zero? (system* "make" "force-test")))))))
(synopsis "An implementation of the Domain Name System")
(description "BIND is an implementation of the Domain Name System (DNS)
protocols for the Internet. It is a reference implementation of those
protocols, but it is also production-grade software, suitable for use in
high-volume and high-reliability applications. The name BIND stands for
\"Berkeley Internet Name Domain\", because the software originated in the early
1980s at the University of California at Berkeley.")
(home-page "https://www.isc.org/downloads/bind")
(license (list license:isc))))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
@ -16,6 +16,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,20 +75,24 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages xiph)
#:use-module (gnu packages mp3)
#:use-module (gnu packages gettext)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gd)
#:use-module (gnu packages fontutils)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public emacs
(package
(name "emacs")
(version "24.5")
(version "25.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
"0cwgyiyymnx4xdg99dm2drfxcyhy2jmyf0rkr9fwj9mwwf77kwhr"))
(patches (search-patches "emacs-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
"emacs-source-date-epoch.patch"))
@ -155,7 +160,11 @@
("libsm" ,libsm)
("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("guix-src" ,(package-source guix))))
("guix-src" ,(package-source guix))
;; multilingualization support
("libotf" ,libotf)
("m17n-lib" ,m17n-lib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
@ -320,7 +329,7 @@ metadata.")
(define-public paredit
(package
(name "paredit")
(name "emacs-paredit")
(version "24")
(source (origin
(method url-fetch)
@ -364,6 +373,9 @@ for those who may want transient periods of unbalanced parentheses, such as
when typing parentheses directly or commenting out code line by line.")
(license license:gpl3+)))
(define-public paredit/old-name
(deprecated-package "paredit" paredit))
(define-public git-modes
(package
(name "git-modes")
@ -652,7 +664,7 @@ programs.")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/let-alist-"
(uri (string-append "https://elpa.gnu.org/packages/let-alist-"
version ".el"))
(sha256
(base32
@ -681,7 +693,7 @@ programs.")
(emacs-byte-compile-directory lispdir)
#t))))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://elpa.gnu.org/packages/let-alist.html")
(home-page "https://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names")
(description
"This package offers a single Emacs Lisp macro, @code{let-alist}. This
@ -1038,13 +1050,13 @@ mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/async-"
(uri (string-append "https://elpa.gnu.org/packages/async-"
version ".tar"))
(sha256
(base32
"1ip5nc8xyln5szvqwp6wqva9xr84pn8ssn3nnphrszr19y4js2bm"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/async.html")
(home-page "https://elpa.gnu.org/packages/async.html")
(synopsis "Asynchronous processing in Emacs")
(description
"This package provides the ability to call asynchronous functions and
@ -1061,7 +1073,7 @@ as a library for other Emacs packages.")
(origin
(method url-fetch)
(uri (string-append
"http://elpa.gnu.org/packages/auctex-"
"https://elpa.gnu.org/packages/auctex-"
version
".tar"))
(sha256
@ -1327,6 +1339,34 @@ Expectations, but it can be used in other contexts.")
definitions for testing with the Ecukes framework.")
(license license:gpl3+)))
(define-public emacs-es-mode
(package
(name "emacs-es-mode")
(version "4.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/dakrone/es-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"02as82clm553yss7jfjac888308zr1h2229cch4z1yij70j25c8y"))))
(build-system emacs-build-system)
(propagated-inputs
;; The version of org in Emacs 24.5 is not sufficient, and causes tables
;; to be rendered incorrectly
`(("emacs-org" ,emacs-org)))
(home-page "https://github.com/dakrone/es-mode")
(synopsis "Major mode for editing Elasticsearch queries")
(description "@code{es-mode} includes highlighting, completion and
indentation support for Elasticsearch queries. Also supported are
@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
be processed through @code{jq}, or in the case of aggregations, can be
rendered in to a table. In addition, there is an @code{es-command-center}
mode, which displays information about Elasticsearch clusters.")
(license license:gpl3+)))
(define-public emacs-expand-region
(package
(name "emacs-expand-region")
@ -1619,7 +1659,7 @@ source code using IPython.")
(version "0.9")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/debbugs-"
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
@ -1627,7 +1667,7 @@ source code using IPython.")
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)))
(home-page "http://elpa.gnu.org/packages/debbugs.html")
(home-page "https://elpa.gnu.org/packages/debbugs.html")
(synopsis "Access the Debbugs bug tracker in Emacs")
(description
"This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
@ -2099,7 +2139,7 @@ package provides a light and a dark variant.")
(version "1.3.0")
(source
(origin (method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/ahungry-theme-"
(uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
version ".tar"))
(sha256
(base32
@ -2405,7 +2445,7 @@ The purpose of this library is to wrap all the quirks and hassle of
(version "0.1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/queue-"
(uri (string-append "https://elpa.gnu.org/packages/queue-"
version ".el"))
(sha256
(base32
@ -2448,7 +2488,7 @@ be removed from the front. This type of data structure is sometimes called an
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/spinner-"
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
version ".el"))
(sha256
(base32
@ -2467,13 +2507,13 @@ ongoing operations.")
(version "2.15")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/seq-"
(uri (string-append "https://elpa.gnu.org/packages/seq-"
version ".tar"))
(sha256
(base32
"09wi1765bmn7i8fg6ajjfaxgs4ipc42d58zx2fdqpidrdg9c7q73"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/seq.html")
(home-page "https://elpa.gnu.org/packages/seq.html")
(synopsis "Sequence manipulation functions for Emacs")
(description
"This Emacs library provides sequence-manipulation functions that
@ -2986,14 +3026,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "20160815")
(version "20160912")
(source (origin
(method url-fetch)
(uri (string-append "http://orgmode.org/elpa/org-"
version ".tar"))
(sha256
(base32
"0k9pa13kpmpi6irmbavxffgqfanhjnijz4mkmmi0zp7kgjfbaliw"))))
"1xawj0pdvqrgzlixxgbfa01gzajfaz47anr5m4aw035rhc6s02r7"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -3073,3 +3113,74 @@ that allows users to concentrate more on their own work. Its features are:
a visual interface, reduce overhead of completion by using statistic method,
extensibility.")
(license license:gpl3+)))
(define-public m17n-db
(package
(name "m17n-db")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/m17n/m17n-db-"
version ".tar.gz"))
(sha256
(base32 "1w08hnsbknrcjlzp42c99bgwc9hzsnf5m4apdv0dacql2s09zfm2"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gnu-gettext)))
(arguments
`(#:configure-flags
(list (string-append "--with-charmaps="
(assoc-ref %build-inputs "libc")
"/share/i18n/charmaps"))))
;; With `guix lint' the home-page URI returns a small page saying
;; that your browser does not handle frames. This triggers the "URI
;; returns suspiciously small file" warning.
(home-page "http://www.nongnu.org/m17n/")
(synopsis "Multilingual text processing library (database)")
(description "The m17n library realizes multilingualization of
many aspects of applications. The m17n library represents
multilingual text as an object named M-text. M-text is a string with
attributes called text properties, and designed to substitute for
string in C. Text properties carry any information required to input,
display and edit the text.
This package contains the library database.")
(license license:lgpl2.1+)))
(define-public m17n-lib
(package
(name "m17n-lib")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.savannah.gnu.org/releases/m17n/m17n-lib-"
version ".tar.gz"))
(sha256
(base32 "10yv730i25g1rpzv6q49m6xn4p8fjm7jdwvik2h70sn8w3hm7f4f"))))
(build-system gnu-build-system)
(inputs
`(("fribidi" ,fribidi)
("gd" ,gd)
("libotf" ,libotf)
("libxft" ,libxft)
("libxml2" ,libxml2)
("m17n-db" ,m17n-db)))
(arguments
`(#:parallel-build? #f))
;; With `guix lint' the home-page URI returns a small page saying
;; that your browser does not handle frames. This triggers the "URI
;; returns suspiciously small file" warning.
(home-page "http://www.nongnu.org/m17n/")
(synopsis "Multilingual text processing library (runtime)")
(description "The m17n library realizes multilingualization of
many aspects of applications. The m17n library represents
multilingual text as an object named M-text. M-text is a string with
attributes called text properties, and designed to substitute for
string in C. Text properties carry any information required to input,
display and edit the text.
This package contains the library runtime.")
(license license:lgpl2.1+)))

View File

@ -26,6 +26,8 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
@ -40,6 +42,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
@ -53,7 +56,7 @@
(define-public efl
(package
(name "efl")
(version "1.18.0")
(version "1.18.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -61,7 +64,7 @@
version ".tar.xz"))
(sha256
(base32
"17mzbjmz8d2vs8p63r1sk3mppl3l2fhxy2jv24dp75lgqbsvp806"))))
"08njx6wd505as1vn0yp4mnmf6mb2v28jsipxxx4zhf78v18d2sqc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -79,6 +82,7 @@
("librsvg" ,librsvg)
("libspectre" ,libspectre)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("libx11" ,libx11)
("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor)
@ -122,23 +126,12 @@
(arguments
`(#:configure-flags '("--disable-silent-rules"
"--enable-liblz4"
"--enable-harfbuzz")
#:phases
(modify-phases %standard-phases
;; ecore_audio cannot find pulseaudio or libsndfile when compiled.
;; Starting in version 1.18.0, these two libraries are dlopened so
;; we hardcode their locations as a temporary workaround.
(add-after 'configure 'hardlink-dlopen-files
(lambda _
(substitute* "src/lib/ecore_audio/ecore_audio.c"
(("libpulse.so.0")
(string-append (assoc-ref %build-inputs "pulseaudio")
"/lib/libpulse.so.0")))
(substitute* "src/lib/ecore_audio/ecore_audio.c"
(("libsndfile.so.1")
(string-append (assoc-ref %build-inputs "libsndfile")
"/lib/libsndfile.so.1")))
#t)))))
"--enable-xinput22"
"--enable-image-loader-webp"
"--enable-multisense"
"--with-opengl=es"
"--enable-egl"
"--enable-harfbuzz")))
(home-page "https://www.enlightenment.org")
(synopsis "Enlightenment Foundation Libraries")
(description
@ -149,90 +142,6 @@ removable devices or support for multimedia.")
;; Different parts are under different licenses.
(license (list license:bsd-2 license:lgpl2.1 license:zlib))))
(define-public elementary
(package
(name "elementary")
(version "1.17.1")
(source (origin
(method url-fetch)
(uri
(string-append "https://download.enlightenment.org/rel/libs/"
"elementary/elementary-" version ".tar.xz"))
(sha256
(base32
"149xjq4z71l44w1kd8zks9b2g0wjc9656w46hzd27b58afj1dqc5"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("efl" ,efl))) ; elementary.pc, elementary-cxx.pc
(home-page "https://www.enlightenment.org")
(synopsis "Widget library of Enlightenment world")
(description
"Elementary is a widget library/toolkit, part of the Enlightenment
Foundation Libraries. It is build upon Edje and Evas libraries and uses
full capabilities of EFL.")
(license license:lgpl2.1)))
(define-public evas-generic-loaders
(package
(name "evas-generic-loaders")
(version "1.17.0")
(source (origin
(method url-fetch)
(uri
(string-append
"https://download.enlightenment.org/rel/libs/"
"evas_generic_loaders/evas_generic_loaders-"
version ".tar.xz"))
(sha256
(base32
"0ynq1nx0bfgg19p4vki1fap36yyip53zaxpzncx2slr6jcx1kxf2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("librsvg" ,librsvg)
("libspectre" ,libspectre)
("poppler" ,poppler)))
(home-page "https://www.enlightenment.org")
(synopsis "Plugins for integration of various file types into Evas")
(description
"Evas-generic-loaders is a collection of interfaces to outside libraries
and applications allowing to natively open pictures, documents and media
files in Evas (EFL canvas library).")
(license license:gpl2+)))
(define-public emotion-generic-players
(package
(name "emotion-generic-players")
(version "1.17.0")
(source (origin
(method url-fetch)
(uri
(string-append "https://download.enlightenment.org/rel/libs/"
"emotion_generic_players/emotion_generic_players"
"-" version ".tar.xz"))
(sha256
(base32
"03kaql95mk0c5j50v3c5i5lmlr3gz7xlh8p8q87xz8zf9j5h1pp7"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)
("vlc" ,vlc)))
(home-page "https://www.enlightenment.org")
(synopsis "Plugins for integrating media players in EFL based applications")
(description
"Emotion-generic-players is a collection of interfaces to outside libraries
and applications allowing to natively play video files through Emotion.
The only supported now is VLC.")
(license license:bsd-2)))
(define-public terminology
(package
(name "terminology")
@ -262,7 +171,7 @@ contents and more.")
(define-public rage
(package
(name "rage")
(version "0.2.0")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri
@ -271,7 +180,7 @@ contents and more.")
version ".tar.xz"))
(sha256
(base32
"07mfh0k83nrm557x72qafxawxizilqgkr6sngbia3ikprc8556zy"))))
"06kbgcnbhl9clhdl7k983m4d0n6ggsl4qvizzi1nrp8c7np87fix"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -359,3 +268,33 @@ Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).")
(define-public python2-efl
(package-with-python2 python-efl))
(define-public edi
(package
(name "edi")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ajwillia-ms/edi/releases/"
"download/v" version "/edi-" version ".tar.bz2"))
(sha256
(base32
"0qczz5psryxasphg5km95845h510237rf0k1dy8f0dad52ii90j1"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--with-tests=coverage")))
(native-inputs
`(("check" ,check)
("lcov" ,lcov)
("pkg-config" ,pkg-config)))
(inputs
`(("clang" ,clang)
("efl" ,efl)))
(home-page "https://www.enlightenment.org/about-edi")
(synopsis "Development environment for Enlightenment")
(description "EDI is a development environment designed for and built using
the EFL. It's aim is to create a new, native development environment for Linux
that tries to lower the barrier to getting involved in Enlightenment development
and in creating applications based on the Enlightenment Foundation Library suite.")
(license (list license:public-domain ; data/extra/skeleton
license:gpl2)))) ; edi

View File

@ -46,7 +46,7 @@
(define-public bitcoin-core
(package
(name "bitcoin-core")
(version "0.12.1")
(version "0.13.0")
(source (origin
(method url-fetch)
(uri
@ -54,11 +54,11 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"16g1cnasy24275kxrs0cg48nbx1dk54xvxm1pdsvk7y30mn3pz08"))))
"1nhw2s8p1hg6715l6kc1c7psqhkzfwhfrrgiar17zccvd14p0z8c"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2) ; for the tests
("python" ,python) ; for the tests
("util-linux" ,util-linux))) ; provides the hexdump command for tests
(inputs
`(("bdb" ,bdb-5.3) ; with 6.2.23, there is an error: ambiguous overload

View File

@ -38,16 +38,15 @@
(define-public flashrom
(package
(name "flashrom")
(version "0.9.7")
(version "0.9.9")
(source (origin
(method url-fetch)
(uri (string-append
"http://download.flashrom.org/releases/flashrom-"
"https://download.flashrom.org/releases/flashrom-"
version ".tar.bz2"))
(sha256
(base32
"1s9pc4yls2s1gcg2ar4q75nym2z5v6lxq36bl6lq26br00nj2mas"))
(patches (search-patches "flashrom-use-libftdi1.patch"))))
"0i9wg1lyfg99bld7d00zqjm9f0lk6m0q3h3n9c195c9yysq5ccfb"))))
(build-system gnu-build-system)
(inputs `(("dmidecode" ,dmidecode)
("pciutils" ,pciutils)
@ -55,7 +54,9 @@
("libftdi" ,libftdi)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
'(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
'(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output)
"CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no")
#:tests? #f ; no 'check' target
#:phases
(alist-delete

View File

@ -602,7 +602,7 @@ languages, plus Greek and Cyrillic.")
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "9.0.01")
(version "9.0.02")
(source (origin
(method url-fetch)
(uri (string-append
@ -610,7 +610,7 @@ languages, plus Greek and Cyrillic.")
version ".tar.gz"))
(sha256
(base32
"14z4lx6asa94i73m19lsdgzqjn9xzi8320h3dafvzq9ima94pm9b"))))
"1ss6cp2bs8mzz3jqjbmmi877jfdb1jjcd29dvyk3i8qy7r0d44qm"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
@ -49,6 +50,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages polkit)
@ -318,6 +320,79 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(home-page "https://wayland.freedesktop.org")
(license license:expat)))
(define-public weston
(package
(name "weston")
(version "1.11.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://wayland.freedesktop.org/releases/"
"weston-" version ".tar.xz"))
(sha256
(base32
"09biddxw3ar797kxf9mywjkb2iwky6my39gpp51ni846y7lqdq05"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server)))
(inputs
`(("cairo" ,cairo-xcb)
("dbus" ,dbus)
("elogind" ,elogind)
("libinput" ,libinput-minimal)
("libunwind" ,libunwind)
("libxcursor" ,libxcursor)
("libxkbcommon" ,libxkbcommon)
("mesa" ,mesa)
("mtdev" ,mtdev)
("linux-pam" ,linux-pam)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
("xorg-server-xwayland" ,xorg-server-xwayland)))
(arguments
`(#:configure-flags
(list "--disable-setuid-install"
"--enable-systemd-login"
(string-append "--with-xserver-path="
(assoc-ref %build-inputs "xorg-server-xwayland")
"/bin/Xwayland"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'use-elogind
(lambda _
;; Use elogind instead of systemd
(substitute* "configure"
(("libsystemd-login >= 198") "libelogind"))
(substitute* '("src/launcher-logind.c" "src/weston-launch.c")
(("#include <systemd/sd-login.h>")
"#include <elogind/sd-login.h>"))))
(add-after 'configure 'patch-confdefs.h
(lambda _
(system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h")))
(add-before 'check 'setup
(lambda _
(setenv "HOME" (getcwd))
(setenv "XDG_RUNTIME_DIR" (getcwd))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system (string-append (assoc-ref inputs "xorg-server")
"/bin/Xvfb :1 &"))
(setenv "DISPLAY" ":1")
#t)))))
(home-page "https://wayland.freedesktop.org")
(synopsis "Reference implementation of a Wayland compositor")
(description "Weston is the reference implementation of a Wayland
compositor, and a useful compositor in its own right.
A Wayland compositor allows applications to render to a shared offscreen
buffer using OpenGL ES. The compositor then culls the hidden parts and
composes the final output. A Wayland compositor is essentially a
multiplexer to the KMS/DRM Linux kernel devices.")
(license license:expat)))
(define-public exempi
(package
(name "exempi")

View File

@ -93,14 +93,14 @@ is used in some video games and movies.")
(define-public gzochi
(package
(name "gzochi")
(version "0.10")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/gzochi/gzochi-"
version ".tar.gz"))
(sha256
(base32
"055m7ywgl48ljwxf0kjhl76ldck890y5afdwjhk5s3p65xyaxh0k"))))
"166rawdal45kvanhvi0bkzy1d2pwf1p0lzslb287lcnm9vdw97yy"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -101,6 +101,8 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages tcl)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages pcre)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix build-system python)
@ -324,7 +326,7 @@ asynchronously and at a user-defined speed.")
(define-public chess
(package
(name "chess")
(version "6.2.2")
(version "6.2.3")
(source
(origin
(method url-fetch)
@ -332,7 +334,7 @@ asynchronously and at a user-defined speed.")
".tar.gz"))
(sha256
(base32
"1a41ag03q66pwy3pjrmbxxjpzi9fcaiiaiywd7m9v25mxqac2xkp"))))
"10hvnfhj9bkpz80x20jgxyqvgvrcgfdp8sfcbcrf1dgjn9v936bq"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/chess")
(synopsis "Full chess implementation")
@ -862,7 +864,7 @@ either by Infocom or created using the Inform compiler.")
(define-public retroarch
(package
(name "retroarch")
(version "1.3.4")
(version "1.3.6")
(source
(origin
(method url-fetch)
@ -870,7 +872,7 @@ either by Infocom or created using the Inform compiler.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "077v1sj000y3csjw9vradba3k2aknvg5k8521z8aya6q987klwx5"))))
(base32 "1xar0wagcz50clwwkvjg4zq9m1sjqw47vw3xx44pisdj94g21m5y"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@ -1778,7 +1780,7 @@ towards a working Mupen64Plus for casual users.")
(define-public nestopia-ue
(package
(name "nestopia-ue")
(version "1.46.2")
(version "1.47")
(source (origin
(method url-fetch)
(uri (string-append
@ -1787,7 +1789,7 @@ towards a working Mupen64Plus for casual users.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p"))
"1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1813,21 +1815,14 @@ towards a working Mupen64Plus for casual users.")
(modify-phases %standard-phases
;; The Nestopia build system consists solely of a Makefile.
(delete 'configure)
;; XXX Should be unnecessary with the next release.
(add-before
'build 'patch-makefile
(lambda _
(substitute* "Makefile"
(("@mkdir \\$@") "@mkdir -p $@")
(("CC =") "CC ?=")
(("CXX =") "CXX ?=")
(("PREFIX =") "PREFIX ?=")
(("^install:\n$") "install:\n\tmkdir -p $(BINDIR)\n"))))
(add-before
'build 'remove-xdg-desktop-menu-call
(lambda _
(substitute* "Makefile"
(("xdg-desktop-menu install .*") "")))))
(add-before 'build 'remove-xdg-desktop-menu-call
(lambda _
(substitute* "Makefile"
(("xdg-desktop-menu install .*") ""))))
(add-before 'build 'remove-gdkwayland-include
(lambda _
(substitute* "source/unix/gtkui/gtkui.h"
(("#include <gdk/gdkwayland\\.h>") "")))))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
;; There are no tests.
@ -2261,7 +2256,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
(define-public higan
(package
(name "higan")
(version "099")
(version "101")
(source
(origin
(method url-fetch)
@ -2270,7 +2265,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xlzjqrd308hmg6yjzjkmxkkr9p3w387kf6yxyplb47jcbx2sq4n"))
(base32 "0qavwkmzc63p6qplmxii4gc541z5mcs8gjwh3m4y7i576r7rcbk9"))
(patches (search-patches "higan-remove-march-native-flag.patch"))))
(build-system gnu-build-system)
(native-inputs
@ -2736,6 +2731,42 @@ the GNU GPL.")
(home-page "https://supertuxproject.org/")
(license license:gpl3+)))
(define-public tintin++
(package
(name "tintin++")
(version "2.01.1")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/tintin"
"/files/TinTin++ Source Code/" version
"/tintin" "-" version ".tar.gz"))
(sha256
(base32
"195wrfcys8yy953gdrl1gxryhjnx9lg1vqgxm3dyzm8bi18aa2yc"))))
(inputs
`(("gnutls" ,gnutls)
("pcre" ,pcre)
("readline" ,readline)
("zlib" ,zlib)))
(arguments
'(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
;; The source is in tt/src.
(add-before 'configure 'chdir
(lambda _
(chdir "src")
#t)))))
(build-system gnu-build-system)
(home-page "http://tintin.sourceforge.net/")
(synopsis "MUD client")
(description
"TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol),
MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs,
as well as those required to login via telnet on Linux / Mac OS X servers, and an
auto mapper with a VT100 map display.")
(license license:gpl2+)))
(define-public laby
(package
(name "laby")
@ -2818,3 +2849,50 @@ programmers may also add their own favorite language.")
application that locks the keyboard and mouse and instead displays bright
colors, pictures, and sounds.")
(license license:gpl3+)))
(define-public mrrescue
(package
(name "mrrescue")
(version "1.02e")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/SimonLarsen/mrrescue/releases/"
"download/" version "/" name version ".love"))
(file-name (string-append name "-" version ".love"))
(sha256
(base32
"0jwzbwkgp1l5ia6c7s760gmdirbsncp6nfqp7vqdqsfb63la9gl2"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bindir (string-append out "/bin"))
(prog (string-append bindir "/mrrescue"))
(source (assoc-ref %build-inputs "source"))
(bash (string-append (assoc-ref %build-inputs "bash")
"/bin/bash"))
(love (string-append (assoc-ref %build-inputs "love")
"/bin/love")))
(mkdir-p bindir)
(with-output-to-file prog
(lambda ()
(format #t "#!~a~%" bash)
(format #t "exec -a mrrescue \"~a\" \"~a\"~%" love source)))
(chmod prog #o755)
#t))))
(inputs
`(("bash" ,bash)
("love" ,love)))
(home-page "http://tangramgames.dk/games/mrrescue")
(synopsis "Arcade-style fire fighting game")
(description
"Mr. Rescue is an arcade styled 2d action game centered around evacuating
civilians from burning buildings. The game features fast paced fire
extinguishing action, intense boss battles, a catchy soundtrack and lots of
throwing people around in pseudo-randomly generated buildings.")
(license (list license:zlib ; for source code
license:cc-by-sa3.0)))) ; for graphics and music assets

View File

@ -106,6 +106,7 @@ most common applications of GD involve website development.")
(string-append "--lib_" i "_path="
(assoc-ref %build-inputs i)))
'("zlib" "png" "ft" "jpeg" "fontconfig"))
#:tests? #f ;; Failed 1/2 test programs. 1/12 subtests failed.
#:phases (alist-cons-after
'configure 'clear-autogenerated-files
(lambda _

60
gnu/packages/gforth.scm Normal file
View File

@ -0,0 +1,60 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gforth)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4))
(define-public gforth
(package
(name "gforth")
(version "0.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gforth/gforth-"
version ".tar.gz"))
(sha256
(base32
"1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-build? #f ; XXX: parallel build fails
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-gforth.el
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(emacs-sitedir (string-append
out "/share/emacs/site-lisp")))
;; TODO: compile and autoload it.
(install-file "gforth.el" emacs-sitedir)
#t))))))
(native-inputs
`(("m4" ,m4)))
(synopsis "Forth interpreter")
(description
"Gforth is a fast and portable implementation of the ANSI Forth language.
It includes an editing mode for Emacs and an interpreter featuring completion
and history. A generic virtual machine environment, vmgen, is also
included.")
(home-page "https://www.gnu.org/software/gforth/")
(license license:gpl3+)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -366,14 +367,14 @@ glxgears, glxheads, and glxinfo.")
(define-public glew
(package
(name "glew")
(version "1.11.0")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/glew/glew/" version
"/glew-" version ".tgz"))
(sha256
(base32
"1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9"))
"0r37fg2s1f0jrvwh6c8cz5x6v4wqmhq42qm15cs9qs349q5c6wn5"))
(modules '((guix build utils)))
(snippet
'(substitute* "config/Makefile.linux"
@ -582,3 +583,29 @@ OpenGL.")
desktop computers. It provides a simple API for creating windows, contexts
and surfaces, receiving input and events.")
(license license:zlib)))
(define-public nanovg-for-extempore
(package
(name "nanovg-for-extempore")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/extemporelang/nanovg/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ivs1sagq19xiw8jxd9f8w2b39svi0n9hrbmdvckwvqg95r8701g"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
(inputs
`(("mesa" ,mesa)))
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/extemporelang/nanovg")
(synopsis "2D vector drawing library on top of OpenGL")
(description "NanoVG is small antialiased vector graphics rendering
library for OpenGL. It has lean API modeled after HTML5 canvas API. It is
aimed to be a practical and fun toolset for building scalable user interfaces
and visualizations.")
(license license:zlib)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,6 +32,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
@ -43,6 +45,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
@ -659,3 +662,44 @@ many applications simultaneously.
This package provides the library for GLib applications.")
(license license:lgpl2.1+)))
(define-public dbus-c++
(package
(name "dbus-c++")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri
(string-append
"mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/"
version "/libdbus-c%2B%2B-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"))))
(build-system gnu-build-system)
(propagated-inputs
`(("dbus" ,dbus))) ;mentioned in the pkg-config file
(inputs
`(("efl" ,efl)
("expat" ,expat)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(;; The 'configure' machinery fails to detect that it needs -lpthread.
#:configure-flags (list "LDFLAGS=-lpthread")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'add-missing-header
(lambda _
(substitute* "include/dbus-c++/eventloop-integration.h"
(("#include <errno.h>")
"#include <errno.h>\n#include <unistd.h>")))))))
(synopsis "D-Bus API for C++")
(description "This package provides D-Bus client API bindings for the C++
programming langauage. It also contains the utility
@command{dbuscxx-xml2cpp}.")
(home-page "https://sourceforge.net/projects/dbus-cplusplus/")
(license license:lgpl2.1+)))

View File

@ -14,7 +14,6 @@
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@ -110,6 +109,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages mail)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages backup)
#:use-module (gnu packages nettle)
#:use-module (gnu packages ncurses)
@ -2444,7 +2444,7 @@ output devices.")
(define-public geoclue
(package
(name "geoclue")
(version "2.4.3")
(version "2.4.4")
(source
(origin
(method url-fetch)
@ -2453,7 +2453,7 @@ output devices.")
name "-" version ".tar.xz"))
(sha256
(base32
"0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd"))
"0p1ibjf5vzjsahw5xif2si3lj6a00sxhll008jk7w1hj1jfznhww"))
(patches (search-patches "geoclue-config.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
@ -3490,9 +3490,9 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
("nettle" ,nettle) ; XXX: required by libarchive.pc
("udisks" ,udisks)))
(home-page "https://wiki.gnome.org/gvfs/")
(synopsis "Userspace virtual filesystem for GIO")
(synopsis "Userspace virtual file system for GIO")
(description
"GVFS is a userspace virtual filesystem designed to work with the I/O
"GVFS is a userspace virtual file system designed to work with the I/O
abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
to all applications using the GIO API. It also supports exposing the GVFS
mounts to non-GIO applications using FUSE.
@ -3549,7 +3549,7 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan
(package
(name "simple-scan")
(version "3.21.90")
(version "3.22.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/simple-scan/"
@ -3558,7 +3558,7 @@ USB transfers with your high-level application or system daemon.")
version ".tar.xz"))
(sha256
(base32
"0dmsvq3vviky6851rqiik898r84c7744i7md672ckic3mdv21ap3"))))
"0l1b3llkdlqq0bcjx1cadba67l2zb4zfykdaprpjbjbr6gkbc1f5"))))
(build-system glib-or-gtk-build-system)
(inputs
`(("gtk" ,gtk+)
@ -3602,7 +3602,7 @@ work and the interface is well tested.")
(define-public epiphany
(package
(name "epiphany")
(version "3.20.3")
(version "3.22.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -3610,7 +3610,7 @@ work and the interface is well tested.")
name "-" version ".tar.xz"))
(sha256
(base32
"18i4nk4k4q2yaj4zw0gbyp7ja2g67pm05p56bbras52cnjyy37ad"))))
"09rscbmyjxzd8wlibn1fbmbwmlwnahzfl1kkcka6dhm121yd2id6"))))
(build-system glib-or-gtk-build-system)
(arguments
;; FIXME: tests run under Xvfb, but fail with:
@ -3635,9 +3635,7 @@ work and the interface is well tested.")
("iso-codes" ,iso-codes)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
("libwnck" ,libwnck)
("libxslt" ,libxslt)
("nss" ,nss)
("sqlite" ,sqlite)
("webkitgtk" ,webkitgtk)))
(home-page "https://wiki.gnome.org/Apps/Web")
@ -3732,7 +3730,7 @@ to format Docbook and Mallard documents.")
(define-public yelp
(package
(name "yelp")
(version "3.21.3")
(version "3.20.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -3740,7 +3738,7 @@ to format Docbook and Mallard documents.")
name "-" version ".tar.xz"))
(sha256
(base32
"1x8la7qn0l796p4nhprvkwb6sk6yc39xhq3gabvzrhdlb6mjgmrs"))))
"1hh8yqbv0scn9nksk9mq94cb4sdczlzxplclv2wqr41jmm8v186x"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
@ -4563,6 +4561,20 @@ the available networks and allows users to easily switch between them.")
libxml2.")
(license license:lgpl2.1+)))
(define-public libxml++-2
(package
(inherit libxml++)
(name "libxml++")
(version "2.40.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
(define-public gdm
(package
(name "gdm")
@ -5204,6 +5216,36 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
desktop. It supports multiple calendars, monthly view and yearly view.")
(license license:gpl3+)))
(define-public gnome-dictionary
(package
(name "gnome-dictionary")
(version "3.20.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"08b1f5s5aqka3dwxnzmwr2fmyddjm9xw7zmqsf8r5zvfsivn7czg"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
(inputs
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)))
(home-page "https://wiki.gnome.org/Apps/Dictionary")
(synopsis "Look up words in dictionary sources")
(description
"GNOME Dictionary can look for the definition or translation of a word in
existing databases over the internet.")
(license license:gpl3+)))
(define-public gnome-tweak-tool
(package
(name "gnome-tweak-tool")
@ -5510,3 +5552,33 @@ write this kind of application, by providing a base class, taking care of all
the IPC machinery needed to send messages to a running instance, and also
handling the startup notification side.")
(license license:lgpl2.1+)))
(define-public gnome-calculator
(package
(name "gnome-calculator")
(version "3.20.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1yx86kyd54y3k3b6rmdazvmpxzl0zn791zr1q87zjc5228mc3w9a"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)))
(inputs
`(("gtksourceview" ,gtksourceview)
("libsoup" ,libsoup)
("mpfr" ,mpfr)))
(home-page "https://wiki.gnome.org/Apps/Calculator")
(synopsis "Desktop calculator")
(description
"Calculator is an application that solves mathematical equations and
is suitable as a default application in a Desktop environment.")
(license license:gpl3)))

View File

@ -158,7 +158,7 @@ and support for SSL3 and TLS.")
(define-public gnurl
(package
(name "gnurl")
(version "7.50.1")
(version "7.50.3")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -167,7 +167,7 @@ and support for SSL3 and TLS.")
name "-" version-with-underscores ".tar.bz2")))
(sha256
(base32
"0irb8df3lqd9w1pb627q260hn448vbkh0sn4l6p6jh0q8lqscv84"))))
"07ij9mj60kpfrmi0436k14b1d1idsj79nk4w5h3bia69arzp2cnk"))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
("libidn" ,libidn)
@ -189,21 +189,16 @@ and support for SSL3 and TLS.")
"--disable-telnet" "--disable-tftp" "--disable-pop3"
"--disable-imap" "--disable-smtp" "--disable-gopher"
"--disable-file" "--disable-ftp" "--disable-smb")
#:test-target "test"
#:parallel-tests? #f
#:phases
;; We have to patch runtests.pl in tests/ directory
(alist-cons-before
'check 'patch-runtests
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh"))))
;; To be discussed with upstream.
(alist-cons-before
'check 'delete-failing-test1139
(lambda _
(delete-file "tests/data/test1139"))
%standard-phases))))
#:test-target "test"
#:parallel-tests? #f
#:phases
;; We have to patch runtests.pl in tests/ directory
(modify-phases %standard-phases
(add-before 'check 'patch-runtests
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
#t)))))
(synopsis "Microfork of cURL with support for the HTTP/HTTPS/GnuTLS subset of cURL")
(description
"Gnurl is a microfork of cURL, a command line tool for transferring data
@ -252,19 +247,17 @@ supports HTTP, HTTPS and GnuTLS.")
;; test_gnunet_service_arm fails; reported upstream
#:tests? #f
#:phases
(modify-phases %standard-phases
;; swap check and install phases and set paths to installed binaries
(alist-cons-before
'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" (string-append out "/lib"))
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
(alist-cons-after
'install 'check
(assoc-ref %standard-phases 'check)
(alist-delete
'check
%standard-phases)))))
(add-before 'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" (string-append out "/lib"))
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")))
#t))
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(delete 'check))))
(synopsis "Secure, decentralized, peer-to-peer networking framework")
(description
"GNUnet is a framework for secure peer-to-peer networking. The

View File

@ -215,6 +215,7 @@ compatible to GNU Pth.")
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(patches (search-patches "gnupg-fix-expired-test.patch"))
(sha256
(base32
"1pgz02gd84ab94w4xdg67p9z8kvkyr9d523bvcxxd2hviwh1m362"))))

View File

@ -185,7 +185,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
(version "3.23")
(version "3.26")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -196,7 +196,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
"1kqidv91icq96m9m8zx50n7px08km2l88458rkgyjwcn3kiq7cwl"))
"0r65s5q8kk0vr48s0zr8xi610k7h072lgkkpp4z6jlxr19bkly4i"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"))))
(build-system gnu-build-system)

131
gnu/packages/gobby.scm Normal file
View File

@ -0,0 +1,131 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gobby)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
(define-public libnet6
(package
(name "libnet6")
(version "1.3.14")
(source (origin
(method url-fetch)
(uri (string-append "http://releases.0x539.de/net6/net6-"
version ".tar.gz"))
(sha256
(base32
"088yqq60wjx3jqjlhl12893p15gl9asjpavrbhh590qzpqndhp8m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
'("CXXFLAGS=-std=c++11") ; required by libsigc++
#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-gnutls-api
(lambda _
(substitute* "src/encrypt.cpp"
;; The GnuTLS API to set authentication and other parameters
;; and priorities changed in 3.4; update to allow ANON_DH via
;; the new API.
(("gnutls_kx_set_priority\\(session, kx_prio\\)")
(string-append "gnutls_priority_set_direct"
"(session, \"NORMAL:+ANON-DH\", NULL)"))))))))
(inputs
`(("libsigc++" ,libsigc++)
("gnutls" ,gnutls)))
(home-page "https://gobby.github.io/")
(synopsis "Network access framework for IPv4/IPv6")
(description
"Library which that provides a TCP protocol abstraction for C++.")
(license license:lgpl2.1)))
(define-public obby
(package
(name "obby")
(version "0.4.8")
(source (origin
(method url-fetch)
(uri (string-append "http://releases.0x539.de/obby/obby-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0rwvp0kzsb8y6mq73rzb8yk4kvsrz64i2zf4lfqs3kh0x2k7n7bx"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libsigc++" ,libsigc++)
("gnutls" ,gnutls)
("libnet6" ,libnet6)))
(arguments
;; Required by libsigc++.
`(#:configure-flags '("CXXFLAGS=-std=c++11")))
(home-page "https://gobby.github.io/")
(synopsis "Library for building collaborative editors")
(description
"Library that provides synced document buffers. It supports multiple
documents in one session. Obby is used by the Gobby collaborative editor.")
(license license:gpl2+)))
(define-public gobby
(package
(name "gobby")
(version "0.4.13")
(source (origin
(method url-fetch)
(uri (string-append "http://releases.0x539.de/gobby/gobby-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0w8q01lf6bcdz537b29m7rwlbc7k87b12vnpm1h6219ypvzqkgcc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("libxml++-2" ,libxml++-2)
("gnutls" ,gnutls)
("gtkmm-2" ,gtkmm-2)
("gtksourceview-2" ,gtksourceview-2)
("libnet6" ,libnet6)
("obby" ,obby)))
(arguments
;; Required by libsigc++.
`(#:configure-flags '("CXXFLAGS=-std=c++11")))
(home-page "https://gobby.github.io/")
(synopsis "Collaborative editor")
(description
"Collaborative editor that supports multiple documents in one session and
a multi-user chat. Gobby allows multiple users to edit the same document
together over the internet in real-time.")
(license license:gpl2+)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;;
;;; This file is an addendum GNU Guix.
;;;
@ -185,11 +186,11 @@ garbage collection, various safety features and in the style of communicating
sequential processes (CSP) concurrent programming features added.")
(license license:bsd-3)))
(define-public go-1.6
(define-public go-1.7
(package
(inherit go-1.4)
(name "go")
(version "1.6.3")
(version "1.7.1")
(source
(origin
(method url-fetch)
@ -197,7 +198,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
(base32
"002v6irgfd63zp9iza8nski5by0lar033j3ddpqiikw6bznsw9k3"))))
"1ls2shd8ha2dhigz8kf4j15p1l5rvfxn9jyh4rgrkdw17c9kz11b"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@ -216,11 +217,14 @@ sequential processes (CSP) concurrent programming features added.")
;; Removing net/ tests, which fail when attempting to access
;; network resources not present in the build container.
(for-each delete-file
'("net/listen_test.go" "net/parse_test.go"))
'("net/listen_test.go"
"net/parse_test.go"
"net/cgo_unix_test.go"))
(substitute* "os/os_test.go"
(("/usr/bin") (getcwd))
(("/bin/pwd") (which "pwd")))
(("/bin/pwd") (which "pwd"))
(("/bin/sh") (which "sh")))
;; Add libgcc to runpath
(substitute* "cmd/link/internal/ld/lib.go"
@ -275,7 +279,7 @@ sequential processes (CSP) concurrent programming features added.")
;; fix shebang for testar script
;; note the target script is generated at build time.
(substitute* "../misc/cgo/testcarchive/test.bash"
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"))))
(substitute* "net/lookup_unix.go"
@ -336,4 +340,4 @@ sequential processes (CSP) concurrent programming features added.")
`(("go" ,go-1.4)
,@(package-native-inputs go-1.4)))))
(define-public go go-1.6)
(define-public go go-1.7)

View File

@ -60,7 +60,8 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip))
(define-public blender
(package
@ -138,6 +139,34 @@ compositing and motion tracking, even video editing and game creation. The
application can be customized via its API for Python scripting.")
(license license:gpl2+)))
(define-public assimp
(package
(name "assimp")
(version "3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/assimp/assimp/archive/v"
version ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"11sfahmbwnjjpd8vpzdsng1bx5mb0cmaqb20dz6sdwapqanqwmar"))))
(build-system cmake-build-system)
(inputs
`(("zlib" ,zlib)))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://assimp.org/")
(synopsis "Asset import library")
(description
"The Open Asset Import Library loads more than 40 3D file formats into
one unified data structure. Additionally, assimp features various mesh post
processing tools: normals and tangent space generation, triangulation, vertex
cache locality optimization, removal of degenerate primitives and duplicate
vertices, sorting by primitive type, merging of redundant materials and many
more.")
(license license:bsd-3)))
(define-public cgal
(package
(name "cgal")

View File

@ -22,6 +22,7 @@
(define-module (gnu packages grub)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@ -58,7 +59,12 @@
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
;; Simply disable the tests.
(arguments `(#:tests? #f
,@(package-arguments qemu-minimal)))
,@(substitute-keyword-arguments (package-arguments qemu-minimal)
((#:phases phases)
;; We disable the tests so we also skip the phase disabling
;; the qga test, which fails due to changes in QEMU
`(modify-phases ,phases
(delete 'disable-test-qga))))))
;; The manual fails to build with Texinfo 5.x.
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))

View File

@ -63,27 +63,27 @@
(define-public orc
(package
(name "orc")
(version "0.4.25")
(version "0.4.26")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
"orc/orc-" version ".tar.xz"))
(sha256
(base32
"1lak3hyvvb0w9avzmf0a8vayb7vqhj4m709q1czlhvgjb15dbcf1"))))
"0jd69ynvr3k70mlxxgbsk047l1rd63m1wkj3qdcq7644xy0gllkx"))))
(build-system gnu-build-system)
(arguments `(#:phases
(alist-cons-before
'check 'disable-faulty-test
(lambda _
;; XXX Disable the 'test-limits' and 'exec_opcodes_sys'
;; tests, which fail on some machines. See:
;; https://bugzilla.gnome.org/show_bug.cgi?id=735273
(substitute* '("testsuite/test-limits.c"
"testsuite/exec_opcodes_sys.c")
(("if \\(error\\) return 1;")
"if (error) return 77;")))
%standard-phases)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-faulty-test
(lambda _
;; XXX Disable the 'test-limits' and 'exec_opcodes_sys'
;; tests, which fail on some machines. See:
;; https://bugzilla.gnome.org/show_bug.cgi?id=735273
(substitute* '("testsuite/test-limits.c"
"testsuite/exec_opcodes_sys.c")
(("if \\(error\\) return 1;")
"if (error) return 77;")))))))
(home-page "http://code.entropywave.com/orc/")
(synopsis "Oil runtime compiler")
(description
@ -160,6 +160,7 @@ This package provides the core library and elements.")
`(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc
(inputs
`(("cdparanoia" ,cdparanoia)
("opus" ,opus)
("orc" ,orc)
("pango" ,pango)
("libogg" ,libogg)
@ -323,7 +324,9 @@ developers consider to have good quality code and correct functionality.")
("openssl" ,openssl)
("opus" ,opus)
("orc" ,orc)
("qtbase" ,qtbase)
;("qtbase" ,qtbase)
;("qtdeclarative" ,qtdeclarative)
;("qtx11extras" ,qtx11extras)
("soundtouch" ,soundtouch)
("wayland" ,wayland)))
(home-page "http://gstreamer.freedesktop.org/")
@ -356,6 +359,7 @@ par compared to the rest.")
("libmpeg2" ,libmpeg2)
("libdvdread" ,libdvdread)
("libx264" ,libx264)
("mpg123" ,mpg123)
;; TODO:
;; * opencore-amr (for the AMR-NB decoder and encoder and the
;; AMR-WB decoder) <http://sourceforge.net/projects/opencore-amr/>

View File

@ -149,6 +149,19 @@ affine transformation (scale, rotation, shear, etc.).")
(license license:lgpl2.1) ; or Mozilla Public License 1.1
(home-page "http://cairographics.org/")))
(define-public cairo-xcb
(package
(inherit cairo)
(name "cairo-xcb")
(inputs
`(("mesa" ,mesa)
,@(package-inputs cairo)))
(arguments
`(#:tests? #f
#:configure-flags
'("--enable-xlib-xcb" "--enable-gl" "--enable-egl")))
(synopsis "2D graphics library (with X11 support)")))
(define-public harfbuzz
(package
(name "harfbuzz")
@ -563,6 +576,7 @@ is part of the GNOME accessibility project.")
(base32
"0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d"))
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
"gtk2-theme-paths.patch"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
@ -623,8 +637,9 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
"05xcwvy68p7f4hdhi4bgdm3aycvqqr4pr5kkkr8ba91l5yx0k9l3"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
"157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc"))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
@ -659,20 +674,18 @@ application suites.")
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
(alist-cons-before
'configure 'pre-configure
(lambda _
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
;; machine uuid: Failed to open "/etc/machine-id": No such file or
;; directory.
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests")
"SUBDIRS = gdk"))
#t)
%standard-phases)))
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
;; machine uuid: Failed to open "/etc/machine-id": No such file or
;; directory.
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests")
"SUBDIRS = gdk"))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_GTK3_PATH")
@ -1332,3 +1345,29 @@ glass artworks done by Venicians glass blowers.")
"GtkSpell provides word-processor-style highlighting and replacement of
misspelled words in a GtkTextView widget.")
(license license:gpl2+)))
(define-public clipit
(package
(name "clipit")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/downloads/ClipIt/clipit-"
version ".tar.gz"))
(sha256
(base32
"0jrwn8qfgb15rwspdp1p8hb1nc0ngmpvgr87d4k3lhlvqg2cfqva"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+-2)))
(home-page "https://github.com/CristianHenzel/ClipIt")
(synopsis "Lightweight GTK+ clipboard manager")
(description
"ClipIt is a clipboard manager with features such as a history, search
thereof, global hotkeys and clipboard item actions. It was forked from
Parcellite and adds bugfixes and features.")
(license license:gpl2+)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex ter Weele <alex.ter.weele@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,6 +65,7 @@ dependencies.")
(package
(name "guile-wm")
(version "1.0")
(synopsis "X11 window manager toolkit in Scheme")
(source (origin
(method url-fetch)
(uri (string-append "http://www.markwitmer.com/dist/guile-wm-"
@ -72,43 +74,60 @@ dependencies.")
(base32
"1l9qcz236jxvryndimjy62cf8zxf8i3f8vg3zpqqjhw15j9mdk3r"))))
(build-system gnu-build-system)
(arguments '(;; The '.scm' files go to $(datadir), so set that to the
;; standard value.
#:configure-flags (list (string-append "--datadir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
#:phases (alist-cons-before
'configure 'set-go-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install .go files to $out/share/guile/site/2.0.
(let ((out (assoc-ref outputs "out")))
(substitute* "module/Makefile.in"
(("^wmdir = .*$")
(string-append "wmdir = " out
"/share/guile/site/2.0\n")))))
(alist-cons-after
'install 'set-load-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Put Guile-XCB's and Guile-WM's modules in the
;; search path of PROG.
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/guile-wm"))
(mods (string-append
out "/share/guile/site/2.0"))
(xcb (string-append
(assoc-ref inputs "guile-xcb")
"/share/guile/site/2.0")))
(wrap-program
prog
`("GUILE_LOAD_PATH" ":" prefix (,mods ,xcb))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,mods ,xcb)))))
%standard-phases))))
(arguments
`( ;; The '.scm' files go to $(datadir), so set that to the
;; standard value.
#:configure-flags (list (string-append "--datadir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
#:phases (alist-cons-before
'configure 'set-go-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install .go files to $out/share/guile/site/2.0.
(let ((out (assoc-ref outputs "out")))
(substitute* "module/Makefile.in"
(("^wmdir = .*$")
(string-append "wmdir = " out
"/share/guile/site/2.0\n")))))
(alist-cons-after
'install 'set-load-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Put Guile-XCB's and Guile-WM's modules in the
;; search path of PROG.
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/guile-wm"))
(mods (string-append
out "/share/guile/site/2.0"))
(xcb (string-append
(assoc-ref inputs "guile-xcb")
"/share/guile/site/2.0")))
(wrap-program
prog
`("GUILE_LOAD_PATH" ":" prefix (,mods ,xcb))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,mods ,xcb)))))
(alist-cons-after
'install 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
;; add a .desktop file to xsessions
(let ((xsessions (string-append
%output "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file (string-append
xsessions "/guile-wm.desktop")
(lambda (port)
(format port
"[Desktop Entry]~@
Name=~a~@
Comment=~a~@
Exec=~a/bin/guile-wm~@
Type=Application~%"
,name ,synopsis %output)))))
%standard-phases)))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0)
("guile-xcb" ,guile-xcb)))
(home-page "http://www.markwitmer.com/guile-xcb/guile-wm.html")
(synopsis "X11 window manager toolkit in Scheme")
(description
"Guile-WM is a simple window manager that's completely customizableyou
have total control of what it does by choosing which modules to include.

View File

@ -203,14 +203,14 @@ without requiring the source code to be rewritten.")
(define-public guile-next
(package (inherit guile-2.0)
(name "guile-next")
(version "2.1.3")
(version "2.1.4")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
"1k48wqca2hrsbfq4ssiv4pg9jwlqncs5iwwxklk2bnczi7lavv78"))
"1w8kyy8nz6489d092fix6lvgjrk0bww7i0c2k67ym4hq0kjl0r1j"))
(modules '((guix build utils)))
;; Remove the pre-built object files. Instead, build everything
@ -228,6 +228,21 @@ without requiring the source code to be rewritten.")
(files '("lib/guile/2.2/site-ccache"
"share/guile/site/2.2")))))))
(define (guile-2.2-package-name name)
"Return NAME with a \"guile2.2-\" prefix instead of \"guile-\", when
applicable."
(if (string-prefix? "guile-" name)
(string-append "guile2.2-"
(string-drop name
(string-length "guile-")))
name))
(define package-for-guile-2.2
;; A procedure that rewrites the dependency tree of the given package to use
;; GUILE-NEXT instead of GUILE-2.0.
(package-input-rewriting `((,guile-2.0 . ,guile-next))
guile-2.2-package-name))
(define-public guile-for-guile-emacs
(package (inherit guile-next)
(name "guile-for-guile-emacs")
@ -270,7 +285,7 @@ without requiring the source code to be rewritten.")
(files '("share/guile/site/2.0")))
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/2.0/ccache"
(files '("lib/guile/2.0/site-ccache"
"share/guile/site/2.0")))))))
@ -513,19 +528,23 @@ for Guile\".")
(name "guile-json")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-json/guile-json-"
version ".tar.gz"))
(sha256
(base32
"0l8a34l92nrdszy7ykycfvr8y0n0yi5qb3ccliycvpvf9mzk5n8d"))
(modules '((guix build utils)))
(snippet
;; Make sure everything goes under .../site/2.0, like Guile's
;; search paths expects.
'(substitute* '("Makefile.in" "json/Makefile.in")
(("moddir =.*/share/guile/site" all)
(string-append all "/2.0"))))))
(method url-fetch)
(uri (string-append "mirror://savannah/guile-json/guile-json-"
version ".tar.gz"))
(sha256
(base32
"0l8a34l92nrdszy7ykycfvr8y0n0yi5qb3ccliycvpvf9mzk5n8d"))
(modules '((guix build utils)))
(snippet
;; Make sure everything goes under .../site/X.Y, like Guile's
;; search paths expects.
'(begin
(substitute* "configure"
(("ac_subst_vars='")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* '("Makefile.in" "json/Makefile.in")
(("moddir =.*/share/guile/site" all)
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
(build-system gnu-build-system)
(native-inputs `(("guile" ,guile-2.0)))
(home-page "http://savannah.nongnu.org/projects/guile-json/")
@ -539,6 +558,9 @@ http:://json.org specification. These are the main features:
- Allows JSON pretty printing.")
(license lgpl3+)))
(define-public guile2.2-json
(package-for-guile-2.2 guile-json))
(define-public guile-minikanren
(package
(name "guile-minikanren")
@ -554,15 +576,22 @@ http:://json.org specification. These are the main features:
"0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
(build-system trivial-build-system)
(arguments
`(#:modules
((guix build utils)
(ice-9 match))
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(ice-9 match)
(ice-9 popen)
(ice-9 rdelim))
(let* ((out (assoc-ref %outputs "out"))
(module-dir (string-append out "/share/guile/site/2.0"))
(guile (assoc-ref %build-inputs "guile"))
(effective (read-line
(open-pipe* OPEN_READ
(string-append guile "/bin/guile")
"-c" "(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective))
(source (assoc-ref %build-inputs "source"))
(doc (string-append out "/share/doc/guile-minikanren"))
(scm-files '("minikanren.scm"
@ -615,6 +644,9 @@ slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")
(license expat)))
(define-public guile2.2-minikanren
(package-for-guile-2.2 guile-minikanren))
(define-public guile-irregex
(package
(name "guile-irregex")
@ -631,6 +663,8 @@ See http://minikanren.org/ for more on miniKanren generally.")
(arguments
`(#:modules ((guix build utils)
(ice-9 match)
(ice-9 rdelim)
(ice-9 popen)
(guix build gnu-build-system))
#:phases
(modify-phases %standard-phases
@ -639,50 +673,52 @@ See http://minikanren.org/ for more on miniKanren generally.")
(delete 'check)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(begin
(use-modules (guix build utils)
(ice-9 match))
(let* ((out (assoc-ref outputs "out"))
(module-dir (string-append out "/share/guile/site/2.0"))
(source (assoc-ref inputs "source"))
(doc (string-append out "/share/doc/guile-irregex/"))
(guild (string-append (assoc-ref %build-inputs "guile")
"/bin/guild")))
;; Make installation directories.
(mkdir-p (string-append module-dir "/rx/source"))
(mkdir-p doc)
(let* ((out (assoc-ref outputs "out"))
(effective (read-line
(open-pipe* OPEN_READ
"guile" "-c"
"(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective))
(source (assoc-ref inputs "source"))
(doc (string-append out "/share/doc/guile-irregex/"))
(guild (string-append (assoc-ref %build-inputs "guile")
"/bin/guild")))
;; Make installation directories.
(mkdir-p (string-append module-dir "/rx/source"))
(mkdir-p doc)
;; Compile .scm files and install.
(setenv "GUILE_AUTO_COMPILE" "0")
;; Compile .scm files and install.
(setenv "GUILE_AUTO_COMPILE" "0")
(for-each (lambda (copy-info)
(match copy-info
((src-file dest-file-basis)
(let* ((dest-file (string-append
module-dir dest-file-basis
".scm"))
(go-file (string-append
(for-each (lambda (copy-info)
(match copy-info
((src-file dest-file-basis)
(let* ((dest-file (string-append
module-dir dest-file-basis
".go")))
;; Install source module.
(copy-file src-file
dest-file)
;; Install compiled module.
(unless (zero? (system* guild "compile"
"-L" (getcwd)
"-o" go-file
src-file))
(error (format #f "Failed to compile ~s to ~s!"
src-file dest-file)))))))
'(("irregex-guile.scm" "/rx/irregex")
("irregex.scm" "/rx/source/irregex")
;; Not really reachable via guile's packaging system,
;; but nice to have around
("irregex-utils.scm" "/rx/source/irregex-utils")))
".scm"))
(go-file (string-append
module-dir dest-file-basis
".go")))
;; Install source module.
(copy-file src-file
dest-file)
;; Install compiled module.
(unless (zero? (system* guild "compile"
"-L" (getcwd)
"-o" go-file
src-file))
(error (format #f "Failed to compile ~s to ~s!"
src-file dest-file)))))))
'(("irregex-guile.scm" "/rx/irregex")
("irregex.scm" "/rx/source/irregex")
;; Not really reachable via guile's packaging system,
;; but nice to have around
("irregex-utils.scm" "/rx/source/irregex-utils")))
;; Also copy over the README.
(install-file "irregex.html" doc)
#t)))))))
;; Also copy over the README.
(install-file "irregex.html" doc)
#t))))))
(inputs
`(("guile" ,guile-2.0)))
(home-page "http://synthcode.com/scheme/irregex")
@ -693,6 +729,9 @@ string-based regular expressions. It implements SRFI 115 and is deeply
inspired by the SCSH regular expression system.")
(license bsd-3)))
(define-public guile2.2-irregex
(package-for-guile-2.2 guile-irregex))
;; There are two guile-gdbm packages, one using the FFI and one with
;; direct C bindings, hence the verbose name.
@ -895,13 +934,17 @@ above command-line parameters.")
"0vx6if6b4r3kwx64vzbs6vpc0cpcr85x11w9vkzq27gw8n7isv56"))
(modules '((guix build utils)))
(snippet
;; Make sure everything goes under .../site/2.0, like Guile's
;; Make sure everything goes under .../site/X.Y, like Guile's
;; search paths expects.
'(substitute* '("Makefile.in"
"redis/Makefile.in"
"redis/commands/Makefile.in")
(("moddir =.*/share/guile/site" all)
(string-append all "/2.0"))))))
'(begin
(substitute* "configure"
(("ac_subst_vars='")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* '("Makefile.in"
"redis/Makefile.in"
"redis/commands/Makefile.in")
(("moddir =.*/share/guile/site" all)
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.0)))
@ -911,6 +954,9 @@ above command-line parameters.")
key-value cache and store.")
(license lgpl3+)))
(define-public guile2.2-redis
(package-for-guile-2.2 guile-redis))
(define-public guile-wisp
(package
(name "guile-wisp")
@ -1190,7 +1236,18 @@ you send to a FIFO file.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
"12cb5fqvvgc87f5xp0ih5az305wnjia89l5jba83d0r2p8bfy0b0"))))
"12cb5fqvvgc87f5xp0ih5az305wnjia89l5jba83d0r2p8bfy0b0"))
(modules '((guix build utils)))
(snippet
;; Use the real effective version of Guile in directory names
;; instead of a hard-coded "/2.0".
'(begin
(substitute* "configure"
(("ac_subst_vars='")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* "Makefile.in"
(("/site/2.0")
"/site/@GUILE_EFFECTIVE_VERSION@"))))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.0)))
@ -1204,4 +1261,7 @@ is no support for parsing block and inline level HTML.")
(home-page "https://github.com/OrangeShark/guile-commonmark")
(license lgpl3+)))
(define-public guile2.2-commonmark
(package-for-guile-2.2 guile-commonmark))
;;; guile.scm ends here

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,8 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,10 +35,12 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages graphics)
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -46,6 +50,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (srfi srfi-1))
@ -127,13 +132,13 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(define-public jpegoptim
(package
(name "jpegoptim")
(version "1.4.3")
(version "1.4.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-"
version ".tar.gz"))
(sha256 (base32
"0k53q7dc8w5ashz8v261x2b5vvz7gdvg8w962rz9gjvkjbh4lg93"))))
"1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849"))))
(build-system gnu-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(arguments
@ -147,6 +152,37 @@ maximum quality factor.")
(license license:gpl2+)
(home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim")))
(define-public libicns
(package
(name "libicns")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/icns/"
"libicns-" version ".tar.gz"))
(sha256
(base32
"1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"))))
(build-system gnu-build-system)
(inputs
`(("libpng" ,libpng)
("jasper" ,jasper)))
(arguments
`(#:tests? #t)) ; No tests.
(home-page "http://icns.sourceforge.net/")
(synopsis "Library for handling Mac OS icns resource files")
(description
"Libicns is a library for the manipulation of Mac OS IconFamily resource
type files (ICNS). @command{icns2png} and @command{png2icns} are provided to
convert between PNG and ICNS. @command{icns2png} will extract image files from
ICNS files under names like \"Foo_48x48x32.png\" useful for installing for use
with .desktop files. Additionally, @command{icontainer2png} is provided for
extracting icontainer icon files.")
(license (list license:lgpl2.1+ ; libicns
license:lgpl2.0+ ; src/apidocs.*
license:gpl2+)))) ; icns2png, png2icns, icontainer2png
(define-public libtiff
(package
(name "libtiff")
@ -306,15 +342,14 @@ arithmetic ops.")
(define-public jbig2dec
(package
(name "jbig2dec")
(version "0.11")
(version "0.13")
(source
(origin
(method url-fetch)
(uri ;; The link on the homepage is dead.
(string-append "http://distfiles.gentoo.org/distfiles/" name "-"
version ".tar.gz"))
(uri (string-append "http://downloads.ghostscript.com/public/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32 "1ffhgmf2fqzk0h4k736pp06z7q5y4x41fg844bd6a9vgncq86bby"))
(base32 "04akiwab8iy5iy34razcvh9mcja9wy737civ3sbjxk4j143s1b2s"))
(patches (search-patches "jbig2dec-ignore-testtest.patch"))))
(build-system gnu-build-system)
@ -329,23 +364,25 @@ This is a decoder only implementation, and currently is in the alpha
stage, meaning it doesn't completely work yet. However, it is
maintaining parity with available encoders, so it is useful for real
work.")
(home-page "http://jbig2dec.sourceforge.net/")
(home-page "http://www.ghostscript.com/jbig2dec.html")
(license license:gpl2+)))
(define-public openjpeg
(package
(name "openjpeg")
(version "2.1.0")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/openjpeg.mirror/" version "/"
name "-" version ".tar.gz"))
(string-append "https://github.com/uclouvain/openjpeg/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj"))
(patches (search-patches "openjpeg-use-after-free-fix.patch"
"openjpeg-CVE-2015-6581.patch"))))
(base32
"1anv0rjkbxw9kx91wvlfpb3dhppibda6kb1papny46bjzi3pzhl2"))
(patches (search-patches "openjpeg-CVE-2016-5157.patch"
"openjpeg-CVE-2016-7163.patch"))))
(build-system cmake-build-system)
(arguments
;; Trying to run `$ make check' results in a no rule fault.
@ -369,21 +406,6 @@ error-resilience, a Java-viewer for j2k-images, ...")
(home-page "https://github.com/uclouvain/openjpeg")
(license license:bsd-2)))
(define-public openjpeg-2.0
(package (inherit openjpeg)
(name "openjpeg")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/openjpeg.mirror/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z"))
(patches (search-patches "openjpeg-use-after-free-fix.patch"
"openjpeg-CVE-2015-6581.patch"))))))
(define-public openjpeg-1
(package (inherit openjpeg)
(name "openjpeg")
@ -779,7 +801,7 @@ ISO/IEC 15444-1).")
(define-public zimg
(package
(name "zimg")
(version "2.1")
(version "2.2.1")
(source
(origin
(method url-fetch)
@ -788,7 +810,7 @@ ISO/IEC 15444-1).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1hqp1gcsa2zhypms5dnasb1srjgxdqm7cip3w5i571kk9nxkn289"))))
"0m2gjpkb0dlg4j77nr41z284zvyfq9qg3ahsv8p1xy8jfr7h1hqa"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -840,3 +862,95 @@ whether they look alike. It uses a computational model of the human visual
system to detect similarities. This allows it too see beyond irrelevant
differences in file encoding, image quality, and other small variations.")
(license license:gpl2+)))
(define-public steghide
(package
(name "steghide")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/steghide/steghide/"
version "/steghide-" version ".tar.bz2"))
(sha256
(base32
"18bxlhbdc3zsmxj84i417xjh0q28kv26q449k23n0a72ldwziix2"))
(patches (list (search-patch "steghide-fixes.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)
("libtool" ,libtool)
("perl" ,perl))) ;for tests
(inputs
`(("libmhash" ,libmhash)
("libmcrypt" ,libmcrypt)
("libjpeg" ,libjpeg)
("zlib" ,zlib)))
(arguments
`(#:make-flags '("CXXFLAGS=-fpermissive"))) ;required for MHashPP.cc
(home-page "http://steghide.sourceforge.net")
(synopsis "Image and audio steganography")
(description
"Steghide is a steganography program that is able to hide data in various
kinds of image- and audio-files. The color- respectivly sample-frequencies
are not changed thus making the embedding resistant against first-order
statistical tests.")
(license license:gpl2+)))
(define-public stb-image-for-extempore
(let ((revision "1")
(commit "152a250a702bf28951bb0220d63bc0c99830c498"))
(package
(name "stb-image-for-extempore")
(version (string-append "0-" revision "." (string-take commit 9)))
(source
(origin (method git-fetch)
(uri (git-reference
(url "https://github.com/extemporelang/stb.git")
(commit commit)))
(sha256
(base32
"0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv"))
(file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/extemporelang/stb")
(synopsis "Image library for Extempore")
(description
"This package is a collection of assorted single-file libraries. Of
all included libraries only the image loading and decoding library is
installed as @code{stb_image}.")
(license license:public-domain))))
(define-public optipng
(package
(name "optipng")
(version "0.7.6")
(source
(origin
(method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
version ".tar.gz"))
(sha256
(base32
"105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
;; configure script does not accept arguments CONFIG_SHELL and SHELL
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "sh" "configure"
(string-append "--prefix=" (assoc-ref outputs "out")))))))))
(synopsis "Optimizer that recompresses PNG image files to a
smaller size")
(description "OptiPNG is a PNG optimizer that recompresses image
files to a smaller size, without losing any information. This program
also converts external formats (BMP, GIF, PNM and TIFF) to optimized
PNG, and performs PNG integrity checks and corrections.")
(home-page "http://optipng.sourceforge.net/")
(license license:zlib)))

View File

@ -41,14 +41,14 @@
(define-public imagemagick
(package
(name "imagemagick")
(version "6.9.5-8")
(version "6.9.5-10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0ds21sk1pczf2cwi62rqp6b8x2m24sb6xn82ivzh13m42phzigav"))))
"0cxjzqzca80vf6sfx4z9zq4wq2w0vy9ajp9kf88jb4na8mwsn198"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
@ -124,7 +124,8 @@ text, lines, polygons, ellipses and Bézier curves.")
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("imagemagick" ,imagemagick)))
(arguments
`(#:phases
`(#:tests? #f ;;Failed 2/23 test programs. 2/353 subtests failed.
#:phases
(modify-phases %standard-phases
(add-before
'configure 'image-magick-flags
@ -155,7 +156,7 @@ script.")
(define-public graphicsmagick
(package
(name "graphicsmagick")
(version "1.3.24")
(version "1.3.25")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.graphicsmagick.org/pub/"
@ -163,7 +164,7 @@ script.")
"/GraphicsMagick-" version ".tar.xz"))
(sha256
(base32
"1q40w5hcl8rcpszm0r7rpr3a9lj390p39zfvavkvlgxyyk7bmgsj"))))
"17xcc7pfcmiwpfr1g8ys5a7bdnvqzka53vg3kkzhwwz0s99gljyn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -95,7 +95,7 @@ irssi, but graphical.")
(define-public irssi
(package
(name "irssi")
(version "0.8.19")
(version "0.8.20")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/"
@ -103,7 +103,7 @@ irssi, but graphical.")
version ".tar.xz"))
(sha256
(base32
"1lz57v3nkki30lb883pipp5syyfkssvjlq3xxf9yl578902h982c"))))
"0njh43xmpad9h5g6fp1805hrix1mwbbnk7p6qmlw9apm47lc90kq"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -262,9 +262,9 @@ and extensible with plugins and scripts.")
(modify-phases %standard-phases
(delete 'configure)))) ; no configure
(home-page "http://tools.suckless.org/ii/")
(synopsis "FIFO and filesystem-based IRC client")
(synopsis "FIFO and file system based IRC client")
(description
"ii (Irc it) is a minimalist FIFO and filesystem based IRC client.")
"ii (Irc it) is a minimalist FIFO and file system based IRC client.")
(license license:expat)))
(define-public sic

View File

@ -994,6 +994,33 @@ build process and its dependencies, whereas Make uses Makefile format.")
(delete 'patch-paths)
(delete 'set-additional-paths)
(delete 'patch-patches)
(add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries.
(lambda _
(let* ((library-path (search-path-as-string->list
(getenv "LIBRARY_PATH")))
(find-library (lambda (name)
(search-path
library-path
(string-append "lib" name ".so")))))
(for-each
(lambda (file)
(catch 'encoding-error
(lambda ()
(substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version)
(format #f "\"~a\"" (find-library name)))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
(format #f "\"~a\"" (find-library name)))))
(lambda _
;; Those are safe to skip.
(format (current-error-port)
"warning: failed to substitute: ~a~%"
file))))
(find-files "openjdk.src/jdk/src/solaris/native"
"\\.c|\\.h"))
#t)))
;; FIXME: This phase is needed but fails with this version of
;; IcedTea.
(delete 'install-keystore)

View File

@ -26,6 +26,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages textutils)
@ -101,6 +102,14 @@ and freshness without requiring additional information from the user.")
(and (unpack "phobos-src" "runtime/phobos")
(unpack "druntime-src" "runtime/druntime")
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
(add-after 'unpack-submodule-sources 'patch-dmd2
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd2/root/port.c"
((" ::isnan") " isnan")
((" ::isinf") " isinf")
(("#undef isnan") "")
(("#undef isinf") ""))
#t))
(add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "runtime/phobos/std/process.d"
@ -115,10 +124,11 @@ and freshness without requiring additional information from the user.")
(inputs
`(("libconfig" ,libconfig)
("libedit" ,libedit)
("tzdata" ,tzdata)))
("tzdata" ,tzdata)
("zlib" ,zlib)))
(native-inputs
`(("llvm" ,llvm)
("clang" ,clang)
`(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
("unzip" ,unzip)
("phobos-src"
,(origin

View File

@ -37,8 +37,8 @@
(base32
"088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0"))))
(build-system cmake-build-system)
(inputs
`(("libusb" ,libusb)))
(propagated-inputs
`(("libusb" ,libusb))) ; required by libftdi1.pc
(home-page "http://www.intra2net.com/en/developer/libftdi/")
(synopsis "FTDI USB driver with bitbang mode")
(description

View File

@ -25,7 +25,7 @@
(define-public libupnp
(package
(name "libupnp")
(version "1.6.19")
(version "1.6.20")
(source
(origin
(method url-fetch)
@ -33,7 +33,7 @@
version "/" name "-" version ".tar.bz2"))
(sha256
(base32
"0amjv4lypvclmi4vim2qdyw5xa6v4x50zjgf682vahqjc0wjn55k"))))
"0qrsdsb1qm85hc4jy04qph895613d148f0x1mmk6z99y3q43fdgf"))))
(build-system gnu-build-system)
(arguments
;; The tests require a network device capable of multicasting which is

75
gnu/packages/lighting.scm Normal file
View File

@ -0,0 +1,75 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages lighting)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnunet)
#:use-module (gnu packages flex)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf))
(define-public ola
(package
(name "ola")
(version "0.10.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/OpenLightingProject/ola/releases/download/"
version "/ola-" version ".tar.gz"))
(sha256
(base32
"09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("cppunit" ,cppunit)
("flex" ,flex)
("pkg-config" ,pkg-config)))
(inputs
`(("libftdi" ,libftdi)
("libmicrohttpd" ,libmicrohttpd)
("libusb" ,libusb)
("libuuid" ,util-linux)
("zlib" ,zlib)))
(propagated-inputs
`(("protobuf" ,protobuf))) ;; for pkg-config --libs libola
(arguments
`(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
;; build to fail on low memory systems. We disable that with the
;; following configure flags.
#:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")))
(synopsis "Framework for controlling entertainment lighting equipment")
(description "The Open Lighting Architecture is a framework for lighting
control information. It supports a range of protocols and over a dozen USB
devices. It can run as a standalone service, which is useful for converting
signals between protocols, or alternatively using the OLA API, it can be used
as the backend for lighting control software. OLA runs on many different
platforms including ARM, which makes it a perfect fit for low cost Ethernet to
DMX gateways.")
(home-page "https://www.openlighting.org/ola")
(license license:lgpl2.1+)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,32 +33,32 @@
(define-public links
(package
(name "links")
(version "2.12")
(version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "http://links.twibright.com/download/"
name "-" version ".tar.bz2"))
(sha256
(base32 "0knq15yrp60s4jh92aacw8yfc2pcv3bqsw7dba7h5s6ivq8ihhcq"))))
(base32 "01a4mbpvf7450ymqarjkpmzrm0z2zyd9lvqwg7x9kcd36i9hjln2"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; The tarball uses a very old version of autconf. It doesn't
;; understand extra flags like `--enable-fast-install', so
;; we need to invoke it with just what it understands.
(let ((out (assoc-ref outputs "out")))
;; 'configure' doesn't understand '--host'.
,@(if (%current-target-system)
`((setenv "CHOST" ,(%current-target-system)))
'())
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
"--enable-graphics"))))
%standard-phases)))
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; The tarball uses a very old version of autconf. It doesn't
;; understand extra flags like `--enable-fast-install', so
;; we need to invoke it with just what it understands.
(let ((out (assoc-ref outputs "out")))
;; 'configure' doesn't understand '--host'.
,@(if (%current-target-system)
`((setenv "CHOST" ,(%current-target-system)))
'())
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
"--enable-graphics"))))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("zlib" ,zlib)
("openssl" ,openssl)

View File

@ -85,7 +85,7 @@
(define-public (system->linux-architecture arch)
"Return the Linux architecture name for ARCH, a Guix system name such as
\"x86_64-linux\"."
\"x86_64-linux\" or a target triplet such as \"arm-linux-gnueabihf\"."
(let ((arch (car (string-split arch #\-))))
(cond ((string=? arch "i686") "i386")
((string-prefix? "mips" arch) "mips")
@ -166,62 +166,6 @@
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
(define-public module-init-tools
(package
(name "module-init-tools")
(version "3.16")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/utils/kernel/module-init-tools/module-init-tools-"
version ".tar.bz2"))
(sha256
(base32
"0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
(patches (search-patches "module-init-tools-moduledir.patch"))))
(build-system gnu-build-system)
(arguments
;; FIXME: The upstream tarball lacks man pages, and building them would
;; require DocBook & co. We used to use Gentoo's pre-built man pages,
;; but they vanished. In the meantime, fake it.
'(#:phases (alist-cons-before
'configure 'fake-docbook
(lambda _
(substitute* "Makefile.in"
(("^DOCBOOKTOMAN.*$")
"DOCBOOKTOMAN = true\n")))
%standard-phases)))
(home-page "http://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.")
(license license:gpl2+)))
(define-public libnfsidmap
(package
(name "libnfsidmap")
(version "0.25")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.citi.umich.edu/projects/nfsv4/linux/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"1kzgwxzh83qi97rblcm9qj80cdvnv8kml2plz0q103j0hifj8vb5"))))
(build-system gnu-build-system)
(home-page
"http://www.citi.umich.edu/projects/nfsv4/crossrealm/libnfsidmap_config.html")
(synopsis
"NFSv4 support library for name/ID mapping")
(description "Libnfsidmap is a library holding mulitiple methods of
mapping names to ids and visa versa, mainly for NFSv4. It provides an
extensible array of mapping functions, currently consisting of two choices:
the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define %boot-logo-patch
;; Linux-Libre boot logo featuring Freedo and a gnu.
(origin
@ -232,171 +176,178 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(base32
"1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
(define* (kernel-config system #:key variant)
(define* (kernel-config arch #:key variant)
"Return the absolute file name of the Linux-Libre build configuration file
for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(and-let* ((arch (match system
("i686-linux"
"i686")
("x86_64-linux"
"x86_64")
(_
#f)))
(name (string-append "linux-libre-"
(if variant
(string-append variant "-")
"")
arch
".conf"))
(file (string-append "gnu/packages/" name)))
for ARCH and optionally VARIANT, or #f if there is no such configuration."
(let* ((name (string-append "linux-libre-"
(if variant (string-append variant "-") "")
(if (string=? "i386" arch) "i686" arch) ".conf"))
(file (string-append "gnu/packages/" name)))
(search-path %load-path file)))
(define-public linux-libre
(let* ((version "4.7.2")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
(define %default-extra-linux-options
`(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
;; Modules required for initrd:
("CONFIG_NET_9P" . m)
("CONFIG_NET_9P_VIRTIO" . m)
("CONFIG_VIRTIO_BLK" . m)
("CONFIG_VIRTIO_NET" . m)
("CONFIG_VIRTIO_PCI" . m)
("CONFIG_VIRTIO_BALLOON" . m)
("CONFIG_VIRTIO_MMIO" . m)
("CONFIG_FUSE_FS" . m)
("CONFIG_CIFS" . m)
("CONFIG_9P_FS" . m)))
;; Apply the neat patch.
(system* "patch" "-p1" "--force"
"-i" (assoc-ref inputs "patch/freedo+gnu"))
(define (config->string options)
(string-join (map (match-lambda
((option . 'm)
(string-append option "=m"))
((option . #t)
(string-append option "=y"))
((option . #f)
(string-append option "=n")))
options)
"\n"))
(let ((arch (car (string-split system #\-))))
(setenv "ARCH"
(cond ((string=? arch "i686") "i386")
((string=? arch "mips64el") "mips")
(else arch)))
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
;; Use the architecture-specific config if available, and
;; 'defconfig' otherwise.
(if config
(begin
(copy-file config ".config")
(chmod ".config" #o666))
(system* "make" "defconfig"))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a")))
(display (string-append "CONFIG_NET_9P=m\n"
"CONFIG_NET_9P_VIRTIO=m\n"
"CONFIG_VIRTIO_BLK=m\n"
"CONFIG_VIRTIO_NET=m\n"
;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
"CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
"CONFIG_VIRTIO_PCI=m\n"
"CONFIG_VIRTIO_BALLOON=m\n"
"CONFIG_VIRTIO_MMIO=m\n"
"CONFIG_FUSE_FS=m\n"
"CONFIG_CIFS=m\n"
"CONFIG_9P_FS=m\n")
port)
(close-port port))
(zero? (system* "make" "oldconfig"))
;; Call the default `build' phase so `-j' is correctly
;; passed.
(apply build #:make-flags "all" args))))
(install-phase
`(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
(mit (assoc-ref inputs "module-init-tools")))
(mkdir-p moddir)
(for-each (lambda (file)
(copy-file file
(string-append out "/" (basename file))))
(find-files "." "^(bzImage|vmlinuz|System\\.map)$"))
(copy-file ".config" (string-append out "/config"))
(zero? (system* "make"
(string-append "DEPMOD=" mit "/sbin/depmod")
(string-append "MODULE_DIR=" moddir)
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" out)
"INSTALL_MOD_STRIP=1"
"modules_install"))))))
(package
(name "linux-libre")
(define* (make-linux-libre version hash supported-systems
#:key
;; A function that takes an arch and a variant.
;; See kernel-config for an example.
(extra-version #f)
(configuration-file #f)
(defconfig "defconfig")
(extra-options %default-extra-linux-options))
(package
(name (if extra-version
(string-append "linux-libre-" extra-version)
"linux-libre"))
(version version)
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
"1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))))
(method url-fetch)
(uri (linux-libre-urls version))
(sha256 (base32 hash))
(patches (list %boot-logo-patch))))
(supported-systems supported-systems)
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs `(("perl" ,perl)
("bc" ,bc)
("openssl" ,openssl)
("module-init-tools" ,module-init-tools)
("patch/freedo+gnu" ,%boot-logo-patch)
,@(let ((conf (kernel-config
(or (%current-target-system)
(%current-system))
#:variant (version-major+minor version))))
(if conf
`(("kconfig" ,conf))
'()))))
(native-inputs
`(("perl" ,perl)
("bc" ,bc)
("openssl" ,openssl)
("kmod" ,kmod)
,@(if configuration-file
`(("kconfig" ,(configuration-file
(system->linux-architecture
(or (%current-target-system)
(%current-system)))
#:variant (version-major+minor version))))
'())))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(ice-9 match))
#:phases (alist-replace
'build ,build-phase
(alist-replace
'install ,install-phase
(alist-delete 'configure %standard-phases)))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
;; Set ARCH and CROSS_COMPILE
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system)))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
(when target
(setenv "CROSS_COMPILE" (string-append target "-"))
(format #t "`CROSS_COMPILE' set to `~a'~%"
(getenv "CROSS_COMPILE"))))
(setenv "EXTRA_VERSION" ,extra-version)
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
;; Use a custom kernel configuration file or a default
;; configuration file.
(if config
(begin
(copy-file config ".config")
(chmod ".config" #o666))
(system* "make" ,defconfig))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a"))
(extra-configuration ,(config->string extra-options)))
(display extra-configuration port)
(close-port port))
(zero? (system* "make" "oldconfig")))))
(replace 'install
(lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
(dtbdir (string-append out "/lib/dtbs"))
(kmod (assoc-ref (or native-inputs inputs) "kmod")))
;; Install kernel image, kernel configuration and link map.
(for-each (lambda (file) (install-file file out))
(find-files "." "^(\\.config|bzImage|zImage|vmlinuz|System\\.map)$"))
;; Install device tree files
(for-each (lambda (file) (install-file file dtbdir))
(find-files "." "\\.dtb$"))
;; Install kernel modules
(mkdir-p moddir)
(zero? (system* "make"
(string-append "DEPMOD=" kmod "/bin/depmod")
(string-append "MODULE_DIR=" moddir)
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" out)
"INSTALL_MOD_STRIP=1"
"modules_install"))))))
#:tests? #f))
(home-page "http://www.gnu.org/software/linux-libre/")
(synopsis "100% free redistribution of a cleaned Linux kernel")
(description
"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)
(home-page "http://www.gnu.org/software/linux-libre/"))))
(license license:gpl2)))
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define-public linux-libre
(make-linux-libre "4.7.5"
"1v5xzagc7zmf0dszq623h83rzhn2qwcapg2fwlihrrb6h9317xqx"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(package
(inherit linux-libre)
(version "4.4.19")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
"0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5"))))
(native-inputs
(let ((conf (kernel-config (or (%current-target-system)
(%current-system))
#:variant "4.4")))
`(,@(alist-delete "kconfig" (package-native-inputs linux-libre))
("kconfig" ,conf))))))
(make-linux-libre "4.4.22"
"0pwqp5hain26p3wmiqgq3qasyp4j7nl2ai49sq2n8xdi3g2vnmii"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
(package
(inherit linux-libre)
(version "4.1.31")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
"0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw"))))
(native-inputs
(let ((conf (kernel-config (or (%current-target-system)
(%current-system))
#:variant "4.1")))
`(,@(alist-delete "kconfig" (package-native-inputs linux-libre))
("kconfig" ,conf))))))
(make-linux-libre "4.1.33"
"1s45vymx7zp7qwj4rx63dpj9xwm8hv5fd9nm27wqvmgnmd3q548h"
%intel-compatible-systems
#:configuration-file kernel-config))
;; Avoid rebuilding kernel variants when there is a minor version bump.
(define %linux-libre-version "4.7.5")
(define %linux-libre-hash "1v5xzagc7zmf0dszq623h83rzhn2qwcapg2fwlihrrb6h9317xqx")
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
;;;
@ -481,10 +432,10 @@ at login. Local and dynamic reconfiguration are its key features.")
(inputs `(("ncurses" ,ncurses)))
(home-page "http://psmisc.sourceforge.net/")
(synopsis
"Small utilities that use the proc filesystem")
"Small utilities that use the proc file system")
(description
"This PSmisc package is a set of some small useful utilities that
use the proc filesystem. We're not about changing the world, but
use the proc file system. We're not about changing the world, but
providing the system administrator with some help in common tasks.")
(license license:gpl2+)))
@ -562,7 +513,7 @@ providing the system administrator with some help in common tasks.")
(home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
(synopsis "Collection of utilities for the Linux kernel")
(description "Util-linux is a diverse collection of Linux kernel
utilities. It provides dmesg and includes tools for working with filesystems,
utilities. It provides dmesg and includes tools for working with file systems,
block devices, UUIDs, TTYs, and many other tools.")
;; Note that util-linux doesn't use the same license for all the
@ -711,7 +662,7 @@ slabtop, and skill.")
;; FIXME: Tests work by comparing the stdout/stderr of programs, that
;; they fail because we get an extra line that says "Can't check if
;; filesystem is mounted due to missing mtab file".
;; file system is mounted due to missing mtab file".
#:tests? #f))
(home-page "http://e2fsprogs.sourceforge.net/")
(synopsis "Creating and checking ext2/ext3/ext4 file systems")
@ -1923,20 +1874,16 @@ country-specific regulations for the wireless spectrum.")
(define-public lm-sensors
(package
(name "lm-sensors")
(version "3.3.5")
(version "3.4.0")
(source (origin
(method url-fetch)
(uri (list (string-append
"ftp://ftp.netroedge.com/pub/lm-sensors/"
"lm_sensors-" version ".tar.bz2")
(string-append
"http://pkgs.fedoraproject.org/repo/pkgs/"
"lm_sensors/lm_sensors-3.3.5.tar.bz2/"
"da506dedceb41822e64865f6ba34828a/"
"lm_sensors-3.3.5.tar.bz2")))
"https://github.com/groeck/lm-sensors/archive/V"
(string-join (string-split version #\.) "-")
".tar.gz")))
(sha256
(base32
"1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx"))
"0knb09s9lvx0wzfsaizx3xq58q6kllqf7nkbwvir0wkgn31c2d73"))
(patches (search-patches "lm-sensors-hwmon-attrs.patch"))))
(build-system gnu-build-system)
(inputs `(("rrdtool" ,rrdtool)
@ -2253,7 +2200,7 @@ specified in /etc/acpi/events and execute the rules that match the event.")
(home-page "http://linux-diag.sourceforge.net/Sysfsutils.html")
(synopsis "System utilities based on Linux sysfs")
(description
"These are a set of utilities built upon sysfs, a virtual filesystem in
"These are a set of utilities built upon sysfs, a virtual file system in
Linux kernel versions 2.5+ that exposes a system's device tree. The package
also contains the libsysfs library.")
;; The library is under lgpl2.1+ (all files say "or any later version").
@ -2648,7 +2595,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "4.7.1")
(version "4.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -2656,7 +2603,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"15jsa12ijc6z49v1csc62x9zidrgcf307lwy1rbffdwk3gsrczww"))))
"073pvx8vz6rkw2d8mm1m60b3i8743pc712pasvydbgm8wl66zkch"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
@ -2691,7 +2638,7 @@ and copy/paste text in the console and in xterm.")
("which" ,which)))
(home-page "https://btrfs.wiki.kernel.org/")
(synopsis "Create and manage btrfs copy-on-write file systems")
(description "Btrfs is a copy-on-write (CoW) filesystem for Linux aimed at
(description "Btrfs is a copy-on-write (CoW) file system for Linux aimed at
implementing advanced features while focusing on fault tolerance, repair and
easy administration.")
;; GPL2+: crc32.c, radix-tree.c, raid6.c, rbtree.c.
@ -2946,3 +2893,102 @@ native Linux file system, and has been part of the Linux kernel since version
;; The files src/key_mod/ecryptfs_key_mod_{openssl,pkcs11_helper,tspi}.c
;; grant additional permission to link with OpenSSL.
(license license:gpl2+)))
(define-public libnfsidmap
(package
(name "libnfsidmap")
(version "0.25")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.citi.umich.edu/projects/nfsv4/linux/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"1kzgwxzh83qi97rblcm9qj80cdvnv8kml2plz0q103j0hifj8vb5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
(string-append "--with-pluginpath="
(assoc-ref %outputs "out")
"/lib/libnfsidmap"))))
(home-page
"http://www.citi.umich.edu/projects/nfsv4/crossrealm/libnfsidmap_config.html")
(synopsis
"NFSv4 support library for name/ID mapping")
(description "Libnfsidmap is a library holding mulitiple methods of
mapping names to ids and visa versa, mainly for NFSv4. It provides an
extensible array of mapping functions, currently consisting of two choices:
the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public module-init-tools
(package
(name "module-init-tools")
(version "3.16")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/utils/kernel/module-init-tools/"
"module-init-tools-" version ".tar.bz2"))
(sha256
(base32
"0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
(patches (search-patches "module-init-tools-moduledir.patch"))))
(build-system gnu-build-system)
(arguments
;; FIXME: The upstream tarball lacks man pages, and building them would
;; require DocBook & co. We used to use Gentoo's pre-built man pages,
;; but they vanished. In the meantime, fake it.
'(#:phases (alist-cons-before
'configure 'fake-docbook
(lambda _
(substitute* "Makefile.in"
(("^DOCBOOKTOMAN.*$")
"DOCBOOKTOMAN = true\n")))
%standard-phases)))
(home-page "http://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.")
(license license:gpl2+)))
(define-public mcelog
(package
(name "mcelog")
(version "141")
(source (origin
(method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz"))
(sha256
(base32
"0ws8blq0prj7slcaljyaxxq20kgmlakzac0ri1pvh24xs1jn2xxg"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
;; The snapshots lack a .git directory, breaking git describe.
`(substitute* "Makefile"
(("\"unknown\"") (string-append "\"v" ,version "\""))))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "CC=gcc"
(string-append "prefix=" out)
(string-append "DOCDIR=" out "/share/doc/mcelog")
"etcprefix=$(DOCDIR)/examples"))
;; The tests will only run as root on certain supported CPU models.
#:tests? #f))
(supported-systems (list "i686-linux" "x86_64-linux"))
(home-page "http://mcelog.org/")
(synopsis "Machine check monitor for x86 Linux systems")
(description
"The mcelog daemon is required by the Linux kernel to log memory, I/O, CPU,
and other hardware errors on x86 systems. It can also perform user-defined
tasks, such as bringing bad pages off-line, when configurable error thresholds
are exceeded.")
(license license:gpl2)))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;;
;;; This file is part of GNU Guix.
@ -44,7 +44,8 @@
#:use-module (gnu packages ed)
#:use-module (gnu packages m4)
#:use-module (gnu packages version-control)
#:use-module (ice-9 match))
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public gcl
(package
@ -453,7 +454,7 @@ interface.")
(uri (git-reference
(url "https://github.com/blakemcbride/LISPF4.git")
(commit commit)))
(file-name (string-append name "-" version))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"))))
@ -463,14 +464,12 @@ interface.")
(arguments
`(#:make-flags
'("-f" "Makefile.unx" "CC=gcc")
;; no check phase
#:tests? #f
#:tests? #f ; No 'check phase
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace
'install
(lambda* (#:key outputs inputs #:allow-other-keys)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append (assoc-ref outputs "doc")
@ -487,3 +486,53 @@ in the early 80's. It was converted to C by Blake McBride and supports much of
the InterLisp Standard.")
(home-page "https://github.com/blakemcbride/LISPF4.git")
(license license:expat))))
(define-public femtolisp
(let ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
(revision "1"))
(package
(name "femtolisp")
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JeffBezanson/femtolisp.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"))))
;; See "utils.h" for supported systems. Upstream bug:
;; https://github.com/JeffBezanson/femtolisp/issues/25
(supported-systems
(fold delete %supported-systems
'("armhf-linux" "mips64el-linux")))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc" "release")
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No configure script
(replace 'install ; Makefile has no 'install phase
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "flisp" bin)
#t)))
;; The flisp binary is now available, run bootstrap to
;; generate flisp.boot and afterwards runs make test.
(add-after 'install 'bootstrap-gen-and-test
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(and
(zero? (system* "./bootstrap.sh"))
(install-file "flisp.boot" bin))))))))
(synopsis "Scheme-like lisp implementation")
(description
"@code{femtolisp} is a scheme-like lisp implementation with a
simple, elegant Scheme dialect. It is a lisp-1 with lexical scope.
The core is 12 builtin special forms and 33 builtin functions.")
(home-page "https://github.com/JeffBezanson/femtolisp")
(license license:bsd-3))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,15 +53,27 @@
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
("perl" ,perl)))
(inputs
`(("libffi" ,libffi)
("zlib" ,zlib)))
`(("libffi" ,libffi)))
(propagated-inputs
`(("zlib" ,zlib))) ;to use output from llvm-config
(arguments
`(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_ENABLE_FFI:BOOL=TRUE")
;; Don't use '-g' during the build, to save space.
#:build-type "Release"))
#:build-type "Release"
#:phases (modify-phases %standard-phases
(add-before 'build 'shared-lib-workaround
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
;; doesn't seem to get the correct rpath to be able to run
;; from the build directory. Set LD_LIBRARY_PATH as a
;; workaround.
(lambda _
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd) "/lib"))
#t)))))
(home-page "http://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description
@ -255,3 +268,12 @@ code analysis tools.")
(define-public clang-3.5
(clang-from-llvm llvm-3.5 clang-runtime-3.5
"0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"))
(define-public llvm-for-extempore
(package (inherit llvm-3.7)
(source
(origin
(inherit (package-source llvm-3.7))
(patches (list (search-patch "llvm-for-extempore.patch")))))
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +30,12 @@
#:use-module (gnu packages)
#:use-module (gnu packages readline)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages libffi)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk))
(define-public lua
(package
@ -51,7 +57,7 @@
(srfi srfi-1))
#:test-target "test"
#:make-flags
'("CFLAGS=-fPIC -DLUA_DL_DLOPEN -DLUA_USE_POSIX"
'("MYCFLAGS=-fPIC -DLUA_DL_DLOPEN"
"linux")
#:phases
(modify-phases %standard-phases
@ -84,7 +90,8 @@ for configuration, scripting, and rapid prototyping.")
(sha256
(base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
(patches (search-patches "lua51-liblua-so.patch"
"lua-CVE-2014-5461.patch"))))))
"lua-CVE-2014-5461.patch"
"lua51-pkgconfig.patch"))))))
(define-public luajit
(package
@ -259,3 +266,76 @@ directory structure and file attributes.")
communication. It takes an already established TCP connection and creates a
secure session between the peers.")
(license (package-license lua-5.1))))
(define-public lua-lgi
(package
(name "lua-lgi")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/pavouk/lgi/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1fmgdl5y4ph3yc6ycg865s3vai1rjkyda61cgqxk6zd13hmznw0c"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'build 'set-env
(lambda* (#:key inputs #:allow-other-keys)
;; we need to load cairo dynamically
(let* ((cairo (string-append
(assoc-ref inputs "cairo") "/lib" )))
(setenv "LD_LIBRARY_PATH" cairo)
#t)))
(add-before 'build 'set-lua-version
(lambda _
;; lua version and therefore install directories are hardcoded
;; FIXME: This breaks when we update lua to >=5.3
(substitute* "./lgi/Makefile"
(("LUA_VERSION=5.1") "LUA_VERSION=5.2"))
#t))
(add-before 'check 'skip-test-gtk
(lambda _
;; FIXME: Skip GTK tests:
;; gtk3 - can't get it to run with the xorg-server config below
;; and some non-gtk tests will also fail
;; gtk2 - lots of functions aren't implemented
;; We choose gtk2 as the lesser evil and simply skip the test.
;; Currently, awesome is the only package that uses lua-lgi but
;; it doesn't need or interact with GTK using lua-lgi.
(substitute* "./tests/test.lua"
(("'gtk.lua',") "-- 'gtk.lua',"))
#t))
(add-before 'check 'start-xserver-instance
(lambda* (#:key inputs #:allow-other-keys)
;; There must be a running X server during tests.
(system (format #f "~a/bin/Xvfb :1 &"
(assoc-ref inputs "xorg-server")))
(setenv "DISPLAY" ":1")
#t)))))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("glib" ,glib)
("pango", pango)
("gtk", gtk+-2)
("lua" ,lua)
("cairo" ,cairo)
("libffi" ,libffi)
("xorg-server", xorg-server)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/pavouk/lgi/")
(synopsis "Lua bridge to GObject based libraries")
(description
"LGI is gobject-introspection based dynamic Lua binding to GObject
based libraries. It allows using GObject-based libraries directly from Lua.
Notable examples are GTK+, GStreamer and Webkit.")
(license license:expat)))

View File

@ -28,7 +28,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@ -268,6 +267,9 @@ networks) based on simulation of (stochastic) flow in graphs.")
(native-inputs
`(("gfortran" ,gfortran)
("gfortran:lib" ,gfortran "lib")))
;; Non-portable assembly instructions are used so building fails on
;; platforms other than x86_64 or i686.
(supported-systems '("x86_64-linux" "i686-linux"))
(home-page "http://www.imbs-luebeck.de/imbs/de/node/227/")
(synopsis "Implementation of the Random Forests machine learning method")
(description
@ -500,14 +502,36 @@ single hidden layer, and for multinomial log-linear models.")
(substitute* "dlib/config.h"
(("^//#define DLIB_DISABLE_ASSERTS") "#define DLIB_DISABLE_ASSERTS"))
#t))
(add-after 'disable-asserts 'disable-failing-tests
(lambda _
;; One test times out on MIPS, so we need to disable it.
;; The rest is known to fail on non-x86_64 platforms in the current release.
;; Some have been fixed in git; this list should be readjusted next update.
(let* ((system ,(or (%current-target-system)
(%current-system)))
(disabled-tests (cond
((string-prefix? "mips64" system)
'("object_detector" ; timeout
"data_io"))
((string-prefix? "armhf" system)
'("learning_to_track" "max_cost_assignment"))
((string-prefix? "i686" system)
'("optimization" "matrix2" "mpc"))
(else '()))))
;; The following test fails due a bug in openblas < 0.2.18.
(append! disabled-tests '("empirical_map"))
(for-each
(lambda (test)
(substitute* "dlib/test/makefile"
(((string-append "SRC \\+= " test "\\.cpp")) "")) #t)
disabled-tests))))
(replace 'check
(lambda _
;; No test target, so we build and run the unit tests here.
(let ((test-dir (string-append "../dlib-" ,version "/dlib/test/build")))
(mkdir-p test-dir)
(let ((test-dir (string-append "../dlib-" ,version "/dlib/test")))
(with-directory-excursion test-dir
(and (zero? (system* "cmake" ".."))
(zero? (system* "cmake" "--build" "." "--config" "Release"))
(setenv "CXXFLAGS" "-std=gnu++11")
(and (zero? (system* "make" "-j" (number->string (parallel-job-count))))
(zero? (system* "./dtest" "--runall")))))))
(add-after 'install 'delete-static-library
(lambda* (#:key outputs #:allow-other-keys)
@ -515,9 +539,8 @@ single hidden layer, and for multinomial log-linear models.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("fftw" ,fftw)
("giflib" ,giflib)
;("lapack" ,lapack) XXX lapack here causes test failures in some setups.
`(("giflib" ,giflib)
("lapack" ,lapack)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libx11" ,libx11)

View File

@ -16,6 +16,9 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -77,14 +80,16 @@
#:use-module (gnu packages xorg)
#:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
non-copyleft (expat . license:expat) bsd-3))
non-copyleft (expat . license:expat) bsd-3
public-domain))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python))
#:use-module (guix build-system python)
#:use-module (guix build-system trivial))
(define-public mailutils
(package
@ -297,7 +302,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
(version "7.0.6")
(version "7.0.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@ -305,7 +310,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1msg0v5i3v4mvjm2c5alzz91dk5y20h4xdr60lcz3507fv80407m"))))
"1719xnw0xah5knypd5vrpsxi337576q1r8axpziw8wa7zms7abl0"))))
(build-system python-build-system)
(inputs `(("python2-pysqlite" ,python2-pysqlite)
("python2-six" ,python2-six)))
@ -1209,7 +1214,7 @@ deliver it in various ways.")
#t)))
#:tests? #f)) ;; There are no tests indicating a successful
;; build. Some tests of basic locking mechanisms provided by the
;; filesystem are performed during 'make install'. However, these
;; file system are performed during 'make install'. However, these
;; are performed before the actual build process.
(build-system gnu-build-system)
(inputs `(("exim" ,exim)))
@ -1308,3 +1313,183 @@ Khard can also be used from within the email client @command{mutt}.")
(description "Mail::SPF is the Sender Policy Framework implemented
in Perl.")
(license bsd-3)))
(define-public mb2md
(package
(name "mb2md")
(version "3.20")
(source (origin
(method url-fetch)
(uri (string-append
"http://batleth.sapienti-sat.org/projects/mb2md/mb2md-"
version ".pl.gz"))
(sha256
(base32
"0bvkky3c90738h3skd2f1b2yy5xzhl25cbh9w2dy97rs86ssjidg"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(perl (assoc-ref %build-inputs "perl"))
(gzip (assoc-ref %build-inputs "gzip"))
(perl-timedate (assoc-ref %build-inputs "perl-timedate"))
(perl5lib (string-append perl-timedate "/lib/perl5/site_perl")))
(mkdir-p bin)
(with-directory-excursion bin
(copy-file source "mb2md.gz")
(system* (string-append gzip "/bin/gzip") "-d" "mb2md.gz")
(substitute* "mb2md"
(("#!/usr/bin/perl")
(string-append "#!/usr/bin/perl -I " perl5lib)))
(patch-shebang "mb2md" (list (string-append perl "/bin")))
(chmod "mb2md" #o555))
#t))))
(native-inputs `(("gzip", gzip)))
(inputs `(("perl" ,perl)
("perl-timedate" ,perl-timedate)))
(home-page "http://batleth.sapienti-sat.org/projects/mb2md/")
(synopsis "Mbox to maildir converter")
(description
"Mb2md is a Perl script that takes one or more mbox format files and
converts them to maildir format directories.")
(license public-domain)))
(define-public mpop
(package
(name "mpop")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/mpop/mpop-"
version ".tar.xz"))
(sha256
(base32
"0n0ij258kn8lfa6nyr6l6plc4hf1wvyf1hkwicvdbjqdqrgjnq81"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
("libidn" ,libidn)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags (list "--with-tls=gnutls")))
(home-page "http://mpop.sourceforge.net/")
(synopsis "POP3 mail client")
(description "mpop is a small and fast POP3 client suitable as a
fetchmail replacement.
mpop supports multiple accounts, header based mail filtering, delivery
to mbox files, maildir folders or a Mail Delivery Agent (MDA),
TLS/SSL, several authentication methods, Internationalized Domain
Names (IDN) and SOCKS proxies.")
(license gpl3+)))
(define-public mhonarc
(package
(name "mhonarc")
(version "2.6.19")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/EH/EHOOD/MHonArc-"
version ".tar.gz"))
(sha256
(base32
"0ll3v93yji334zqp6xfzfxc0127pmjcznmai1l5q6dzawrs2igzq"))))
(build-system perl-build-system)
(home-page "https://www.mhonarc.org/")
(synopsis "Create HTML archives of mail/news messages")
(description
"MHonArc is a Perl mail-to-HTML converter. MHonArc
provides HTML mail archiving with index, mail thread linking,
etc; plus other capabilities including support for MIME and
powerful user customization features.")
(license gpl2+)))
(define-public sendmail
(package
(name "sendmail")
(version "8.15.2")
(source
(origin
(method url-fetch)
(uri (string-append
"ftp://ftp.sendmail.org/pub/sendmail/sendmail."
version ".tar.gz"))
(sha256
(base32
"0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'replace-/bin/sh
(lambda _
(substitute*
(append
(list "smrsh/smrsh.c" "sendmail/conf.c" "contrib/mailprio"
"contrib/mmuegel" "devtools/bin/configure.sh")
(find-files "." ".*\\.m4")
(find-files "." ".*\\.cf"))
(("/bin/sh") (which "bash")))
(substitute* "devtools/bin/Build"
(("SHELL=/bin/sh") (string-append "SHELL=" (which "bash"))))
#t))
(replace 'configure
(lambda _
;; Render harmless any attempts to chown or chgrp
(substitute* "devtools/bin/install.sh"
(("owner=\\$2") "owner=''")
(("group=\\$2") "group=''"))
(with-output-to-file "devtools/Site/site.config.m4"
(lambda ()
(format #t "
define(`confCC', `gcc')
define(`confOPTIMIZE', `-g -O2')
define(`confLIBS', `-lresolv')
define(`confINSTALL', `~a/devtools/bin/install.sh')
define(`confDEPEND_TYPE', `CC-M')
define(`confINST_DEP', `')
" (getcwd))))))
(replace 'build
(lambda _
(and (zero? (system* "sh" "Build"))
(with-directory-excursion "cf/cf"
(begin
(copy-file "generic-linux.mc" "sendmail.mc")
(zero? (system* "sh" "Build" "sendmail.cf")))))))
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/usr/bin"))
(mkdir-p (string-append out "/usr/sbin"))
(mkdir-p (string-append out "/etc/mail"))
(setenv "DESTDIR" out)
(with-directory-excursion "cf/cf"
(zero? (system* "sh" "Build" "install-cf")))))))
;; There is no make check. There are some post installation tests, but those
;; require root privileges
#:tests? #f))
(inputs
`(("m4" ,m4)
("perl" ,perl)))
(home-page "http://sendmail.org")
(synopsis
"Highly configurable Mail Transfer Agent (MTA)")
(description
"Sendmail is a mail transfer agent (MTA) originally developed by Eric
Allman. It is highly configurable and supports many delivery methods and many
transfer protocols.")
(license (non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
@ -69,18 +69,23 @@ a flexible and convenient way.")
(build-system gnu-build-system)
(arguments
'(#:phases
(alist-cons-after
'patch-source-shebangs 'patch-test-shebangs
(lambda* (#:key outputs #:allow-other-keys)
;; Patch shebangs in test scripts.
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (file)
(substitute* file
(("#! /bin/sh")
(string-append "#!" (which "sh")))))
(remove file-is-directory?
(find-files "src/tests" ".*")))))
%standard-phases)
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-test-shebangs
(lambda* (#:key outputs #:allow-other-keys)
;; Patch shebangs in test scripts.
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (file)
(substitute* file
(("#! /bin/sh")
(string-append "#!" (which "sh")))))
(remove file-is-directory?
(find-files "src/tests" ".*"))))))
(add-after 'unpack 'patch-iconv-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/man.c"
(("\"iconv\"")
(string-append "\"" (which "iconv") "\"")))
#t)))
#:configure-flags
(let ((groff (assoc-ref %build-inputs "groff"))
(less (assoc-ref %build-inputs "less"))

View File

@ -24,6 +24,7 @@
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages web)
@ -99,3 +100,33 @@ you to write using an easy-to-read, easy-to-write plain text format, then
convert it to structurally valid XHTML (or HTML).")
(license (non-copyleft "file://License.text"
"See License.text in the distribution."))))
(define-public cmark
(package
(name "cmark")
(version "0.26.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jgm/cmark/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1mpmcy4bbmc8m058zqs9dwx49lcfi7bdnfszsr9y66cwgylia1mm"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))
(native-inputs `(("python" ,python)))
(synopsis "CommonMark Markdown reference implementation")
(description "CommonMark is a strongly defined, highly compatible
specification of Markdown. cmark is the C reference implementation of
CommonMark. It provides @code{libcmark} shared library for parsing
CommonMark to an abstract syntax tree (AST) and rendering the document
as HTML, groff man, LaTeX, CommonMark, or an XML representation of the
AST. The package also provides the command-line program @command{cmark}
for parsing and rendering CommonMark.")
(home-page "http://commonmark.org")
;; cmark is distributed with a BSD-2 license, but some components are Expat
;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0
;; licensed. See 'COPYING' in the source distribution for more information.
(license (list bsd-2 expat cc-by-sa4.0))))

View File

@ -418,6 +418,32 @@ plotting engine by third-party applications like Octave.")
(license (license:fsf-free
"http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright")))))
(define-public gctp
(package
(name "gctp")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OkoSanto/GCTP/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0l9aqnqynh9laicn5dxf3rsb1n14xiks79wbyqccirzmjqd1c1x4"))))
(native-inputs
`(("fortran" ,gfortran)))
(build-system gnu-build-system)
(synopsis "General Cartographic Transformation Package (GCTP)")
(description
"The General Cartographic Transformation Package (GCTP) is a system of
software routines designed to permit the transformation of coordinate pairs
from one map projection to another. The GCTP is the standard computer
software used by the National Mapping Division for map projection
computations.")
(home-page "https://github.com/OkoSanto/GCTP")
(license 'license:public-domain))) ; https://www2.usgs.gov/laws/info_policies.html
(define-public hdf5
(package
(name "hdf5")
@ -1191,16 +1217,39 @@ sparse system of linear equations A x = b using Guassian elimination.")
(inputs
(alist-delete "pt-scotch" (package-inputs mumps-openmpi)))))
(define-public r-quadprog
(package
(name "r-quadprog")
(version "1.5-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "quadprog" version))
(sha256
(base32
"0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "http://cran.r-project.org/web/packages/quadprog")
(synopsis "Functions to solve quadratic programming problems")
(description
"This package contains routines and documentation for solving quadratic
programming problems.")
(license license:gpl3+)))
(define-public r-pracma
(package
(name "r-pracma")
(version "1.8.8")
(version "1.9.5")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0ans9l5rrb7a38gyi4qx4258sd5r5668vyrk02yzjpg9k3h8l165"))))
(base32 "19nr2jlkbcdgvw3gx5hry12av565lmvqd5q4h7zlch3q13avwwl2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
(home-page "http://cran.r-project.org/web/packages/pracma")
(synopsis "Practical numerical math functions")
(description "This package provides functions for numerical analysis and
@ -1793,14 +1842,14 @@ associated functions (eg. contiguous and non-contiguous submatrix views).")
(define-public armadillo-for-rcpparmadillo
(package (inherit armadillo)
(version "6.700.6")
(version "7.400.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/arma/armadillo-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1cdpjxb0fz5f28y5qrqgpw53s7qi8s2v3al9lfdldqxngb21vpx8"))))))
"0xmpnqhm9mwr1lssjyarj0cl8b4svbqv6z1xa1dxlwd2ly1srkg4"))))))
(define-public muparser
;; When switching download sites, muparser re-issued a 2.2.5 release with a
@ -1921,6 +1970,8 @@ programming language implementations. The project was born out of a need to
have a good libm for the Julia programming language that worked consistently
across compilers and operating systems, and in 32-bit and 64-bit
environments.")
;; Each architecture has its own make target, and there is none for mips.
(supported-systems (delete "mips64el-linux" %supported-systems))
;; See LICENSE.md for details.
(license (list license:expat
license:isc

View File

@ -5,6 +5,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,12 +23,11 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages messaging)
#:use-module ((guix licenses)
#:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft
asl2.0 x11))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
@ -35,6 +35,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
@ -44,6 +45,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages networking)
#:use-module (gnu packages libidn)
#:use-module (gnu packages lua)
#:use-module (gnu packages xml)
@ -59,7 +61,12 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages linux)
#:use-module (gnu packages tls)
#:use-module (gnu packages icu4c))
#:use-module (gnu packages icu4c)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages audio)
#:use-module (gnu packages fontutils))
(define-public libotr
(package
@ -90,7 +97,7 @@ correspondent is assured the messages he sees are authentic and
unmodified. (4) Perfect forward secrecy: If you lose control of your private
keys, no previous conversation is compromised.")
(home-page "https://otr.cypherpunks.ca/")
(license (list lgpl2.1 gpl2))))
(license (list license:lgpl2.1 license:gpl2))))
;; These patches together fix https://github.com/bitlbee/bitlbee/pull/55, are
;; already upstream, and should be unnecessary when the next bitlbee comes
@ -154,19 +161,19 @@ Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter
microblogging network (plus all other Twitter API compatible services like
identi.ca and status.net).")
(home-page "http://www.bitlbee.org/")
(license (list gpl2+ bsd-2))))
(license (list license:gpl2+ license:bsd-2))))
(define-public hexchat
(package
(name "hexchat")
(version "2.12.0")
(version "2.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
version ".tar.xz"))
(sha256
(base32
"17fncwza5r80z9r6j1lrh7h375hp4w6pay08zgnfc3qca6bjy1y2"))))
"0svwz9ldrry1sn35jywgpacjj1cf3xl3k74ynwn8rjvxs73b00aj"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
@ -178,17 +185,20 @@ identi.ca and status.net).")
("libcanberra" ,libcanberra)
("libnotify" ,libnotify)
("openssl" ,openssl)
("perl-xml-parser" ,perl-xml-parser) ;for addons
("python-2" ,python-2))) ;for addons
;; Bindings for add-on scripts.
("luajit" ,luajit)
("perl-xml-parser" ,perl-xml-parser)
("python-2" ,python-2)))
(synopsis "Graphical IRC Client")
(description
"HexChat lets you connect to multiple IRC networks at once. The main window
shows the list of currently connected networks and their channels, the current
conversation and the list of users. It uses colors to differentiate between
users and to highlight messages. It checks spelling using available
"HexChat lets you connect to multiple IRC networks at once. The main
window shows the list of currently connected networks and their channels, the
current conversation and the list of users. It uses colors to differentiate
between users and to highlight messages. It checks spelling using available
dictionaries. HexChat can be extended with multiple addons.")
(home-page "http://hexchat.net/")
(license gpl2+)))
(license license:gpl2+)))
(define-public ngircd
(package
@ -208,8 +218,9 @@ dictionaries. HexChat can be extended with multiple addons.")
(native-inputs `(("procps" ,procps)
("expect" ,expect)
("inetutils" ,inetutils)))
;; XXX Add libident, libwrap.
;; XXX Add libident.
(inputs `(("zlib" ,zlib)
("libwrap" ,tcp-wrappers)
("gnutls" ,gnutls)
,@(if (string-suffix? "-linux"
(or (%current-target-system)
@ -218,7 +229,7 @@ dictionaries. HexChat can be extended with multiple addons.")
'())))
(arguments
`(#:configure-flags
'("--with-gnutls" "--with-iconv" "--enable-ipv6"
'("--with-gnutls" "--with-iconv" "--enable-ipv6" "--with-tcp-wrappers"
,@(if (string-suffix? "-linux"
(or (%current-target-system)
(%current-system)))
@ -253,7 +264,7 @@ dictionaries. HexChat can be extended with multiple addons.")
"ngIRCd is a lightweight Internet Relay Chat server for small or private
networks. It is easy to configure, can cope with dynamic IP addresses, and
supports IPv6, SSL-protected connections as well as PAM for authentication.")
(license gpl2+)))
(license license:gpl2+)))
(define-public pidgin
(package
@ -327,14 +338,14 @@ supports IPv6, SSL-protected connections as well as PAM for authentication.")
chat protocols.")
(license
(list
gpl2+ ; Most of the code
lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
license:gpl2+ ; Most of the code
license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
;; The following licenses cover the zephyr protocol plugin:
(non-copyleft
(license:non-copyleft
"file://libpurple/protocols/zephyr/mit-copyright.h"
"See libpurple/protocols/zephyr/mit-copyright.h in the distribution.")
(non-copyleft
(license:non-copyleft
"file://libpurple/protocols/zephyr/mit-sipb-copyright.h"
"See libpurple/protocols/zephyr/mit-sipb-copyright.h in the distribution.")))))
@ -374,7 +385,7 @@ you. However, during a conversation, your correspondent is assured the
messages he sees are authentic and unmodified. (4) Perfect forward secrecy:
If you lose control of your private keys, no previous conversation is
compromised.")
(license gpl2)))
(license license:gpl2)))
(define-public znc
(package
@ -408,7 +419,7 @@ compromised.")
client from the actual IRC server, and also from selected channels. Multiple
clients from different locations can connect to a single ZNC account
simultaneously and therefore appear under the same nickname on IRC.")
(license asl2.0)))
(license license:asl2.0)))
(define-public python-nbxmpp
(package
@ -431,7 +442,7 @@ simultaneously and therefore appear under the same nickname on IRC.")
"The goal of this python library is to provide a way for Python
applications to use Jabber/XMPP networks in a non-blocking way. This library
was initially a fork of xmpppy, but is using non-blocking sockets.")
(license gpl3+)))
(license license:gpl3+)))
(define-public python2-nbxmpp
(package-with-python2 python-nbxmpp))
@ -491,7 +502,7 @@ Among its features are: a tabbed chat window and single window modes; support
for group chat (with Multi-User Chat protocol), invitation, chat to group chat
transformation; audio and video conferences; file transfer; TLS, GPG and
end-to-end encryption support; XML console.")
(license gpl3+)))
(license license:gpl3+)))
(define-public prosody
(package
@ -507,6 +518,7 @@ end-to-end encryption support; XML console.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:configure-flags (list "--no-example-certs")
#:modules ((ice-9 match)
(srfi srfi-1)
(guix build gnu-build-system)
@ -564,6 +576,238 @@ be easy to set up and configure, and efficient with system resources.
Additionally, for developers it aims to be easy to extend and give a flexible
system on which to rapidly develop added functionality, or prototype new
protocols.")
(license x11)))
(license license:x11)))
(define-public libtoxcore
(let ((revision "1")
(commit "755f084e8720b349026c85afbad58954cb7ff1d4"))
(package
(name "libtoxcore")
(version (string-append "0.0.0" "-"
revision "."(string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/irungentoo/toxcore.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
;; TODO: Add when test suite is capable of passing.
;; ("check" ,check)
("pkg-config" ,pkg-config)))
(inputs
`(("libsodium" ,libsodium)
("opus" ,opus)
("libvpx" ,libvpx)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))
#:tests? #f)) ; FIXME: Testsuite fails, reasons unspecific.
(synopsis "Library for the Tox encrypted messenger protocol")
(description
"C library implementation of the Tox encrypted messenger protocol.")
(license license:gpl3+)
(home-page "https://tox.chat"))))
(define-public utox
(package
(name "utox")
(version "0.9.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/GrayHatter/uTox/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"13hfqbwzcgvfbvf9yjm62aqsvxnpqppb50c88sys43m7022yqcsy"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc")
#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
;; No configure script
(delete 'configure))))
(inputs
`(("dbus" ,dbus)
("filteraudio" ,filteraudio)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libsodium" ,libsodium)
("libtoxcore" ,libtoxcore)
("libvpx" ,libvpx)
("libx11" ,libx11)
("libxext" ,libxext)
("libxrender" ,libxrender)
("openal" ,openal)
("v4l-utils" ,v4l-utils)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Lightweight Tox client")
(description "A lightweight Tox client. Tox is a distributed and secure
instant messenger with audio and video chat capabilities.")
(home-page "http://utox.org/")
(license license:gpl3)))
(define-public pybitmessage
(package
(name "pybitmessage")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Bitmessage/"
"PyBitmessage/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ffj7raxpp277kphj98190fxrwfx16vmbspk7k3azg3bh5f5idnf"))))
(inputs
`(("python" ,python-2)
("python:tk" ,python-2 "tk")
("openssl" ,openssl)
("sqlite" ,sqlite)
("qt" ,qt-4)
("python2-pyqt-4" ,python2-pyqt-4)
("python2-sip" ,python2-sip)
("python2-pysqlite" ,python2-pysqlite)
("python2-pyopenssl" ,python2-pyopenssl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(build-system gnu-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
,@%gnu-build-system-modules)
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))
#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-makefile
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
(("mkdir -p \\$\\{DESTDIR\\}/usr") "")
(("/usr/local") "")
(("/usr") "")
(("#!/bin/sh") (string-append "#!" (which "bash")))
(("python2") (which "python"))
(("/opt/openssl-compat-bitcoin/lib/")
(string-append (assoc-ref inputs "openssl") "/lib/")))
#t))
(add-after 'unpack 'fix-unmatched-python-shebangs
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/bitmessagemain.py"
(("#!/usr/bin/env python2.7")
(string-append "#!" (which "python"))))
(substitute* "src/bitmessagecli.py"
(("#!/usr/bin/env python2.7.x")
(string-append "#!" (which "python"))))
#t))
(add-after 'unpack 'fix-depends
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/depends.py"
(("libcrypto.so")
(string-append (assoc-ref inputs "openssl")
"/lib/libcrypto.so")))
#t))
(add-after 'unpack 'fix-local-files-in-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "src/proofofwork.py"
(("bitmsghash.so")
(string-append (assoc-ref outputs "out")
"/lib/bitmsghash.so")))
#t))
(add-after 'unpack 'fix-pyelliptic
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/pyelliptic/openssl.py"
(("libcrypto.so")
(string-append (assoc-ref inputs "openssl")
"/lib/libcrypto.so"))
(("libssl.so")
(string-append (assoc-ref inputs "openssl")
"/lib/libssl.so")))
#t))
;; XXX: Make does not build and install bitmsghash, do it
;; and place it in /lib.
(add-before 'build 'build-and-install-bitmsghash
(lambda* (#:key outputs #:allow-other-keys)
(chdir "src/bitmsghash")
(system* "make")
(chdir "../..")
(install-file "src/bitmsghash/bitmsghash.so"
(string-append (assoc-ref outputs "out") "/lib"))
#t))
(add-after 'install 'wrap
(@@ (guix build python-build-system) wrap)))))
(license license:expat)
(description
"Distributed and trustless peer-to-peer communications protocol
for sending encrypted messages to one person or many subscribers.")
(synopsis "Distributed peer-to-peer communication")
(home-page "https://bitmessage.org/")))
(define-public ytalk
(package
(name "ytalk")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "ftp://ftp.ourproject.org/pub/ytalk/ytalk-"
version ".tar.gz"))
(sha256
(base32
"1d3jhnj8rgzxyxjwfa22vh45qwzjvxw1qh8fz6b7nfkj3zvk9jvf"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(home-page "http://ytalk.ourproject.org")
(synopsis "Multi-user chat program")
(description "Ytalk is a replacement for the BSD talk program. Its main
advantage is the ability to communicate with any arbitrary number of users at
once. It supports both talk protocols (\"talk\" and \"ntalk\") and can communicate
with several different talk daemons at the same time.")
(license license:gpl2+)))
(define-public gloox
(package
(name "gloox")
(version "1.0.17")
(source
(origin
(method url-fetch)
(uri (string-append "https://camaya.net/download/gloox-"
version ".tar.bz2"))
(sha256
(base32
"09c01jr5nrm7f1ly42wg0pqqscmp48pv8y2fjx1vwbavjxdq59ri"))))
(build-system gnu-build-system)
(inputs
`(("libidn" ,libidn)
("gnutls" ,gnutls)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Portable high-level Jabber/XMPP library for C++")
(description
"gloox is a full-featured Jabber/XMPP client library,
written in ANSI C++. It makes writing spec-compliant clients easy
and allows for hassle-free integration of Jabber/XMPP functionality
into existing applications.")
(home-page "https://camaya.net/gloox")
(license license:gpl3)))
;;; messaging.scm ends here

57
gnu/packages/microcom.scm Normal file
View File

@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages microcom)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages readline)
#:use-module (guix build-system gnu))
(define-public microcom
(package
(name "microcom")
(version "2016.01.09")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.pengutronix.de/git/tools/microcom.git")
(commit "v2016.01.0")))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"080ci5589bpyy5kcl51csmvpw9zysify189hw6awx69pi3cjnxly"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-i")))))))
(inputs `(("readline" ,readline)))
(native-inputs `(("automake" ,automake)
("autoconf" ,autoconf)))
(home-page "http://git.pengutronix.de/?p=tools/microcom.git")
(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'
as specified in rfc2217 and a (Linux specific) CAN mode.")
(license gpl2+)))

View File

@ -31,6 +31,9 @@
#:use-module (guix build-system python)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages readline)
#:use-module (gnu packages compression)
@ -205,7 +208,7 @@ terminal using ncurses.")
(description "Ncmpcpp is an mpd client with a UI very similar to ncmpc,
but it provides new useful features such as support for regular expressions
for library searches, extended song format, items filtering, the ability to
sort playlists, and a local filesystem browser.")
sort playlists, and a local file system browser.")
(home-page "http://ncmpcpp.rybczak.net/")
(license license:gpl2+)))
@ -263,3 +266,52 @@ interface for the Music Player Daemon.")
(package (inherit mpd2)
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs mpd2))))))
(define-public sonata
(package
(name "sonata")
(version "1.7b1")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/multani/sonata/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07gq2nxqwxs0qyxjbay7k5j25zd386bn7wdr2dl1gk53diwnn7s0"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system)
(guix build glib-or-gtk-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'install 'wrap-sonata
(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/sonata")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t)))))
(native-inputs
`(("gettext" ,gnu-gettext)))
(inputs
`(("python-mpd2" ,python-mpd2)
("gtk+" ,gtk+)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gobject-introspection" ,gobject-introspection)
("adwaita-icon-theme" ,adwaita-icon-theme)
("python-pygobject" ,python-pygobject)))
(synopsis "Elegant client for the Music Player Daemon")
(description "Sonata is an elegant graphical client for the Music Player
Daemon (MPD). It supports playlists, multiple profiles (connecting to different
MPD servers, search and multimedia key support.")
(home-page "http://www.nongnu.org/sonata/")
(license license:gpl3+)))

View File

@ -37,6 +37,7 @@
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apr)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
@ -51,6 +52,7 @@
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
@ -71,11 +73,14 @@
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages libffi)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
#:use-module (gnu packages mpd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -262,6 +267,150 @@ many input formats and provides a customisable Vi-style user interface.")
enable professional yet simple and intuitive pattern-based drum programming.")
(license license:gpl2+)))
(define-public extempore
(package
(name "extempore")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/digego/extempore/archive/"
version ".tar.gz"))
(sha256
(base32
"1wap1mvsicrhlazikf7l8zxg37fir8bmnh9rin28m1rix730vcch"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
`(;; The default target also includes ahead-of-time compilation of the
;; standard libraries. However, during the "install" phase this would
;; happen *again* for unknown reasons. Hence we only build the
;; extempore executable during the build phase.
#:make-flags '("extempore")
#:configure-flags '("-DJACK=ON"
;; We want to distribute.
"-DIN_TREE=OFF"
;; Don't download any dependencies.
"-DBUILD_DEPS=OFF")
#:modules ((ice-9 match)
(guix build cmake-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-directories
(lambda* (#:key outputs #:allow-other-keys)
;; Rewrite default path to runtime directory
(substitute* "src/Extempore.cpp"
(("runtimedir \\+= \"runtime\"")
(string-append "runtimedir = \""
(assoc-ref outputs "out")
"/lib/extempore/runtime\"")))
(substitute* "extras/extempore.el"
(("\\(runtime-directory \\(concat default-directory \"runtime\"\\)\\)")
(string-append "(runtime-directory \""
(assoc-ref outputs "out")
"/lib/extempore/runtime"
"\")")))
#t))
(add-after 'unpack 'link-with-additional-libs
(lambda _
;; The executable must be linked with libffi and zlib.
(substitute* "CMakeLists.txt"
(("add_dependencies\\(aot_extended extended_deps\\)") "")
(("target_link_libraries\\(extempore PRIVATE dl" line)
(string-append line " ffi z")))
#t))
;; FIXME: AOT compilation of the nanovg bindings fail with the error:
;; "Compiler Error could not bind _nvgLinearGradient"
(add-after 'unpack 'disable-nanovg
(lambda _
(substitute* "CMakeLists.txt"
(("aotcompile_lib\\(libs/external/nanovg.xtm.*") ""))
#t))
;; FIXME: All examples that are used as tests segfault for some
;; unknown reason.
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "CMakeLists.txt"
(("extempore_add_example_as_test\\(.*") ""))
#t))
(add-after 'unpack 'hardcode-external-lib-paths
(lambda* (#:key inputs #:allow-other-keys)
(use-modules (ice-9 match))
(for-each
(match-lambda
((file-name lib pkg-name)
(substitute* (string-append "libs/external/" file-name ".xtm")
((lib) (string-append (assoc-ref inputs pkg-name)
"/lib/" lib)))))
'(("assimp" "libassimp.so" "assimp")
("portmidi" "libportmidi.so" "portmidi")
("sndfile" "libsndfile.so" "libsndfile")
("fft" "libkiss_fft.so" "kiss-fft")
("stb_image" "libstb_image.so" "stb-image")
("nanovg" "libnanovg.so" "nanovg")
("glext" "libGL.so" "mesa")
("glfw3" "libglfw.so" "glfw")
("gl/glcore-directbind" "libGL.so" "mesa")
("gl/glcompat-directbind" "libGL.so" "mesa")))
#t))
(add-after 'unpack 'use-own-llvm
(lambda* (#:key inputs #:allow-other-keys)
(setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm"))
;; Our LLVM builds shared libraries, so Extempore should use
;; those.
(substitute* "CMakeLists.txt"
(("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY"))
#t))
(add-after 'unpack 'fix-aot-compilation
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
;; EXT_SHARE_DIR does not exist before installation, so the
;; working directory should be the source directory instead.
(("WORKING_DIRECTORY \\$\\{EXT_SHARE_DIR\\}")
"WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}")
;; Extempore needs to be told where the runtime is to be found.
;; While we're at it we disable automatic tuning for a specific
;; CPU to make binary substitution possible.
(("COMMAND extempore" prefix)
(string-append prefix " --sharedir " (getcwd)
" --mcpu=generic --attr=none")))
#t)))))
(inputs
`(("llvm" ,llvm-for-extempore)
("libffi" ,libffi)
("jack" ,jack-1)
("libsndfile" ,libsndfile)
("glfw" ,glfw)
("apr" ,apr)
("stb-image" ,stb-image-for-extempore)
("kiss-fft" ,kiss-fft-for-extempore)
("nanovg" ,nanovg-for-extempore)
("portmidi" ,portmidi-for-extempore)
("assimp" ,assimp)
("alsa-lib" ,alsa-lib)
("portaudio" ,portaudio)
("mesa" ,mesa)
("pcre" ,pcre)
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
("emacs" ,emacs-no-x)))
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
(home-page "http://benswift.me/extempore-docs/index.html")
(synopsis "Programming environment for live coding of multimedia")
(description
"Extempore is a programming language and runtime environment designed
with live programming in mind. It supports interactive programming in a REPL
style, compiling and binding code just-in-time. Although Extempore has its
roots in 'live coding' of audiovisual media art, it is suitable for any task
domain where dynamic run-time modifiability and good numerical performance are
required. Extempore also has strong timing and concurrency semantics, which
are helpful when working in problem spaces where timing is important (such as
audio and video).")
(license license:bsd-2)))
(define-public klick
(package
(name "klick")
@ -1081,6 +1230,25 @@ projects.")
using a system-independent interface.")
(license license:expat)))
(define-public portmidi-for-extempore
(package (inherit portmidi)
(name "portmidi-for-extempore")
(version "217")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/extemporelang/portmidi/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gjikwciyr8kk4y3qiv1pcq58xpgw38ql1m2gs6g0qc1s8sx4235"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests
(native-inputs '())
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/extemporelang/portmidi/")))
(define-public python-pyportmidi
(package
(name "python-pyportmidi")
@ -1372,14 +1540,14 @@ computer's keyboard.")
(define-public qtractor
(package
(name "qtractor")
(version "0.7.7")
(version "0.7.9")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"0q8kvy1ynlg64v1w7jxix1rpq0lp2ixgb2y8cbbwxd2b28r3r2vl"))))
"0pp459kfgrnngj373gnwwl43xjz32lmyf7v62p2nnjh6c7wr1ryq"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
@ -1638,6 +1806,52 @@ for improved Amiga ProTracker 2/3 compatibility.")
;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or later.
(license (list license:bsd-3 license:gpl3+))))
(define-public schismtracker
(package
(name "schismtracker")
(version "20160521")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/" name "/" name "/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0c6r24wm3rldm4j8cskl9xnixj3rwi3lnrhckw5gv43wpy6h4jcz"))
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
`(substitute* "schism/version.c"
(("Schism Tracker build %s %s.*$")
(string-append "Schism Tracker version " ,version "\");"))))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before 'configure 'link-libm
(lambda _ (setenv "LIBS" "-lm") #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("python" ,python)))
(inputs
`(("alsa-lib" ,alsa-lib) ; for asound dependency
("libx11" ,libx11)
("libxext" ,libxext)
("sdl" ,sdl)))
(home-page "http://schismtracker.org")
(synopsis "Oldschool sample-based music composition tool")
(description
"Schism Tracker is a reimplementation of Impulse Tracker, a program used to
create high quality music without the requirements of specialized, expensive
equipment, and with a unique \"finger feel\" that is difficult to replicate in
part. The player is based on a highly modified version of the ModPlug engine,
with a number of bugfixes and changes to improve IT playback.")
(license license:gpl2+)))
(define-public moc
(package
(name "moc")

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,7 +29,7 @@
(define-public nano
(package
(name "nano")
(version "2.5.3")
(version "2.7.0")
(source
(origin
(method url-fetch)
@ -36,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
"1vhjrcydcfxqq1719vcsvqqnbjbq2523m00dhzag5vwzkc961c5j"))))
"1hzazcrbwjqiw89jjvlj97q0wf385qqkzcm0870pdrixiv7yklax"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,7 +23,10 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (gnu packages)
#:use-module (gnu packages perl))
(define-public ncurses
(let ((patch-makefile-phase
@ -161,3 +165,45 @@ curses widgets, such as dialog boxes.")
(home-page "http://invisible-island.net/dialog/dialog.html")
;; Includes the gpl3 file "config.sub" from Automake.
(license (list lgpl2.1 gpl3))))
(define-public perl-curses
(package
(name "perl-curses")
(version "1.36")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GI/GIRAFFED/"
"Curses-" version ".tar.gz"))
(sha256
(base32
"0r6xd9wr0c25rr28zixhqipak575zqsfb7r7f2693i9il1dpj554"))))
(build-system perl-build-system)
(inputs
`(("ncurses" ,ncurses)))
(arguments
`(#:make-maker-flags (list "PANELS" "MENUS")
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-curses-ldflags
(lambda* (#:key inputs #:allow-other-keys)
(let* ((ncurses (assoc-ref inputs "ncurses"))
(include (string-append ncurses "/include"))
(lib (string-append ncurses "/lib")))
(setenv "CURSES_LIBTYPE" "ncurses")
(setenv "CURSES_CFLAGS" (string-append "-I" include))
(setenv "CURSES_PANEL_CFLAGS" (string-append "-I" include))
(setenv "CURSES_MENU_CFLAGS" (string-append "-I" include))
(setenv "CURSES_FORM_CFLAGS" (string-append "-I" include))
(setenv "CURSES_LDFLAGS" (string-append "-L" lib " -lncurses"))
(setenv "CURSES_PANEL_LDFLAGS" (string-append "-L" lib " -lpanel"))
(setenv "CURSES_MENU_LDFLAGS" (string-append "-L" lib " -lmenu"))
(setenv "CURSES_FORM_LDFLAGS" (string-append "-L" lib " -lform"))
#t))))))
(home-page "http://search.cpan.org/dist/Curses")
(synopsis "Terminal screen handling and optimization")
(description
"@code{Curses} is the interface between Perl and the curses library
of your system.")
(license (package-license perl))))

View File

@ -135,6 +135,84 @@ establish a relatively secure environment (su and chroot) for running client
or server shell scripts with network connections.")
(license license:gpl2)))
(define-public tcp-wrappers
(package
(name "tcp-wrappers")
(version "7.6")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.porcupine.org/pub/security/tcp_wrappers_"
version ".tar.gz"))
(sha256
(base32
"0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; there is no configure script
(delete 'check) ; there are no tests
(replace 'build
(lambda _
(chmod "." #o755)
;; Upstream doesn't generate a shared library. So we have to do it.
(setenv "CC" "gcc -fno-builtin -fPIC")
(substitute* "Makefile"
(("^(all[^\n]*)" line) (string-append line " libwrap.so\n
libwrap.so: $(LIB_OBJ)\n
\tgcc -shared $^ -o $@\n")))
;; Deal with some gcc breakage.
(substitute* "percent_m.c"
(("extern char .sys_errlist.*;") ""))
(substitute* "scaffold.c"
(("extern char .malloc.*;") ""))
;; This, believe it or not, is the recommended way to build!
(zero? (system* "make" "REAL_DAEMON_DIR=/etc" "linux"))))
;; There is no make install stage, so we have to do it ourselves.
(replace 'install
(lambda _
(let ((out (assoc-ref %outputs "out"))
(man-pages `("hosts_access.3"
"hosts_access.5"
"hosts_options.5"
"tcpd.8"
"tcpdchk.8"
"tcpdmatch.8"))
(libs `("libwrap.a"
"libwrap.so"))
(headers `("tcpd.h"))
(bins `("safe_finger"
"tcpd"
"tcpdchk"
"tcpdmatch"
"try-from")))
(for-each
(lambda (x)
(install-file x (string-append out "/include")))
headers)
(for-each
(lambda (x)
(install-file x (string-append out "/share/man/man"
(string-take-right x 1))))
man-pages)
(for-each
(lambda (x)
(install-file x (string-append out "/lib/")))
libs)
(for-each
(lambda (x)
(install-file x (string-append out "/bin/")))
bins)))))))
(home-page "http://www.porcupine.org")
(synopsis "Monitor and filter incoming requests for network services")
(description "With this package you can monitor and filter incoming requests for
network services. It includes a library which may be used by daemons to
transparently check connection attempts against an access control list.")
(license (license:non-copyleft "file://DISCLAIMER"
"See the file DISCLAIMER in the distribution."))))
(define-public zeromq
(package
(name "zeromq")
@ -313,8 +391,14 @@ and min/max network usage.")
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'fix-ifconfig-path
;; This package works only with the net-tools version of ifconfig.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/tun.c"
(("PATH=[^ ]* ")
(string-append (assoc-ref inputs "net-tools") "/sbin/")))))
(add-before 'check 'delete-failing-tests
;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105
;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105.
(lambda _
(substitute* "tests/common.c"
(("tcase_add_test\\(tc, \
@ -323,7 +407,8 @@ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:test-target "test"))
(inputs `(("zlib" ,zlib)))
(inputs `(("net-tools" ,net-tools)
("zlib" ,zlib)))
(native-inputs `(("check" ,check)
("pkg-config" ,pkg-config)))
(home-page "http://code.kryo.se/iodine/")
@ -338,7 +423,7 @@ and up to 1 Mbit/s downstream.")
(define-public wireshark
(package
(name "wireshark")
(version "2.0.5")
(version "2.2.0")
(synopsis "Network traffic analyzer")
(source
(origin
@ -347,7 +432,7 @@ and up to 1 Mbit/s downstream.")
version ".tar.bz2"))
(sha256
(base32
"02xi3fz8blcz9cf75rs11g7bijk06wm45vpgnksp72c2609j9q0c"))))
"010i7wpsv2231pwb1xdqs0xfwywi3514siidv6wnrfpw3rs7x156"))))
(build-system glib-or-gtk-build-system)
(inputs `(("bison" ,bison)
("c-ares" ,c-ares)
@ -746,3 +831,29 @@ in dynamically linked programs and redirects them through one or more SOCKS or
HTTP proxies.")
(home-page "https://github.com/rofl0r/proxychains-ng")
(license license:gpl2+)))
(define-public enet
(package
(name "enet")
(version "1.3.13")
(source (origin
(method url-fetch)
(uri (string-append "http://enet.bespin.org/download/"
name "-" version ".tar.gz"))
(sha256
(base32
"0p53mnmjbm56wizwraznynx13fcibcxiqny110dp6a5a3w174q73"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis
"Network communication layer on top of UDP")
(description
"ENet's purpose is to provide a relatively thin, simple and robust network
communication layer on top of UDP. The primary feature it provides is optional
reliable, in-order delivery of packets. ENet omits certain higher level
networking features such as authentication, server discovery, encryption, or
other similar tasks that are particularly application specific so that the
library remains flexible, portable, and easily embeddable.")
(home-page "http://enet.bespin.org")
(license license:expat)))

118
gnu/packages/nfs.scm Normal file
View File

@ -0,0 +1,118 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nfs)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu packages databases)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages libevent)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define-public nfs-utils
(package
(name "nfs-utils")
(version "1.3.4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/utils/nfs-utils/" version
"/nfs-utils-" version ".tar.xz"))
(sha256
(base32
"0xarqhwy757vazv9gqhyrgxsrx083yhvkkih01jh83fqm305naml"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`("--without-tcp-wrappers"
,(string-append "--with-start-statd="
(assoc-ref %outputs "out") "/sbin/start-statd")
,(string-append "--with-krb5=" (assoc-ref %build-inputs "mit-krb5")))
#:phases (modify-phases %standard-phases
(add-before
'configure 'adjust-command-file-names
(lambda _
;; Remove assumptions of FHS from start-statd script
(substitute* `("utils/statd/start-statd")
(("^PATH=.*") "")
(("^flock")
(string-append
(assoc-ref %build-inputs "util-linux")
"/bin/flock"))
(("^exec rpc.statd")
(string-append "exec "
(assoc-ref %outputs "out") "/sbin/rpc.statd")))
;; This hook tries to write to /var
;; That needs to be done by a service too.
(substitute* `("Makefile.in")
(("^install-data-hook:")
"install-data-hook-disabled-for-guix:"))
;; Replace some hard coded paths.
(substitute* `("utils/nfsd/nfssvc.c")
(("/bin/mount")
(string-append
(assoc-ref %build-inputs "util-linux")
"/bin/mount")))
(substitute* `("utils/statd/statd.c")
(("/usr/sbin/")
(string-append (assoc-ref %outputs "out") "/sbin/")))
(substitute* `("utils/osd_login/Makefile.in"
"utils/mount/Makefile.in"
"utils/nfsdcltrack/Makefile.in")
(("^sbindir = /sbin")
(string-append "sbindir = "
(assoc-ref %outputs "out") "/sbin")))
#t)))))
(inputs `(("libevent" ,libevent)
("libnfsidmap" ,libnfsidmap)
("sqlite" ,sqlite)
("lvm2" ,lvm2)
("gss" ,gss)
("util-linux" ,util-linux)
("mit-krb5" ,mit-krb5)
("libtirpc" ,libtirpc)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.kernel.org/pub/linux/utils/nfs-utils/")
(synopsis "Tools for loading and managing Linux NFS mounts")
(description "The Network File System (NFS) was developed to allow
machines to mount a disk partition on a remote machine as if it were a local
disk. It allows for fast, seamless sharing of files across a network.")
;; It is hard to be sure what the licence is. Most of the source files
;; contain no licence notice at all. A few have a licence notice for a 3
;; clause non-copyleft licence. However the tarball has a COPYING file
;; with the text of GPLv2 -- It seems then that GLPv2 is the most
;; restrictive licence, and until advice to the contrary we must assume
;; that is what is intended.
(license license:gpl2)))

54
gnu/packages/nickle.scm Normal file
View File

@ -0,0 +1,54 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nickle)
#:use-module (gnu packages)
#:use-module (gnu packages readline)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public nickle
(package
(name "nickle")
(version "2.77")
(source (origin
(method url-fetch)
(uri (string-append "https://nickle.org/release/nickle-"
version ".tar.gz"))
(sha256
(base32
"0rhij7cn1zkn8wzxyjkamz9fs262zyg80p6v6i864hdalg4plpm3"))))
(build-system gnu-build-system)
(native-inputs
`(("readline" ,readline)))
(synopsis "Numeric oriented programming language")
(description
"Nickle is a programming language based prototyping environment with
powerful programming and scripting capabilities. Nickle supports a variety of
datatypes, especially arbitrary precision numbers. The programming language
vaguely resembles C. Some things in C which do not translate easily are
different, some design choices have been made differently, and a very few
features are simply missing. Nickle provides the functionality of Unix bc, dc
and expr in a different form. It is also an ideal environment for prototyping
complex algorithms. Nickle's scripting capabilities make it a replacement for
spreadsheets in some applications, and its numeric features complement the
limited numeric functionality of text-oriented languages such as AWK and Perl.")
(home-page "https://nickle.org/")
(license license:expat)))

View File

@ -673,7 +673,7 @@ to the other.")
"The \"findlib\" library provides a scheme to manage reusable software
components (packages), and includes tools that support this scheme. Packages
are collections of OCaml modules for which metainformation can be stored. The
packages are kept in the filesystem hierarchy, but with strict directory
packages are kept in the file system hierarchy, but with strict directory
structure. The library contains functions to look the directory up that
stores a package, to query metainformation about a package, and to retrieve
dependency information about multiple packages. There is also a tool that

View File

@ -71,7 +71,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`("--with-systemdsystemunitdir=no")))
`("--with-systemdsystemunitdir=no" "--enable-warmstarts")))
(inputs
`(("libtirpc" ,libtirpc)))
(native-inputs

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,7 +20,9 @@
(define-module (gnu packages openstack)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module ((guix licenses)
@ -781,3 +784,49 @@ permanence.")
("python2-oslosphinx" ,python2-oslosphinx)
,@(fold alist-delete (package-native-inputs swiftclient)
'("python-keystoneclient" "python-oslosphinx")))))))
(define-public python-git-review
(package
(name "python-git-review")
(version "1.25.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "git-review" version))
(sha256
(base32
"07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ; tests require a running Gerrit server
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(openssh (assoc-ref inputs "openssh")))
(wrap-program (string-append out "/bin/git-review")
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin"))
(list git openssh))))))))))
(native-inputs
`(("python-pbr" ,python-pbr)))
(inputs
`(("python-requests" ,python-requests)
("git" ,git)
("openssh" ,openssh)))
(home-page "http://docs.openstack.org/infra/git-review/")
(synopsis "Command-line tool for Gerrit")
(description
"Git-review is a command-line tool that helps submitting Git branches to
Gerrit for review, or fetching existing ones.")
(license asl2.0)))
(define-public python2-git-review
(let ((base (package-with-python2 (strip-python2-variant python-git-review))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,41 +53,45 @@
("which" ,which)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; This old `configure' script does not support variables passed as
;; arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "SHELL" (which "bash"))
(setenv "LIBS" "-logg") ;doesn't declare its use of libogg
(zero?
(system* "./configure" (string-append "--prefix=" out)))))
(alist-cons-after
'configure 'configure-players
(lambda* (#:key inputs #:allow-other-keys)
;; To avoid propagating the mpg321 and vorbis-tools inputs, we can
;; make the orpheus application execute the needed players from the
;; store.
(let ((ogg123 (string-append (assoc-ref inputs "vorbis-tools")
"/bin/ogg123"))
(mpg321 (string-append (assoc-ref inputs "mpg321")
"/bin/mpg321"))
(which (string-append (assoc-ref inputs "which")
"/bin/which")))
(substitute* "src/orpheusconf.cc"
(("ogg123") ogg123)
(("which") which)
(("mpg321") mpg321))))
(alist-cons-before
'build 'patch-shells
(lambda _
(substitute* '("src/mp3track.cc"
"src/streamtrack.cc"
"src/oggtrack.cc")
(("/bin/sh") (which "bash"))))
%standard-phases)))))
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; This old `configure' script does not support variables passed as
;; arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "SHELL" (which "bash"))
(setenv "LIBS" "-logg") ;doesn't declare its use of libogg
(zero?
(system* "./configure" (string-append "--prefix=" out)
,@(if (string=? "mips64el-linux"
(%current-system))
'("--host=mips64el-unknown-linux-gnu")
'())
)))))
(add-after 'configure 'configure-players
(lambda* (#:key inputs #:allow-other-keys)
;; To avoid propagating the mpg321 and vorbis-tools inputs, we can
;; make the orpheus application execute the needed players from the
;; store.
(let ((ogg123 (string-append (assoc-ref inputs "vorbis-tools")
"/bin/ogg123"))
(mpg321 (string-append (assoc-ref inputs "mpg321")
"/bin/mpg321"))
(which (string-append (assoc-ref inputs "which")
"/bin/which")))
(substitute* "src/orpheusconf.cc"
(("ogg123") ogg123)
(("which") which)
(("mpg321") mpg321))
#t)))
(add-before 'build 'patch-shells
(lambda _
(substitute* '("src/mp3track.cc"
"src/streamtrack.cc"
"src/oggtrack.cc")
(("/bin/sh") (which "bash")))
#t)))))
(home-page "http://thekonst.net/en/orpheus")
(synopsis "Text-mode audio player")
(description

View File

@ -476,13 +476,13 @@ transactions from C or Python.")
(define-public diffoscope
(package
(name "diffoscope")
(version "56")
(version "60")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0nbbbp2c1374pl2ysqij2gk013pl49l1nqlg40jxsg95bwa6610l"))))
"0qwsnh7sldjlwi4qydn1ljzh3322k2ga45d867ml49xr2wnsivcc"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -45,7 +45,7 @@
(define-public parallel
(package
(name "parallel")
(version "20160722")
(version "20160822")
(source
(origin
(method url-fetch)
@ -53,7 +53,7 @@
version ".tar.bz2"))
(sha256
(base32
"08gm0i9vj2nz8qgqi98z00myypgb3dni0s5yf3l17fp8h78fp4g3"))))
"1qdb7889w7v5amd0z4qg3v4hia0wj5vjly9qvm5lm5nlxg8bfrwq"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -334,3 +334,38 @@ through the pass command.")
(description "Argon2 provides a key derivation function that was declared
winner of the 2015 Password Hashing Competition.")
(license license:cc0)))
(define-public python-bcrypt
(package
(name "python-bcrypt")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bcrypt" version))
(sha256
(base32
"1giy0dvd8gvq6flxh44np1v2nqwsji5qsnrz038mgwzgp7c20j75"))))
(build-system python-build-system)
(native-inputs
`(("python-pycparser" ,python-pycparser)
("python-pytest" ,python-pytest)))
(inputs
`(("python-cffi" ,python-cffi)
("python-six" ,python-six)))
(home-page "https://github.com/pyca/bcrypt/")
(synopsis
"Modern password hashing library")
(description
"Bcrypt is a Python module which provides a password hashing method based
on the Blowfish password hashing algorithm, as described in
@url{http://static.usenix.org/events/usenix99/provos.html,\"A Future-Adaptable
Password Scheme\"} by Niels Provos and David Mazieres.")
(license license:asl2.0)))
(define-public python2-bcrypt
(let ((bcrypt (package-with-python2 python-bcrypt)))
(package (inherit bcrypt)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs bcrypt))))))

View File

@ -0,0 +1,151 @@
This patch adds the "sigc" and "std" namespace prefixes where needed. It also
replaces a double single-argument "bind" with a single two-argument "bind",
because the former would confuse the compiler.
The patch has been sent to the developer on 2016-09-26.
--- azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:27.653375902 +0200
+++ azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:38.693430647 +0200
@@ -44,7 +44,7 @@
set_size_request(44, 44);
add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK |
BUTTON_PRESS_MASK | SCROLL_MASK);
- m_adj.signal_value_changed().connect(mem_fun(*this, &Knob::queue_draw));
+ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Knob::queue_draw));
}
--- azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:40.632845216 +0200
+++ azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:48.952886473 +0200
@@ -37,7 +37,7 @@
set_size_request(22, 150);
add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK |
BUTTON_PRESS_MASK | SCROLL_MASK);
- m_adj.signal_value_changed().connect(mem_fun(*this, &Drawbar::queue_draw));
+ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Drawbar::queue_draw));
}
--- azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:48.169180111 +0200
+++ azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:55.713217520 +0200
@@ -49,7 +49,7 @@
}
set_size_request(m_width, m_height);
add_events(EXPOSURE_MASK | BUTTON_PRESS_MASK | SCROLL_MASK);
- m_adj.signal_value_changed().connect(mem_fun(*this, &Switch::queue_draw));
+ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Switch::queue_draw));
}
--- azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 09:05:10.106963561 +0200
+++ azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 10:26:47.480581648 +0200
@@ -73,19 +73,19 @@
m_tbox = add_textbox(m_fbox, pixmap, 391, 19, 3, 140, 39);
m_tbox->add_events(SCROLL_MASK);
m_tbox->signal_scroll_display.
- connect(mem_fun(*this, &AZR3GUI::display_scroll));
+ connect(sigc::mem_fun(*this, &AZR3GUI::display_scroll));
m_splitpoint_adj = new Adjustment(0, 0, 1);
m_adj[n_splitpoint] = m_splitpoint_adj;
m_splitpoint_adj->signal_value_changed().
- connect(mem_fun(*this, &AZR3GUI::splitpoint_changed));
+ connect(sigc::mem_fun(*this, &AZR3GUI::splitpoint_changed));
Menu* menu = create_menu();
m_tbox->signal_button_press_event().
- connect(bind(mem_fun(*this, &AZR3GUI::popup_menu), menu));
+ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::popup_menu), menu));
// keyboard split switch
m_splitswitch = add_switch(m_fbox, -1, 537, 49, Switch::Mini);
m_splitswitch->get_adjustment().signal_value_changed().
- connect(mem_fun(*this, &AZR3GUI::splitbox_clicked));
+ connect(sigc::mem_fun(*this, &AZR3GUI::splitbox_clicked));
// upper knobs
add_switch(m_fbox, n_mono, 61, 105, Switch::Mini);
@@ -141,8 +141,8 @@
// mode switcher
Widget* eb = add_clickbox(m_fbox, 14, 319, 14, 44);
eb->signal_button_press_event().
- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode),
- ref(m_fbox)), false)));
+ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode),
+ false, std::ref(m_fbox))));
m_fx_widgets.push_back(eb);
// Mr Valve controls
@@ -182,8 +182,8 @@
// mode switcher 2
Widget* eb2 = add_clickbox(m_vbox, 14, 53, 14, 44);
eb2->signal_button_press_event().
- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode),
- ref(m_fbox)), true)));
+ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode),
+ true, std::ref(m_fbox))));
// vibrato controls
add_switch(m_vbox, n_1_vibrato, 39, 17, Switch::Green);
@@ -352,9 +352,9 @@
knob->set_style(s);
if (port >= 0 && port < m_adj.size()) {
knob->get_adjustment().signal_value_changed().
- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
- mem_fun(knob->get_adjustment(),
- &Adjustment::get_value)));
+ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port),
+ sigc::mem_fun(knob->get_adjustment(),
+ &Adjustment::get_value)));
assert(m_adj[port] == 0);
m_adj[port] = &knob->get_adjustment();
}
@@ -382,8 +382,8 @@
db->set_style(s);
if (port >= 0 && port < m_adj.size()) {
db->get_adjustment().signal_value_changed().
- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
- mem_fun(db->get_adjustment(), &Adjustment::get_value)));
+ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port),
+ sigc::mem_fun(db->get_adjustment(), &Adjustment::get_value)));
assert(m_adj[port] == 0);
m_adj[port] = &db->get_adjustment();
}
@@ -397,8 +397,8 @@
fbox.put(*sw, xoffset, yoffset);
if (port >= 0 && port < m_adj.size()) {
sw->get_adjustment().signal_value_changed().
- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port),
- mem_fun(sw->get_adjustment(), &Adjustment::get_value)));
+ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed),port),
+ sigc::mem_fun(sw->get_adjustment(), &Adjustment::get_value)));
assert(m_adj[port] == 0);
m_adj[port] = &sw->get_adjustment();
}
@@ -489,7 +489,7 @@
oss<<setw(2)<<setfill('0')<<iter->first<<' '<<iter->second.substr(0, 23);
MenuItem* item = manage(new MenuItem(oss.str()));
item->signal_activate().
- connect(bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first));
+ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::program_changed), iter->first));
m_program_menu->items().push_back(*item);
item->show();
item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg);
@@ -503,8 +503,8 @@
for (int i = 0; i < 128; ++i) {
MenuItem* item = manage(new MenuItem(note2str(i)));
item->signal_activate().
- connect(bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value),
- i / 128.0));
+ connect(sigc::bind(sigc::mem_fun(*m_splitpoint_adj, &Adjustment::set_value),
+ i / 128.0));
m_split_menu->items().push_back(*item);
item->show();
item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg);
@@ -533,7 +533,7 @@
MenuItem* save_item = manage(new MenuItem("Save program"));
save_item->signal_activate().
- connect(mem_fun(*this, &AZR3GUI::save_program));
+ connect(sigc::mem_fun(*this, &AZR3GUI::save_program));
save_item->show();
save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_bg);
save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_fg);

View File

@ -1,59 +0,0 @@
From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001
From: Julien Grall <julien.grall@linaro.org>
Date: Tue, 17 Mar 2015 16:00:34 +0000
Subject: [PATCH] libfdt: Add missing functions to shared library
The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy
subnode iteration" adds new functions (fdt_{first,next}_subnode) but
forgot to mark them as 'global' in the shared library.
Signed-off-by: Julien Grall <julien.grall@linaro.org>
---
libfdt/version.lds | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libfdt/version.lds b/libfdt/version.lds
index 80b322b..941208e 100644
--- a/libfdt/version.lds
+++ b/libfdt/version.lds
@@ -54,6 +54,8 @@ LIBFDT_1.2 {
fdt_get_property_by_offset;
fdt_getprop_by_offset;
fdt_next_property_offset;
+ fdt_first_subnode;
+ fdt_next_subnode;
local:
*;
From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001
From: David Gibson <david@gibson.dropbear.id.au>
Date: Tue, 1 Dec 2015 12:55:21 +1100
Subject: [PATCH] libfdt: Add some missing symbols to version.lds
Several functions in the header file were missing from the version.lds
script, meaning that they couldn't be used from a libfdt shared library.
Reported by Ken Aaker, via github issue tracker.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
libfdt/version.lds | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libfdt/version.lds b/libfdt/version.lds
index f19f157..1f4e1ea 100644
--- a/libfdt/version.lds
+++ b/libfdt/version.lds
@@ -57,6 +57,10 @@ LIBFDT_1.2 {
fdt_next_property_offset;
fdt_first_subnode;
fdt_next_subnode;
+ fdt_address_cells;
+ fdt_size_cells;
+ fdt_stringlist_contains;
+ fdt_resize;
local:
*;
--
2.8.1

View File

@ -1,70 +0,0 @@
Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi,
running on top of libusb-1.0. This also removes indirect dependency to
libusb-0.1.
Patch by Kyösti Mälkki <kyosti.malkki@gmail.com>.
See <http://patchwork.coreboot.org/patch/3904/>.
--- flashrom/Makefile.orig 2013-08-13 18:00:00.000000000 -0400
+++ flashrom/Makefile 2014-08-05 03:10:40.217145375 -0400
@@ -492,19 +492,21 @@
ifeq ($(CONFIG_FT2232_SPI), yes)
# This is a totally ugly hack.
FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'")
-NEED_FTDI := yes
+NEED_FTDI1 := yes
PROGRAMMER_OBJS += ft2232_spi.o
endif
ifeq ($(CONFIG_USBBLASTER_SPI), yes)
# This is a totally ugly hack.
FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'")
-NEED_FTDI := yes
+NEED_LIBUSB1 := yes
+NEED_FTDI1 := yes
PROGRAMMER_OBJS += usbblaster_spi.o
endif
-ifeq ($(NEED_FTDI), yes)
-FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb")
+ifeq ($(NEED_FTDI1), yes)
+FTDILIBS := $(shell pkg-config --libs libftdi1 2>/dev/null || printf "%s" "-lftdi1 -lusb-1.0")
+FEATURE_CFLAGS += $(shell pkg-config --cflags libftdi1 2>/dev/null)
FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'")
FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)")
# We can't set NEED_USB here because that would transform libftdi auto-enabling
@@ -781,6 +783,7 @@
endif
define FTDI_TEST
+#include <stddef.h>
#include <ftdi.h>
struct ftdi_context *ftdic = NULL;
int main(int argc, char **argv)
@@ -793,6 +796,7 @@
export FTDI_TEST
define FTDI_232H_TEST
+#include <stddef.h>
#include <ftdi.h>
enum ftdi_chip_type type = TYPE_232H;
endef
@@ -826,15 +830,15 @@
features: compiler
@echo "FEATURES := yes" > .features.tmp
-ifeq ($(NEED_FTDI), yes)
+ifeq ($(NEED_FTDI1), yes)
@printf "Checking for FTDI support... "
@echo "$$FTDI_TEST" > .featuretest.c
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
+ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \
( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp )
@printf "Checking for FT232H support in libftdi... "
@echo "$$FTDI_232H_TEST" >> .featuretest.c
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
+ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \
( echo "not found."; echo "FT232H := no" >> .features.tmp )
endif

View File

@ -0,0 +1,78 @@
Fix a test that has an expiration date of 2016-09-17:
https://bugs.gnupg.org/gnupg/issue2393
Patch adapted from upstream source repository:
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=e584d6468a2e72cd01e55f46104f9f96b56c0b66
The patch has been altered by commenting out a diff that does not apply
to the version of GnuPG that we are applying it to, 2.1.13. This is
what the patch author refers to below with "This commit includes changes
to the old test as well, for those who need to backport it." We keep the
old test and comment out the new test.
From e584d6468a2e72cd01e55f46104f9f96b56c0b66 Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@g10code.com>
Date: Thu, 23 Jun 2016 17:24:23 +0200
Subject: [PATCH] tests/openpgp: Fake the system time for the tofu test.
The keys in the tofu test are set to expire on 2016-09-17. Fake the
system time for this test.
This commit includes changes to the old test as well, for those who
need to backport it.
* tests/openpgp/gpg-agent.conf.tmpl: Drop trailing newlines.
* tests/openpgp/tofu.scm: Fake system time.
* tests/openpgp/tofu.test: Likewise.
GnuPG-bug-id: 2393
Signed-off-by: Justus Winter <justus@g10code.com>
---
tests/openpgp/gpg-agent.conf.tmpl | 2 --
tests/openpgp/tofu.scm | 4 +++-
tests/openpgp/tofu.test | 3 +++
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/tests/openpgp/gpg-agent.conf.tmpl b/tests/openpgp/gpg-agent.conf.tmpl
index b3cb54f..70e1633 100644
--- a/tests/openpgp/gpg-agent.conf.tmpl
+++ b/tests/openpgp/gpg-agent.conf.tmpl
@@ -1,4 +1,2 @@
allow-preset-passphrase
no-grab
-
-
#diff --git a/tests/openpgp/tofu.scm b/tests/openpgp/tofu.scm
#index 24fa9df..38b6a0f 100755
#--- a/tests/openpgp/tofu.scm
#+++ b/tests/openpgp/tofu.scm
#@@ -19,7 +19,9 @@
#
# (load (with-path "defs.scm"))
#
#-(define GPG `(,(tool 'gpg) --no-permission-warning)) ;; w/o --always-trust
#+ ;; Redefine GPG without --always-trust and a fixed time.
#+(define GPG `(,(tool 'gpg) --no-permission-warning
#+ --faked-system-time=1466684990))
# (define GNUPGHOME (getenv "GNUPGHOME"))
# (if (string=? "" GNUPGHOME)
# (error "GNUPGHOME not set"))
diff --git a/tests/openpgp/tofu.test b/tests/openpgp/tofu.test
index 18c1756..0d34af4 100755
--- a/tests/openpgp/tofu.test
+++ b/tests/openpgp/tofu.test
@@ -4,6 +4,9 @@
# set -x
+# Redefine GPG with a fixed time.
+GPG="$GPG --faked-system-time=1466684990"
+
KEYS="2183839A BC15C85A EE37CF96"
# Make sure $srcdir is set.
--
2.10.0

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