Merge branch 'master' into 'core-updates'.

This commit is contained in:
Ludovic Courtès 2014-12-14 11:55:07 +01:00
commit c4a1b6c2ba
130 changed files with 8537 additions and 1242 deletions

View File

@ -46,6 +46,8 @@
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
(eval . (put 'with-monad 'scheme-indent-function 1))
(eval . (put 'mbegin 'scheme-indent-function 1))
(eval . (put 'mwhen 'scheme-indent-function 1))
(eval . (put 'munless 'scheme-indent-function 1))
(eval . (put 'mlet* 'scheme-indent-function 2))
(eval . (put 'mlet 'scheme-indent-function 2))
(eval . (put 'run-with-store 'scheme-indent-function 1))

1
.gitignore vendored
View File

@ -110,3 +110,4 @@ GTAGS
/emacs/guix-autoloads.el
/emacs/guix-helper.scm
/emacs/guix-init.el
/emacs/guix-profiles.el

View File

@ -13,6 +13,7 @@ alphabetical order):
Federico Beffa <beffa@fbengineering.ch>
Marek Benc <merkur32@gmail.com>
Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Tomáš Čech <sleep_walker@suse.cz>
Ludovic Courtès <ludo@gnu.org>
John Darrington <jmd@gnu.org>
Andreas Enge <andreas@enge.fr>

View File

@ -56,6 +56,7 @@ MODULES = \
guix/ftp-client.scm \
guix/http-client.scm \
guix/gnupg.scm \
guix/elf.scm \
guix/store.scm \
guix/svn-download.scm \
guix/ui.scm \
@ -281,6 +282,13 @@ SUFFIXES = .go
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA
# The above trick doesn't work for 'config.go' because both 'config.scm' and
# 'config.go' are listed in $(nobase_nodist_guilemodule_DATA). Thus, give it
# special treatment.
install-data-hook: set-bootstrap-executable-permissions
touch "$(DESTDIR)$(guilemoduledir)/guix/config.go"
SUBDIRS = po/guix po/packages
BUILT_SOURCES =

2
THANKS
View File

@ -26,11 +26,13 @@ infrastructure help:
Niels Möller <nisse@lysator.liu.se>
Yutaka Niibe <gniibe@fsij.org>
Adam Pribyl <pribyl@lowlevel.cz>
rekado <rekado@elephly.net>
Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Benno Schulenberg <coordinator@translationproject.org>
Alen Skondro <askondro@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
Andy Wingo <wingo@pobox.com>
Philip Woods <elzairthesorcerer@gmail.com>
GNU Guix also includes non-software works. Thanks to the following

View File

@ -37,7 +37,7 @@
(operating-system
(host-name "gnu")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
(bootloader (grub-configuration
(device "/dev/sda")))

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.8], [bug-guix@gnu.org], [guix],
AC_INIT([GNU Guix], [0.9], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
@ -185,6 +185,7 @@ AM_CONDITIONAL([HAVE_EMACS], [test "x$EMACS" != "xno"])
emacsuidir="${guilemoduledir}/guix/emacs"
AC_SUBST([emacsuidir])
AC_CONFIG_FILES([emacs/guix-init.el
emacs/guix-profiles.el
emacs/guix-helper.scm])
AC_OUTPUT

View File

@ -56,11 +56,21 @@ Manual}):
(require 'guix-init)
@end example
Do not worry about the efficiency of that @code{require} thing. It will
not load the whole ``guix.el'' package, it will just autoload the main
interactive commands (@pxref{Autoload,,, elisp, The GNU Emacs Lisp
Reference Manual}).
By default, along with autoloading (@pxref{Autoload,,, elisp, The GNU
Emacs Lisp Reference Manual}) the main interactive commands for
``guix.el'' (@pxref{Emacs Commands}), requiring @code{guix-init} will
also autoload commands for the Emacs packages installed in your user
profile.
To disable automatic loading of installed Emacs packages, set
@code{guix-package-enable-at-startup} variable to @code{nil} before
requiring @code{guix-init}. This variable has the same meaning for
Emacs packages installed with Guix, as @code{package-enable-at-startup}
for the built-in Emacs package system (@pxref{Package Installation,,,
emacs, The GNU Emacs Manual}).
You can activate Emacs packages installed in your profile whenever you
want using @kbd{M-x@tie{}guix-emacs-load-autoloads}.
@node Emacs Usage
@subsection Usage

View File

@ -76,6 +76,93 @@ package management tool written for the GNU system.
* GNU Free Documentation License:: The license of this manual.
* Concept Index:: Concepts.
* Programming Index:: Data types, functions, and variables.
@detailmenu
--- The Detailed Node Listing ---
Installation
* Requirements:: Software needed to build and run Guix.
* Setting Up the Daemon:: Preparing the build daemon's environment.
* Invoking guix-daemon:: Running the build daemon.
Setting Up the Daemon
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
Package Management
* Features:: How Guix will make your life brighter.
* Invoking guix package:: Package installation, removal, etc.
* Emacs Interface:: Package management from Emacs.
* Substitutes:: Downloading pre-built binaries.
* Packages with Multiple Outputs:: Single source package, multiple outputs.
* Invoking guix gc:: Running the garbage collector.
* Invoking guix pull:: Fetching the latest Guix and distribution.
* Invoking guix archive:: Exporting and importing store files.
Programming Interface
* Defining Packages:: Defining new packages.
* Build Systems:: Specifying how packages are built.
* The Store:: Manipulating the package store.
* Derivations:: Low-level interface to package derivations.
* The Store Monad:: Purely functional interface to the store.
* G-Expressions:: Manipulating build expressions.
Utilities
* Invoking guix build:: Building packages from the command line.
* Invoking guix download:: Downloading a file and printing its hash.
* Invoking guix hash:: Computing the cryptographic hash of a file.
* Invoking guix import:: Importing package definitions.
* Invoking guix refresh:: Updating package definitions.
* Invoking guix lint:: Finding errors in package definitions.
* Invoking guix environment:: Setting up development environments.
GNU Distribution
* System Installation:: Installing the whole operating system.
* System Configuration:: Configuring a GNU system.
* Installing Debugging Files:: Feeding the debugger.
* Security Updates:: Deploying security fixes quickly.
* Package Modules:: Packages from the programmer's viewpoint.
* Packaging Guidelines:: Growing the distribution.
* Bootstrapping:: GNU/Linux built from scratch.
* Porting:: Targeting another platform or kernel.
System Configuration
* Using the Configuration System:: Customizing your GNU system.
* operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges.
* Initial RAM Disk:: Linux-Libre bootstrapping.
* GRUB Configuration:: Configuring the boot loader.
* Invoking guix system:: Instantiating a system configuration.
* Defining Services:: Adding new service definitions.
Services
* Base Services:: Essential system services.
* Networking Services:: Network setup, SSH daemon, etc.
* X Window:: Graphical display.
Packaging Guidelines
* Software Freedom:: What may go into the distribution.
* Package Naming:: What's in a name?
* Version Numbers:: When the name is not enough.
* Python Modules:: Taming the snake.
* Perl Modules:: Little pearls.
* Fonts:: Fond of fonts.
@end detailmenu
@end menu
@c *********************************************************************
@ -260,6 +347,15 @@ Bash syntax and the @code{shadow} commands):
done
@end example
The @file{/gnu/store} directory (or whichever was specified with the
@code{--with-store-dir} option) must have ownership and permissions as
follows:
@example
# chgrp guix-builder /gnu/store
# chmod 1775 /gnu/store
@end example
@noindent
The @code{guix-daemon} program may then be run as @code{root} with:
@ -499,7 +595,7 @@ Cache build failures. By default, only successful builds are cached.
Use @var{n} CPU cores to build each derivation; @code{0} means as many
as available.
The default value is @code{1}, but it may be overridden by clients, such
The default value is @code{0}, but it may be overridden by clients, such
as the @code{--cores} option of @command{guix build} (@pxref{Invoking
guix build}).
@ -510,7 +606,9 @@ parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}.
@item --max-jobs=@var{n}
@itemx -M @var{n}
Allow at most @var{n} build jobs in parallel. The default value is
@code{1}.
@code{1}. Setting it to @code{0} means that no builds will be performed
locally; instead, the daemon will offload builds (@pxref{Daemon Offload
Setup}), or simply fail.
@item --debug
Produce debugging output.
@ -1719,6 +1817,13 @@ modules}. This is achieved by wrapping the programs in launch scripts
that appropriately set the @code{XDG_DATA_DIRS} and @code{GTK_PATH}
environment variables.
It is possible to exclude specific package outputs from that wrapping
process by listing their names in the
@code{#:glib-or-gtk-wrap-excluded-outputs} parameter. This is useful
when an output is known not to contain any GLib or GTK+ binaries, and
where wrapping would gratuitously add a dependency of that output on
GLib and GTK+.
@item glib-or-gtk-compile-schemas
The phase @code{glib-or-gtk-compile-schemas} makes sure that all GLib's
@uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html,
@ -2679,6 +2784,12 @@ may be helpful when debugging setup issues with the build daemon.
Allow the use of up to @var{n} CPU cores for the build. The special
value @code{0} means to use as many CPU cores as available.
@item --max-jobs=@var{n}
@itemx -M @var{n}
Allow at most @var{n} build jobs in parallel. @xref{Invoking
guix-daemon, @code{--max-jobs}}, for details about this option and the
equivalent @command{guix-daemon} option.
@end table
Behind the scenes, @command{guix build} is essentially an interface to
@ -2686,6 +2797,25 @@ the @code{package-derivation} procedure of the @code{(guix packages)}
module, and to the @code{build-derivations} procedure of the @code{(guix
store)} module.
In addition to options explicitly passed on the command line,
@command{guix build} and other @command{guix} commands that support
building honor the @code{GUIX_BUILD_OPTIONS} environment variable.
@defvr {Environment Variable} GUIX_BUILD_OPTIONS
Users can define this variable to a list of command line options that
will automatically be used by @command{guix build} and other
@command{guix} commands that can perform builds, as in the example
below:
@example
$ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar"
@end example
These options are parsed independently, and the result is appended to
the parsed command-line options.
@end defvr
@node Invoking guix download
@section Invoking @command{guix download}
@ -3275,8 +3405,9 @@ Systems}). This is typically done using the @code{-L} option of
@command{mkfs.ext4} and related commands.
The installation image includes Parted (@pxref{Overview,,, parted, GNU
Parted User Manual}), @command{fdisk}, and e2fsprogs, the suite of tools
to manipulate ext2/ext3/ext4 file systems.
Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk
encryption, and e2fsprogs, the suite of tools to manipulate
ext2/ext3/ext4 file systems.
@item
Once that is done, mount the target root partition under @file{/mnt}.
@ -3375,6 +3506,7 @@ instance to support new system services.
* File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing.
* User Accounts:: Specifying user accounts.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges.
* Initial RAM Disk:: Linux-Libre bootstrapping.
@ -3401,7 +3533,7 @@ kernel, initial RAM disk, and boot loader looks like this:
(operating-system
(host-name "komputilo")
(timezone "Europe/Paris")
(locale "fr_FR.UTF-8")
(locale "fr_FR.utf8")
(bootloader (grub-configuration
(device "/dev/sda")))
(file-systems (cons (file-system
@ -3411,7 +3543,7 @@ kernel, initial RAM disk, and boot loader looks like this:
%base-file-systems))
(users (list (user-account
(name "alice")
(uid 1000) (group 100)
(group "users")
(comment "Bob's sister")
(home-directory "/home/alice"))))
(packages (cons emacs %base-packages))
@ -3554,9 +3686,13 @@ package}).
@item @code{timezone}
A timezone identifying string---e.g., @code{"Europe/Paris"}.
@item @code{locale} (default: @code{"en_US.UTF-8"})
The name of the default locale (@pxref{Locales,,, libc, The GNU C
Library Reference Manual}).
@item @code{locale} (default: @code{"en_US.utf8"})
The name of the default locale (@pxref{Locale Names,,, libc, The GNU C
Library Reference Manual}). @xref{Locales}, for more information.
@item @code{locale-definitions} (default: @var{%default-locale-definitions})
The list of locale definitions to be compiled and that may be used at
run time. @xref{Locales}.
@item @code{services} (default: @var{%base-services})
A list of monadic values denoting system services. @xref{Services}.
@ -3630,6 +3766,13 @@ is interpreted as a partition label name; when it is @code{uuid},
The @code{label} and @code{uuid} options offer a way to refer to disk
partitions without having to hard-code their actual device name.
However, when a file system's source is a mapped device (@pxref{Mapped
Devices}), its @code{device} field @emph{must} refer to the mapped
device name---e.g., @file{/dev/mapper/root-partition}---and consequently
@code{title} must be set to @code{'device}. This is required so that
the system knows that mounting the file system depends on having the
corresponding device mapping established.
@item @code{flags} (default: @code{'()})
This is a list of symbols denoting mount flags. Recognized flags
include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow
@ -3818,8 +3961,8 @@ users change it with @command{passwd}.
If you @emph{do} want to have a preset password for an account, then
this field must contain the encrypted password, as a string.
@xref{crypt,,, The GNU C Library Reference Manual}, for more information
on password encryption, and @ref{Encryption,,, GNU Guile Reference
@xref{crypt,,, libc, The GNU C Library Reference Manual}, for more information
on password encryption, and @ref{Encryption,,, guile, GNU Guile Reference
Manual}, for information on Guile's @code{crypt} procedure.
@end table
@ -3863,6 +4006,78 @@ to be present on the system. This includes groups such as ``root'',
specific devices such as ``audio'', ``disk'', and ``cdrom''.
@end defvr
@node Locales
@subsection Locales
@cindex locale
A @dfn{locale} defines cultural conventions for a particular language
and region of the world (@pxref{Locales,,, libc, The GNU C Library
Reference Manual}). Each locale has a name that typically has the form
@code{@var{language}_@var{territory}.@var{charset}}---e.g.,
@code{fr_LU.utf8} designates the locale for the French language, with
cultural conventions from Luxembourg, and using the UTF-8 encoding.
@cindex locale definition
Usually, you will want to specify the default locale for the machine
using the @code{locale} field of the @code{operating-system} declaration
(@pxref{operating-system Reference, @code{locale}}).
That locale must be among the @dfn{locale definitions} that are known to
the system---and these are specified in the @code{locale-definitions}
slot of @code{operating-system}. The default value includes locale
definition for some widely used locales, but not for all the available
locales, in order to save space.
If the locale specified in the @code{locale} field is not among the
definitions listed in @code{locale-definitions}, @command{guix system}
raises an error. In that case, you should add the locale definition to
the @code{locale-definitions} field. For instance, to add the North
Frisian locale for Germany, the value of that field may be:
@example
(cons (locale-definition
(name "fy_DE.utf8") (source "fy_DE"))
%default-locale-definitions)
@end example
Likewise, to save space, one might want @code{locale-definitions} to
list only the locales that are actually used, as in:
@example
(list (locale-definition
(name "ja_JP.eucjp") (source "ja_JP")
(charset "EUC-JP")))
@end example
The @code{locale-definition} form is provided by the @code{(gnu system
locale)} module. Details are given below.
@deftp {Data Type} locale-definition
This is the data type of a locale definition.
@table @asis
@item @code{name}
The name of the locale. @xref{Locale Names,,, libc, The GNU C Library
Reference Manual}, for more information on locale names.
@item @code{source}
The name of the source for that locale. This is typically the
@code{@var{language}_@var{territory}} part of the locale name.
@item @code{charset} (default: @code{"UTF-8"})
The ``character set'' or ``code set'' for that locale,
@uref{http://www.iana.org/assignments/character-sets, as defined by
IANA}.
@end table
@end deftp
@defvr {Scheme Variable} %default-locale-definitions
An arbitrary list of commonly used locales, used as the default value of
the @code{locale-definitions} field of @code{operating-system}
declarations.
@end defvr
@node Services
@subsection Services
@ -3872,11 +4087,42 @@ An important part of preparing an @code{operating-system} declaration is
listing @dfn{system services} and their configuration (@pxref{Using the
Configuration System}). System services are typically daemons launched
when the system boots, or other actions needed at that time---e.g.,
configuring network access. They are managed by GNU@tie{}dmd
(@pxref{Introduction,,, dmd, GNU dmd Manual}).
configuring network access.
Services are managed by GNU@tie{}dmd (@pxref{Introduction,,, dmd, GNU
dmd Manual}). On a running system, the @command{deco} command allows
you to list the available services, show their status, start and stop
them, or do other specific operations (@pxref{Jump Start,,, dmd, GNU dmd
Manual}). For example:
@example
# deco status dmd
@end example
The above command, run as @code{root}, lists the currently defined
services. The @command{deco doc} command shows a synopsis of the given
service:
@example
# deco doc nscd
Run libc's name service cache daemon (nscd).
@end example
The @command{start}, @command{stop}, and @command{restart} sub-commands
have the effect you would expect. For instance, the commands below stop
the nscd service and restart the Xorg display server:
@example
# deco stop nscd
Service nscd has been stopped.
# deco restart xorg-server
Service xorg-server has been stopped.
Service xorg-server has been started.
@end example
The following sections document the available services, starting with
the core services.
the core services, that may be used in an @code{operating-system}
declaration.
@menu
* Base Services:: Essential system services.
@ -3904,7 +4150,7 @@ system, you will want to append services to @var{%base-services}, like
this:
@example
(cons* (avahi-service) (lshd-service) %base-services)
(cons* (avahi-service) (lsh-service) %base-services)
@end example
@end defvr
@ -3967,7 +4213,7 @@ Run @var{udev}, which populates the @file{/dev} directory dynamically.
@node Networking Services
@subsubsection Networking Services
The @code{(gnu system networking)} module provides services to configure
The @code{(gnu services networking)} module provides services to configure
the network interface.
@cindex DHCP, networking service
@ -4032,12 +4278,17 @@ When @var{initialize?} is true, automatically create the seed and host key
upon service activation if they do not exist yet. This may take long and
require interaction.
When @var{initialize?} is false, it is up to the user to initialize the
randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create
a key pair with the private key stored in file @var{host-key} (@pxref{lshd
basics,,, lsh, LSH Manual}).
When @var{interfaces} is empty, lshd listens for connections on all the
network interfaces; otherwise, @var{interfaces} must be a list of host names
or addresses.
@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty
passwords, and @var{root-login?} specifies whether to accepts log-ins as
@var{allow-empty-passwords?} specifies whether to accept log-ins with empty
passwords, and @var{root-login?} specifies whether to accept log-ins as
root.
The other options should be self-descriptive.
@ -4745,6 +4996,7 @@ needed is to review and apply the patch.
* Version Numbers:: When the name is not enough.
* Python Modules:: Taming the snake.
* Perl Modules:: Little pearls.
* Fonts:: Fond of fonts.
@end menu
@node Software Freedom
@ -4796,6 +5048,8 @@ already part of the official project name. But @pxref{Python
Modules} and @ref{Perl Modules} for special rules concerning modules for
the Python and Perl languages.
Font package names are handled differently, @pxref{Fonts}.
@node Version Numbers
@subsection Version Numbers
@ -4871,6 +5125,43 @@ are also prepended by @code{perl-}. Such modules tend to have the word
prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}.
@node Fonts
@subsection Fonts
For fonts that are in general not installed by a user for typesetting
purposes, or that are distributed as part of a larger software package,
we rely on the general packaging rules for software; for instance, this
applies to the fonts delivered as part of the X.Org system or fonts that
are part of TeX Live.
To make it easier for a user to search for fonts, names for other packages
containing only fonts are constructed as follows, independently of the
upstream package name.
The name of a package containing only one font family starts with
@code{font-}; it is followed by the foundry name and a dash @code{-}
if the foundry is known, and the font family name, in which spaces are
replaced by dashes (and as usual, all upper case letters are transformed
to lower case).
For example, the Gentium font family by SIL is packaged under the name
@code{font-sil-gentium}.
For a package containing several font families, the name of the collection
is used in the place of the font family name.
For instance, the Liberation fonts consist of three families,
Liberation Sans, Liberation Serif and Liberation Mono.
These could be packaged separately under the names
@code{font-liberation-sans} and so on; but as they are distributed together
under a common name, we prefer to package them together as
@code{font-liberation}.
In the case where several formats of the same font family or font collection
are packaged separately, a short form of the format, prepended by a dash,
is added to the package name. We use @code{-ttf} for TrueType fonts,
@code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1
fonts.
@node Bootstrapping
@section Bootstrapping
@ -4955,7 +5246,7 @@ no-dependency requirement is verified by checking whether the files of
the final tool chain contain references to the @file{/gnu/store}
directories of the bootstrap inputs. The process that leads to this
``final'' tool chain is described by the package definitions found in
the @code{(gnu packages base)} module.
the @code{(gnu packages commencement)} module.
@c See <http://lists.gnu.org/archive/html/gnu-system-discuss/2012-10/msg00000.html>.
The first tool that gets built with the bootstrap binaries is
@ -4976,7 +5267,7 @@ And voilà! At this point we have the complete set of build tools that
the GNU Build System expects. These are in the @code{%final-inputs}
variable of the @code{(gnu packages commencement)} module, and are
implicitly used by any package that uses @code{gnu-build-system}
(@pxref{Defining Packages}).
(@pxref{Build Systems, @code{gnu-build-system}}).
@unnumberedsubsec Building the Bootstrap Binaries
@ -5024,12 +5315,20 @@ one:
guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
@end example
For this to work, the @code{glibc-dynamic-linker} procedure in
@code{(gnu packages bootstrap)} must be augmented to return the right
file name for libc's dynamic linker on that platform; likewise,
@code{system->linux-architecture} in @code{(gnu packages linux)} must be
taught about the new platform.
Once these are built, the @code{(gnu packages bootstrap)} module needs
to be updated to refer to these binaries on the target platform. In
addition, the @code{glibc-dynamic-linker} procedure in that module must
be augmented to return the right file name for libc's dynamic linker on
that platform; likewise, @code{system->linux-architecture} in @code{(gnu
packages linux)} must be taught about the new platform.
to be updated to refer to these binaries on the target platform. That
is, the hashes and URLs of the bootstrap tarballs for the new platform
must be added alongside those of the currently supported platforms. The
bootstrap Guile tarball is treated specially: it is expected to be
available locally, and @file{gnu-system.am} has rules do download it for
the supported architectures; a rule for the new platform must be added
as well.
In practice, there may be some complications. First, it may be that the
extended GNU triplet that specifies an ABI (like the @code{eabi} suffix

View File

@ -21,6 +21,7 @@ AUTOLOADS = emacs/guix-autoloads.el
ELFILES = \
emacs/guix-backend.el \
emacs/guix-base.el \
emacs/guix-emacs.el \
emacs/guix-history.el \
emacs/guix-info.el \
emacs/guix-list.el \
@ -36,7 +37,8 @@ dist_lisp_DATA = \
$(AUTOLOADS)
nodist_lisp_DATA = \
emacs/guix-init.el
emacs/guix-init.el \
emacs/guix-profiles.el
$(AUTOLOADS): $(ELFILES)
$(EMACS) --batch --eval \

View File

@ -52,6 +52,7 @@
;;; Code:
(require 'geiser-mode)
(require 'guix-emacs)
(defvar guix-load-path
(file-name-directory (or load-file-name
@ -125,7 +126,8 @@ This REPL is used for receiving information only if
"Hook run before executing an operation in Guix REPL.")
(defvar guix-after-repl-operation-hook
'(guix-repl-operation-success-message)
'(guix-emacs-load-autoloads-maybe
guix-repl-operation-success-message)
"Hook run after executing successful operation in Guix REPL.")
(defvar guix-repl-operation-p nil

View File

@ -28,52 +28,12 @@
;;; Code:
(require 'cl-lib)
(require 'guix-profiles)
(require 'guix-backend)
(require 'guix-utils)
(require 'guix-history)
(require 'guix-messages)
;;; Profiles
(defvar guix-user-profile
(expand-file-name "~/.guix-profile")
"User profile.")
(defvar guix-default-profile
(concat (or (getenv "NIX_STATE_DIR") "/var/guix")
"/profiles/per-user/"
(getenv "USER")
"/guix-profile")
"Default Guix profile.")
(defvar guix-current-profile guix-default-profile
"Current profile.")
(defun guix-profile-prompt (&optional default)
"Prompt for profile and return it.
Use DEFAULT as a start directory. If it is nil, use
`guix-current-profile'."
(let* ((path (read-file-name "Profile: "
(file-name-directory
(or default guix-current-profile))))
(path (directory-file-name (expand-file-name path))))
(if (string= path guix-user-profile)
guix-default-profile
path)))
(defun guix-set-current-profile (path)
"Set `guix-current-profile' to PATH.
Interactively, prompt for PATH. With prefix, use
`guix-default-profile'."
(interactive
(list (if current-prefix-arg
guix-default-profile
(guix-profile-prompt))))
(setq guix-current-profile path)
(message "Current profile has been set to '%s'."
guix-current-profile))
;;; Parameters of the entries

79
emacs/guix-emacs.el Normal file
View File

@ -0,0 +1,79 @@
;;; guix-emacs.el --- Emacs packages installed with Guix
;; Copyright © 2014 Alex Kost <alezost@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 this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides auxiliary code for working with Emacs packages
;; installed with Guix.
;;; Code:
(require 'guix-profiles)
(defcustom guix-emacs-activate-after-operation t
"Activate Emacs packages after installing.
If nil, do not load autoloads of the Emacs packages after
they are successfully installed."
:type 'boolean
:group 'guix)
(defvar guix-emacs-autoloads nil
"List of the last loaded Emacs autoloads.")
(defun guix-emacs-directory (&optional profile)
"Return directory with Emacs packages installed in PROFILE.
If PROFILE is nil, use `guix-user-profile'."
(expand-file-name "share/emacs/site-lisp"
(or profile guix-user-profile)))
(defun guix-emacs-find-autoloads (&optional profile)
"Return list of autoloads of Emacs packages installed in PROFILE.
If PROFILE is nil, use `guix-user-profile'.
Return nil if there are no emacs packages installed in PROFILE."
(let ((dir (guix-emacs-directory profile)))
(if (file-directory-p dir)
(directory-files dir 'full-name "-autoloads\\.el\\'")
(message "Directory '%s' does not exist." dir)
nil)))
;;;###autoload
(defun guix-emacs-load-autoloads (&optional all)
"Load autoloads for Emacs packages installed in a user profile.
If ALL is nil, activate only those packages that were installed
after the last activation, otherwise activate all Emacs packages
installed in `guix-user-profile'."
(interactive "P")
(let* ((autoloads (guix-emacs-find-autoloads))
(files (if all
autoloads
(cl-nset-difference autoloads guix-emacs-autoloads
:test #'string=))))
(dolist (file files)
(load file 'noerror))
(setq guix-emacs-autoloads autoloads)))
(defun guix-emacs-load-autoloads-maybe ()
"Load autoloads for Emacs packages if needed.
See `guix-emacs-activate-after-operation' for details."
(and guix-emacs-activate-after-operation
(guix-emacs-load-autoloads)))
(provide 'guix-emacs)
;;; guix-emacs.el ends here

View File

@ -50,6 +50,7 @@
(and=> (getenv "HOME")
(cut string-append <> "/.config")))
(cut string-append <> "/guix/latest"))))
(push! module-dir %load-path)
(push! module-dir %load-compiled-path)
(if (and updates-dir (file-exists? updates-dir))
(begin

View File

@ -1,14 +1,21 @@
(require 'guix-autoloads)
(require 'guix-emacs)
(defvar guix-load-path
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@")
"Directory with scheme files for \"guix.el\" package.")
(defvar guix-default-profile
(concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
"/profiles/per-user/"
(getenv "USER")
"/guix-profile")
"Default Guix profile.")
(defcustom guix-package-enable-at-startup t
"If non-nil, activate Emacs packages installed in a user profile.
Set this variable to nil before requiring `guix-init' file to
avoid loading autoloads of Emacs packages installed in
`guix-user-profile'."
:type 'boolean
:group 'guix)
(add-to-list 'load-path (guix-emacs-directory))
(when guix-package-enable-at-startup
(guix-emacs-load-autoloads 'all))
(provide 'guix-init)

View File

@ -857,6 +857,7 @@ OUTPUTS is a list of package outputs (may be an empty list)."
(derivations (list derivation))
(new-profile (derivation->output-path derivation)))
(set-build-options store
#:print-build-trace #f
#:use-substitutes? use-substitutes?)
(show-manifest-transaction store manifest transaction
#:dry-run? dry-run?)
@ -908,6 +909,7 @@ GENERATIONS is a list of generation numbers."
(let* ((derivation (package-source-derivation store source))
(derivations (list derivation)))
(set-build-options store
#:print-build-trace #f
#:use-substitutes? use-substitutes?)
(show-what-to-build store derivations
#:use-substitutes? use-substitutes?

62
emacs/guix-profiles.el.in Normal file
View File

@ -0,0 +1,62 @@
;;; guix-profiles.el --- Guix profiles
;; Copyright © 2014 Alex Kost <alezost@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 this program. If not, see <http://www.gnu.org/licenses/>.
;;; Code:
(defvar guix-user-profile
(expand-file-name "~/.guix-profile")
"User profile.")
(defvar guix-default-profile
(concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
"/profiles/per-user/"
(getenv "USER")
"/guix-profile")
"Default Guix profile.")
(defvar guix-current-profile guix-default-profile
"Current profile.")
(defun guix-profile-prompt (&optional default)
"Prompt for profile and return it.
Use DEFAULT as a start directory. If it is nil, use
`guix-current-profile'."
(let* ((path (read-file-name "Profile: "
(file-name-directory
(or default guix-current-profile))))
(path (directory-file-name (expand-file-name path))))
(if (string= path guix-user-profile)
guix-default-profile
path)))
(defun guix-set-current-profile (path)
"Set `guix-current-profile' to PATH.
Interactively, prompt for PATH. With prefix, use
`guix-default-profile'."
(interactive
(list (if current-prefix-arg
guix-default-profile
(guix-profile-prompt))))
(setq guix-current-profile path)
(message "Current profile has been set to '%s'."
guix-current-profile))
(provide 'guix-profiles)
;;; guix-profiles.el ends here

View File

@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/base.scm \
gnu/packages/bash.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bioinformatics.scm \
gnu/packages/bittorrent.scm \
gnu/packages/bison.scm \
gnu/packages/boost.scm \
@ -72,6 +73,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/databases.scm \
gnu/packages/datamash.scm \
gnu/packages/dc.scm \
gnu/packages/debug.scm \
gnu/packages/dejagnu.scm \
gnu/packages/dictionaries.scm \
gnu/packages/disk.scm \
@ -160,6 +162,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/links.scm \
gnu/packages/linux.scm \
gnu/packages/lisp.scm \
gnu/packages/llvm.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
@ -173,6 +176,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/mc.scm \
gnu/packages/mcrypt.scm \
gnu/packages/messaging.scm \
gnu/packages/mg.scm \
gnu/packages/miscfiles.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/moe.scm \
@ -189,6 +193,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/node.scm \
gnu/packages/noweb.scm \
gnu/packages/ntp.scm \
gnu/packages/nutrition.scm \
gnu/packages/nvi.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
@ -229,7 +234,6 @@ GNU_SYSTEM_MODULES = \
gnu/packages/scanner.scm \
gnu/packages/scheme.scm \
gnu/packages/screen.scm \
gnu/packages/scrot.scm \
gnu/packages/sdl.scm \
gnu/packages/search.scm \
gnu/packages/serveez.scm \
@ -237,6 +241,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/skribilo.scm \
gnu/packages/slim.scm \
gnu/packages/smalltalk.scm \
gnu/packages/socat.scm \
gnu/packages/ssh.scm \
gnu/packages/stalonetray.scm \
gnu/packages/swig.scm \
@ -249,7 +254,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
gnu/packages/unclutter.scm \
gnu/packages/tre.scm \
gnu/packages/unrtf.scm \
gnu/packages/upnp.scm \
gnu/packages/uucp.scm \
@ -273,8 +278,11 @@ GNU_SYSTEM_MODULES = \
gnu/packages/xlockmore.scm \
gnu/packages/xml.scm \
gnu/packages/xnee.scm \
gnu/packages/xdisorg.scm \
gnu/packages/xorg.scm \
gnu/packages/xfce.scm \
gnu/packages/yasm.scm \
gnu/packages/yubico.scm \
gnu/packages/zile.scm \
gnu/packages/zip.scm \
gnu/packages/zsh.scm \
@ -294,6 +302,7 @@ GNU_SYSTEM_MODULES = \
gnu/system/install.scm \
gnu/system/linux.scm \
gnu/system/linux-initrd.scm \
gnu/system/locale.scm \
gnu/system/shadow.scm \
gnu/system/vm.scm \
\
@ -302,6 +311,7 @@ GNU_SYSTEM_MODULES = \
gnu/build/install.scm \
gnu/build/linux-boot.scm \
gnu/build/linux-initrd.scm \
gnu/build/linux-modules.scm \
gnu/build/vm.scm
@ -351,6 +361,7 @@ dist_patch_DATA = \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glib-tests-timer.patch \
gnu/packages/patches/glib-tests-gapplication.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
@ -412,6 +423,9 @@ dist_patch_DATA = \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
@ -433,7 +447,9 @@ dist_patch_DATA = \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \
gnu/packages/patches/xf86-video-openchrome-includes.patch \
gnu/packages/patches/xmodmap-asprintf.patch
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
@ -470,7 +486,7 @@ nodist_bootstrap_mips64el_linux_DATA = \
# Those files must remain executable, so they remain executable once
# imported into the store.
install-data-hook:
set-bootstrap-executable-permissions:
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
DISTCLEANFILES = \

View File

@ -50,6 +50,25 @@
,name)))
(zero? (apply system* "groupadd" args))))
(define %skeleton-directory
;; Directory containing skeleton files for new accounts.
;; Note: keep the trailing '/' so that 'scandir' enters it.
"/etc/skel/")
(define (dot-or-dot-dot? file)
(member file '("." "..")))
(define* (copy-account-skeletons home
#:optional (directory %skeleton-directory))
"Copy the account skeletons from DIRECTORY to HOME."
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
(mkdir-p home)
(for-each (lambda (file)
(copy-file (string-append directory "/" file)
(string-append home "/" file)))
files)))
(define* (add-user name group
#:key uid comment home shell password system?
(supplementary-groups '())
@ -70,6 +89,7 @@ properties. Return #t on success."
(cut format <> "~a:x:~a:~a:~a:~a:~a~%"
name "0" "0" comment home shell))
(chmod "/etc/shadow" #o600)
(copy-account-skeletons (or home "/root"))
#t)
;; Use 'useradd' from the Shadow package.
@ -198,18 +218,12 @@ numeric gid or #f."
;; XXX: Dirty hack to meet sudo's expectations.
(when (string=? (basename target) "sudoers")
(chmod target #o440))))
(scandir etc
(lambda (file)
(not (member file '("." ".."))))
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked
;; Guile.
string<?))
;; Prevent ETC from being GC'd.
(rm-f "/var/guix/gcroots/etc-directory")
(symlink etc "/var/guix/gcroots/etc-directory"))
string<?)))
(define %setuid-directory
;; Place where setuid programs are stored.

View File

@ -36,13 +36,17 @@
(define* (install-grub grub.cfg device mount-point)
"Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on
MOUNT-POINT."
MOUNT-POINT.
Note that the caller must make sure that GRUB.CFG is registered as a GC root
so that the fonts, background images, etc. referred to by GRUB.CFG are not
GC'd."
(let* ((target (string-append mount-point "/boot/grub/grub.cfg"))
(pivot (string-append target ".new")))
(mkdir-p (dirname target))
;; Copy GRUB.CFG instead of just symlinking it since it's not a GC root.
;; Do that atomically.
;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't
;; work when /boot is on a separate partition. Do that atomically.
(copy-file grub.cfg pivot)
(rename-file pivot target)

View File

@ -26,6 +26,7 @@
#:use-module (ice-9 match)
#:use-module (ice-9 ftw)
#:use-module (guix build utils)
#:use-module (gnu build linux-modules)
#:use-module (gnu build file-systems)
#:export (mount-essential-file-systems
linux-command-line
@ -34,7 +35,6 @@
configure-qemu-networking
bind-mount
load-linux-module*
device-number
boot-system))
@ -218,14 +218,6 @@ networking values.) Return #t if INTERFACE is up, #f otherwise."
(logand (network-interface-flags sock interface) IFF_UP)))
(define (load-linux-module* file)
"Load Linux module from FILE, the name of a `.ko' file."
(define (slurp module)
;; TODO: Use 'mmap' to reduce memory usage.
(call-with-input-file file get-bytevector-all))
(load-linux-module (slurp file)))
(define (device-number major minor)
"Return the device number for the device with MAJOR and MINOR, for use as
the last argument of `mknod'."
@ -332,16 +324,17 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(define* (boot-system #:key
(linux-modules '())
linux-module-directory
qemu-guest-networking?
volatile-root?
pre-mount
(mounts '()))
"This procedure is meant to be called from an initrd. Boot a system by
first loading LINUX-MODULES (a list of absolute file names of '.ko' files),
then setting up QEMU guest networking if QEMU-GUEST-NETWORKING? is true,
calling PRE-MOUNT, mounting the file systems specified in MOUNTS, and finally
booting into the new root if any. The initrd supports kernel command-line
options '--load', '--root', and '--repl'.
first loading LINUX-MODULES (a list of module names) from
LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
specified in MOUNTS, and finally booting into the new root if any. The initrd
supports kernel command-line options '--load', '--root', and '--repl'.
Mount the root file system, specified by the '--root' command-line argument,
if any.
@ -362,6 +355,10 @@ to it are lost."
mounts)
"ext4"))
(define (lookup-module name)
(string-append linux-module-directory "/"
(ensure-dot-ko name)))
(display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n")
@ -376,7 +373,10 @@ to it are lost."
(start-repl))
(display "loading kernel modules...\n")
(for-each load-linux-module* linux-modules)
(current-module-debugging-port (current-output-port))
(for-each (cut load-linux-module* <>
#:lookup-module lookup-module)
(map lookup-module linux-modules))
(when qemu-guest-networking?
(unless (configure-qemu-networking)
@ -388,6 +388,14 @@ to it are lost."
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
(when (procedure? pre-mount)
;; Do whatever actions are needed before mounting the root file
;; system--e.g., installing device mappings. Error out when the
;; return value is false.
(unless (pre-mount)
(error "pre-mount actions failed")))
(if root
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
@ -398,11 +406,6 @@ to it are lost."
(mkdir "/root/dev")
(make-essential-device-nodes #:root "/root"))
(when (procedure? pre-mount)
;; Do whatever actions are needed before mounting--e.g., installing
;; device mappings.
(pre-mount))
;; Mount the specified file systems.
(for-each mount-file-system
(remove root-mount-point? mounts))

166
gnu/build/linux-modules.scm Normal file
View File

@ -0,0 +1,166 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@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 build linux-modules)
#:use-module (guix elf)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:export (dot-ko
ensure-dot-ko
module-dependencies
recursive-module-dependencies
modules-loaded
module-loaded?
load-linux-module*
current-module-debugging-port))
;;; Commentary:
;;;
;;; Tools to deal with Linux kernel modules.
;;;
;;; Code:
(define current-module-debugging-port
(make-parameter (%make-void-port "w")))
(define (section-contents elf section)
"Return the contents of SECTION in ELF as a bytevector."
(let* ((modinfo (elf-section-by-name elf ".modinfo"))
(contents (make-bytevector (elf-section-size modinfo))))
(bytevector-copy! (elf-bytes elf) (elf-section-offset modinfo)
contents 0
(elf-section-size modinfo))
contents))
(define %not-nul
(char-set-complement (char-set #\nul)))
(define (nul-separated-string->list str)
"Split STR at occurrences of the NUL character and return the resulting
string list."
(string-tokenize str %not-nul))
(define (key=value->pair str)
"Assuming STR has the form \"KEY=VALUE\", return a pair like (KEY
. \"VALUE\")."
(let ((= (string-index str #\=)))
(cons (string->symbol (string-take str =))
(string-drop str (+ 1 =)))))
(define (modinfo-section-contents file)
"Return the contents of the '.modinfo' section of FILE as a list of
key/value pairs.."
(let* ((bv (call-with-input-file file get-bytevector-all))
(elf (parse-elf bv))
(modinfo (section-contents elf ".modinfo")))
(map key=value->pair
(nul-separated-string->list (utf8->string modinfo)))))
(define %not-comma
(char-set-complement (char-set #\,)))
(define (module-dependencies file)
"Return the list of modules that FILE depends on. The returned list
contains module names, not actual file names."
(let ((info (modinfo-section-contents file)))
(match (assq 'depends info)
(('depends . what)
(string-tokenize what %not-comma)))))
(define dot-ko
(cut string-append <> ".ko"))
(define (ensure-dot-ko name)
"Return NAME with a '.ko' prefix appended, unless it already has it."
(if (string-suffix? ".ko" name)
name
(dot-ko name)))
(define* (recursive-module-dependencies files
#:key (lookup-module dot-ko))
"Return the topologically-sorted list of file names of the modules depended
on by FILES, recursively. File names of modules are determined by applying
LOOKUP-MODULE to the module name."
(let loop ((files files)
(result '())
(visited vlist-null))
(match files
(()
(delete-duplicates (reverse result)))
((head . tail)
(let* ((visited? (vhash-assoc head visited))
(deps (if visited?
'()
(map lookup-module (module-dependencies head))))
(visited (if visited?
visited
(vhash-cons head #t visited))))
(loop (append deps tail)
(append result deps) visited))))))
(define %not-newline
(char-set-complement (char-set #\newline)))
(define (modules-loaded)
"Return the list of names of currently loaded Linux modules."
(let* ((contents (call-with-input-file "/proc/modules"
get-string-all))
(lines (string-tokenize contents %not-newline)))
(match (map string-tokenize lines)
(((modules . _) ...)
modules))))
(define (module-loaded? module)
"Return #t if MODULE is already loaded. MODULE must be a Linux module name,
not a file name."
(member module (modules-loaded)))
(define* (load-linux-module* file
#:key
(recursive? #t)
(lookup-module dot-ko))
"Load Linux module from FILE, the name of a `.ko' file. When RECURSIVE? is
true, load its dependencies first (à la 'modprobe'.) The actual files
containing modules depended on are obtained by calling LOOKUP-MODULE with the
module name."
(define (slurp module)
;; TODO: Use 'mmap' to reduce memory usage.
(call-with-input-file file get-bytevector-all))
(when recursive?
(for-each (cut load-linux-module* <> #:lookup-module lookup-module)
(map lookup-module (module-dependencies file))))
(format (current-module-debugging-port)
"loading Linux module from '~a'...~%" file)
(catch 'system-error
(lambda ()
(load-linux-module (slurp file)))
(lambda args
;; If this module was already loaded and we're in modprobe style, ignore
;; the error.
(unless (and recursive? (= EEXIST (system-error-errno args)))
(apply throw args)))))
;;; linux-modules.scm ends here

View File

@ -178,6 +178,12 @@ volume name."
(display "populating...\n")
(populate-root-file-system system-directory target-directory))
(define (register-grub.cfg-root target grub.cfg)
"On file system TARGET, register GRUB.CFG as a GC root."
(let ((directory (string-append target "/var/guix/gcroots")))
(mkdir-p directory)
(symlink grub.cfg (string-append directory "/grub.cfg"))))
(define* (initialize-hard-disk device
#:key
system-directory
@ -222,6 +228,9 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(install-grub grub.cfg device target-directory)
;; Register GRUB.CFG as a GC root.
(register-grub.cfg-root target-directory grub.cfg)
;; 'guix-register' resets timestamps and everything, so no need to do it
;; once more in that case.
(unless register-closures?

View File

@ -689,9 +689,12 @@ commands and their arguments.")
(let ((port (open-file ".config" "al")))
(display "
CONFIG_DEBUG_SYSLOG=y
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
# TODO: Add a variant of this package with DBus support.
#CONFIG_CTRL_IFACE_DBUS=y
#CONFIG_CTRL_IFACE_DBUS_NEW=y
#CONFIG_CTRL_IFACE_DBUS_INTRO=y
CONFIG_DRIVER_NL80211=y
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y
@ -708,7 +711,9 @@ commands and their arguments.")
(inputs
`(("readline" ,readline)
("libnl" ,libnl)
("dbus" ,dbus)
;; TODO: Add a variant with DBus support. This significantly increases
;; the size of its closure since DBus depends on libx11.
;; ("dbus" ,dbus)
("openssl" ,o:openssl)))
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -500,7 +501,7 @@ with the Linux kernel.")
(define-public tzdata
(package
(name "tzdata")
(version "2014a")
(version "2014j")
(source (origin
(method url-fetch)
(uri (string-append
@ -508,7 +509,7 @@ with the Linux kernel.")
version ".tar.gz"))
(sha256
(base32
"1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw"))))
"038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@ -555,7 +556,7 @@ with the Linux kernel.")
version ".tar.gz"))
(sha256
(base32
"1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85"))))))
"1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z"))))))
(home-page "http://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)

View File

@ -0,0 +1,84 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.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 bioinformatics)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python))
(define-public samtools
(package
(name "samtools")
(version "1.1")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/samtools/"
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
"1y5p2hs4gif891b4ik20275a8xf3qrr1zh9wpysp4g8m0g1jckf2"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(alist-cons-after
'unpack
'patch-makefile-curses
(lambda _
(substitute* "Makefile"
(("-lcurses") "-lncurses")))
(alist-cons-after
'unpack
'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "test/test.pl"
;; The test script calls out to /bin/bash
(("/bin/bash")
(string-append bash "/bin/bash"))
;; There are two failing tests upstream relating to the "stats"
;; subcommand in test_usage_subcommand ("did not have Usage"
;; and "usage did not mention samtools stats"), so we disable
;; them.
(("(test_usage_subcommand\\(.*\\);)" cmd)
(string-append "unless ($subcommand eq 'stats') {" cmd "};")))))
(alist-delete
'configure
%standard-phases)))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ncurses" ,ncurses)
("perl" ,perl)
("python" ,python)
("zlib" ,zlib)))
(home-page "http://samtools.sourceforge.net")
(synopsis "Utilities to efficiently manipulate nucleotide sequence alignments")
(description
"Samtools implements various utilities for post-processing nucleotide
sequence alignments in the SAM, BAM, and CRAM formats, including indexing,
variant calling (in conjunction with bcftools), and a simple alignment
viewer.")
(license license:expat)))

View File

@ -1,4 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -20,6 +21,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages openssl)
#:use-module (gnu packages libevent)
@ -30,7 +32,11 @@
#:use-module ((gnu packages compression)
#:select (zlib))
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk))
#:use-module (gnu packages gtk)
#:use-module (gnu packages check)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl))
(define-public transmission
(package
@ -44,11 +50,12 @@
(sha256
(base32
"1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59"))))
(build-system gnu-build-system)
(build-system glib-or-gtk-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
(arguments
'(#:phases (alist-cons-after
'(#:glib-or-gtk-wrap-excluded-outputs '("out")
#:phases (alist-cons-after
'install 'move-gui
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GUI to its own output, so that "out" doesn't
@ -88,3 +95,63 @@ DHT, µTP, PEX and Magnet Links.")
;;
;; A few files files carry an MIT/X11 license header.
(license l:gpl3+)))
(define-public libtorrent
(package
(name "libtorrent")
(version "0.13.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/libtorrent-"
version ".tar.gz"))
(sha256
(base32
"0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)
;; Add this when you enable tests:
;; ("cppunit" ,cppunit)
))
(arguments
;; FIXME: enable tests on the next release:
;; https://github.com/rakshasa/libtorrent/issues/59
`(#:tests? #f))
(synopsis "BitTorrent library of rtorrent")
(description
"LibTorrent is a BitTorrent library used by and developed in parallel
with the BitTorrent client rtorrent. It is written in C++ with emphasis on
speed and efficiency.")
(home-page "http://libtorrent.rakshasa.no/")
(license l:gpl2+)))
(define-public rtorrent
(package
(name "rtorrent")
(version "0.9.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/rtorrent-"
version ".tar.gz"))
(sha256
(base32
"113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw"))))
(build-system gnu-build-system)
(inputs `(("libtorrent" ,libtorrent)
("ncurses" ,ncurses)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)
("cppunit" ,cppunit)))
(synopsis "BitTorrent client with ncurses interface")
(description
"rTorrent is a BitTorrent client with an ncurses interface. It supports
full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
XML-RPC over SCGI.")
(home-page "http://libtorrent.rakshasa.no/")
(license l:gpl2+)))

View File

@ -32,7 +32,11 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages which))
#:use-module (gnu packages which)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages wget)
#:use-module (gnu packages xiph))
(define-public libcddb
(package
@ -68,14 +72,14 @@ caching facility provided by the library.")
(define-public libcdio
(package
(name "libcdio")
(version "0.92")
(version "0.93")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.gz"))
(sha256
(base32
"1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik"))))
"0xb9km1750ndr7nglgbv1smv03dy8nkcfd9djbzqn3ldzlicswj9"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@ -217,3 +221,104 @@ files. Dvdisaster works at the image level so that the recovery does not
depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
(define-public cd-discid
(package
(name "cd-discid")
(version "1.4")
(home-page "http://linukz.org/cd-discid.shtml")
(source (origin
(method url-fetch)
(uri (string-append "http://linukz.org/download/cd-discid-"
version ".tar.gz"))
(sha256
(base32
"0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/usr/bin/install")
"install")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:phases (alist-delete 'configure %standard-phases)
#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))))
(synopsis "Get CDDB discid information from an audio CD")
(description
"cd-discid is a command-line tool to retrieve CDDB discid information
from an audio CD.")
(license gpl2+)))
(define-public abcde
(package
(name "abcde")
(version "2.6")
(home-page "http://abcde.einval.com/")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/abcde-"
version ".tar.gz"))
(sha256
(base32
"0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/usr/bin/install")
"install")
(("^etcdir = .*$")
(string-append "etcdir = $(prefix)/etc\n"))))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs inputs #:allow-other-keys)
(substitute* "Makefile"
(("^prefix = .*$")
(string-append "prefix = "
(assoc-ref outputs "out")
"\n"))))
(alist-cons-after
'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((wget (assoc-ref inputs "wget"))
(vorbis (assoc-ref inputs "vorbis-tools"))
(parano (assoc-ref inputs "cdparanoia"))
(which (assoc-ref inputs "which"))
(discid (assoc-ref inputs "cd-discid"))
(out (assoc-ref outputs "out")))
(define (wrap file)
(wrap-program file
`("PATH" ":" prefix
(,(string-append out "/bin:"
wget "/bin:"
which "/bin:"
vorbis "/bin:"
discid "/bin:"
parano "/bin")))))
(for-each wrap
(find-files (string-append out "/bin")
".*"))))
%standard-phases))
#:tests? #f))
(inputs `(("wget" ,wget)
("which" ,which)
("cdparanoia" ,cdparanoia)
("cd-discid" ,cd-discid)
("vorbis-tools" ,vorbis-tools)
;; A couple of Python and Perl scripts are included.
("python" ,python)
("perl" ,perl)))
(synopsis "Command-line audio CD ripper")
(description
"abcde is a front-end command-line utility (actually, a shell script)
that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex
and/or MPP/MP+ (Musepack) format, and tags them, all in one go.")
(license gpl2+)))

139
gnu/packages/debug.scm Normal file
View File

@ -0,0 +1,139 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.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 debug)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages bash)
#:use-module (gnu packages flex)
#:use-module (gnu packages indent)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pretty-print))
(define-public delta
(package
(name "delta")
(version "2006.08.03")
(source
(origin
(method url-fetch)
(uri (list
(string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/"
"delta_" version ".orig.tar.gz")
;; This uri seems to send guix download into an infinite loop
(string-append "http://delta.tigris.org/files/documents/3103/"
"33566/delta-" version ".tar.gz")))
(sha256
(base32
"184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q"))))
(build-system gnu-build-system)
(inputs ;Installed programs are perl scripts
`(("perl" ,perl)))
(arguments
`(#:phases
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
;; Makefile contains no install target
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/delta-" ,version)))
(begin
(mkdir-p bin)
(mkdir-p doc)
(for-each (lambda (h)
(copy-file h (string-append doc "/" (basename h))))
`("License.txt" ,@(find-files "www" ".*\\.html")))
(for-each (lambda (b)
(copy-file b (string-append bin "/" b)))
`("delta" "multidelta" "topformflat")))))
(alist-delete 'configure %standard-phases))))
(home-page "http://delta.tigris.org/")
(synopsis "Heuristical file minimizer")
(description
"Delta assists you in minimizing \"interesting\" files subject to a test
of their interestingness. A common such situation is when attempting to
isolate a small failure-inducing substring of a large input that causes your
program to exhibit a bug.")
;; See License.txt, which is a bsd-3 license, despite the project's
;; home-page pointing to a bsd-2 license.
(license bsd-3)))
(define-public c-reduce
(package
(name "c-reduce")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (list
(string-append "http://embed.cs.utah.edu/creduce/"
"creduce-" version ".tar.gz")))
(sha256
(base32
"0wh0fkyg2l41d2wkndrgdiai9g2qiav7jik7cys21vmgzq01pyy2"))
(modules '((guix build utils)))
(snippet
'(substitute* "clang_delta/TransformationManager.cpp"
(("llvm/Config/config.h") "llvm/Config/llvm-config.h")))))
(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)))
(arguments
`(#:phases (alist-cons-after
'install 'set-load-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Tell creduce where to find the perl modules it needs.
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/creduce")))
(wrap-program
prog
`("PERL5LIB" ":" prefix
,(map (lambda (p)
(string-append (assoc-ref inputs p)
"/lib/perl5/site_perl/"
,(package-version perl)))
'("benchmark-timer" "exporter-lite"
"file-which" "getopt-tabular"
"regex-common" "sys-cpu"))))))
%standard-phases)))
(home-page "http://embed.cs.utah.edu/creduce")
(synopsis "Reducer for interesting code")
(description
"C-Reduce is a tool that takes a large C or C++ program that has a
property of interest (such as triggering a compiler bug) and automatically
produces a much smaller C/C++ program that has the same property. It is
intended for use by people who discover and report bugs in compilers and other
tools that process C/C++ code.")
(license ncsa)))

View File

@ -29,14 +29,14 @@
(define-public vera
(package
(name "vera")
(version "1.21a")
(version "1.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/vera/vera-" version
".tar.gz"))
(sha256
(base32
"09qz1g8js8qw735wmd8kraqbk1d1997v3px2lcc58frf1r66bp8f"))))
"1anx6ikwlkg7bn3c5a8xxrp33bvhfgxmncvnqbn2fp1hnbhqh5i7"))))
(build-system trivial-build-system)
(arguments
`(#:builder (begin

View File

@ -100,7 +100,7 @@ tables, and it understands a variety of different formats.")
(define-public ddrescue
(package
(name "ddrescue")
(version "1.18.1")
(version "1.19")
(source
(origin
(method url-fetch)
@ -108,7 +108,7 @@ tables, and it understands a variety of different formats.")
version ".tar.lz"))
(sha256
(base32
"1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq"))))
"1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")

View File

@ -84,3 +84,58 @@ left corner.
dwm draws a small customizable border around windows to indicate the focus
state.")
(license x11)))
(define-public dmenu
(package
(name "dmenu")
(version "4.5")
(source (origin
(method url-fetch)
(uri (string-append "http://dl.suckless.org/tools/dmenu-"
version ".tar.gz"))
(sha256
(base32
"0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(alist-delete 'configure %standard-phases)))
(inputs
`(("libx11" ,libx11)
("libxinerama" ,libxinerama)))
(home-page "http://tools.suckless.org/dmenu/")
(synopsis "Dynamic menu")
(description
"A dynamic menu for X, originally designed for dwm. It manages large
numbers of user-defined menu items efficiently.")
(license x11)))
(define-public slock
(package
(name "slock")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://dl.suckless.org/tools/slock-"
version ".tar.gz"))
(sha256
(base32
"1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases (alist-delete 'configure %standard-phases)))
(inputs
`(("libx11" ,libx11)
("libxext" ,libxext)
("libxinerama" ,libxinerama)))
(home-page "http://tools.suckless.org/slock/")
(synopsis "Simple X session lock")
(description
"Simple X session lock with trivial feedback on password entry.")
(license x11)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,6 +24,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gtk)
@ -44,6 +46,10 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
#:use-module (gnu packages perl)
#:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages xiph)
#:use-module (gnu packages mp3)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
@ -58,7 +64,7 @@
(sha256
(base32
"1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7"))))
(build-system gnu-build-system)
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases (alist-cons-before
'configure 'fix-/bin/pwd
@ -114,6 +120,7 @@ languages.")
(name "emacs-no-x-toolkit")
(synopsis "The extensible, customizable, self-documenting text
editor (without an X toolkit)" )
(build-system gnu-build-system)
(inputs (append `(("inotify-tools" ,inotify-tools))
(alist-delete "gtk+" (package-inputs emacs))))
(arguments (append '(#:configure-flags '("--with-x-toolkit=no"))
@ -135,6 +142,15 @@ editor (without an X toolkit)" )
(sha256
(base32 "1mrk0bzqcpfhsw6635qznn47nzfy9ps7wrhkpymswdfpw5mdsry5"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(symlink "geiser-install.el"
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/"
"geiser-autoloads.el")))
%standard-phases)))
(inputs `(("guile" ,guile-2.0)
("emacs" ,emacs)))
(home-page "http://nongnu.org/geiser/")
@ -186,6 +202,7 @@ giving her access to live metadata.")
(copy-file source target)
(with-directory-excursion lisp-dir
(parameterize ((%emacs emacs))
(emacs-generate-autoloads ,name lisp-dir)
(emacs-batch-eval '(byte-compile-file "paredit.el"))))))))
(home-page "http://mumble.net/~campbell/emacs/paredit/")
(synopsis "Emacs minor mode for editing parentheses")
@ -240,7 +257,13 @@ when typing parentheses directly or commenting out code line by line.")
(emacs-substitute-variables "magit.el"
("magit-git-executable" (string-append git "/bin/git"))
("magit-gitk-executable" (string-append git:gui "/bin/gitk")))))
%standard-phases))))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
,name (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
%standard-phases)))))
(home-page "http://magit.github.io/")
(synopsis "Emacs interface for the Git version control system")
(description
@ -317,6 +340,7 @@ operations.")
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp")
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")
#t)))
%standard-phases)))))
(home-page "http://emacs-w3m.namazu.org/")
@ -359,9 +383,183 @@ operations.")
(let ((wget (assoc-ref inputs "wget")))
(emacs-substitute-variables "wget.el"
("wget-command" (string-append wget "/bin/wget")))))
%standard-phases))))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
"wget" (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
%standard-phases)))))
(home-page "http://www.emacswiki.org/emacs/EmacsWget")
(synopsis "Simple file downloader for Emacs based on wget")
(description
"Emacs-wget is an emacs interface for the wget file downloader.")
(license gpl2+)))
;;;
;;; Multimedia.
;;;
(define-public emms
(package
(name "emms")
(version "4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emms/emms-"
version ".tar.gz"))
(sha256
(base32
"1q0n3iwva8bvai2rl9sm49sdjmk0wi7vajz4knz01l7g67nrp87l"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/usr/bin/install-info")
;; No need to use 'install-info' since it would create a
;; useless 'dir' file.
"true")
(("^INFODIR=.*")
;; Install Info files to $out/share/info, not $out/info.
"INFODIR := $(PREFIX)/share/info\n")
(("/site-lisp/emms")
;; Install directly in share/emacs/site-lisp, not in a
;; sub-directory.
"/site-lisp")
(("^all: (.*)\n" _ rest)
;; Build 'emms-print-metadata'.
(string-append "all: " rest " emms-print-metadata\n"))))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:phases (alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(vorbis (assoc-ref inputs "vorbis-tools"))
(alsa (assoc-ref inputs "alsa-utils"))
(mpg321 (assoc-ref inputs "mpg321"))
(mp3info (assoc-ref inputs "mp3info")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
(string-append "PREFIX := " out "\n")))
(setenv "SHELL" (which "sh"))
(setenv "CC" "gcc")
;; Specify the absolute file names of the various
;; programs so that everything works out-of-the-box.
(with-directory-excursion "lisp"
(emacs-substitute-variables
"emms-player-mpg321-remote.el"
("emms-player-mpg321-remote-command"
(string-append mpg321 "/bin/mpg321")))
(substitute* "emms-player-simple.el"
(("\"ogg123\"")
(string-append "\"" vorbis "/bin/ogg123\"")))
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
(emacs-substitute-variables "emms-info-mp3info.el"
("emms-info-mp3info-program-name"
(string-append mp3info "/bin/mp3info")))
(substitute* "emms-volume-amixer.el"
(("\"amixer\"")
(string-append "\"" alsa "/bin/amixer\"")))
(substitute* "emms-tag-editor.el"
(("\"mp3info\"")
(string-append mp3info "/bin/mp3info"))))))
(alist-cons-before
'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
;; The 'install' rule expects 'emms-print-metadata.1' to
;; be already installed.
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p man1)
(copy-file "emms-print-metadata.1"
(string-append man1 "/emms-print-metadata.1"))))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(target (string-append
out "/bin/emms-print-metadata")))
(symlink "emms-auto.el"
(string-append out "/share/emacs/site-lisp/"
"emms-autoloads.el"))
(mkdir-p (dirname target))
(copy-file "src/emms-print-metadata" target)
(chmod target #o555)))
%standard-phases)))
#:tests? #f))
(native-inputs `(("emacs" ,emacs) ;for (guix build emacs-utils)
("texinfo" ,texinfo)))
(inputs `(;("perl" ,perl) ;for 'emms-print-metadata.pl'
("alsa-utils" ,alsa-utils)
("vorbis-tools" ,vorbis-tools)
("mpg321" ,mpg321)
("taglib" ,taglib)
("mp3info" ,mp3info)))
(synopsis "Emacs Multimedia System")
(description
"EMMS is the Emacs Multimedia System. It is a small front-end which
can control one of the supported external players. Thus, it supports
whatever formats are supported by your music player. It also
supports tagging and playlist management, all behind a clean and
light user interface.")
(home-page "http://www.gnu.org/software/emms/")
(license gpl3+)))
;;;
;;; Miscellaneous.
;;;
(define-public bbdb
(package
(name "bbdb")
(version "3.1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/bbdb/bbdb-"
version ".tar.gz"))
(sha256
(base32
"1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
(modules '((guix build utils)))
(snippet
;; We don't want to build and install the PDF.
'(substitute* "doc/Makefile.in"
(("^doc_DATA = .*$")
"doc_DATA =\n")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Add an autoloads file with the right name for guix.el.
(let* ((out (assoc-ref outputs "out"))
(site (string-append out "/share/emacs/site-lisp")))
(with-directory-excursion site
(symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))))
%standard-phases)))
(native-inputs `(("emacs" ,emacs)))
(home-page "http://savannah.nongnu.org/projects/bbdb/")
(synopsis "Contact management utility for Emacs")
(description
"BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
an address book for email and snail mail addresses, phone numbers and the
like. It can be linked with various Emacs mail clients (Message and Mail
mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
(license gpl3+)))

View File

@ -28,21 +28,27 @@
(define-public fish
(package
(name "fish")
(version "2.1.0")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://fishshell.com/files/"
version "/fish-" version ".tar.gz"))
(sha256
(base32
"0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg"))))
"096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet
'(substitute* "Makefile.in"
((".*INSTALL.*sysconfdir.*fish.*") "")))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
`(("ncurses" ,ncurses)))
(arguments
'(#:tests? #f)) ; no check target
'(#:tests? #f ; no check target
#:configure-flags '("--sysconfdir=/etc")))
(synopsis "The friendly interactive shell")
(description
"Fish (friendly interactive shell) is a shell focused on interactive use,

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,9 +32,9 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages pkg-config))
(define-public ttf-dejavu
(define-public font-dejavu
(package
(name "ttf-dejavu")
(name "font-dejavu")
(version "2.34")
(source (origin
(method url-fetch)
@ -97,9 +98,9 @@ provide serif, sans and monospaced variants.")
(license:x11-style
"http://dejavu-fonts.org/"))))
(define-public ttf-bitstream-vera
(define-public font-bitstream-vera
(package
(name "ttf-bitstream-vera")
(name "font-bitstream-vera")
(version "1.10")
(source (origin
(method url-fetch)
@ -151,9 +152,9 @@ package provides the TrueType (TTF) files.")
(license:x11-style
"https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
(define-public freefont-ttf
(define-public font-gnu-freefont-ttf
(package
(name "freefont-ttf")
(name "font-gnu-freefont-ttf")
(version "20100919")
(source (origin
(method url-fetch)
@ -203,9 +204,74 @@ package provides the TrueType (TTF) files.")
10646/Unicode UCS (Universal Character Set).")
(license license:gpl3+)))
(define-public terminus-font
(define-public font-liberation
(package
(name "terminus-font")
(name "font-liberation")
(version "2.00.1")
(source (origin
(method url-fetch)
(uri (string-append "https://fedorahosted.org/releases/l/i/"
"liberation-fonts/liberation-fonts-ttf-"
version ".tar.gz"))
(sha256
(base32
"010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((tar (string-append (assoc-ref %build-inputs "tar")
"/bin/tar"))
(PATH (string-append (assoc-ref %build-inputs "gzip")
"/bin"))
(font-dir (string-append %output "/share/fonts/truetype"))
(doc-dir (string-append %output "/share/doc/" ,name)))
(setenv "PATH" PATH)
(system* tar "xvf" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(mkdir-p doc-dir)
(chdir (string-append "liberation-fonts-ttf-" ,version))
(for-each (lambda (ttf)
(copy-file ttf
(string-append font-dir "/"
(basename ttf))))
(find-files "." "\\.ttf$"))
(for-each (lambda (doc)
(copy-file doc
(string-append doc-dir "/"
(basename doc))))
'("AUTHORS" "ChangeLog" "LICENSE" "README" "TODO"))))))
(native-inputs
`(("source" ,source)
("tar" ,tar)
("gzip" ,gzip)))
(home-page "https://fedorahosted.org/liberation-fonts/")
(synopsis
"Fonts compatible with Arial, Times New Roman, and Courier New")
(description
"The Liberation font family aims at metric compatibility with
Arial, Times New Roman, and Courier New.
There are three sets:
- Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and
Bitstream Vera Sans);
- Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and
Bitstream Vera Serif);
- Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L,
and Bitstream Vera Sans Mono).
The Liberation Fonts are sponsored by Red Hat.")
(license license:silofl1.1)))
(define-public font-terminus
(package
(name "font-terminus")
(version "4.39")
(source
(origin

View File

@ -27,14 +27,14 @@
(define-public freeipmi
(package
(name "freeipmi")
(version "1.4.5")
(version "1.4.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz"))))
"1j33b2spj1vzjf1ymfrgka5h7imijmdwg9jdjfb92b2ccld9jj6l"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline) ("libgcrypt" ,libgcrypt)))

View File

@ -168,7 +168,8 @@ scriptable with Guile.")
(let ((prefix (assoc-ref outputs "out")))
;; Create directories that the makefile assumes exist.
(mkdir-p (string-append prefix "/bin"))
(mkdir-p (string-append prefix "/share/applications"))))
(mkdir-p (string-append prefix "/share/applications"))
(mkdir-p (string-append prefix "/share/pixmaps"))))
;; No configure script.
(alist-delete 'configure %standard-phases))))
#:tests? #f)) ;; No check target.

View File

@ -74,7 +74,10 @@ provided as well as the framework to add new color models and data types.")
"09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(;; More than just the one test disabled below now fails; disable them
;; all according to the rationale given below.
#:tests? #f
#:phases
(alist-cons-before
'build 'pre-build
(lambda _

View File

@ -31,7 +31,8 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages guile))
#:use-module (gnu packages guile)
#:use-module (gnu packages xdisorg))
(define-public glu
(package

View File

@ -22,6 +22,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@ -37,6 +38,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
#:use-module (gnu packages which)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
@ -54,8 +56,7 @@
(define dbus
(package
(name "dbus")
(version "1.8.8")
(replacement dbus-1.8.10) ;fix for CVE-2014-7824
(version "1.8.10")
(source (origin
(method url-fetch)
(uri
@ -63,7 +64,7 @@
version ".tar.gz"))
(sha256
(base32
"1zfi5grrlryppgrl23im82cqw6l9fk1wlc2ayvzx0yd994v2dayz"))
"13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh"))
(patches (list (search-patch "dbus-localstatedir.patch")))))
(build-system gnu-build-system)
(arguments
@ -114,35 +115,23 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1
(define-public dbus-1.8.10
(let ((real-version "1.8.10"))
(package (inherit dbus)
(source (origin
(method url-fetch)
(uri
(string-append "http://dbus.freedesktop.org/releases/dbus/dbus-"
real-version ".tar.gz"))
(sha256
(base32
"13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh"))
(patches (list (search-patch "dbus-localstatedir.patch")))))
(replacement #f))))
(define glib
(package
(name "glib")
(version "2.40.0")
(version "2.40.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"))
(base32
"0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8"))
(patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch")
(search-patch "glib-tests-timer.patch")))))
(search-patch "glib-tests-timer.patch")
(search-patch "glib-tests-gapplication.patch")))))
(build-system gnu-build-system)
(outputs '("out" ; everything
"bin" ; glib-mkenums, gtester, etc.; depends on Python
@ -233,6 +222,11 @@ dynamic loading, and an object system.")
`(;; In practice, GIR users will need libffi when using
;; gobject-introspection.
("libffi" ,libffi)))
(native-search-paths
(list (search-path-specification
(variable "GI_TYPELIB_PATH")
(directories '("lib/girepository-1.0")))))
(search-paths native-search-paths)
(arguments
`(#:phases
(alist-cons-before
@ -430,3 +424,85 @@ has an ease of use unmatched by other C++ callback libraries.")
"Glibmm provides a C++ programming interface to the part of GLib that are
useful for C++.")
(license license:lgpl2.1+)))
(define-public python2-pygobject-2
(package
(name "python2-pygobject")
;; This was the last version to declare the 2.0 platform number, i.e. its
;; pkg-config files were named pygobject-2.0.pc
(version "2.28.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pygobject/"
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
(patches
(list (search-patch
"python2-pygobject-2-gi-info-type-error-domain.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
("pkg-config" ,pkg-config)
("dbus" ,dbus))) ;for tests
(inputs
`(("python" ,python-2)
("glib" ,glib)
("python2-py2cairo" ,python2-py2cairo)
("gobject-introspection" ,gobject-introspection)))
(propagated-inputs
`(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc
(arguments
`(#:tests? #f ;segfaults during tests
#:configure-flags '("LIBS=-lcairo-gobject")))
(home-page "https://pypi.python.org/pypi/PyGObject")
(synopsis "Python bindings for GObject")
(description
"Python bindings for GLib, GObject, and GIO.")
(license license:lgpl2.1+)))
(define-public python-pygobject
(package
(name "python-pygobject")
(version "3.12.2") ;last version that works with
;gobject-introspection 1.38
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pygobject/"
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky"))))
;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python)
("glib" ,glib)
("python-pycairo" ,python-pycairo)
("gobject-introspection" ,gobject-introspection)
("libffi" ,libffi)))
(arguments
;; TODO: failing tests: test_native_calls_async
;; test_native_calls_async_errors test_native_calls_sync
;; test_native_calls_sync_errors test_python_calls_async
;; test_python_calls_async_error test_python_calls_async_error_result
;; test_python_calls_sync test_python_calls_sync_errors
;; test_python_calls_sync_noargs test_callback_user_data_middle_none
;; test_callback_user_data_middle_single
;; test_callback_user_data_middle_tuple
'(#:tests? #f))
(home-page "https://pypi.python.org/pypi/PyGObject")
(synopsis "Python bindings for GObject")
(description
"Python bindings for GLib, GObject, and GIO.")
(license license:lgpl2.1+)))

View File

@ -28,14 +28,14 @@
(define-public global ; a global variable
(package
(name "global")
(version "6.3.2")
(version "6.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"07iifpz00ch3drlscvk5v12j7bckwv6pk8040y81s1x14b0gf220"))))
"0j828dg2cjf77rx71cw68jpk7jl119v6nyb0kyvirr5i1860j1fx"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libtool" ,libtool)))

View File

@ -46,7 +46,8 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages gl)
#:use-module (gnu packages compression)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg))
(define-public brasero
(package
@ -1119,6 +1120,51 @@ widgets built in the loading process.")
controls using the Bonobo component framework.")
(license license:lgpl2.0+)))
(define-public libwnck
(package
(name "libwnck")
(version "3.14.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
`(("gtk+" ,gtk+)
("libxres" ,libxres)
("startup-notification" ,startup-notification)))
(home-page "https://developer.gnome.org/libwnck/")
(synopsis "Window Navigator Construction Kit")
(description
"Libwnck is the Window Navigator Construction Kit, a library for use in
writing pagers, tasklists, and more generally applications that are dealing
with window management. It tries hard to respect the Extended Window Manager
Hints specification (EWMH).")
(license license:lgpl2.0+)))
;; stable version for gtk2, required by xfwm4.
(define-public libwnck-1
(package (inherit libwnck)
(name "libwnck")
(version "2.30.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
(propagated-inputs
`(("gtk+" ,gtk+-2)
("libxres" ,libxres)
("startup-notification" ,startup-notification)))))
(define-public goffice
(package

View File

@ -103,14 +103,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.37")
(version "0.9.38")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357"))))
"08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)

View File

@ -39,7 +39,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
(version "1.13")
(version "1.17")
(source
(origin
(method url-fetch)
@ -47,7 +47,7 @@
version ".tar.bz2"))
(sha256
(base32
"02lv5h865f8if391xjp3njg04k0l4x2pwjkcdbzcwilail1skazq"))))
"1dapxzxl1naghf342fwfc2w2f2c5hb9gr1a1s4n8dsqn26kybx1z"))))
(build-system gnu-build-system)
(home-page "http://gnupg.org")
(synopsis "Library of error values for GnuPG components")
@ -132,7 +132,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
(version "1.3.0")
(version "1.3.2")
(source
(origin
(method url-fetch)
@ -141,7 +141,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
"0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas"))))
"01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))

View File

@ -36,7 +36,7 @@
(define-public libtasn1
(package
(name "libtasn1")
(version "4.1")
(version "4.2")
(source
(origin
(method url-fetch)
@ -44,7 +44,7 @@
version ".tar.gz"))
(sha256
(base32
"00gkyppzw6fqi5mnc3d8paf7bp6nfhi9213481awy07sviqnbvk0"))))
"1fydwh5hlnmprdzmzn4kiqb939br59qv1001k7ah5b626v5l2fv9"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)

View File

@ -48,13 +48,13 @@
(define-public gss
(package
(name "gss")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gss/gss-" version
".tar.gz"))
(sha256 (base32
"1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9"))))
"1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz"))))
(build-system gnu-build-system)
(inputs `(("nettle" ,nettle)
("shishi" ,shishi)

View File

@ -25,6 +25,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
@ -38,7 +39,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages guile)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg))
(define-public atk
(package
@ -272,10 +274,11 @@ printing and other features typical of a source code editor.")
(base32
"05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"))))
(build-system gnu-build-system)
(inputs
(propagated-inputs ; required by gdk-pixbuf-2.0.pc
`(("glib" ,glib)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libpng" ,libpng)))
(inputs
`(("libjpeg" ,libjpeg)
("libtiff" ,libtiff)))
(native-inputs
`(("pkg-config" ,pkg-config)
@ -634,3 +637,109 @@ extensive documentation, including API reference and a tutorial.")
("atkmm" ,atkmm)
("gtk+" ,gtk+-2)
("glibmm" ,glibmm)))))
(define-public python-pycairo
(package
(name "python-pycairo")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/pycairo-"
version ".tar.bz2"))
(sha256
(base32
"1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs ;pycairo.pc references cairo
`(("cairo" ,cairo)))
(arguments
`(#:tests? #f
#:phases (alist-cons-before
'build 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./waf" "configure"
(string-append "--prefix="
(assoc-ref outputs "out")))))
(alist-replace
'build
(lambda _
(zero? (system* "./waf" "build")))
(alist-replace
'install
(lambda _
(zero? (system* "./waf" "install")))
%standard-phases)))))
(home-page "http://cairographics.org/pycairo/")
(synopsis "Python bindings for cairo")
(description
"Pycairo is a set of Python bindings for the Cairo graphics library.")
(license license:lgpl3+)))
(define-public python2-py2cairo
(package (inherit python-pycairo)
(name "python2-py2cairo")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/py2cairo-"
version ".tar.bz2"))
(sha256
(base32
"0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
(arguments
`(#:python ,python-2
,@(package-arguments python-pycairo)))
;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
(license (list license:lgpl2.1 license:mpl1.1))))
(define-public python2-pygtk
(package
(name "python2-pygtk")
(version "2.24.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.gnome.org/pub/GNOME/sources"
"/pygtk/" (version-major+minor version)
"/pygtk-" version ".tar.bz2"))
(sha256
(base32
"04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python-2)
("glib" ,glib)))
(propagated-inputs
`(("python-pycairo" ,python2-py2cairo) ;loaded at runtime
("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
("gtk+" ,gtk+-2)))
(arguments
`(#:tests? #f
#:phases (alist-cons-after
'install 'install-pth
(lambda* (#:key inputs outputs #:allow-other-keys)
;; pygtk's modules are stored in a subdirectory of python's
;; site-packages directory. Add a .pth file so that python
;; will add that subdirectory to its module search path.
(let* ((out (assoc-ref outputs "out"))
(site (string-append out "/lib/python"
,(version-major+minor
(package-version python-2))
"/site-packages")))
(call-with-output-file (string-append site "/pygtk.pth")
(lambda (port)
(format port "gtk-2.0~%")))))
%standard-phases)))
(home-page "http://www.pygtk.org/")
(synopsis "Python bindings for GTK+")
(description
"PyGTK allows you to write full featured GTK programs in Python. It is
targetted at GTK 2.x, and can be used in conjunction with gnome-python to
write GNOME applications.")
(license license:lgpl2.1+)))

View File

@ -1,11 +1,12 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.17.0-gnu Kernel Configuration
# Linux/x86 3.18.0-gnu Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
@ -127,6 +128,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
@ -139,7 +141,6 @@ CONFIG_RCU_FAST_NO_HZ=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
@ -184,6 +185,7 @@ CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_SGETMASK_SYSCALL=y
@ -201,8 +203,10 @@ CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@ -289,6 +293,7 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
@ -361,12 +366,15 @@ CONFIG_FREEZER=y
#
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_MID=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_IOSF_MBI=m
CONFIG_IOSF_MBI_DEBUG=y
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_32_NON_STANDARD is not set
CONFIG_X86_32_IRIS=m
@ -499,6 +507,7 @@ CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
@ -803,7 +812,6 @@ CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_IOSF_MBI=m
CONFIG_PMC_ATOM=y
CONFIG_NET=y
@ -847,6 +855,8 @@ CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
CONFIG_GENEVE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@ -872,6 +882,7 @@ CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
@ -908,7 +919,7 @@ CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=m
#
# Core Netfilter Configuration
@ -967,6 +978,7 @@ CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@ -1070,6 +1082,7 @@ CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
@ -1098,6 +1111,7 @@ CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@ -1126,10 +1140,13 @@ CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@ -1163,10 +1180,13 @@ CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@ -1266,6 +1286,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
@ -1373,6 +1394,7 @@ CONFIG_BATMAN_ADV_MCAST=y
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
@ -1447,6 +1469,7 @@ CONFIG_CAN_TSCAN1=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_M_CAN=m
CONFIG_CAN_CC770=m
CONFIG_CAN_CC770_ISA=m
CONFIG_CAN_CC770_PLATFORM=m
@ -1657,6 +1680,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
@ -1784,6 +1808,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m
CONFIG_MTD_NAND_DENALI_DT=m
CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=m
CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_DISKONCHIP=m
@ -1807,6 +1832,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
@ -1979,6 +2005,7 @@ CONFIG_VMWARE_VMCI=m
# Intel MIC Card Driver
#
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@ -1990,6 +2017,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_MQ_DEFAULT is not set
CONFIG_SCSI_PROC_FS=y
#
@ -2077,6 +2105,7 @@ CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
CONFIG_VMWARE_PVSCSI=m
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_HYPERV_STORAGE=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
@ -2295,6 +2324,7 @@ CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
@ -2422,6 +2452,8 @@ CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
@ -2433,6 +2465,8 @@ CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_AGERE=y
CONFIG_ET131X=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
@ -2523,6 +2557,8 @@ CONFIG_I40E=m
CONFIG_I40E_VXLAN=y
CONFIG_I40E_DCB=y
CONFIG_I40EVF=m
CONFIG_FM10K=m
CONFIG_FM10K_VXLAN=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_IP1000=m
CONFIG_JME=m
@ -2579,6 +2615,7 @@ CONFIG_QLCNIC_VXLAN=y
CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=m
CONFIG_8139CP=m
@ -2668,6 +2705,7 @@ CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MICREL_KS8995MA=m
CONFIG_PLIP=m
CONFIG_PPP=y
@ -2764,8 +2802,10 @@ CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_STATION_STATISTICS=y
# CONFIG_ATH9K_DYNACK is not set
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_CARL9170=m
@ -2852,6 +2892,7 @@ CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
CONFIG_IWLWIFI_UAPSD=y
#
# Debugging Options
@ -2926,6 +2967,8 @@ CONFIG_RTL8192DE=m
CONFIG_RTL8723AE=m
CONFIG_RTL8723BE=m
CONFIG_RTL8188EE=m
CONFIG_RTL8192EE=m
CONFIG_RTL8821AE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_PCI=m
@ -3346,6 +3389,7 @@ CONFIG_INPUT_AD714X_SPI=m
CONFIG_INPUT_ARIZONA_HAPTICS=m
CONFIG_INPUT_BMA150=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MAX77693_HAPTIC=m
CONFIG_INPUT_MAX8925_ONKEY=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
@ -3369,6 +3413,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m
CONFIG_INPUT_TWL4030_VIBRA=m
CONFIG_INPUT_TWL6040_VIBRA=m
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_PALMAS_PWRBUTTON=m
CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCF8574=m
CONFIG_INPUT_PWM_BEEPER=m
@ -3386,6 +3431,8 @@ CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_DRV260X_HAPTICS=m
CONFIG_INPUT_DRV2667_HAPTICS=m
#
# Hardware I/O ports
@ -3464,6 +3511,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DW=m
CONFIG_SERIAL_8250_FINTEK=m
#
# Non-8250 serial port support
@ -3553,6 +3601,8 @@ CONFIG_TCG_ST33_I2C=m
CONFIG_TCG_XEN=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m
#
# I2C support
@ -3736,6 +3786,7 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_GENERIC_PLATFORM=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_F7188X=m
CONFIG_GPIO_SCH311X=m
@ -3781,6 +3832,7 @@ CONFIG_GPIO_RDC321X=m
# SPI GPIO expanders:
#
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MC33880=m
#
@ -3954,6 +4006,7 @@ CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_HTU21=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MENF21BMC_HWMON=m
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
@ -4046,12 +4099,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_EMULATION=y
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_ACPI_INT3403_THERMAL=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
#
# Texas Instruments thermal drivers
@ -4066,10 +4121,13 @@ CONFIG_WATCHDOG_CORE=y
CONFIG_SOFT_WATCHDOG=m
CONFIG_DA9052_WATCHDOG=m
CONFIG_DA9055_WATCHDOG=m
CONFIG_DA9063_WATCHDOG=m
CONFIG_MENF21BMC_WATCHDOG=m
CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
CONFIG_RN5T618_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
CONFIG_RETU_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
@ -4203,6 +4261,7 @@ CONFIG_MFD_MAX8907=m
CONFIG_MFD_MAX8925=y
CONFIG_MFD_MAX8997=y
CONFIG_MFD_MAX8998=y
CONFIG_MFD_MENF21BMC=m
CONFIG_EZX_PCAP=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_RETU=m
@ -4214,6 +4273,7 @@ CONFIG_MFD_RDC321X=m
CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_RC5T583=y
CONFIG_MFD_RN5T618=m
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
@ -4285,6 +4345,7 @@ CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_ISL9305=m
CONFIG_REGULATOR_ISL6271A=m
CONFIG_REGULATOR_LP3971=m
CONFIG_REGULATOR_LP3972=m
@ -4304,6 +4365,7 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MAX8998=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77693=m
CONFIG_REGULATOR_MAX77802=m
CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
@ -4311,7 +4373,9 @@ CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_RC5T583=m
CONFIG_REGULATOR_RN5T618=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
CONFIG_REGULATOR_S5M8767=m
@ -4388,6 +4452,7 @@ CONFIG_IR_XMP_DECODER=m
CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
CONFIG_IR_ENE=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
@ -4547,11 +4612,13 @@ CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_USB_DVBSKY=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_AS102=m
#
# Webcam, TV (analog/digital) USB devices
@ -4565,8 +4632,9 @@ CONFIG_VIDEO_EM28XX_RC=m
#
# Software defined radio USB devices
#
CONFIG_USB_MSI2500=m
CONFIG_USB_AIRSPY=m
CONFIG_USB_HACKRF=m
CONFIG_USB_MSI2500=m
CONFIG_MEDIA_PCI_SUPPORT=y
#
@ -4592,6 +4660,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_SOLO6X10=m
CONFIG_VIDEO_TW68=m
#
# Media capture/analog/hybrid TV support
@ -4615,11 +4684,13 @@ CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7134_GO7007=m
CONFIG_VIDEO_SAA7164=m
#
# Media digital TV PCI Adapters
#
CONFIG_DVB_AV7110_IR=y
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
@ -4632,6 +4703,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_PLUTO2=m
CONFIG_DVB_DM1105=m
CONFIG_DVB_PT1=m
CONFIG_DVB_PT3=m
CONFIG_MANTIS_CORE=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
@ -4646,9 +4718,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_VIDEO_RENESAS_VSP1=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_MEM2MEM_TESTDEV=m
#
@ -4865,6 +4936,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_R820T=m
CONFIG_MEDIA_TUNER_MXL301RF=m
CONFIG_MEDIA_TUNER_QM1D1C0042=m
#
# Multistandard (satellite) frontends
@ -4938,6 +5011,7 @@ CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
CONFIG_DVB_SI2168=m
CONFIG_DVB_AS102_FE=m
#
# DVB-C (cable) frontends
@ -4969,6 +5043,7 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
CONFIG_DVB_TC90522=m
#
# Digital terrestrial only tuners/PLL
@ -5022,7 +5097,6 @@ CONFIG_VGA_SWITCHEROO=y
# Direct Rendering Manager
#
CONFIG_DRM=m
CONFIG_DRM_USB=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@ -5063,13 +5137,14 @@ CONFIG_DRM_AST=m
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
CONFIG_DRM_BOCHS=m
# CONFIG_DRM_BOCHS is not set
#
# Frame buffer Devices
#
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
@ -5243,7 +5318,7 @@ CONFIG_LOGO=y
CONFIG_LOGO_LIBRE_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
@ -5494,6 +5569,7 @@ CONFIG_SND_SOC_AK4554=m
CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_CS35L32=m
CONFIG_SND_SOC_CS42L52=m
CONFIG_SND_SOC_CS42L56=m
CONFIG_SND_SOC_CS42L73=m
@ -5503,6 +5579,7 @@ CONFIG_SND_SOC_CS4271=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ES8328=m
CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM1792A=m
@ -5519,6 +5596,10 @@ CONFIG_SND_SOC_SIGMADSP_I2C=m
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
CONFIG_SND_SOC_SN95031=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM2602=m
CONFIG_SND_SOC_SSM2602_SPI=m
CONFIG_SND_SOC_SSM2602_I2C=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA350=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
@ -5539,6 +5620,7 @@ CONFIG_SND_SOC_WM8776=m
CONFIG_SND_SOC_WM8804=m
CONFIG_SND_SOC_WM8903=m
CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SIMPLE_CARD=m
# CONFIG_SOUND_PRIME is not set
@ -5601,6 +5683,7 @@ CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
@ -5679,6 +5762,7 @@ CONFIG_USB_WUSB_CBAF=m
#
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
@ -5701,13 +5785,11 @@ CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_RENESAS_USBHS_HCD=m
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_HCD_BCMA=m
CONFIG_USB_HCD_SSB=m
# CONFIG_USB_HCD_TEST_MODE is not set
CONFIG_USB_RENESAS_USBHS=m
#
# USB Device Class drivers
@ -5857,7 +5939,6 @@ CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_XSENS_MT=m
CONFIG_USB_SERIAL_WISHBONE=m
CONFIG_USB_SERIAL_ZTE=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_DEBUG=m
@ -5901,9 +5982,6 @@ CONFIG_USB_XUSBATM=m
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_SAMSUNG_USBPHY=m
CONFIG_SAMSUNG_USB2PHY=m
CONFIG_SAMSUNG_USB3PHY=m
CONFIG_USB_GPIO_VBUS=m
CONFIG_TAHVO_USB=m
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
@ -5921,7 +5999,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_USB_FOTG210_UDC=m
CONFIG_USB_GR_UDC=m
CONFIG_USB_R8A66597=m
CONFIG_USB_RENESAS_USBHS_UDC=m
CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
@ -5948,6 +6025,8 @@ CONFIG_USB_F_SUBSET=m
CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UVC=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
@ -5988,6 +6067,7 @@ CONFIG_USB_G_DBGP=m
# CONFIG_USB_G_DBGP_PRINTK is not set
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_USB_G_WEBCAM=m
CONFIG_USB_LED_TRIG=y
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@ -6085,6 +6165,7 @@ CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_MAX8997=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_OT200=m
CONFIG_LEDS_MENF21BMC=m
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@ -6188,6 +6269,7 @@ CONFIG_RTC_DRV_MAX8925=m
CONFIG_RTC_DRV_MAX8998=m
CONFIG_RTC_DRV_MAX8997=m
CONFIG_RTC_DRV_MAX77686=m
CONFIG_RTC_DRV_MAX77802=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_ISL12022=m
@ -6245,7 +6327,6 @@ CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_DA9052=m
CONFIG_RTC_DRV_DA9055=m
CONFIG_RTC_DRV_DA9063=m
CONFIG_RTC_DRV_EFI=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
@ -6348,11 +6429,11 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_STAGING=y
CONFIG_ET131X=m
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
@ -6360,12 +6441,10 @@ CONFIG_COMEDI=m
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
CONFIG_COMEDI_MISC_DRIVERS=y
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_BOND=m
CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
CONFIG_COMEDI_SKEL=m
CONFIG_COMEDI_SSV_DNP=m
CONFIG_COMEDI_ISA_DRIVERS=y
CONFIG_COMEDI_PCL711=m
@ -6480,12 +6559,13 @@ CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
CONFIG_COMEDI_8255=m
CONFIG_COMEDI_FC=m
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_DAS08=m
@ -6505,13 +6585,10 @@ CONFIG_RTL8192E=m
CONFIG_R8712U=m
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_R8192EE=m
CONFIG_R8723AU=m
CONFIG_8723AU_AP_MODE=y
CONFIG_8723AU_BT_COEXIST=y
CONFIG_R8821AE=m
CONFIG_RTS5208=m
# CONFIG_RTS5208_DEBUG is not set
CONFIG_LINE6_USB=m
# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
CONFIG_VT6655=m
@ -6561,13 +6638,8 @@ CONFIG_AD7746=m
#
# Direct Digital Synthesis
#
CONFIG_AD5930=m
CONFIG_AD9832=m
CONFIG_AD9834=m
CONFIG_AD9850=m
CONFIG_AD9852=m
CONFIG_AD9910=m
CONFIG_AD9951=m
#
# Digital gyroscope sensors
@ -6647,7 +6719,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m
CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
CONFIG_STAGING_MEDIA=y
CONFIG_DVB_AS102=m
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
CONFIG_VIDEO_DT3155=m
@ -6691,8 +6762,6 @@ CONFIG_LNET=m
CONFIG_LNET_MAX_PAYLOAD=1048576
CONFIG_LNET_SELFTEST=m
CONFIG_LNET_XPRT_IB=m
CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m
CONFIG_DGNC=m
CONFIG_DGAP=m
CONFIG_GS_FPGABOOT=m
@ -6761,6 +6830,7 @@ CONFIG_CHROMEOS_PSTORE=m
#
# SOC (System On Chip) specific Drivers
#
CONFIG_SOC_TI=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@ -6769,11 +6839,14 @@ CONFIG_COMMON_CLK=y
# Common Clock Framework
#
CONFIG_COMMON_CLK_WM831X=m
CONFIG_COMMON_CLK_MAX_GEN=y
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_S2MPS11=m
CONFIG_CLK_TWL6040=m
CONFIG_COMMON_CLK_PALMAS=m
# CONFIG_COMMON_CLK_PXA is not set
#
# Hardware Spinlock drivers
@ -6787,6 +6860,7 @@ CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_DW_APB_TIMER=y
# CONFIG_ATMEL_PIT is not set
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
@ -6808,6 +6882,10 @@ CONFIG_STE_MODEM_RPROC=m
#
# Rpmsg drivers
#
#
# SOC (System On Chip) specific Drivers
#
CONFIG_PM_DEVFREQ=y
#
@ -6833,6 +6911,7 @@ CONFIG_EXTCON_MAX14577=m
CONFIG_EXTCON_MAX77693=m
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
CONFIG_EXTCON_RT8973A=m
CONFIG_EXTCON_SM5502=m
CONFIG_MEMORY=y
CONFIG_IIO=m
@ -6847,6 +6926,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# Accelerometers
#
CONFIG_BMA180=m
CONFIG_BMC150_ACCEL=m
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
@ -6876,6 +6956,7 @@ CONFIG_MCP3422=m
CONFIG_MEN_Z188_ADC=m
CONFIG_NAU7802=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC128S052=m
CONFIG_TI_AM335X_ADC=m
CONFIG_TWL4030_MADC=m
CONFIG_TWL6030_GPADC=m
@ -6937,6 +7018,7 @@ CONFIG_ADIS16130=m
CONFIG_ADIS16136=m
CONFIG_ADIS16260=m
CONFIG_ADXRS450=m
CONFIG_BMG160=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
@ -6962,6 +7044,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y
# Light sensors
#
CONFIG_ADJD_S311=m
CONFIG_AL3320A=m
CONFIG_APDS9300=m
CONFIG_CM32181=m
CONFIG_CM36651=m
@ -7044,6 +7127,8 @@ CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
CONFIG_PWM_LP3943=m
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
CONFIG_PWM_LPSS_PLATFORM=m
CONFIG_PWM_TWL=m
CONFIG_PWM_TWL_LED=m
CONFIG_IPACK_BUS=m
@ -7162,6 +7247,7 @@ CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=y
CONFIG_CUSE=m
CONFIG_OVERLAY_FS=m
#
# Caches
@ -7317,6 +7403,7 @@ CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
@ -7488,6 +7575,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_TIMER_STATS=y
#
@ -7592,7 +7680,7 @@ CONFIG_TEST_KSTRTOX=m
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
CONFIG_TEST_MODULE=m
CONFIG_TEST_LKM=m
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
CONFIG_TEST_FIRMWARE=m
@ -7663,6 +7751,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
CONFIG_SECURITY_SMACK=y
# CONFIG_SECURITY_SMACK_BRINGUP is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
@ -7676,8 +7765,8 @@ CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
@ -7693,10 +7782,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1"
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_TRUSTED_KEYRING=y
CONFIG_EVM=y
#
# EVM options
#
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_EXTRA_SMACK_XATTRS=y
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
@ -7738,6 +7823,7 @@ CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m

View File

@ -1,11 +1,12 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.17.0-gnu Kernel Configuration
# Linux/x86 3.18.0-gnu Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
@ -132,6 +133,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_RCU_USER_QS=y
@ -152,8 +154,6 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
CONFIG_ARCH_USES_NUMA_PROT_NONE=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
CONFIG_CGROUPS=y
@ -200,6 +200,7 @@ CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_SGETMASK_SYSCALL=y
@ -217,8 +218,10 @@ CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@ -309,6 +312,7 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
@ -381,6 +385,7 @@ CONFIG_FREEZER=y
#
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
@ -389,6 +394,8 @@ CONFIG_X86_NUMACHIP=y
# CONFIG_X86_UV is not set
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_LPSS=y
CONFIG_IOSF_MBI=m
CONFIG_IOSF_MBI_DEBUG=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
@ -496,6 +503,7 @@ CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
@ -782,7 +790,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_IOSF_MBI=m
CONFIG_PMC_ATOM=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
@ -827,6 +834,8 @@ CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
CONFIG_GENEVE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@ -852,6 +861,7 @@ CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
@ -888,7 +898,7 @@ CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=m
#
# Core Netfilter Configuration
@ -947,6 +957,7 @@ CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@ -1050,6 +1061,7 @@ CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
@ -1078,6 +1090,7 @@ CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@ -1106,10 +1119,13 @@ CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@ -1143,10 +1159,13 @@ CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@ -1246,6 +1265,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
@ -1349,6 +1369,7 @@ CONFIG_BATMAN_ADV_MCAST=y
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
@ -1418,6 +1439,7 @@ CONFIG_CAN_PLX_PCI=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_M_CAN=m
CONFIG_CAN_CC770=m
CONFIG_CAN_CC770_ISA=m
CONFIG_CAN_CC770_PLATFORM=m
@ -1628,6 +1650,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
@ -1754,6 +1777,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m
CONFIG_MTD_NAND_DENALI_DT=m
CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=m
CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_DISKONCHIP=m
@ -1776,6 +1800,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
@ -1947,6 +1972,7 @@ CONFIG_INTEL_MIC_CARD=m
CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@ -1958,6 +1984,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_MQ_DEFAULT is not set
CONFIG_SCSI_PROC_FS=y
#
@ -2040,6 +2067,7 @@ CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
CONFIG_VMWARE_PVSCSI=m
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_HYPERV_STORAGE=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
@ -2233,6 +2261,7 @@ CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
@ -2359,6 +2388,8 @@ CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
@ -2368,6 +2399,8 @@ CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_AGERE=y
CONFIG_ET131X=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
@ -2453,6 +2486,8 @@ CONFIG_I40E=m
CONFIG_I40E_VXLAN=y
CONFIG_I40E_DCB=y
CONFIG_I40EVF=m
CONFIG_FM10K=m
CONFIG_FM10K_VXLAN=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_IP1000=m
CONFIG_JME=m
@ -2505,6 +2540,7 @@ CONFIG_QLCNIC_VXLAN=y
CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=m
CONFIG_8139CP=m
@ -2593,6 +2629,7 @@ CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MICREL_KS8995MA=m
CONFIG_PLIP=m
CONFIG_PPP=y
@ -2689,8 +2726,10 @@ CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_STATION_STATISTICS=y
# CONFIG_ATH9K_DYNACK is not set
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_CARL9170=m
@ -2777,6 +2816,7 @@ CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
CONFIG_IWLWIFI_UAPSD=y
#
# Debugging Options
@ -2851,6 +2891,8 @@ CONFIG_RTL8192DE=m
CONFIG_RTL8723AE=m
CONFIG_RTL8723BE=m
CONFIG_RTL8188EE=m
CONFIG_RTL8192EE=m
CONFIG_RTL8821AE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_PCI=m
@ -3244,6 +3286,7 @@ CONFIG_INPUT_AD714X_SPI=m
CONFIG_INPUT_ARIZONA_HAPTICS=m
CONFIG_INPUT_BMA150=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MAX77693_HAPTIC=m
CONFIG_INPUT_MAX8925_ONKEY=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
@ -3266,6 +3309,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m
CONFIG_INPUT_TWL4030_VIBRA=m
CONFIG_INPUT_TWL6040_VIBRA=m
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_PALMAS_PWRBUTTON=m
CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCF8574=m
CONFIG_INPUT_PWM_BEEPER=m
@ -3283,6 +3327,8 @@ CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_DRV260X_HAPTICS=m
CONFIG_INPUT_DRV2667_HAPTICS=m
#
# Hardware I/O ports
@ -3356,6 +3402,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DW=m
CONFIG_SERIAL_8250_FINTEK=m
#
# Non-8250 serial port support
@ -3436,6 +3483,8 @@ CONFIG_TCG_ST33_I2C=m
CONFIG_TCG_XEN=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m
#
# I2C support
@ -3614,6 +3663,7 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_GENERIC_PLATFORM=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_F7188X=m
CONFIG_GPIO_SCH311X=m
@ -3656,6 +3706,7 @@ CONFIG_GPIO_RDC321X=m
# SPI GPIO expanders:
#
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MC33880=m
#
@ -3827,6 +3878,7 @@ CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_HTU21=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MENF21BMC_HWMON=m
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
@ -3919,12 +3971,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_EMULATION=y
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_ACPI_INT3403_THERMAL=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
#
# Texas Instruments thermal drivers
@ -3939,10 +3993,13 @@ CONFIG_WATCHDOG_CORE=y
CONFIG_SOFT_WATCHDOG=m
CONFIG_DA9052_WATCHDOG=m
CONFIG_DA9055_WATCHDOG=m
CONFIG_DA9063_WATCHDOG=m
CONFIG_MENF21BMC_WATCHDOG=m
CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
CONFIG_RN5T618_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
CONFIG_RETU_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
@ -4062,6 +4119,7 @@ CONFIG_MFD_MAX8907=m
CONFIG_MFD_MAX8925=y
CONFIG_MFD_MAX8997=y
CONFIG_MFD_MAX8998=y
CONFIG_MFD_MENF21BMC=m
CONFIG_EZX_PCAP=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_RETU=m
@ -4073,6 +4131,7 @@ CONFIG_MFD_RDC321X=m
CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_RC5T583=y
CONFIG_MFD_RN5T618=m
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
@ -4143,6 +4202,7 @@ CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_ISL9305=m
CONFIG_REGULATOR_ISL6271A=m
CONFIG_REGULATOR_LP3971=m
CONFIG_REGULATOR_LP3972=m
@ -4162,6 +4222,7 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MAX8998=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77693=m
CONFIG_REGULATOR_MAX77802=m
CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
@ -4169,7 +4230,9 @@ CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_RC5T583=m
CONFIG_REGULATOR_RN5T618=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
CONFIG_REGULATOR_S5M8767=m
@ -4245,6 +4308,7 @@ CONFIG_IR_XMP_DECODER=m
CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
CONFIG_IR_ENE=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
@ -4404,11 +4468,13 @@ CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_USB_DVBSKY=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_AS102=m
#
# Webcam, TV (analog/digital) USB devices
@ -4422,8 +4488,9 @@ CONFIG_VIDEO_EM28XX_RC=m
#
# Software defined radio USB devices
#
CONFIG_USB_MSI2500=m
CONFIG_USB_AIRSPY=m
CONFIG_USB_HACKRF=m
CONFIG_USB_MSI2500=m
CONFIG_MEDIA_PCI_SUPPORT=y
#
@ -4449,6 +4516,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_SOLO6X10=m
CONFIG_VIDEO_TW68=m
#
# Media capture/analog/hybrid TV support
@ -4472,11 +4540,13 @@ CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7134_GO7007=m
CONFIG_VIDEO_SAA7164=m
#
# Media digital TV PCI Adapters
#
CONFIG_DVB_AV7110_IR=y
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
@ -4489,6 +4559,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_PLUTO2=m
CONFIG_DVB_DM1105=m
CONFIG_DVB_PT1=m
CONFIG_DVB_PT3=m
CONFIG_MANTIS_CORE=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
@ -4502,9 +4573,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_VIDEO_RENESAS_VSP1=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_MEM2MEM_TESTDEV=m
#
@ -4704,6 +4774,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_R820T=m
CONFIG_MEDIA_TUNER_MXL301RF=m
CONFIG_MEDIA_TUNER_QM1D1C0042=m
#
# Multistandard (satellite) frontends
@ -4777,6 +4849,7 @@ CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
CONFIG_DVB_SI2168=m
CONFIG_DVB_AS102_FE=m
#
# DVB-C (cable) frontends
@ -4808,6 +4881,7 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
CONFIG_DVB_TC90522=m
#
# Digital terrestrial only tuners/PLL
@ -4855,7 +4929,6 @@ CONFIG_VGA_SWITCHEROO=y
# Direct Rendering Manager
#
CONFIG_DRM=m
CONFIG_DRM_USB=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@ -4895,13 +4968,14 @@ CONFIG_DRM_AST=m
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
CONFIG_DRM_BOCHS=m
# CONFIG_DRM_BOCHS is not set
#
# Frame buffer Devices
#
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
@ -5068,7 +5142,7 @@ CONFIG_LOGO=y
CONFIG_LOGO_LIBRE_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
@ -5276,6 +5350,7 @@ CONFIG_SND_SOC_AK4554=m
CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_CS35L32=m
CONFIG_SND_SOC_CS42L52=m
CONFIG_SND_SOC_CS42L56=m
CONFIG_SND_SOC_CS42L73=m
@ -5285,6 +5360,7 @@ CONFIG_SND_SOC_CS4271=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ES8328=m
CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM1792A=m
@ -5300,6 +5376,10 @@ CONFIG_SND_SOC_SIGMADSP=m
CONFIG_SND_SOC_SIGMADSP_I2C=m
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM2602=m
CONFIG_SND_SOC_SSM2602_SPI=m
CONFIG_SND_SOC_SSM2602_I2C=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA350=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
@ -5320,6 +5400,7 @@ CONFIG_SND_SOC_WM8776=m
CONFIG_SND_SOC_WM8804=m
CONFIG_SND_SOC_WM8903=m
CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SIMPLE_CARD=m
# CONFIG_SOUND_PRIME is not set
@ -5382,6 +5463,7 @@ CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
@ -5460,6 +5542,7 @@ CONFIG_USB_WUSB_CBAF=m
#
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
@ -5482,13 +5565,11 @@ CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_RENESAS_USBHS_HCD=m
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_HCD_BCMA=m
CONFIG_USB_HCD_SSB=m
# CONFIG_USB_HCD_TEST_MODE is not set
CONFIG_USB_RENESAS_USBHS=m
#
# USB Device Class drivers
@ -5638,7 +5719,6 @@ CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_XSENS_MT=m
CONFIG_USB_SERIAL_WISHBONE=m
CONFIG_USB_SERIAL_ZTE=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_DEBUG=m
@ -5682,9 +5762,6 @@ CONFIG_USB_XUSBATM=m
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_SAMSUNG_USBPHY=m
CONFIG_SAMSUNG_USB2PHY=m
CONFIG_SAMSUNG_USB3PHY=m
CONFIG_USB_GPIO_VBUS=m
CONFIG_TAHVO_USB=m
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
@ -5702,7 +5779,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_USB_FOTG210_UDC=m
CONFIG_USB_GR_UDC=m
CONFIG_USB_R8A66597=m
CONFIG_USB_RENESAS_USBHS_UDC=m
CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
@ -5729,6 +5805,8 @@ CONFIG_USB_F_SUBSET=m
CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UVC=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
@ -5769,6 +5847,7 @@ CONFIG_USB_G_DBGP=m
# CONFIG_USB_G_DBGP_PRINTK is not set
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_USB_G_WEBCAM=m
CONFIG_USB_LED_TRIG=y
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@ -5864,6 +5943,7 @@ CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_MAX8997=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_MENF21BMC=m
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@ -5968,6 +6048,7 @@ CONFIG_RTC_DRV_MAX8925=m
CONFIG_RTC_DRV_MAX8998=m
CONFIG_RTC_DRV_MAX8997=m
CONFIG_RTC_DRV_MAX77686=m
CONFIG_RTC_DRV_MAX77802=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_ISL12022=m
@ -6024,7 +6105,6 @@ CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_DA9052=m
CONFIG_RTC_DRV_DA9055=m
CONFIG_RTC_DRV_DA9063=m
CONFIG_RTC_DRV_EFI=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
@ -6126,13 +6206,13 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_STAGING=y
CONFIG_ET131X=m
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
@ -6140,12 +6220,10 @@ CONFIG_COMEDI=m
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
CONFIG_COMEDI_MISC_DRIVERS=y
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_BOND=m
CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
CONFIG_COMEDI_SKEL=m
CONFIG_COMEDI_ISA_DRIVERS=y
CONFIG_COMEDI_PCL711=m
CONFIG_COMEDI_PCL724=m
@ -6259,12 +6337,13 @@ CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
CONFIG_COMEDI_8255=m
CONFIG_COMEDI_FC=m
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_DAS08=m
@ -6284,13 +6363,10 @@ CONFIG_RTL8192E=m
CONFIG_R8712U=m
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_R8192EE=m
CONFIG_R8723AU=m
CONFIG_8723AU_AP_MODE=y
CONFIG_8723AU_BT_COEXIST=y
CONFIG_R8821AE=m
CONFIG_RTS5208=m
# CONFIG_RTS5208_DEBUG is not set
CONFIG_LINE6_USB=m
# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
CONFIG_VT6655=m
@ -6340,13 +6416,8 @@ CONFIG_AD7746=m
#
# Direct Digital Synthesis
#
CONFIG_AD5930=m
CONFIG_AD9832=m
CONFIG_AD9834=m
CONFIG_AD9850=m
CONFIG_AD9852=m
CONFIG_AD9910=m
CONFIG_AD9951=m
#
# Digital gyroscope sensors
@ -6422,7 +6493,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m
CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
CONFIG_STAGING_MEDIA=y
CONFIG_DVB_AS102=m
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
CONFIG_VIDEO_DT3155=m
@ -6466,8 +6536,6 @@ CONFIG_LNET=m
CONFIG_LNET_MAX_PAYLOAD=1048576
CONFIG_LNET_SELFTEST=m
CONFIG_LNET_XPRT_IB=m
CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m
CONFIG_DGNC=m
CONFIG_DGAP=m
CONFIG_GS_FPGABOOT=m
@ -6540,6 +6608,7 @@ CONFIG_CHROMEOS_PSTORE=m
#
# SOC (System On Chip) specific Drivers
#
CONFIG_SOC_TI=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@ -6548,11 +6617,14 @@ CONFIG_COMMON_CLK=y
# Common Clock Framework
#
CONFIG_COMMON_CLK_WM831X=m
CONFIG_COMMON_CLK_MAX_GEN=y
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_S2MPS11=m
CONFIG_CLK_TWL6040=m
CONFIG_COMMON_CLK_PALMAS=m
# CONFIG_COMMON_CLK_PXA is not set
#
# Hardware Spinlock drivers
@ -6564,6 +6636,7 @@ CONFIG_COMMON_CLK_PALMAS=m
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# CONFIG_ATMEL_PIT is not set
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
@ -6589,6 +6662,10 @@ CONFIG_STE_MODEM_RPROC=m
#
# Rpmsg drivers
#
#
# SOC (System On Chip) specific Drivers
#
CONFIG_PM_DEVFREQ=y
#
@ -6614,6 +6691,7 @@ CONFIG_EXTCON_MAX14577=m
CONFIG_EXTCON_MAX77693=m
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
CONFIG_EXTCON_RT8973A=m
CONFIG_EXTCON_SM5502=m
CONFIG_MEMORY=y
CONFIG_IIO=m
@ -6628,6 +6706,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# Accelerometers
#
CONFIG_BMA180=m
CONFIG_BMC150_ACCEL=m
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
@ -6657,6 +6736,7 @@ CONFIG_MCP3422=m
CONFIG_MEN_Z188_ADC=m
CONFIG_NAU7802=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC128S052=m
CONFIG_TI_AM335X_ADC=m
CONFIG_TWL4030_MADC=m
CONFIG_TWL6030_GPADC=m
@ -6718,6 +6798,7 @@ CONFIG_ADIS16130=m
CONFIG_ADIS16136=m
CONFIG_ADIS16260=m
CONFIG_ADXRS450=m
CONFIG_BMG160=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
@ -6743,6 +6824,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y
# Light sensors
#
CONFIG_ADJD_S311=m
CONFIG_AL3320A=m
CONFIG_APDS9300=m
CONFIG_CM32181=m
CONFIG_CM36651=m
@ -6825,6 +6907,8 @@ CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
CONFIG_PWM_LP3943=m
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
CONFIG_PWM_LPSS_PLATFORM=m
CONFIG_PWM_TWL=m
CONFIG_PWM_TWL_LED=m
CONFIG_IPACK_BUS=m
@ -6944,6 +7028,7 @@ CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=y
CONFIG_CUSE=m
CONFIG_OVERLAY_FS=m
#
# Caches
@ -7099,6 +7184,7 @@ CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
@ -7269,6 +7355,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_TIMER_STATS=y
#
@ -7374,7 +7461,7 @@ CONFIG_TEST_KSTRTOX=m
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
CONFIG_TEST_MODULE=m
CONFIG_TEST_LKM=m
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
CONFIG_TEST_FIRMWARE=m
@ -7445,6 +7532,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
CONFIG_SECURITY_SMACK=y
# CONFIG_SECURITY_SMACK_BRINGUP is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
@ -7458,8 +7546,8 @@ CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
@ -7475,10 +7563,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1"
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_TRUSTED_KEYRING=y
CONFIG_EVM=y
#
# EVM options
#
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_EXTRA_SMACK_XATTRS=y
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
@ -7520,6 +7604,7 @@ CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
@ -7572,6 +7657,7 @@ CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=m

View File

@ -192,7 +192,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
#f)))
(define-public linux-libre
(let* ((version "3.17.3")
(let* ((version "3.18")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
@ -265,7 +265,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
"1qyk70m7y7ak94idkqpgyinnnpqpwxvl39rwh8pqdvrcm7w5b0lq"))))
"1kv03bhls9rya4sg3qixyjirc79pn2g5bcwldcj7hs4apa77sd0g"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("bc" ,bc)
@ -1487,7 +1487,13 @@ mapper. Kernel components are part of Linux-libre.")
version ".tar.gz"))
(sha256
(base32
"0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb"))))
"0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb"))
(modules '((guix build utils)))
(snippet
;; Install the manual pages in the right place.
'(substitute* "Makefile"
(("INSTALL_MAN= .*")
"INSTALL_MAN= $(PREFIX)/share/man")))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace

View File

@ -31,13 +31,13 @@
(define-public gcl
(package
(name "gcl")
(version "2.6.11")
(version "2.6.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz"))
(sha256
(base32 "177vz8z74mky5nrq6qlfvnzvb1prw8jmlv4cwfx8w7k3k818y1a4"))))
(base32 "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
@ -63,7 +63,10 @@
(find-files "h" "\\.defs"))
(("SHELL=/bin/(ba)?sh")
(string-append "SHELL=" (which "bash")))))
%standard-phases)))
;; drop strip phase to make maxima build, see
;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html
(alist-delete 'strip
%standard-phases))))
(native-inputs
`(("m4" ,m4)
("readline" ,readline)

107
gnu/packages/llvm.scm Normal file
View File

@ -0,0 +1,107 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.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 llvm)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages xml))
(define-public llvm
(package
(name "llvm")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://llvm.org/releases/"
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
"00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-wrapper)
("perl" ,perl)))
(arguments
`(#:phases (alist-cons-before
'build 'link-lib-for-build-exec
(lambda* (#:key outputs #:allow-other-keys)
;; This is a hacky fix that will allow binaries to run
;; before being installed. -DCMAKE_SKIP_BUILD_RPATH=FALSE
;; seems to not help. Nixpkgs does the same.
(let* ((out (assoc-ref outputs "out"))
(out-lib (string-append out "/lib"))
(build-lib (string-append (getcwd) "/lib")))
(mkdir-p out)
(symlink build-lib out-lib)))
(alist-cons-after
'build 'cleanup-out
(lambda* (#:key outputs #:allow-other-keys)
;; Cleanup the symlink that was created previously. Let
;; the install phase repopulate out.
(delete-file-recursively (assoc-ref outputs "out")))
%standard-phases))))
(home-page "http://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description
"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime,
and idle-time optimization of programs from arbitrary programming languages.
It currently supports compilation of C and C++ programs, using front-ends
derived from GCC 4.0.1. A new front-end for the C family of languages is in
development. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.")
(license ncsa)))
(define-public clang
(package
(name "clang")
(version (package-version llvm))
(source
(origin
(method url-fetch)
(uri (string-append "http://llvm.org/releases/"
version "/cfe-" version ".src.tar.xz"))
(sha256
(base32
"12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))))
;; Using cmake allows us to treat llvm as an external library. There
;; doesn't seem to be any way to do this with clang's autotools-based
;; build system.
(build-system cmake-build-system)
(native-inputs (package-native-inputs llvm))
(inputs
`(("libxml2" ,libxml2)
,@(package-inputs llvm)))
(propagated-inputs
`(("llvm" ,llvm)))
(arguments `(#:configure-flags '("-DCLANG_INCLUDE_TESTS=True")))
(home-page "http://clang.llvm.org")
(synopsis "C language family frontend for LLVM")
(description
"Clang is a compiler front end for the C, C++, Objective-C and
Objective-C++ programming languages. It uses LLVM as its back end. The Clang
project includes the Clang front end, the Clang static analyzer, and several
code analysis tools.")
(license ncsa)))

View File

@ -2,6 +2,8 @@
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,14 +24,23 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages backup)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages databases)
@ -46,8 +57,10 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages gdb)
#:use-module (gnu packages samba)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+))
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -365,4 +378,154 @@ attachments, create new maildirs, and so on.")
ing, and tagging large collections of email messages.")
(license gpl3+)))
(define-public getmail
(package
(name "getmail")
(version "4.46.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://pyropus.ca/software/getmail/old-versions/"
name "-" version ".tar.gz"))
(sha256
(base32
"15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no tests
#:python ,python-2))
(home-page "http://pyropus.ca/software/getmail/")
(synopsis "Mail retriever")
(description
"A flexible, extensible mail retrieval system with support for
POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs,
arbitrary message filtering, single-user and domain-mailboxes, and many other
useful features.")
;; License is specified in file '__init__.py'.
(license gpl2)))
(define-public libetpan
(package
(name "libetpan")
(version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dinhviethoa/" name
"/archive/" version ".tar.gz"))
(sha256
(base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,(autoconf-wrapper))
("automake" ,automake)
("libtool" ,libtool "bin")
("pkg-config" ,pkg-config)))
(propagated-inputs
;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these
;; libraries need to be propagated.
`(("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)))
(inputs
`(("curl" ,curl)
("expat" ,expat)))
(arguments
'(#:phases (alist-cons-before
'configure 'autogen
(lambda _
(system* "./autogen.sh")) ;; Note: this fails because the
;; generated configure script uses /bin/sh. It is
;; replaced in the configure phase by the correct
;; value. TODO: replace the configure phase by the
;; autogen phase and have the SHELL variable be replaced
%standard-phases)
#:configure-flags
'("--disable-static" "--disable-db")))
(home-page "http://www.etpan.org/libetpan.html")
(synopsis "Portable middleware for email access")
(description
"The purpose of this mail library is to provide a portable, efficient
framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It
provides an API for C language. It's the low-level API used by MailCore and
MailCore 2.")
(license (bsd-style "file://COPYING"))))
(define-public claws-mail
(package
(name "claws-mail")
(version "3.11.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/project/claws-mail/"
"Claws Mail/" version "/" name "-" version ".tar.xz"))
(sha256
(base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
("curl" ,curl)
("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
("enchant" ,enchant)
("expat" ,expat)
("ghostscript" ,ghostscript)
("hicolor-icon-theme" ,hicolor-icon-theme)
("gnupg" ,gnupg)
("gnutls" ,gnutls)
("gpgme" ,gpgme)
("gtk" ,gtk+-2)
("libarchive" ,libarchive)
("libcanberra" ,libcanberra)
("libetpan" ,libetpan)
("libnotify" ,libnotify)
("libsm" ,libsm)
("libxml2" ,libxml2)
("perl" ,perl)
("python-2" ,python-2)))
(arguments
'(#:configure-flags
'("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant")))
(synopsis "GTK-based Email client")
(description
"Claws-Mail is an email client (and news reader) based on GTK+. The
appearance and interface are designed to be familiar to new users coming from
other popular email clients, as well as experienced users. Almost all commands
are accessible with the keyboard. Plus, Claws-Mail is extensible via addons
which can add many functionalities to the base client.")
(home-page "http://www.claws-mail.org/")
(license gpl3+))) ; most files are actually public domain or x11
(define-public msmtp
(package
(name "msmtp")
(version "1.4.32")
(source
(origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/project/msmtp/msmtp/" version
"/msmtp-" version ".tar.bz2"))
(sha256 (base32
"122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"))))
(build-system gnu-build-system)
(inputs
`(("libidn" ,libidn)
("gnutls" ,gnutls)
("zlib" ,zlib)
("gsasl" ,gsasl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://msmtp.sourceforge.net/")
(arguments
`(#:configure-flags (list "--with-libgsasl"
"--with-libidn"
"--with-ssl=gnutls")))
(synopsis
"Simple and easy to use SMTP client with decent sendmail compatibility")
(description
"msmtp is an SMTP client. In the default mode, it transmits a mail to
an SMTP server (for example at a free mail provider) which takes care of further
delivery.")
(license gpl3+)))
;;; mail.scm ends here

View File

@ -151,7 +151,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
(define-public help2man
(package
(name "help2man")
(version "1.46.3")
(version "1.46.4")
(source
(origin
(method url-fetch)
@ -159,7 +159,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
"0hi94a6ai96yw0v8xgjzpp5c6jr33ifmbn2mkp7wz7rgmwxxqsd6"))))
"0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))

View File

@ -953,6 +953,9 @@ point numbers")
(inputs `(("gfortran" ,gfortran-4.8)
("lapack-tar" ,(package-source lapack))))
(outputs '("out" "doc"))
;; For the moment we drop support for MIPS at it fails to compile. See
;; https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00516.html
(supported-systems (delete "mips64el-linux" %supported-systems))
(arguments
`(#:parallel-build? #f
#:parallel-tests? #f
@ -979,6 +982,12 @@ point numbers")
;; Disable parallel build as it gives errors: atlas_pthread.h is
;; needed to compile C files before it is generated.
"-Ss" "pmake" "make -j 1"
;; Probe is failing for MIPS. We therefore define the system
;; architecture explicitly by setting (-A) MACHINETYPE = 49
;; 'MIPSR1xK' and (-V) ISA = 1 'none'.
,,@(if (string-prefix? "mips" (%current-system))
(list "-A" "49" "-V" "1")
(list))
;; Generate shared libraries.
"--shared"
;; Build a full LAPACK library.

64
gnu/packages/mg.scm Normal file
View File

@ -0,0 +1,64 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.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 mg)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config))
(define-public mg
(package
(name "mg")
(version "20050429")
(source (origin
(method url-fetch)
(uri (string-append "http://homepage.boetes.org/software/mg/mg-"
version ".tar.gz"))
(sha256
(base32
"19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "Makefile.in"
(("-Werror") "")
(("-lcurses") "-lncurses")
(("/usr/bin/install") "install -D")
(("/usr/bin/strip") "strip"))))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(arguments
;; No test suite available.
'(#:tests? #f
#:phases (alist-cons-before
'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.in"
(("(prefix=[[:blank:]]*)/usr/local" all prefix)
(string-append prefix (assoc-ref outputs "out")))))
%standard-phases)))
(home-page "http://homepage.boetes.org/software/mg/")
(synopsis "Microscopic GNU Emacs clone")
(description
"mg is Micro GNU Emacs; this is a portable version of the mg maintained
by the OpenBSD team.")
(license public-domain)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,17 +25,18 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pulseaudio)
#:use-module ((gnu packages linux)
#:select (alsa-lib))
#:use-module (gnu packages linux) ;alsa-lib
#: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 cmake))
(define-public libmad
(package
@ -129,6 +131,90 @@ a highly stable and efficient implementation.")
(license license:lgpl2.0+)
(home-page "http://id3lib.sourceforge.net/")))
(define-public taglib
(package
(name "taglib")
(version "1.9.1")
(source (origin
(method url-fetch)
(uri (string-append "http://taglib.github.io/releases/taglib-"
version ".tar.gz"))
(sha256
(base32
"06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ;no 'test' target
(inputs `(("zlib" ,zlib)))
(home-page "http://developer.kde.org/~wheeler/taglib.html")
(synopsis "Library to access audio file meta-data")
(description
"TagLib is a C++ library for reading and editing the meta-data of several
popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1.
(license (list license:lgpl2.1 license:mpl1.1))))
(define-public mp3info
(package
(name "mp3info")
(version "0.8.5a")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
version ".tgz"))
(sha256
(base32
"042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/bin/rm") "rm")
(("/usr/bin/install") "install")
(("man/man1") "share/man/man1")))))
(build-system gnu-build-system)
(outputs '("out" "gui")) ;GTK+ interface in "gui"
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("prefix=.*")
(string-append "prefix := " out "\n")))))
(alist-cons-before
'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/share/man/man1"))))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GTK+ interface to "gui".
(let ((out (assoc-ref outputs "out"))
(gui (assoc-ref outputs "gui")))
(mkdir-p (string-append gui "/bin"))
(rename-file (string-append out "/bin/gmp3info")
(string-append gui "/bin/gmp3info"))))
%standard-phases)))
#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+-2)
("ncurses" ,ncurses)))
(home-page "http://www.ibiblio.org/mp3info/")
(synopsis "MP3 technical info viewer and ID3 1.x tag editor")
(description
"MP3Info is a little utility used to read and modify the ID3 tags of MP3
files. MP3Info can also display various techincal aspects of an MP3 file
including playing time, bit-rate, sampling frequency and other attributes in a
pre-defined or user-specifiable output format.")
(license license:gpl2+)))
(define-public libmp3splt
(package
(name "libmp3splt")

View File

@ -0,0 +1,68 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.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 nutrition)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages image)
#:use-module (gnu packages python))
(define-public gourmet
(package
(name "gourmet")
(version "0.17.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/thinkle/gourmet/archive/"
version ".tar.gz"))
(sha256
(base32
"1qvz175arzqm10lpfx8ffadrgirs3240zzqcp0h7sl53qfwx7v8k"))))
(build-system python-build-system)
(native-inputs
`(("distutils-extra" ,python2-distutils-extra)
("intltool" ,intltool)
("python-pygtk" ,python2-pygtk))) ;for tests
;; TODO: Add python-reportlab and/or python-poppler for printing/pdf
;; export, and python-beautifulsoup for web import plugin.
(inputs
`(("pygtk" ,python2-pygtk)
("sqlalchemy" ,python2-sqlalchemy)
("python-pillow" ,python2-pillow)
("elib.intl" ,python2-elib.intl)
;; XXX: This really isn't an input for gourmet but of pillow. Making
;; it a propagated input in pillow doesn't seem to get its site path
;; into gourmet's wrapper's PYTHONPATH however...
("python-setuptools" ,python2-setuptools)))
(arguments
`(#:python ,python-2 ;exception and print syntax
#:tests? #f)) ;tests look bitrotted
(home-page "http://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
search, organize, and browse your recipes. Gourmet can also generate shopping
lists and calculate nutritional information. It imports Mealmaster,
MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
(license gpl2+)))

View File

@ -27,14 +27,14 @@
(define-public ocrad
(package
(name "ocrad")
(version "0.23")
(version "0.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ocrad/ocrad-"
version ".tar.lz"))
(sha256
(base32
"0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m"))))
"0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(home-page "http://www.gnu.org/software/ocrad/")

View File

@ -118,7 +118,7 @@ the Nix package manager.")
(define guix-devel
;; Development version of Guix.
(let ((commit "47739f5"))
(let ((commit "3b09332"))
(package (inherit guix-0.8)
(version (string-append "0.8." commit))
(source (origin
@ -129,7 +129,7 @@ the Nix package manager.")
(recursive? #t)))
(sha256
(base32
"17azgv1i8f9spwa35m23d2yk0wlmf48xm6ka1rqh30nhacwlmnx7"))))
"1szlyhpy688ca96kfyjb6cdy5zhxvqmdig4m7ql7rjqfmz0gvka1"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.8)
((#:phases phases)

View File

@ -27,7 +27,7 @@
(define-public parallel
(package
(name "parallel")
(version "20141022")
(version "20141122")
(source
(origin
(method url-fetch)
@ -35,7 +35,7 @@
version ".tar.bz2"))
(sha256
(base32
"1dpssybids6k6na4rh2gwv1m581h28rcmsvq0hs56hrrh7qpjmvp"))))
"1kpd4ayd4lb867nfnpkam4b3mh86jl6cdy386x1rich938gbrg38"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(home-page "http://www.gnu.org/software/parallel/")

View File

@ -0,0 +1,28 @@
This test has proven to be unreliable, often leading to things like this
in gapplication.log:
PASS: gapplication 3 /gapplication/properties
Failed to register: The connection is closed
**
GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
ok 4 /gapplication/app-id
PASS: gapplication 4 /gapplication/app-id
../../tap-test: line 5: 24133 Aborted $1 -k --tap
# GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
cleaning up pid 24154
ERROR: gapplication - missing test plan
ERROR: gapplication - exited with status 134 (terminated by signal 6?)
See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>.
--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100
+++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100
@@ -685,7 +685,6 @@ main (int argc, char **argv)
/* g_test_add_func ("/gapplication/non-unique", test_nonunique); */
g_test_add_func ("/gapplication/properties", properties);
g_test_add_func ("/gapplication/app-id", appid);
- g_test_add_func ("/gapplication/quit", test_quit);
g_test_add_func ("/gapplication/local-actions", test_local_actions);
/* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */
g_test_add_func ("/gapplication/local-command-line", test_local_command_line);

View File

@ -7,7 +7,7 @@ diff --git a/libguile/posix.c b/libguile/posix.c
index 324f21b..cbee94d 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -2286,6 +2286,266 @@ scm_init_popen (void)
@@ -2286,6 +2286,261 @@ scm_init_popen (void)
}
#endif
@ -84,12 +84,7 @@ index 324f21b..cbee94d 100644
+ free (c_options);
+
+ if (err != 0)
+ {
+ /* XXX: `insmod' actually provides better translation of some of
+ the error codes. */
+ errno = err;
+ SCM_SYSERROR;
+ }
+ SCM_SYSERROR;
+
+ return SCM_UNSPECIFIED;
+}

View File

@ -0,0 +1,15 @@
From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
--- Lib/sqlite3/test/hooks.py
+++ Lib/sqlite3/test/hooks.py
@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
create table bar (a, b)
""")
second_count = len(progress_calls)
- self.assertGreater(first_count, second_count)
+ self.assertGreaterEqual(first_count, second_count)
def CheckCancelOperation(self):
"""

View File

@ -0,0 +1,39 @@
From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001
From: "John (J5) Palmieri" <johnp@redhat.com>
Date: Sat, 13 Aug 2011 04:13:28 -0400
Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN
diff --git a/gi/pygi-info.c b/gi/pygi-info.c
index 8729e25..007b609 100644
--- a/gi/pygi-info.c
+++ b/gi/pygi-info.c
@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info)
case GI_INFO_TYPE_CONSTANT:
type = &PyGIConstantInfo_Type;
break;
- case GI_INFO_TYPE_ERROR_DOMAIN:
- type = &PyGIErrorDomainInfo_Type;
- break;
case GI_INFO_TYPE_UNION:
type = &PyGIUnionInfo_Type;
break;
@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info)
case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_FUNCTION:
case GI_INFO_TYPE_CONSTANT:
- case GI_INFO_TYPE_ERROR_DOMAIN:
case GI_INFO_TYPE_VALUE:
case GI_INFO_TYPE_SIGNAL:
case GI_INFO_TYPE_PROPERTY:
@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info)
case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_FUNCTION:
case GI_INFO_TYPE_CONSTANT:
- case GI_INFO_TYPE_ERROR_DOMAIN:
case GI_INFO_TYPE_VALUE:
case GI_INFO_TYPE_SIGNAL:
case GI_INFO_TYPE_PROPERTY:
--
cgit v0.10.1

View File

@ -0,0 +1,15 @@
From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
--- Lib/sqlite3/test/hooks.py
+++ Lib/sqlite3/test/hooks.py
@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
create table bar (a, b)
""")
second_count = len(progress_calls)
- self.assertTrue(first_count > second_count)
+ self.assertGreaterEqual(first_count, second_count)
def CheckCancelOperation(self):
"""

View File

@ -0,0 +1,32 @@
Description: Correct 64 Architecture implementation of 32 bit data
Author: Chris Donoghue <cdonoghu@gmail.com>
Bug-Debian: http://bugs.debian.org/362068
--- wmctrl-1.07.orig/main.c
+++ wmctrl-1.07/main.c
@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis
*
* long_length = Specifies the length in 32-bit multiples of the
* data to be retrieved.
+ *
+ * NOTE: see
+ * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html
+ * In particular:
+ *
+ * When the X window system was ported to 64-bit architectures, a
+ * rather peculiar design decision was made. 32-bit quantities such
+ * as Window IDs, atoms, etc, were kept as longs in the client side
+ * APIs, even when long was changed to 64 bits.
+ *
*/
if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
xa_prop_type, &xa_ret_type, &ret_format,
@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis
/* null terminate the result to make string handling easier */
tmp_size = (ret_format / 8) * ret_nitems;
+ /* Correct 64 Architecture implementation of 32 bit data */
+ if(ret_format==32) tmp_size *= sizeof(long)/4;
ret = g_malloc(tmp_size + 1);
memcpy(ret, ret_prop, tmp_size);
ret[tmp_size] = '\0';

View File

@ -0,0 +1,35 @@
This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch
to allow building with glibc-2.20.
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h
--- xf86-video-openchrome-0.2.906.old/src/via_3d.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_3d.h 2014-11-23 14:18:37.000000000 +0100
@@ -24,6 +24,7 @@
#ifndef VIA_3D_H
#define VIA_3D_H
+#include "xorg-server.h"
#include "xf86.h"
#include "via_dmabuffer.h"
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h
--- xf86-video-openchrome-0.2.906.old/src/via_driver.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_driver.h 2014-11-23 14:21:43.000000000 +0100
@@ -35,6 +35,7 @@
#endif
#include "vgaHW.h"
+#include "xorg-server.h"
#include "xf86.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h
--- xf86-video-openchrome-0.2.906.old/src/via_timing.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_timing.h 2014-11-23 14:20:50.000000000 +0100
@@ -25,6 +25,7 @@
#ifndef _TIMING_H_
#define _TIMING_H_
+#include "xorg-server.h"
#include "xf86.h"
/* Aspect ratio not CVT standard */

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,14 +28,14 @@
(define-public pcre
(package
(name "pcre")
(version "8.32")
(version "8.36")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pcre/pcre/"
version "/pcre-" version ".tar.bz2"))
(sha256
(base32
"0m8gvrf1q0iwll4csirvvj98xygw4cy7r14i5l53ivsqs2dzn4x9"))))
"1fs5p1z67m9f4xnyil3s4lhgyld78f7m4d1yawpyhh0cvrbk90zg"))))
(build-system gnu-build-system)
(inputs `(("bzip2" ,bzip2)
("readline" ,readline)
@ -43,7 +44,8 @@
`(#:configure-flags '("--enable-utf"
"--enable-pcregrep-libz"
"--enable-pcregrep-libbz2"
"--enable-pcretest-libreadline")))
"--enable-pcretest-libreadline"
"--enable-jit")))
(synopsis "Perl Compatible Regular Expressions")
(description
"The PCRE library is a set of functions that implement regular expression

View File

@ -161,3 +161,206 @@ SHA-1 message digest algorithm for use by Perl programs.")
(home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-"
version "/SHA1.pm"))
(license (package-license perl))))
(define-public perl-benchmark-timer
(package
(name "perl-benchmark-timer")
(version "0.7102")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/"
"Benchmark-Timer-" version ".tar.gz"))
(sha256
(base32
"1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01"))))
(build-system perl-build-system)
;; The optional input module Statistics::PointEstimation (from
;; Statistics-TTest) lists no license.
(synopsis "Benchmarking with statistical confidence")
(description
"The Benchmark::Timer class allows you to time portions of code
conveniently, as well as benchmark code by allowing timings of repeated
trials. It is perfect for when you need more precise information about the
running time of portions of your code than the Benchmark module will give you,
but don't want to go all out and profile your code.")
(home-page (string-append "http://search.cpan.org/~dcoppit/"
"Benchmark-Timer-" version))
(license gpl2)))
(define-public perl-exporter-lite
(package
(name "perl-exporter-lite")
(version "0.06")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
"Exporter-Lite-" version ".tar.gz"))
(sha256
(base32
"0k4gkvid4fr8yvwj0axdx5111mzfw2iipls3qllxr364fqhmclpj"))))
(build-system perl-build-system)
(synopsis "Lightweight exporting of functions and variables")
(description
"Exporter::Lite is an alternative to Exporter, intended to provide a
lightweight subset of the most commonly-used functionality. It supports
import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
(home-page (string-append "http://search.cpan.org/~neilb/"
"Exporter-Lite-" version))
(license (package-license perl))))
(define-public perl-probe-perl
(package
(name "perl-probe-perl")
(version "0.03")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/"
"Probe-Perl-" version ".tar.gz"))
(sha256
(base32
"0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r"))))
(build-system perl-build-system)
(synopsis "Information about the currently running perl")
(description
"Probe::Perl provides methods for obtaining information about the
currently running perl interpreter. It originally began life as code in the
Module::Build project, but has been externalized here for general use.")
(home-page (string-append "http://search.cpan.org/~kwilliams/"
"Probe-Perl-" version))
(license (package-license perl))))
(define-public perl-ipc-run3
(package
(name "perl-ipc-run3")
(version "0.048")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"IPC-Run3-" version ".tar.gz"))
(sha256
(base32
"0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"))))
(build-system perl-build-system)
(synopsis "Run a subprocess with input/ouput redirection")
(description
"The IPC::Run3 module allows you to run a subprocess and redirect stdin,
stdout, and/or stderr to files and perl data structures. It aims to satisfy
99% of the need for using system, qx, and open3 with a simple, extremely
Perlish API and none of the bloat and rarely used features of IPC::Run.")
(home-page (string-append "http://search.cpan.org/~rjbs/"
"IPC-Run3-" version))
;; "You may use this module under the terms of the BSD, Artistic, or GPL
;; licenses, any version."
(license (list bsd-3 gpl3+))))
(define-public perl-test-script
(package
(name "perl-test-script")
(version "1.07")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
"Test-Script-" version ".tar.gz"))
(sha256
(base32
"15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2"))))
(build-system perl-build-system)
(propagated-inputs
`(("probe-perl" ,perl-probe-perl)
("ipc-run3" ,perl-ipc-run3)))
(synopsis "Basic cross-platform tests for scripts")
(description
"The intent of the Test::Script module is to provide a series of basic
tests for 80% of the testing you will need to do for scripts in the script (or
bin as is also commonly used) paths of your Perl distribution.")
(home-page (string-append "http://search.cpan.org/~adamk/"
"Test-Script-" version))
(license (package-license perl))))
(define-public perl-file-which
(package
(name "perl-file-which")
(version "1.09")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
"File-Which-" version ".tar.gz"))
(sha256
(base32
"1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp"))))
(build-system perl-build-system)
(native-inputs `(("test-script" ,perl-test-script)))
(synopsis "Portable implementation of the `which' utility")
(description
"File::Which was created to be able to get the paths to executable
programs on systems under which the `which' program wasn't implemented in the
shell.")
(home-page (string-append "http://search.cpan.org/~adamk/"
"File-Which-" version))
(license (package-license perl))))
(define-public perl-getopt-tabular
(package
(name "perl-getopt-tabular")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/"
"Getopt-Tabular-" version ".tar.gz"))
(sha256
(base32
"0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv"))))
(build-system perl-build-system)
(synopsis "Table-driven argument parsing for Perl")
(description
"Getopt::Tabular is a Perl 5 module for table-driven argument parsing,
vaguely inspired by John Ousterhout's Tk_ParseArgv.")
(home-page (string-append "http://search.cpan.org/~gward/"
"Getopt-Tabular-" version))
(license (package-license perl))))
(define-public perl-regexp-common
(package
(name "perl-regexp-common")
(version "2013031301")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/"
"Regexp-Common-" version ".tar.gz"))
(sha256
(base32
"112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj"))))
(build-system perl-build-system)
(synopsis "Provide commonly requested regular expressions")
(description
"This module exports a single hash (`%RE') that stores or generates
commonly needed regular expressions. Patterns currently provided include:
balanced parentheses and brackets, delimited text (with escapes), integers and
floating-point numbers in any base (up to 36), comments in 44 languages,
offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip
codes.")
(home-page (string-append "http://search.cpan.org/~abigail/"
"Regexp-Common-" version))
;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD.
(license (list (package-license perl) x11 bsd-3))))
(define-public perl-sys-cpu
(package
(name "perl-sys-cpu")
(version "0.61")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/"
"Sys-CPU-" version ".tar.gz"))
(sha256
(base32
"1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5"))))
(build-system perl-build-system)
(synopsis "Perl extension for getting CPU information")
(description
"In responce to a post on perlmonks.org, a module for counting the number
of CPU's on a system. Support has now also been added for type of CPU and
clock speed.")
(home-page (string-append "http://search.cpan.org/~mzsanford/"
"Sys-CPU-" version))
(license (package-license perl))))

View File

@ -71,13 +71,11 @@ instance.")))
#:builder (begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(prog (string-append ,target "-pkg-config"))
(native
(string-append
(assoc-ref %build-inputs "pkg-config")
"/bin/pkg-config")))
(let* ((in (assoc-ref %build-inputs "pkg-config"))
(out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(prog (string-append ,target "-pkg-config"))
(native (string-append in "/bin/pkg-config")))
(mkdir-p bin)
@ -85,7 +83,13 @@ instance.")))
;; This satisfies the pkg.m4 macros, which use
;; AC_PROG_TOOL to determine the `pkg-config' program
;; name.
(symlink native (string-append bin "/" prog))))))
(symlink native (string-append bin "/" prog))
;; Also make 'pkg.m4' available, some packages might
;; expect it.
(mkdir-p (string-append out "/share"))
(symlink (string-append in "/share/aclocal")
(string-append out "/share/aclocal"))))))
(native-inputs `(("pkg-config" ,%pkg-config)))
;; Ignore native inputs, and set `PKG_CONFIG_PATH' for target inputs.

View File

@ -196,3 +196,44 @@ output to 8 different formats, including HTML, LaTeX and ODF. It can also
output to ANSI color escape sequences, so that highlighted source code can be
seen in a terminal.")
(license gpl3+)))
(define-public astyle
(package
(name "astyle")
(version "2.05")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20"
version "/astyle_" version "_linux.tar.gz"))
(sha256
(base32
"0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
#:make-flags (list (string-append "prefix=" %output)
"INSTALL=install"
"all")
#:phases (alist-replace
'configure
(lambda _ (chdir "build/gcc"))
(alist-cons-after
'install 'install-libs
(lambda* (#:key outputs #:allow-other-keys)
;; Libraries are not installed by default
(let* ((output (assoc-ref outputs "out"))
(libdir (string-append output "/lib")))
(begin
(mkdir-p libdir)
(for-each (lambda (l)
(copy-file
l (string-append libdir "/" (basename l))))
(find-files "bin" "lib*")))))
%standard-phases))))
(home-page "http://astyle.sourceforge.net/")
(synopsis "Source code indenter, formatter, and beautifier")
(description
"Artistic Style is a source code indenter, formatter, and beautifier for
the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.")
(license lgpl3+)))

View File

@ -24,27 +24,40 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
#:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style
gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+
gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+
psfl public-domain))
#:use-module ((guix licenses) #:select (zlib) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages readline)
#:use-module (gnu packages openssl)
#:use-module (gnu packages elf)
#:use-module (gnu packages maths)
#:use-module (gnu packages gcc)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages databases)
#:use-module (gnu packages zip)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages texlive)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages which)
#:use-module (gnu packages perl)
#: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 python)
#:use-module (guix build-system trivial))
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
(define-public python-2
(package
@ -55,7 +68,8 @@
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
(patches (list (search-patch "python-libffi-mips-n32-fix.patch")))
(patches (list (search-patch "python-libffi-mips-n32-fix.patch")
(search-patch "python2-sqlite-3.8.4-test-fix.patch")))
(patch-flags '("-p0"))
(sha256
(base32
@ -109,6 +123,7 @@
(let ((bz2 (assoc-ref %build-inputs "bzip2"))
(gdbm (assoc-ref %build-inputs "gdbm"))
(libffi (assoc-ref %build-inputs "libffi"))
(sqlite (assoc-ref %build-inputs "sqlite"))
(openssl (assoc-ref %build-inputs "openssl"))
(readline (assoc-ref %build-inputs "readline"))
(zlib (assoc-ref %build-inputs "zlib")))
@ -117,6 +132,7 @@
(string-append "CPPFLAGS="
"-I" bz2 "/include "
"-I" gdbm "/include "
"-I" sqlite "/include "
"-I" openssl "/include "
"-I" readline "/include "
"-I" zlib "/include")
@ -124,6 +140,7 @@
"-L" bz2 "/lib "
"-L" gdbm "/lib "
"-L" libffi "/lib "
"-L" sqlite "/lib "
"-L" openssl "/lib "
"-L" readline "/lib "
"-L" zlib "/lib")))
@ -167,6 +184,7 @@
`(("bzip2" ,bzip2)
("gdbm" ,gdbm)
("libffi" ,libffi) ; for ctypes
("sqlite" ,sqlite) ; for sqlite extension
("openssl" ,openssl)
("readline" ,readline)
("zlib" ,zlib)
@ -198,6 +216,7 @@ data types.")
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
(patches (list (search-patch "python-fix-tests.patch")
(search-patch "python-sqlite-3.8.4-test-fix.patch")
(search-patch "python-libffi-mips-n32-fix.patch")))
(patch-flags '("-p0"))
(sha256
@ -1873,3 +1892,653 @@ writing C extensions for Python as easy as Python itself.")
(name "python2-cython")
(inputs
`(("python-2" ,python-2))))) ; this is not automatically changed
;; This version of numpy is missing the documentation and is only used to
;; build matplotlib which is required to build numpy's documentation.
(define python-numpy-bootstrap
(package
(name "python-numpy-bootstrap")
(version "1.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/numpy"
"/numpy-" version ".tar.gz"))
(sha256
(base32
"070ybfvpgfmiz2hs94x445hvkh9dh52nyi0m8jp5kdihgvhbnx80"))))
(build-system python-build-system)
(inputs
`(("python-nose" ,python-nose)
("atlas" ,atlas)))
(native-inputs
`(("gfortran" ,gfortran-4.8)))
(arguments
`(#:phases
(alist-cons-before
'build 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
(let* ((atlas-threaded
(string-append (assoc-ref inputs "atlas")
"/lib/libtatlas.so"))
;; On single core CPUs only the serial library is created.
(atlas-lib
(if (file-exists? atlas-threaded)
atlas-threaded
(string-append (assoc-ref inputs "atlas")
"/lib/libsatlas.so"))))
(setenv "ATLAS" atlas-lib)))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(alist-cons-after
'install 'check
(lambda _
(with-directory-excursion "/tmp"
(zero? (system* "python" "-c"
"import numpy; numpy.test(verbose=2)"))))
(alist-delete
'check
%standard-phases)))))
(home-page "http://www.numpy.org/")
(synopsis "Fundamental package for scientific computing with Python")
(description "NumPy is the fundamental package for scientific computing
with Python. It contains among other things: a powerful N-dimensional array
object, sophisticated (broadcasting) functions, tools for integrating C/C++
and Fortran code, useful linear algebra, Fourier transform, and random number
capabilities.")
(license bsd-3)))
(define python2-numpy-bootstrap
(package-with-python2 python-numpy-bootstrap))
(define-public python-numpy
(package (inherit python-numpy-bootstrap)
(name "python-numpy")
(outputs '("out" "doc"))
(inputs
`(("which" ,which)
("python-setuptools" ,python-setuptools)
("python-matplotlib" ,python-matplotlib)
("python-sphinx" ,python-sphinx)
("python-pyparsing" ,python-pyparsing)
("python-numpydoc" ,python-numpydoc)
,@(package-inputs python-numpy-bootstrap)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texlive" ,texlive)
("texinfo" ,texinfo)
("perl" ,perl)
,@(package-native-inputs python-numpy-bootstrap)))
(arguments
`(,@(substitute-keyword-arguments
(package-arguments python-numpy-bootstrap)
((#:phases phases)
`(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append
data "/doc/" ,name "-"
,(package-version python-numpy-bootstrap)))
(info (string-append data "/info"))
(html (string-append doc "/html"))
(pyver ,(string-append "PYVER=")))
(with-directory-excursion "doc"
(mkdir-p html)
(system* "make" "html" pyver)
(system* "make" "latex" "PAPER=a4" pyver)
(system* "make" "-C" "build/latex"
"all-pdf" "PAPER=a4" pyver)
;; FIXME: Generation of the info file fails.
;; (system* "make" "info" pyver)
;; (mkdir-p info)
;; (copy-file "build/texinfo/numpy.info"
;; (string-append info "/numpy.info"))
(for-each (lambda (file)
(copy-file (string-append "build/latex" file)
(string-append doc file)))
'("/numpy-ref.pdf" "/numpy-user.pdf"))
(with-directory-excursion "build/html"
(for-each (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir)
(mkdir-p tgt-dir))
(copy-file file (string-append html "/" file))))
(find-files "." ".*"))))))
,phases)))))))
(define-public python2-numpy
(let ((numpy (package-with-python2 python-numpy)))
(package (inherit numpy)
;; Make sure we use exactly PYTHON2-NUMPYDOC, which is customized for
;; Python 2. Since it is also an input to PYTHON2-MATPLOTLIB, we need to
;; import the right version of 'matplotlib' as well.
(inputs `(("python2-numpydoc" ,python2-numpydoc)
("python2-matplotlib" ,python2-matplotlib)
,@(alist-delete "python-numpydoc"
(alist-delete "python-matplotlib"
(package-inputs numpy))))))))
(define-public python-pyparsing
(package
(name "python-pyparsing")
(version "2.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pyparsing"
"/pyparsing-" version ".tar.gz"))
(sha256
(base32
"01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
`(#:tests? #f ; no test target
#:modules ((guix build python-build-system)
(guix build utils))
#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version))
(html-doc (string-append doc "/html"))
(examples (string-append doc "/examples")))
(mkdir-p html-doc)
(mkdir-p examples)
(for-each
(lambda (dir tgt)
(map (lambda (file)
(copy-file file (string-append tgt "/" (basename file))))
(find-files dir ".*")))
(list "docs" "htmldoc" "examples")
(list doc html-doc examples))))
%standard-phases)))
(home-page "http://pyparsing.wikispaces.com")
(synopsis "Python parsing class library")
(description
"The pyparsing module is an alternative approach to creating and
executing simple grammars, vs. the traditional lex/yacc approach, or the use
of regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.")
(license expat)))
(define-public python2-pyparsing
(package-with-python2 python-pyparsing))
(define-public python-numpydoc
(package
(name "python-numpydoc")
(version "0.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/n/numpydoc/numpydoc-"
version ".tar.gz"))
(sha256
(base32
"0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)
("python-docutils" ,python-docutils)
("python-sphinx" ,python-sphinx)
("python-nose" ,python-nose)))
(home-page "https://pypi.python.org/pypi/numpydoc")
(synopsis
"Numpy's Sphinx extensions")
(description
"Sphinx extension to support docstrings in Numpy format.")
(license bsd-2)))
(define-public python2-numpydoc
(package
(inherit (package-with-python2 python-numpydoc))
;; With python-2 1 test (out of 30) fails because it doesn't find
;; matplotlib. With python-3 it seems to detect at run-time the absence
;; of matplotlib.
(arguments `(#:tests? #f
#:python ,python-2))))
(define-public python-matplotlib
(package
(name "python-matplotlib")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/matplotlib"
"/matplotlib-" version ".tar.gz"))
(sha256
(base32
"0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs
`(("python-setuptools" ,python-setuptools)
("python-dateutil" ,python-dateutil-2)
("python-pyparsing" ,python-pyparsing)
("python-six" ,python-six)
("python-pytz" ,python-pytz)
("python-numpy" ,python-numpy-bootstrap)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
("python-nose" ,python-nose)
("python-mock" ,python-mock)
("libpng" ,libpng)
("imagemagick" ,imagemagick)
("freetype" ,freetype)
;; FIXME: Add backends when available.
;("python-pygtk" ,python-pygtk)
;("python-pycairo" ,python-pycairo)
;("python-pygobject" ,python-pygobject)
;("python-wxpython" ,python-wxpython)
;("python-pyqt" ,python-pyqt)
))
(native-inputs
`(("pkg-config" ,pkg-config)
("texlive" ,texlive)
("texinfo" ,texinfo)))
(arguments
`(#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(info (string-append data "/info"))
(html (string-append doc "/html")))
(with-directory-excursion "doc"
;; Without setting this variable we get an encoding error.
(setenv "LANG" "en_US.UTF-8")
;; Produce pdf in 'A4' format.
(substitute* (find-files "." "conf\\.py")
(("latex_paper_size = 'letter'")
"latex_paper_size = 'a4'"))
(mkdir-p html)
(mkdir-p info)
;; The doc recommends to run the 'html' target twice.
(system* "python" "make.py" "html")
(system* "python" "make.py" "html")
(system* "python" "make.py" "latex")
(system* "python" "make.py" "texinfo")
(copy-file "build/texinfo/matplotlib.info"
(string-append info "/matplotlib.info"))
(copy-file "build/latex/Matplotlib.pdf"
(string-append doc "/Matplotlib.pdf"))
(with-directory-excursion "build/html"
(map (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir)
(mkdir-p tgt-dir))
(copy-file file (string-append html "/" file))))
(find-files "." ".*"))))))
%standard-phases)))
(home-page "http://matplotlib.org")
(synopsis "2D plotting library for Python")
(description
"Matplotlib is a Python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive environments
across platforms. Matplotlib can be used in Python scripts, the python and
ipython shell, web application servers, and six graphical user interface
toolkits.")
(license psfl)))
(define-public python2-matplotlib
(let ((matplotlib (package-with-python2 python-matplotlib)))
(package (inherit matplotlib)
;; Make sure we use exactly PYTHON2-NUMPYDOC, which is
;; customized for Python 2.
(inputs `(("python2-numpydoc" ,python2-numpydoc)
,@(alist-delete "python-numpydoc"
(package-inputs matplotlib)))))))
;; Scipy 0.14.0 with Numpy 0.19.X fails several tests. This is known and
;; planned to be fixed in 0.14.1. It is claimed that the failures can safely
;; be ignored:
;; http://mail.scipy.org/pipermail/scipy-dev/2014-September/020043.html
;; https://github.com/scipy/scipy/issues/3853
;;
;; The main test suite procedure prints the summary message:
;;
;; Ran 16412 tests in 245.033s
;; FAILED (KNOWNFAIL=277, SKIP=921, errors=327, failures=42)
;;
;; However, it still does return normally.
(define-public python-scipy
(package
(name "python-scipy")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/scipy"
"/scipy-" version ".tar.gz"))
(sha256
(base32
"053bmz4qmnk4dmxvspfak8r10rpmy6mzwfzgy33z338ppzka6hab"))))
(build-system python-build-system)
(inputs
`(("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-pyparsing" ,python-pyparsing)
("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx)
("atlas" ,atlas)))
(native-inputs
`(("gfortran" ,gfortran-4.8)
("texlive" ,texlive)
("perl" ,perl)))
(outputs '("out" "doc"))
(arguments
`(#:phases
(alist-cons-before
'build 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
(let* ((atlas-threaded
(string-append (assoc-ref inputs "atlas")
"/lib/libtatlas.so"))
;; On single core CPUs only the serial library is created.
(atlas-lib
(if (file-exists? atlas-threaded)
atlas-threaded
(string-append (assoc-ref inputs "atlas")
"/lib/libsatlas.so"))))
(setenv "ATLAS" atlas-lib)))
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(pyver ,(string-append "PYVER=")))
(with-directory-excursion "doc"
;; Without setting this variable we get an encoding error.
(setenv "LANG" "en_US.UTF-8")
;; Fix generation of images for mathematical expressions.
(substitute* (find-files "source" "conf\\.py")
(("pngmath_use_preview = True")
"pngmath_use_preview = False"))
(mkdir-p html)
(system* "make" "html" pyver)
(system* "make" "latex" "PAPER=a4" pyver)
(system* "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver)
(copy-file "build/latex/scipy-ref.pdf"
(string-append doc "/scipy-ref.pdf"))
(with-directory-excursion "build/html"
(for-each (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir)
(mkdir-p tgt-dir))
(copy-file file (string-append html "/" file))))
(find-files "." ".*"))))))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(alist-cons-after
'install 'check
(lambda _
(with-directory-excursion "/tmp"
(zero? (system* "python" "-c" "import scipy; scipy.test()"))))
(alist-delete
'check
%standard-phases))))))
(home-page "http://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
the SciPy stack. It provides many user-friendly and efficient numerical
routines such as routines for numerical integration and optimization.")
(license bsd-3)))
(define-public python2-scipy
(let ((scipy (package-with-python2 python-scipy)))
(package (inherit scipy)
;; Use packages customized for python-2.
(inputs `(("python2-matplotlib" ,python2-matplotlib)
("python2-numpy" ,python2-numpy)
,@(alist-delete "python-matplotlib"
(alist-delete "python-numpy"
(package-inputs scipy))))))))
(define-public python-sqlalchemy
(package
(name "python-sqlalchemy")
(version "0.9.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/S/"
"SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
(sha256
(base32
"059ayifj5l08v6vv56anhyibyllscn10dlzr2fcw68gz1hfjdzsz"))))
(build-system python-build-system)
(native-inputs
`(("python-cython" ,python-cython) ;for c extensions
("python-pytest" ,python-pytest)
("python-mock" ,python-mock))) ;for tests
(arguments
`(#:phases (alist-replace
'check
(lambda _ (zero? (system* "py.test")))
%standard-phases)))
(home-page "http://www.sqlalchemy.org")
(synopsis "Database abstraction library")
(description
"SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
gives application developers the full power and flexibility of SQL. It
provides a full suite of well known enterprise-level persistence patterns,
designed for efficient and high-performing database access, adapted into a
simple and Pythonic domain language.")
(license x11)))
(define-public python2-sqlalchemy
(package-with-python2 python-sqlalchemy))
(define-public python-distutils-extra
(package
(name "python-distutils-extra")
(version "2.38")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/python-distutils-extra/trunk/"
version "/+download/python-distutils-extra-"
version ".tar.gz"))
(sha256
(base32
"0lx15kcbby9zisx33p2h5hgakgwh2bvh0ibag8z0px4j6ifhs41x"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "https://launchpad.net/python-distutils-extra/")
(synopsis "Enhancements to Python's distutils")
(description
"The python-distutils-extra module enables you to easily integrate
gettext support, themed icons, and scrollkeeper-based documentation into
Python's distutils.")
(license gpl2)))
(define-public python2-distutils-extra
(package-with-python2 python-distutils-extra))
(define-public python2-elib.intl
(package
(name "python2-elib.intl")
(version "0.0.3")
(source
(origin
;; This project doesn't tag releases or publish tarballs, so we take
;; source from a (semi-arbitrary, i.e. latest as of now) git commit.
(method git-fetch)
(uri (git-reference
(url "https://github.com/dieterv/elib.intl.git")
(commit "d09997cfef")))
(sha256
(base32
"0y7vzff9xgbnaay7m0va1arl6g68ncwrvbgwl7jqlclsahzzb09d"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(arguments
;; incompatible with Python 3 (exception syntax)
`(#:python ,python-2
#:tests? #f
;; With standard flags, the install phase attempts to create a zip'd
;; egg file, and fails with an error: 'ZIP does not support timestamps
;; before 1980'
#:configure-flags '("--single-version-externally-managed"
"--record=elib.txt")))
(home-page "https://github.com/dieterv/elib.intl")
(synopsis "Enhanced internationalization for Python")
(description
"The elib.intl module provides enhanced internationalization (I18N)
services for your Python modules and applications.")
(license lgpl3+)))
(define-public python-pillow
(package
(name "python-pillow")
(version "2.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/P/"
"Pillow/Pillow-" version ".tar.gz"))
(sha256
(base32
"0iw36c73wkhz88wa78v6l43llsb080ihw8yq7adhfqxdib7l4hzr"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)
("python-nose" ,python-nose)))
(inputs
`(("lcms" ,lcms)
("zlib" ,zlib)
("libjpeg" ,libjpeg)
("openjpeg" ,openjpeg)
("libtiff" ,libtiff)))
(propagated-inputs
`(;; Used at runtime for pkg_resources
("python-setuptools" ,python-setuptools)))
(arguments
`(#:phases (alist-cons-after
'install 'check-installed
(lambda _
(begin
(setenv "HOME" (getcwd))
(and (zero? (system* "python" "selftest.py" "--installed"))
(zero? (system* "python" "test-installed.py")))))
(alist-delete 'check %standard-phases))))
(home-page "https://pypi.python.org/pypi/Pillow")
(synopsis "Fork of the Python Imaging Library")
(description
"The Python Imaging Library adds image processing capabilities to your
Python interpreter. This library provides extensive file format support, an
efficient internal representation, and fairly powerful image processing
capabilities. The core image library is designed for fast access to data
stored in a few basic pixel formats. It should provide a solid foundation for
a general image processing tool.")
(license (x11-style
"http://www.pythonware.com/products/pil/license.htm"
"The PIL Software License"))))
(define-public python2-pillow
(package-with-python2 python-pillow))
(define-public python-pycparser
(package
(name "python-pycparser")
(version "2.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/p/"
"pycparser/pycparser-" version ".tar.gz"))
(sha256
(base32
"0v5qfq03yvd1pi0dwlgfai0p3dh9bq94pydn19c4pdn0c6v9hzcm"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python-setuptools" ,python-setuptools)))
(arguments
`(#:phases
(alist-replace
'check
(lambda _
(with-directory-excursion "tests"
(zero? (system* "python" "all_tests.py"))))
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(mkdir-p examples)
(for-each (lambda (file)
(copy-file (string-append "." file)
(string-append doc file)))
'("/README.rst" "/CHANGES" "/LICENSE"))
(copy-recursively "examples" examples)))
%standard-phases))))
(home-page "https://github.com/eliben/pycparser")
(synopsis "C parser in Python")
(description
"Pycparser is a complete parser of the C language, written in pure Python
using the PLY parsing library. It parses C code into an AST and can serve as
a front-end for C compilers or analysis tools.")
(license bsd-3)))
(define-public python2-pycparser
(package-with-python2 python-pycparser))
(define-public python-cffi
(package
(name "python-cffi")
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/c/"
"cffi/cffi-" version ".tar.gz"))
(sha256
(base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs
`(("libffi" ,libffi)))
(propagated-inputs ; required at run-time
`(("python-pycparser" ,python-pycparser)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("python-setuptools" ,python-setuptools)))
(arguments
`(#:tests? #f ; FIXME: requires pytest
#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html")))
(with-directory-excursion "doc"
(system* "make" "html")
(mkdir-p html)
(copy-recursively "build/html" html))
(copy-file "LICENSE" (string-append doc "/LICENSE"))))
%standard-phases)))
(home-page "http://cffi.readthedocs.org")
(synopsis "Foreign function interface for Python")
(description
"Foreign Function Interface for Python calling C code.")
(license expat)))
(define-public python2-cffi
(package-with-python2 python-cffi))

View File

@ -33,7 +33,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages attr)
#:use-module (gnu packages linux)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages sdl)
#:use-module (gnu packages perl))

View File

@ -26,6 +26,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
@ -36,7 +37,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages gl)
#:use-module (gnu packages ruby)
#:use-module (gnu packages xorg))
(define-public libxkbcommon
@ -52,10 +53,20 @@
"176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch"))))
(build-system gnu-build-system)
(inputs
`(("libxcb" ,libxcb)))
`(("libx11" ,libx11)
("libxcb" ,libxcb)
("xkeyboard-config" ,xkeyboard-config)))
(native-inputs
`(("bison" ,bison)
("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
(list (string-append "--with-xkb-config-root="
(assoc-ref %build-inputs "xkeyboard-config")
"/share/X11/xkb")
(string-append "--with-x-locale-root="
(assoc-ref %build-inputs "libx11")
"/share/X11/locale"))))
(home-page "http://xkbcommon.org/")
(synopsis "Library to handle keyboard descriptions")
(description "Xkbcommon is a library to handle keyboard descriptions,
@ -85,7 +96,6 @@ X11 (yet).")
(propagated-inputs
`(("mesa" ,mesa)))
(inputs
;; FIXME: Add input ruby once available.
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("fontconfig" ,fontconfig)
@ -102,6 +112,7 @@ X11 (yet).")
("openssl" ,openssl)
("pulseaudio" ,pulseaudio)
("python-wrapper" ,python-wrapper)
("ruby" ,ruby)
("xcb-util" ,xcb-util)
("xcb-util-image" ,xcb-util-image)
("xcb-util-keysyms" ,xcb-util-keysyms)

View File

@ -1,68 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Alex Kost <alezost@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 scrot)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages xorg)
#:use-module (gnu packages image))
(define-public scrot
(package
(name "scrot")
(version "0.8")
(source (origin
(method url-fetch)
(uri (string-append
"http://linuxbrit.co.uk/downloads/scrot-"
version ".tar.gz"))
(sha256
(base32
"1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
(build-system gnu-build-system)
(arguments
;; By default, man and doc are put in PREFIX/{man,doc} instead of
;; PREFIX/share/{man,doc}.
'(#:configure-flags
(list (string-append "--mandir="
(assoc-ref %outputs "out")
"/share/man"))
#:phases (alist-replace
'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/scrot")))
(mkdir-p doc)
(zero?
(system* "make" "install"
(string-append "docsdir=" doc)))))
%standard-phases)))
(inputs
`(("libx11" ,libx11)
("giblib" ,giblib)))
(home-page "http://linuxbrit.co.uk/software/")
(synopsis "Command-line screen capture utility for X Window System")
(description
"Scrot allows to save a screenshot of a full screen, a window or a part
of the screen selected by mouse.")
;; This license removes a clause about X Consortium from the original
;; X11 license.
(license (x11-style "file://COPYING"
"See 'COPYING' in the distribution."))))

55
gnu/packages/socat.scm Normal file
View File

@ -0,0 +1,55 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@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 socat)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages openssl))
;; XXX: Group with other networking tools like tcpdump in a module?
(define-public socat
(package
(name "socat")
(version "1.7.2.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.dest-unreach.org/socat/download/socat-"
version ".tar.bz2"))
(sha256
(base32
"028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ;no 'check' phase
(inputs `(("openssl" ,openssl)))
(home-page "http://www.dest-unreach.org/socat/")
(synopsis
"Open bidirectional communication channels from the command line")
(description
"socat is a relay for bidirectional data transfer between two independent
data channels---files, pipes, devices, sockets, etc. It can create
\"listening\" sockets, named pipes, and pseudo terminals.
socat can be used, for instance, as TCP port forwarder, as a shell interface
to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
line, to logically connect serial lines on different computers, or to
establish a relatively secure environment (su and chroot) for running client
or server shell scripts with network connections. ")
(license license:gpl2)))

View File

@ -56,13 +56,13 @@ reimplementation.")
(define-public ucommon
(package
(name "ucommon")
(version "6.1.11")
(version "6.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/commoncpp/" name "-"
version ".tar.gz"))
(sha256 (base32
"0hpwxiyd7c3qnzksk6vw94cdig1v8yy6khgcaa87a7hb3zbkv4zg"))))
"1apk1k877knvh2k1yqspsln5wm81a4ly4w97ang1qhi21ydwgjnn"))))
(build-system gnu-build-system)
(synopsis "Common C++ framework for threaded applications")
(description "GNU uCommon C++ is meant as a very light-weight C++ library
@ -75,13 +75,13 @@ support.")
(define-public ccrtp
(package
(name "ccrtp")
(version "2.0.9")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ccrtp/ccrtp-"
version ".tar.gz"))
(sha256 (base32
"1prh2niwa4lzvskk12j4ckr7dv141dfh8yjmpkbhbnv4gmpifci0"))))
"1p1pk2m7v75rdrh05rizpqcd5p08g3n541rw0kssyfzd805fb90d"))))
(build-system gnu-build-system)
(inputs `(("ucommon" ,ucommon)
("libgcrypt" ,libgcrypt)))
@ -142,13 +142,13 @@ multiplayer games.")
(define-public sipwitch
(package
(name "sipwitch")
(version "1.9.2")
(version "1.9.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/sipwitch/sipwitch-"
version ".tar.gz"))
(sha256 (base32
"0cf0zrdfi4w9qn50ags3rvwc29km2k526f6sm6i7jb0hsrvg0k8x"))))
"1iyh390rmxqrks7rypl8ql7fhd3pmy2ckqnp1p0llzrx67jh2q91"))))
(build-system gnu-build-system)
;; The configure.ac uses pkg-config but in a kludgy way which breaks when
;; cross-compiling. Among other issues there the program name "pkg-config"

View File

@ -38,6 +38,7 @@
#:use-module (gnu packages tcsh)
#:use-module (gnu packages which)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
#:autoload (gnu packages texinfo) (texinfo))

45
gnu/packages/tre.scm Normal file
View File

@ -0,0 +1,45 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright 2014 John Darrington
;;;
;;; 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 tre)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses))
(define-public tre
(package
(name "tre")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri
(string-append "http://laurikari.net/tre/" name "-" version
".tar.bz2"))
(sha256
(base32 "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild"))))
(build-system gnu-build-system)
(synopsis "Approximate regex matching library and agrep utility")
(description "Superset of the POSIX regex API, enabling approximate
matching. Also ships a version of the agrep utility which behaves similar to
grep but features ineaxct matching.")
(home-page "http://laurikari.net/tre")
(license bsd-2)))

View File

@ -1,69 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Alex Kost <alezost@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 unclutter)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages xorg))
(define-public unclutter
(package
(name "unclutter")
(version "8")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp.x.org/contrib/utilities/unclutter-"
version ".tar.Z"))
(sha256
(base32
"0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases (alist-delete
'configure
(alist-replace
'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p bin)
(mkdir-p man1)
(zero?
(system* "make" "install" "install.man"
(string-append "BINDIR=" bin)
(string-append "MANDIR=" man1)))))
%standard-phases))))
(inputs `(("libx11" ,libx11)))
(home-page "http://ftp.x.org/contrib/utilities/")
(synopsis "Hide idle mouse cursor")
(description
"Unclutter is a program which runs permanently in the background of an
X11 session. It checks on the X11 pointer (cursor) position every few
seconds, and when it finds it has not moved (and no buttons are pressed
on the mouse, and the cursor is not in the root window) it creates a
small sub-window as a child of the window the cursor is in. The new
window installs a cursor of size 1x1 but a mask of all 0, i.e. an
invisible cursor. This allows you to see all the text in an xterm or
xedit, for example. The human factors crowd would agree it should make
things less distracting.")
(license public-domain)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,13 +23,18 @@
(define-module (gnu packages version-control)
#:use-module ((guix licenses)
#:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+ x11-style))
#:select (asl2.0 bsd-2
gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1
x11-style))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build utils)
#:use-module (gnu packages apr)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages cook)
#:use-module (gnu packages curl)
@ -204,6 +210,130 @@ everything from small to very large projects with speed and efficiency.")
(license gpl2)
(home-page "http://git-scm.com/")))
(define-public shflags
(package
(name "shflags")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://shflags.googlecode.com/files/"
"shflags-" version ".tgz"))
(sha256
(base32
"08laxhf1hifh3w4j0hri5ppcklaqz0mnkmbaz8j0wxih29vi8slm"))))
(build-system trivial-build-system)
(native-inputs `(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(tar (assoc-ref %build-inputs "tar"))
(gzip (assoc-ref %build-inputs "gzip"))
(output (assoc-ref %outputs "out"))
(srcdir (string-append output "/src")))
(begin
(setenv "PATH" (string-append gzip "/bin"))
(system* (string-append tar "/bin/tar") "xzf"
source)
(chdir ,(string-append name "-" version))
(mkdir-p srcdir)
(copy-file "src/shflags"
(string-append srcdir "/shflags"))
#t)))))
(home-page "https://code.google.com/p/shflags/")
(synopsis "Command-line flags library for shell scripts")
(description
"Shell Flags (shFlags) is a library written to greatly simplify the
handling of command-line flags in Bourne based Unix shell scripts (bash, dash,
ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the
different versions of getopt on various OSes make writing portable shell
scripts difficult. shFlags instead provides an API that doesn't change across
shell and OS versions so the script writer can be confident that the script
will work.")
(license lgpl2.1)))
(define-public git-flow
(package
(name "git-flow")
;; This version has not be officially released yet, so we build it
;; directly from the git repository.
(version "0.4.2-pre")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nvie/gitflow/")
(commit "15aab26")))
(sha256
(base32
"01fs97q76fdfnvmrh2cyjhywcs3pykf1dg58sy0frflnsdzs6prx"))))
(build-system gnu-build-system)
(inputs `(("shflags" ,shflags)))
(arguments
'(#:tests? #f ; no tests
#:make-flags (list (string-append "prefix="
(assoc-ref %outputs "out")))
#:phases (alist-cons-after
'unpack 'reset-shFlags-link
(lambda* (#:key inputs #:allow-other-keys)
;; The link points to a file in the shFlags submodule.
;; Redirect it to point to our system shFlags.
(let ((shflags (assoc-ref inputs "shflags")))
(begin
(delete-file "gitflow-shFlags")
(symlink (string-append shflags "/src/shflags")
"gitflow-shFlags"))))
(alist-delete
'configure
(alist-delete 'build %standard-phases)))))
(home-page "http://nvie.com/posts/a-successful-git-branching-model/")
(synopsis "Git extensions for Vincent Driessen's branching model")
(description
"Vincent Driessen's branching model is a git branching and release
management strategy that helps developers keep track of features, hotfixes,
and releases in bigger software projects. The git-flow library of git
subcommands helps automate some parts of the flow to make working with it a
lot easier.")
(license bsd-2)))
(define-public git-test-sequence
(let ((commit "48e5a2f"))
(package
(name "git-test-sequence")
(version (string-append "20140312." commit))
(source (origin
(method git-fetch)
(uri (git-reference
;; There are many other scripts in this directory; we
;; are interested in just one for this package.
(url "https://github.com/dustin/bindir")
(commit commit)))
(sha256
(base32
"1dcq0y16yznbv4k9h8gg90kv1gkn8r8dbvl4m2rpfd7q5nqhn617"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(output (assoc-ref %outputs "out"))
(bindir (string-append output "/bin"))
(script "git-test-sequence"))
(begin
(mkdir-p bindir)
(copy-file (string-append source "/" script)
(string-append bindir "/" script))
#t)))))
(home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html")
(synopsis "Run a command over a sequence of commits")
(description
"git-test-sequence is similar to an automated git bisect except its
linear. It will test every change between two points in the DAG. It will
also walk each side of a merge and test those changes individually.")
(license (x11-style "file://LICENSE")))))
(define-public mercurial
(package
(name "mercurial")
@ -297,33 +427,45 @@ property manipulation.")
(version "1.7.18")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.apache.org/dist/subversion/subversion-"
version ".tar.bz2"))
(uri (string-append "http://archive.apache.org/dist/subversion/"
"subversion-" version ".tar.bz2"))
(sha256
(base32
"06nrqnn3qq1hhskkcdbm0ilk2xv6ay2gyf2c7qvxp6xncb782wzn"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'install 'instal-perl-bindings
(lambda* (#:key outputs #:allow-other-keys)
;; Follow the instructions from
;; 'subversion/bindings/swig/INSTALL'.
(let ((out (assoc-ref outputs "out")))
(and (zero? (system* "make" "swig-pl-lib"))
;; FIXME: Test failures.
;; (zero? (system* "make" "check-swig-pl"))
(zero? (system* "make" "install-swig-pl-lib"))
'configure 'patch-libtool-wrapper-ls
(lambda* (#:key inputs #:allow-other-keys)
;; This substitution allows tests svnauthz_tests and
;; svnlook_tests to pass. These tests execute svnauthz and
;; svnlook through their libtool wrapper scripts from svn
;; hooks, whose empty environments cause "ls: command not
;; found" errors. It would be nice if this fix ultimately
;; made its way into libtool.
(let ((coreutils (assoc-ref inputs "coreutils")))
(substitute* "libtool"
(("\\\\`ls") (string-append "\\`" coreutils "/bin/ls")))))
(alist-cons-after
'install 'instal-perl-bindings
(lambda* (#:key outputs #:allow-other-keys)
;; Follow the instructions from
;; 'subversion/bindings/swig/INSTALL'.
(let ((out (assoc-ref outputs "out")))
(and (zero? (system* "make" "swig-pl-lib"))
;; FIXME: Test failures.
;; (zero? (system* "make" "check-swig-pl"))
(zero? (system* "make" "install-swig-pl-lib"))
;; Set the right installation prefix.
(with-directory-excursion
"subversion/bindings/swig/perl/native"
(and (zero?
(system* "perl" "Makefile.PL"
(string-append "PREFIX=" out)))
(zero?
(system* "make" "install")))))))
%standard-phases)))
;; Set the right installation prefix.
(with-directory-excursion
"subversion/bindings/swig/perl/native"
(and (zero?
(system* "perl" "Makefile.PL"
(string-append "PREFIX=" out)))
(zero?
(system* "make" "install")))))))
%standard-phases))))
(native-inputs
`(("pkg-config" ,pkg-config)
;; For the Perl bindings.

View File

@ -395,7 +395,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2014.09.06")
(version "2014.11.21.1")
(source (origin
(method url-fetch)
(uri (string-append "http://youtube-dl.org/downloads/"
@ -403,7 +403,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
version ".tar.gz"))
(sha256
(base32
"1a50vqgzp9wjh2763shald6dlmdd5qlqy83vg4yrihdrlh8sk6dd"))))
"0rxpx8j4qhhsws6czlfji1x9igsinkbbwvld10qdylll7g9q1v7j"))))
(build-system python-build-system)
(inputs `(("setuptools" ,python-setuptools)))
(home-page "http://youtube-dl.org")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages web)
#:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix download)
@ -77,6 +79,69 @@ and its related documentation.")
(license l:asl2.0)
(home-page "https://httpd.apache.org/")))
(define-public nginx
(package
(name "nginx")
(version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "http://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m"))))
(build-system gnu-build-system)
(inputs `(("pcre" ,pcre)
("openssl" ,openssl)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; no test target
#:phases
(alist-cons-before
'configure 'patch-/bin/sh
(lambda _
(substitute* "auto/feature"
(("/bin/sh") (which "bash"))))
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((flags
(list (string-append "--prefix=" (assoc-ref outputs "out"))
"--with-http_ssl_module"
"--with-pcre-jit"
"--with-ipv6"
"--with-debug"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
,(let ((system "Linux") ; uname -s
(release "2.6.32") ; uname -r
;; uname -m
(machine (match (or (%current-target-system)
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i686")
("mips64el-linux" "mips64"))))
(string-append "--crossbuild="
system ":" release ":" machine)))))
(setenv "CC" "gcc")
(format #t "environment variable `CC' set to `gcc'~%")
(format #t "configure flags: ~s~%" flags)
(zero? (apply system* "./configure" flags))))
%standard-phases))))
(home-page "http://nginx.org")
(synopsis "HTTP and reverse proxy server")
(description
"Nginx (\"engine X\") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a standalone web server
and as a proxy to reduce the load on back-end HTTP or mail servers.")
;; Almost all of nginx is distributed under the bsd-2 license.
;; The exceptions are:
;; * The 'nginx-http-push' module is covered by the expat license.
;; * The 'nginx-development-kit' module is mostly covered by bsd-3,
;; except for two source files which are bsd-4 licensed.
(license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4))))
(define-public json-c
(package
(name "json-c")

View File

@ -31,7 +31,7 @@
(define-public wget
(package
(name "wget")
(version "1.16")
(version "1.16.1")
(source
(origin
(method url-fetch)
@ -39,7 +39,7 @@
version ".tar.xz"))
(sha256
(base32
"1rxhr3jmgbwryzl51di4avqxw9m9j1z2aak8q1npns0p184xsqcj"))))
"0csdw41hixa4kd0m19r7p41sip1hlnkp5y62bdzq9zhmxq3wg5ib"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)

341
gnu/packages/xdisorg.scm Normal file
View File

@ -0,0 +1,341 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Alex Kost <alezost@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 xdisorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages xorg))
;; packages outside the x.org system proper
(define-public xclip
(package
(name "xclip")
(version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/" name "/" name "-" version ".tar.gz"))
(sha256
(base32
"0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; There is no test suite
(inputs `(("libxmu" ,libxmu)
("libxt" ,libxt)))
(home-page "http://xclip.sourceforge.net/")
(synopsis "Command line interface to X11 clipboard")
(description "Xclip is a command line interface to the X11 clipboard. It
can also be used for copying files, as an alternative to sftp/scp, thus
avoiding password prompts when X11 forwarding has already been setup.")
(license license:gpl2+)))
(define-public xeyes
(package
(name "xeyes")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
version
".orig.tar.gz"))
(sha256
(base32
"04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
(build-system gnu-build-system)
(inputs
`(("libxext" ,libxext)
("libxmu" ,libxmu)
("libxt" ,libxt)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://xeyes.sourcearchive.com/")
(synopsis "Follow-the-mouse X demo")
(description "Xeyes is a demo program for x.org. It shows eyes
following the mouse.")
(license license:x11)))
(define-public pixman
(package
(name "pixman")
(version "0.32.4")
(source
(origin
(method url-fetch)
(uri (string-append
"http://cairographics.org/releases/pixman-"
version
".tar.gz"))
(sha256
(base32
"113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
(build-system gnu-build-system)
(inputs
`(("libpng" ,libpng)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.pixman.org/")
(synopsis "Low-level pixel manipulation library")
(description "Pixman is a low-level software library for pixel
manipulation, providing features such as image compositing and trapezoid
rasterisation.")
(license license:x11)))
(define-public libdrm
(package
(name "libdrm")
(version "2.4.46")
(source
(origin
(method url-fetch)
(uri (string-append
"http://dri.freedesktop.org/libdrm/libdrm-"
version
".tar.bz2"))
(sha256
(base32
"1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
(build-system gnu-build-system)
(inputs
`(("libpciaccess" ,libpciaccess)
("libpthread-stubs" ,libpthread-stubs)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://dri.freedesktop.org/wiki/")
(synopsis "Direct rendering userspace library")
(description "The Direct Rendering Infrastructure, also known as the DRI,
is a framework for allowing direct access to graphics hardware under the
X Window System in a safe and efficient manner. It includes changes to the
X server, to several client libraries, and to the kernel (DRM, Direct
Rendering Manager). The most important use for the DRI is to create fast
OpenGL implementations providing hardware acceleration for Mesa.
Several 3D accelerated drivers have been written to the DRI specification,
including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
and Matrox.")
(license license:x11)))
;; old version, required by old mesa, see
;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html
(define-public libdrm-2.4.33
(package (inherit libdrm)
(version "2.4.33")
(source
(origin
(method url-fetch)
(uri (string-append
"http://dri.freedesktop.org/libdrm/libdrm-"
version
".tar.bz2"))
(sha256
(base32
"1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"))))
(arguments
`(#:configure-flags
;; create libdrm_nouveau.so, needed by mesa, see
;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261
`("--enable-nouveau-experimental-api")))))
(define-public mtdev
(package
(name "mtdev")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (string-append
"http://bitmath.org/code/mtdev/mtdev-"
version ".tar.bz2"))
(sha256
(base32
"159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d"))))
(build-system gnu-build-system)
(home-page "http://bitmath.org/code/mtdev/")
(synopsis "Multitouch protocol translation library")
(description "Mtdev is a stand-alone library which transforms all
variants of kernel MT events to the slotted type B protocol. The events
put into mtdev may be from any MT device, specifically type A without
contact tracking, type A with contact tracking, or type B with contact
tracking.")
(license license:x11)))
(define-public startup-notification
(package
(name "startup-notification")
(version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.freedesktop.org/software/" name
"/releases/" name "-" version ".tar.gz"))
(sha256
(base32
"0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("libx11" ,libx11)
("xcb-util" ,xcb-util)))
(home-page "http://www.freedesktop.org/wiki/Software/startup-notification/")
(synopsis "Application startup notification and feedback library")
(description
"Startup-notification contains a reference implementation of the startup
notification protocol. The reference implementation is mostly under an X Window
System style license, and has no special dependencies.")
;; Most of the code is provided under x11 license.
(license license:lgpl2.0+)))
(define-public wmctrl
(package
(name "wmctrl")
(version "1.07")
(source (origin
(method url-fetch)
(uri (string-append
"http://tomas.styblo.name/wmctrl/dist/wmctrl-"
version ".tar.gz"))
(sha256
(base32
"1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
(patches (list (search-patch "wmctrl-64-fix.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--mandir="
(assoc-ref %outputs "out")
"/share/man"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libx11" ,libx11)
("libxmu" ,libxmu)
("glib" ,glib)))
(home-page "http://tomas.styblo.name/wmctrl/")
(synopsis "Command-line tool to control X window managers")
(description
"Wmctrl allows to interact with an X window manager that is compatible
with the EWMH/NetWM specification. It can query the window manager for
information, and request for certain window management actions (resize and
move windows, switch between desktops, etc.)")
(license license:gpl2+)))
(define-public scrot
(package
(name "scrot")
(version "0.8")
(source (origin
(method url-fetch)
(uri (string-append
"http://linuxbrit.co.uk/downloads/scrot-"
version ".tar.gz"))
(sha256
(base32
"1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
(build-system gnu-build-system)
(arguments
;; By default, man and doc are put in PREFIX/{man,doc} instead of
;; PREFIX/share/{man,doc}.
'(#:configure-flags
(list (string-append "--mandir="
(assoc-ref %outputs "out")
"/share/man"))
#:phases (alist-replace
'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/scrot")))
(mkdir-p doc)
(zero?
(system* "make" "install"
(string-append "docsdir=" doc)))))
%standard-phases)))
(inputs
`(("libx11" ,libx11)
("giblib" ,giblib)))
(home-page "http://linuxbrit.co.uk/software/")
(synopsis "Command-line screen capture utility for X Window System")
(description
"Scrot allows to save a screenshot of a full screen, a window or a part
of the screen selected by mouse.")
;; This license removes a clause about X Consortium from the original
;; X11 license.
(license (license:x11-style "file://COPYING"
"See 'COPYING' in the distribution."))))
(define-public unclutter
(package
(name "unclutter")
(version "8")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp.x.org/contrib/utilities/unclutter-"
version ".tar.Z"))
(sha256
(base32
"0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases (alist-delete
'configure
(alist-replace
'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p bin)
(mkdir-p man1)
(zero?
(system* "make" "install" "install.man"
(string-append "BINDIR=" bin)
(string-append "MANDIR=" man1)))))
%standard-phases))))
(inputs `(("libx11" ,libx11)))
(home-page "http://ftp.x.org/contrib/utilities/")
(synopsis "Hide idle mouse cursor")
(description
"Unclutter is a program which runs permanently in the background of an
X11 session. It checks on the X11 pointer (cursor) position every few
seconds, and when it finds it has not moved (and no buttons are pressed
on the mouse, and the cursor is not in the root window) it creates a
small sub-window as a child of the window the cursor is in. The new
window installs a cursor of size 1x1 but a mask of all 0, i.e. an
invisible cursor. This allows you to see all the text in an xterm or
xedit, for example. The human factors crowd would agree it should make
things less distracting.")
(license license:public-domain)))

478
gnu/packages/xfce.scm Normal file
View File

@ -0,0 +1,478 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 xfce)
#:use-module ((guix licenses) #:hide (freetype))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages web)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages image)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pdf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages photo)
#:use-module (gnu packages pcre))
(define-public gtk-xfce-engine
(package
(name "gtk-xfce-engine")
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
"13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs `(("gtk+" ,gtk+-2)))
(home-page "http://www.xfce.org/")
(synopsis "GTK+ theme engine for Xfce")
(description
"Default GTK+ engine and themes for Xfce Desktop Environment.")
(license gpl2+)))
(define-public libxfce4util
(package
(name "libxfce4util")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
(home-page "http://www.xfce.org/")
(synopsis "Basic utility library for Xfce")
(description
"A general-purpose utility library with core application support for the
Xfce Desktop Environment.")
(license lgpl2.0+)))
(define-public xfconf
(package
(name "xfconf")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; parallel tests failed
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
;; libxfconf-0.pc refers to all these.
`(("glib" ,glib)
("dbus" ,dbus)
("dbus-glib" ,dbus-glib)))
(inputs
`(("libxfce4util" ,libxfce4util)))
(home-page "http://www.xfce.org/")
(synopsis "Configuration storage and query system for Xfce")
(description
"Settings daemon for Xfce, implemented as a D-Bus-based configuration
storage system.")
(license lgpl2.0+)))
(define-public libxfce4ui
(package
(name "libxfce4ui")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
;; libxfce4kbd-private-2.pc refers to all these.
`(("gtk+" ,gtk+-2)
("libxfce4util" ,libxfce4util)
("xfconf" ,xfconf)))
(inputs `(("libsm" ,libsm)
("libice" ,libice)
("startup-notification" ,startup-notification)))
(home-page "http://www.xfce.org/")
(synopsis "Widgets library for Xfce")
(description
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
to share commonly used Xfce widgets amoung the Xfce applications.")
(license lgpl2.0+)))
(define-public exo
(package
(name "exo")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
;; exo-1.pc refers to all these.
`(("gtk+" ,gtk+-2)
("libxfce4util" ,libxfce4util)))
(inputs
`(("libxfce4ui" ,libxfce4ui)
("perl-uri" ,perl-uri)))
(home-page "http://www.xfce.org/")
(synopsis "Extension library for Xfce")
(description
"An extension library to Xfce. While Xfce comes with quite a few libraries
that are targeted at desktop development, libexo is targeted at application
development.")
;; Libraries are under LGPLv2+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))))
(define-public garcon
(package
(name "garcon")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("glib:bin" ,glib "bin")))
(propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc
(inputs `(("libxfce4util" ,libxfce4util)))
(home-page "http://www.xfce.org/")
(synopsis "Implementation of the freedesktop.org menu specification")
(description
"Garcon is a freedesktop.org compliant menu implementation based on
GLib and GIO. It was started as a complete rewrite of the former Xfce menu
library called libxfce4menu, which, in contrast to garcon, was lacking menu
merging features essential for loading menus modified with menu editors.")
(license lgpl2.0+)))
(define-public tumbler
(package
(name "tumbler")
(version "0.1.25")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("glib:bin" ,glib "bin") ; need glib-genmarshal
("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
(propagated-inputs
`(("glib" ,glib))) ; required by tumbler-1.pc
(inputs
`(("dbus" ,dbus)
("gdk-pixbuf" ,gdk-pixbuf)
("freetype" ,freetype)
("libjpeg" ,libjpeg)
("libgsf" ,libgsf)
("poppler" ,poppler)
("gstreamer" ,gstreamer-0.10)))
(home-page "http://www.xfce.org/")
(synopsis "D-Bus service for applications to request thumbnails")
(description
"Tumbler is a D-Bus service for applications to request thumbnails for
various URI schemes and MIME types. It is an implementation of the thumbnail
management D-Bus specification.")
(license gpl2+)))
(define-public xfce4-panel
(package
(name "xfce4-panel")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
`(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
(inputs
`(("exo" ,exo)
("garcon", garcon)
("libwnck" ,libwnck-1)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce desktop panel")
(description
"Desktop panel for Xfce, which contains program launchers, window buttons,
applications menu, workspace switcher and more.")
;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))))
(define-public xfce4-appfinder
(package
(name "xfce4-appfinder")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("garcon" ,garcon)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce application finder")
(description
"Application finder for Xfce, it will show the applications installed on
your system in categories, so you can quickly find and launch them.")
(license gpl2+)))
(define-public xfce4-session
(package
(name "xfce4-session")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--with-xsession-prefix=" %output))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("iceauth" ,iceauth)
("libsm" ,libsm)
("libwnck" ,libwnck-1)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce session manager")
(description
"Session manager for Xfce, it will restore your session on startup and
allows you to shutdown the computer from Xfce.")
(license gpl2+)))
(define-public xfce4-settings
(package
(name "xfce4-settings")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("exo" ,exo)
("garcon" ,garcon)
("libnotify" ,libnotify)
("libxcursor", libxcursor)
("libxi" ,libxi)
("libxrandr" ,libxrandr)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce settings manager")
(description
"Settings manager for Xfce, it can control various aspects of the desktop
like appearance, display, keyboard and mouse settings.")
(license gpl2+)))
(define-public thunar
(package
(name "thunar")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
"Thunar-" version ".tar.bz2"))
(sha256
(base32
"1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("exo" ,exo)
("gudev", eudev)
("libexif" ,libexif)
("libnotify" ,libnotify)
("libxfce4ui" ,libxfce4ui)
("pcre" ,pcre)
("xfce4-panel" ,xfce4-panel)
("startup-notification" ,startup-notification)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce file manager")
(description
"A modern file manager for graphical desktop, aiming to be easy-to-use and
fast.")
(license gpl2+)))
(define-public thunar-volman
(package
(name "thunar-volman")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("exo" ,exo)
("gudev" ,eudev)
("libnotify" ,libnotify)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Removable media manager for Thunar")
(description
"Thunar-volman is an extension for the Thunar File Manager, which enables
automatic management of removable drives and media. For example, if
thunar-volman is installed and configured properly, and you plug in your
digitcal camera, it will automatically spawn your preferred photo application
and import the new pictures from your camera.")
(license gpl2+)))
(define-public xfwm4
(package
(name "xfwm4")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("libwnck", libwnck-1)
("libxfce4ui" ,libxfce4ui)
("libxrandr" ,libxrandr)
("libxcomposite" ,libxcomposite)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce window manager")
(description
"Window manager for Xfce, it handles the placement of windows
on the screen.")
(license gpl2+)))
(define-public xfdesktop
(package
(name "xfdesktop")
(version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
(version-major+minor version)
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
"0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("exo" ,exo)
("garcon" ,garcon)
("libnotify" ,libnotify)
("libwnck" ,libwnck-1)
("libxfce4ui" ,libxfce4ui)
("thunar" ,thunar)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce desktop manager")
(description
"Desktop manager for Xfce, it sets the background color or image with
optional application menu or icons for minimized applications or launchers,
devices and folders.")
(license gpl2+)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@ -118,7 +119,14 @@
(close-pipe in)
(close-port out)))
(zero? (system* "make" "install.doc"))))
%standard-phases)))))
(alist-cons-after
'install 'wrap-xfig
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/xfig")
`("XAPPLRESDIR" suffix
(,(string-append out "/etc/X11/app-defaults"))))))
%standard-phases))))))
(home-page "http://xfig.org/")
(synopsis "Interactive drawing tool")
(description

View File

@ -41,148 +41,11 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xml)
#:use-module (gnu packages ncurses))
#:use-module (gnu packages ncurses)
#:use-module (gnu packages xdisorg))
;; packages outside the x.org system proper
(define-public xeyes
(package
(name "xeyes")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
version
".orig.tar.gz"))
(sha256
(base32
"04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
(build-system gnu-build-system)
(inputs
`(("libxext" ,libxext)
("libxmu" ,libxmu)
("libxt" ,libxt)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://xeyes.sourcearchive.com/")
(synopsis "Follow-the-mouse X demo")
(description "Xeyes is a demo program for x.org. It shows eyes
following the mouse.")
(license license:x11)))
(define-public pixman
(package
(name "pixman")
(version "0.32.4")
(source
(origin
(method url-fetch)
(uri (string-append
"http://cairographics.org/releases/pixman-"
version
".tar.gz"))
(sha256
(base32
"113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
(build-system gnu-build-system)
(inputs
`(("libpng" ,libpng)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.pixman.org/")
(synopsis "Low-level pixel manipulation library")
(description "Pixman is a low-level software library for pixel
manipulation, providing features such as image compositing and trapezoid
rasterisation.")
(license license:x11)))
(define-public libdrm
(package
(name "libdrm")
(version "2.4.46")
(source
(origin
(method url-fetch)
(uri (string-append
"http://dri.freedesktop.org/libdrm/libdrm-"
version
".tar.bz2"))
(sha256
(base32
"1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
(build-system gnu-build-system)
(inputs
`(("libpciaccess" ,libpciaccess)
("libpthread-stubs" ,libpthread-stubs)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://dri.freedesktop.org/wiki/")
(synopsis "Direct rendering userspace library")
(description "The Direct Rendering Infrastructure, also known as the DRI,
is a framework for allowing direct access to graphics hardware under the
X Window System in a safe and efficient manner. It includes changes to the
X server, to several client libraries, and to the kernel (DRM, Direct
Rendering Manager). The most important use for the DRI is to create fast
OpenGL implementations providing hardware acceleration for Mesa.
Several 3D accelerated drivers have been written to the DRI specification,
including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
and Matrox.")
(license license:x11)))
;; old version, required by old mesa, see
;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html
(define-public libdrm-2.4.33
(package (inherit libdrm)
(version "2.4.33")
(source
(origin
(method url-fetch)
(uri (string-append
"http://dri.freedesktop.org/libdrm/libdrm-"
version
".tar.bz2"))
(sha256
(base32
"1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"))))
(arguments
`(#:configure-flags
;; create libdrm_nouveau.so, needed by mesa, see
;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261
`("--enable-nouveau-experimental-api")))))
(define-public mtdev
(package
(name "mtdev")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (string-append
"http://bitmath.org/code/mtdev/mtdev-"
version ".tar.bz2"))
(sha256
(base32
"159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d"))))
(build-system gnu-build-system)
(home-page "http://bitmath.org/code/mtdev/")
(synopsis "Multitouch protocol translation library")
(description "Mtdev is a stand-alone library which transforms all
variants of kernel MT events to the slotted type B protocol. The events
put into mtdev may be from any MT device, specifically type A without
contact tracking, type A with contact tracking, or type B with contact
tracking.")
(license license:x11)))
;; packages without propagated input
;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to
@ -1297,7 +1160,8 @@ autotools system.")
(base32
"1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j"))))
(build-system gnu-build-system)
(inputs
(propagated-inputs
;; xcomposite.pc refers to all these.
`(("xproto" ,xproto)
("libxfixes" ,libxfixes)
("libx11" ,libx11)
@ -2843,7 +2707,8 @@ kernel mode setting (KMS).")
".tar.bz2"))
(sha256
(base32
"0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7"))))
"0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7"))
(patches (list (search-patch "xf86-video-openchrome-includes.patch")))))
(build-system gnu-build-system)
(inputs `(("libx11" ,libx11)
("libxext" ,libxext)

76
gnu/packages/yubico.scm Normal file
View File

@ -0,0 +1,76 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@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 yubico)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages man)
#:use-module (gnu packages curl))
(define-public libyubikey
(package
(name "libyubikey")
(version "1.12")
(source (origin
(method url-fetch)
(uri (string-append
"https://developers.yubico.com/yubico-c/Releases/"
name "-" version ".tar.gz"))
(sha256
(base32
"1f0plzmr1gwry4rfgq9q70v6qwqny009hac289ad5m6sj7vqflxr"))))
(build-system gnu-build-system)
(synopsis "Development kit for the YubiKey authentication device")
(description
"This package contains a C library and command-line tools that make up
the low-level development kit for the Yubico YubiKey authentication device.")
(home-page "https://developers.yubico.com/yubico-c/")
(license bsd-2)))
(define-public ykclient
(package
(name "ykclient")
(version "2.13")
(source (origin
(method url-fetch)
(uri (string-append
"https://developers.yubico.com/yubico-c-client/Releases/"
name "-" version ".tar.gz"))
(sha256
(base32
"1lw1j61rfjngs8vvv9m348zl4166zg24bq0dy72r44wiz79yic4j"))))
(build-system gnu-build-system)
;; There's just one test, and it requires network access to access
;; yubico.com, so skip it.
(arguments '(#:tests? #f))
(native-inputs `(("pkg-config" ,pkg-config)
("help2man" ,help2man)))
(inputs `(("curl" ,curl)))
(synopsis "C library to validate one-time-password YubiKeys")
(description
"YubiKey C Client Library (libykclient) is a C library used to validate a
one-time-password (OTP) YubiKey against Yubicos servers. See the Yubico
website for more information about Yubico and the YubiKey.")
(home-page "https://developers.yubico.com/yubico-c-client/")
(license bsd-2)))

View File

@ -91,12 +91,17 @@ When @var{initialize?} is true, automatically create the seed and host key
upon service activation if they do not exist yet. This may take long and
require interaction.
When @var{initialize?} is false, it is up to the user to initialize the
randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create
a key pair with the private key stored in file @var{host-key} (@pxref{lshd
basics,,, lsh, LSH Manual}).
When @var{interfaces} is empty, lshd listens for connections on all the
network interfaces; otherwise, @var{interfaces} must be a list of host names
or addresses.
@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty
passwords, and @var{root-login?} specifies whether to accepts log-ins as
@var{allow-empty-passwords?} specifies whether to accept log-ins with empty
passwords, and @var{root-login?} specifies whether to accept log-ins as
root.
The other options should be self-descriptive."

View File

@ -96,6 +96,7 @@ Section \"Files\"
ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\"
@ -142,28 +143,31 @@ EndSection
#~(begin
(use-modules (ice-9 match))
(let* ((home (getenv "HOME"))
(profile (string-append home "/.guix-profile/bin"))
(PATH (or (getenv "PATH") ""))
(xsession (string-append home "/.xsession")))
;; Make sure the user's profile is visible.
(setenv "PATH"
(string-append profile
(if (string-null? PATH) "" ":")
PATH))
(define (exec-from-login-shell command . args)
;; Run COMMAND from a login shell so that it gets to see the same
;; environment variables that one gets when logging in on a tty, for
;; instance.
(let* ((pw (getpw (getuid)))
(shell (passwd:shell pw))
(st (stat command #f)))
(when (and st (not (zero? (logand (stat:mode st) #o100))))
;; The '--login' option is supported at least by Bash and zsh.
(execl shell shell "--login" "-c"
(string-join (cons command args))))))
;; First, try to run ~/.xsession.
(false-if-exception (execl xsession xsession)))
;; First, try to run ~/.xsession.
(let* ((home (getenv "HOME"))
(xsession (string-append home "/.xsession")))
(exec-from-login-shell xsession))
;; Then try a pre-configured session type.
(let ((ratpoison (string-append #$ratpoison "/bin/ratpoison"))
(wmaker (string-append #$windowmaker "/bin/wmaker")))
(match (command-line)
((_ "ratpoison")
(execl ratpoison ratpoison))
(exec-from-login-shell ratpoison))
(_
;; 'wmaker' does execvp(argv[0]), so we really can't mess up.
(execl wmaker wmaker))))))
(exec-from-login-shell wmaker))))))
(gexp->script "xinitrc" builder))

View File

@ -38,6 +38,7 @@
#:use-module (gnu packages nano)
#:use-module (gnu packages lsof)
#:use-module (gnu packages gawk)
#:use-module (gnu packages man)
#:use-module (gnu packages compression)
#:use-module (gnu packages firmware)
#:autoload (gnu packages cryptsetup) (cryptsetup)
@ -46,12 +47,15 @@
#:use-module (gnu services base)
#:use-module (gnu system grub)
#:use-module (gnu system shadow)
#:use-module (gnu system locale)
#:use-module (gnu system linux)
#:use-module (gnu system linux-initrd)
#:use-module (gnu system file-systems)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (operating-system
operating-system?
@ -69,6 +73,7 @@
operating-system-packages
operating-system-timezone
operating-system-locale
operating-system-locale-definitions
operating-system-mapped-devices
operating-system-file-systems
operating-system-activation-script
@ -129,7 +134,9 @@
(timezone operating-system-timezone) ; string
(locale operating-system-locale ; string
(default "en_US.UTF-8"))
(default "en_US.utf8"))
(locale-definitions operating-system-locale-definitions ; list of <locale-definition>
(default %default-locale-definitions))
(services operating-system-user-services ; list of monadic services
(default %base-services))
@ -204,9 +211,7 @@ file."
"Return file system services for the file systems of OS that are not marked
as 'needed-for-boot'."
(define file-systems
(remove (lambda (fs)
(or (file-system-needed-for-boot? fs)
(string=? "/" (file-system-mount-point fs))))
(remove file-system-needed-for-boot?
(operating-system-file-systems os)))
(define (device-mappings fs)
@ -329,6 +334,12 @@ explicitly appear in OS."
pciutils usbutils
util-linux inetutils isc-dhcp wireless-tools
net-tools ; XXX: remove when Inetutils suffices
man-db
;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also
;; want the other commands and the man pages (notably because
;; auto-completion in Emacs shell relies on man pages.)
sudo
;; Get 'insmod' & co. from kmod, not module-init-tools, since udev
;; already depends on it anyway.
@ -380,11 +391,10 @@ This is the GNU system. Welcome.\n")
(nsswitch (text-file "nsswitch.conf"
"hosts: files dns\n"))
;; TODO: Generate bashrc from packages' search-paths.
(bashrc (text-file* "bashrc" "
export PS1='\\u@\\h \\w\\$ '
export LC_ALL=\"" locale "\"
;; Startup file for POSIX-compliant login shells, which set system-wide
;; environment variables.
(profile (text-file* "profile" "\
export LANG=\"" locale "\"
export TZ=\"" timezone "\"
export TZDIR=\"" tzdata "/share/zoneinfo\"
@ -393,11 +403,8 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin
export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH
export CPATH=$HOME/.guix-profile/include:" profile "/include
export LIBRARY_PATH=$HOME/.guix-profile/lib:" profile "/lib
export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
alias ls='ls -p --color'
alias ll='ls -l'
"))
(skel (skeleton-directory skeletons)))
(file-union "etc"
@ -410,7 +417,7 @@ alias ll='ls -l'
("nsswitch.conf" ,#~#$nsswitch)
("skel" ,#~#$skel)
("shells" ,#~#$shells)
("profile" ,#~#$bashrc)
("profile" ,#~#$profile)
("hosts" ,#~#$hosts-file)
("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/"
#$timezone))
@ -525,8 +532,10 @@ etc."
(define %modules
'((gnu build activation)
(gnu build linux-boot)
(gnu build linux-modules)
(gnu build file-systems)
(guix build utils)))
(guix build utils)
(guix elf)))
(define (service-activations services)
;; Return the activation scripts for SERVICES.
@ -638,12 +647,7 @@ we're running in the final root."
(define (operating-system-initrd-file os)
"Return a gexp denoting the initrd file of OS."
(define boot-file-systems
(filter (match-lambda
(($ <file-system> device title "/")
#t)
(($ <file-system> device title mount-point type flags
options boot?)
boot?))
(filter file-system-needed-for-boot?
(operating-system-file-systems os)))
(define mapped-devices
@ -656,6 +660,19 @@ we're running in the final root."
#:mapped-devices mapped-devices)))
(return #~(string-append #$initrd "/initrd"))))
(define (operating-system-locale-directory os)
"Return the directory containing the locales compiled for the definitions
listed in OS. The C library expects to find it under
/run/current-system/locale."
;; While we're at it, check whether the locale of OS is defined.
(unless (member (operating-system-locale os)
(map locale-definition-name
(operating-system-locale-definitions os)))
(raise (condition
(&message (message "system locale lacks a definition")))))
(locale-directory (operating-system-locale-definitions os)))
(define (kernel->grub-label kernel)
"Return a label for the GRUB menu entry that boots KERNEL."
(string-append "GNU with "
@ -705,6 +722,7 @@ this file is the reconstruction of GRUB menu entries for old configurations."
(boot (operating-system-boot-script os))
(kernel -> (operating-system-kernel os))
(initrd (operating-system-initrd-file os))
(locale (operating-system-locale-directory os))
(params (operating-system-parameters-file os)))
(file-union "system"
`(("boot" ,#~#$boot)
@ -712,6 +730,7 @@ this file is the reconstruction of GRUB menu entries for old configurations."
("parameters" ,#~#$params)
("initrd" ,initrd)
("profile" ,#~#$profile)
("locale" ,#~#$locale) ;used by libc
("etc" ,#~#$etc)))))
;;; system.scm ends here

View File

@ -70,13 +70,19 @@
(default '()))
(options file-system-options ; string or #f
(default #f))
(needed-for-boot? file-system-needed-for-boot? ; Boolean
(needed-for-boot? %file-system-needed-for-boot? ; Boolean
(default #f))
(check? file-system-check? ; Boolean
(default #t))
(create-mount-point? file-system-create-mount-point? ; Boolean
(default #f)))
(define-inlinable (file-system-needed-for-boot? fs)
"Return true if FS has the 'needed-for-boot?' flag set, or if it's the root
file system."
(or (%file-system-needed-for-boot? fs)
(string=? "/" (file-system-mount-point fs))))
(define %fuse-control-file-system
;; Control file system for Linux' file systems in user-space (FUSE).
(file-system

View File

@ -170,6 +170,9 @@ function load_video {
insmod video_cirrus
}
# Set 'root' to the partition that contains /gnu/store.
search --file --set ~a/share/grub/unicode.pf2
if loadfont ~a/share/grub/unicode.pf2; then
set gfxmode=640x480
load_video
@ -185,7 +188,7 @@ else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi~%"
#$grub
#$grub #$grub
#$image
#$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight))))))
@ -209,11 +212,14 @@ entries corresponding to old generations of the system."
(match-lambda
(($ <menu-entry> label linux arguments initrd)
#~(format port "menuentry ~s {
# Set 'root' to the partition that contains the kernel.
search --file --set ~a/bzImage~%
linux ~a/bzImage ~a
initrd ~a
}~%"
#$label
#$linux (string-join (list #$@arguments))
#$linux #$linux (string-join (list #$@arguments))
#$initrd))))
(mlet %store-monad ((sugar (eye-candy config #~port)))
@ -223,14 +229,9 @@ entries corresponding to old generations of the system."
#$sugar
(format port "
set default=~a
set timeout=~a
search.file ~a/bzImage~%"
set timeout=~a~%"
#$(grub-configuration-default-entry config)
#$(grub-configuration-timeout config)
#$(any (match-lambda
(($ <menu-entry> _ linux)
linux))
all-entries))
#$(grub-configuration-timeout config))
#$@(map entry->gexp all-entries)
#$@(if (pair? old-entries)

View File

@ -21,7 +21,9 @@
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module ((guix store) #:select (%store-prefix))
#:use-module (gnu packages admin)
#:use-module (gnu packages linux)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages package-management)
#:use-module (gnu packages disk)
#:use-module (gnu packages grub)
@ -219,7 +221,7 @@ Use Alt-F2 for documentation.
(operating-system
(host-name "gnu")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
(bootloader (grub-configuration
(device "/dev/sda")))
(file-systems
@ -254,7 +256,8 @@ Use Alt-F2 for documentation.
(packages (cons* texinfo-4 ;for the standalone Info reader
parted ddrescue
grub ;mostly so xrefs to its manual work
wireless-tools
cryptsetup
wireless-tools wpa-supplicant
;; XXX: We used to have GNU fdisk here, but as of version
;; 2.0.0a, that pulls Guile 1.8, which takes unreasonable
;; space; furthermore util-linux's fdisk is already

View File

@ -92,7 +92,9 @@ MODULES and taken from LINUX."
(define build-exp
#~(begin
(use-modules (ice-9 match) (ice-9 regex)
(guix build utils))
(srfi srfi-1)
(guix build utils)
(gnu build linux-modules))
(define (string->regexp str)
;; Return a regexp that matches STR exactly.
@ -101,21 +103,35 @@ MODULES and taken from LINUX."
(define module-dir
(string-append #$linux "/lib/modules"))
(define (lookup module)
(let ((name (ensure-dot-ko module)))
(match (find-files module-dir (string->regexp name))
((file)
file)
(()
(error "module not found" name module-dir))
((_ ...)
(error "several modules by that name"
name module-dir)))))
(define modules
(let ((modules (map lookup '#$modules)))
(append modules
(recursive-module-dependencies modules
#:lookup-module lookup))))
(mkdir #$output)
(for-each (lambda (module)
(match (find-files module-dir (string->regexp module))
((file)
(format #t "copying '~a'...~%" file)
(copy-file file (string-append #$output "/" module)))
(()
(error "module not found" module module-dir))
((_ ...)
(error "several modules by that name"
module module-dir))))
'#$modules)))
(format #t "copying '~a'...~%" module)
(copy-file module
(string-append #$output "/"
(basename module))))
(delete-duplicates modules))))
(gexp->derivation "linux-modules" build-exp
#:modules '((guix build utils))))
#:modules '((guix build utils)
(guix elf)
(gnu build linux-modules))))
(define (file-system->spec fs)
"Return a list corresponding to file-system FS that can be passed to the
@ -150,16 +166,16 @@ modules can be listed in EXTRA-MODULES. They will be added to the initrd, and
loaded at boot time in the order in which they appear."
(define virtio-modules
;; Modules for Linux para-virtualized devices, for use in QEMU guests.
'("virtio.ko" "virtio_ring.ko" "virtio_pci.ko"
"virtio_balloon.ko" "virtio_blk.ko" "virtio_net.ko"))
'("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net"
"virtio_console"))
(define cifs-modules
;; Modules needed to mount CIFS file systems.
'("md4.ko" "ecb.ko" "cifs.ko"))
'("md4" "ecb" "cifs"))
(define virtio-9p-modules
;; Modules for the 9p paravirtualized file system.
'("fscache.ko" "9pnet.ko" "9p.ko" "9pnet_virtio.ko"))
'("9p" "9pnet_virtio"))
(define (file-system-type-predicate type)
(lambda (fs)
@ -167,8 +183,8 @@ loaded at boot time in the order in which they appear."
(define linux-modules
;; Modules added to the initrd and loaded from the initrd.
`("libahci.ko" "ahci.ko" ;for SATA controllers
"pata_acpi.ko" "pata_atiixp.ko" ;for ATA controllers
`("ahci" ;for SATA controllers
"pata_acpi" "pata_atiixp" ;for ATA controllers
,@(if (or virtio? qemu-networking?)
virtio-modules
'())
@ -179,7 +195,7 @@ loaded at boot time in the order in which they appear."
virtio-9p-modules
'())
,@(if volatile-root?
'("fuse.ko")
'("fuse")
'())
,@extra-modules))
@ -220,14 +236,15 @@ loaded at boot time in the order in which they appear."
(boot-system #:mounts '#$(map file-system->spec file-systems)
#:pre-mount (lambda ()
(and #$@device-mapping-commands))
#:linux-modules (map (lambda (file)
(string-append #$kodir "/" file))
'#$linux-modules)
#:linux-modules '#$linux-modules
#:linux-module-directory '#$kodir
#:qemu-guest-networking? #$qemu-networking?
#:volatile-root? '#$volatile-root?))
#:name "base-initrd"
#:modules '((guix build utils)
(gnu build linux-boot)
(gnu build file-systems)))))
(gnu build linux-modules)
(gnu build file-systems)
(guix elf)))))
;;; linux-initrd.scm ends here

126
gnu/system/locale.scm Normal file
View File

@ -0,0 +1,126 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@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 system locale)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (srfi srfi-26)
#:export (locale-definition
locale-definition?
locale-definition-name
locale-definition-source
locale-definition-charset
locale-directory
%default-locale-definitions))
;;; Commentary:
;;;
;;; Locale definitions, and compilation thereof.
;;;
;;; Code:
(define-record-type* <locale-definition> locale-definition
make-locale-definition
locale-definition?
(name locale-definition-name) ;string--e.g., "fr_FR.utf8"
(source locale-definition-source) ;string--e.g., "fr_FR"
(charset locale-definition-charset ;string--e.g., "UTF-8"
(default "UTF-8")))
(define* (localedef-command locale
#:key (libc (canonical-package glibc)))
"Return a gexp that runs 'localedef' from LIBC to build LOCALE."
#~(begin
(format #t "building locale '~a'...~%"
#$(locale-definition-name locale))
(zero? (system* (string-append #$libc "/bin/localedef")
"--no-archive" "--prefix" #$output
"-i" #$(locale-definition-source locale)
"-f" #$(locale-definition-charset locale)
(string-append #$output "/"
#$(locale-definition-name locale))))))
(define* (locale-directory locales
#:key (libc (canonical-package glibc)))
"Return a directory containing all of LOCALES compiled."
(define build
#~(begin
(mkdir #$output)
;; 'localedef' executes 'gzip' to access compressed locale sources.
(setenv "PATH" (string-append #$gzip "/bin"))
(exit
(and #$@(map (cut localedef-command <> #:libc libc)
locales)))))
(gexp->derivation "locale" build
#:local-build? #t))
(define %default-locale-definitions
;; Arbitrary set of locales that are built by default. They are here mostly
;; to facilitate first-time use to some people, while others may have to add
;; a specific <locale-definition>.
(letrec-syntax ((utf8-locale (syntax-rules ()
((_ name*)
(locale-definition
(name (string-append name* ".utf8"))
(source name*)
(charset "UTF-8")))))
(utf8-locales (syntax-rules ()
((_ name ...)
(list (utf8-locale name) ...)))))
(utf8-locales "ca_ES"
"cs_CZ"
"da_DK"
"de_DE"
"el_GR"
"en_AU"
"en_CA"
"en_GB"
"en_US"
"es_AR"
"es_CL"
"es_ES"
"es_MX"
"fi_FI"
"fr_BE"
"fr_CA"
"fr_CH"
"fr_FR"
"ga_IE"
"it_IT"
"ja_JP"
"ko_KR"
"nb_NO"
"nl_NL"
"pl_PL"
"pt_PT"
"ro_RO"
"ru_RU"
"sv_SE"
"tr_TR"
"uk_UA"
"vi_VN"
"zh_CN")))
;;; locale.scm ends here

View File

@ -115,9 +115,16 @@
(copy-file (car (find-files #$guile-wm "wm-init-sample.scm"))
#$output)))
(mlet %store-monad ((bashrc (text-file "bashrc" "\
# Allow non-login shells such as an xterm to get things right.
test -f /etc/profile && source /etc/profile\n"))
(mlet %store-monad ((profile (text-file "bash_profile" "\
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n"))
(bashrc (text-file "bashrc" "\
PS1='\\u@\\h \\w\\$ '
alias ls='ls -p --color'
alias ll='ls -l'\n"))
(zlogin (text-file "zlogin" "\
# Honor system-wide environment variables
source /etc/profile\n"))
(guile-wm (gexp->derivation "guile-wm" copy-guile-wm
#:modules
'((guix build utils))))
@ -127,7 +134,9 @@ XTerm*metaSendsEscape: true\n"))
(gdbinit (text-file "gdbinit" "\
# Tell GDB where to look for separate debugging files.
set debug-file-directory ~/.guix-profile/lib/debug\n")))
(return `((".bashrc" ,bashrc)
(return `((".bash_profile" ,profile)
(".bashrc" ,bashrc)
(".zlogin" ,zlogin)
(".Xdefaults" ,xdefaults)
(".guile-wm" ,guile-wm)
(".gdbinit" ,gdbinit)))))

View File

@ -104,7 +104,9 @@
'((gnu build vm)
(gnu build install)
(gnu build linux-boot)
(gnu build linux-modules)
(gnu build file-systems)
(guix elf)
(guix build utils)
(guix build store-copy)))
(guile-for-build
@ -470,7 +472,7 @@ with '-virtfs' options for the host file systems listed in SHARED-FS."
" -enable-kvm -no-reboot -net nic,model=virtio \
" #$@(map virtfs-option shared-fs) " \
-net user \
-serial stdio \
-serial stdio -vga std \
-drive file=" #$image
",if=virtio,cache=writeback,werror=report,readonly \
-m 256"))

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