Merge branch 'master' into core-updates
This commit is contained in:
commit
c3052d6bcd
21
Makefile.am
21
Makefile.am
@ -27,7 +27,7 @@ nodist_noinst_SCRIPTS = \
|
||||
pre-inst-env \
|
||||
test-env
|
||||
|
||||
include gnu-system.am
|
||||
include gnu/local.mk
|
||||
|
||||
MODULES = \
|
||||
guix/base32.scm \
|
||||
@ -339,6 +339,7 @@ EXTRA_DIST = \
|
||||
.dir-locals.el \
|
||||
build-aux/build-self.scm \
|
||||
build-aux/compile-all.scm \
|
||||
build-aux/hydra/evaluate.scm \
|
||||
build-aux/hydra/gnu-system.scm \
|
||||
build-aux/hydra/demo-os.scm \
|
||||
build-aux/hydra/guix.scm \
|
||||
@ -415,11 +416,11 @@ install-data-hook: set-bootstrap-executable-permissions
|
||||
SUBDIRS = po/guix po/packages
|
||||
BUILT_SOURCES =
|
||||
|
||||
include doc.am
|
||||
include doc/local.mk
|
||||
|
||||
if BUILD_DAEMON
|
||||
|
||||
include daemon.am
|
||||
include nix/local.mk
|
||||
|
||||
endif BUILD_DAEMON
|
||||
|
||||
@ -436,7 +437,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
|
||||
dist_emacsui_DATA = emacs/guix-main.scm
|
||||
nodist_emacsui_DATA = emacs/guix-helper.scm
|
||||
include emacs.am
|
||||
include emacs/local.mk
|
||||
|
||||
# The self-contained tarball.
|
||||
guix-binary.%.tar.xz:
|
||||
@ -480,15 +481,23 @@ assert-no-store-file-names:
|
||||
fi
|
||||
|
||||
# Make sure hydra.gnu.org has the important binaries.
|
||||
assert-binaries-available:
|
||||
assert-binaries-available: $(GOBJECTS)
|
||||
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-available-binaries.scm"
|
||||
|
||||
# Make sure the final inputs don't refer to bootstrap tools.
|
||||
assert-final-inputs-self-contained:
|
||||
assert-final-inputs-self-contained: $(GOBJECTS)
|
||||
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
|
||||
|
||||
# Compute the Hydra jobs and write them in the target file.
|
||||
hydra-jobs.scm: $(GOBJECTS)
|
||||
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
|
||||
$(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/hydra/evaluate.scm" \
|
||||
"$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp"
|
||||
$(AT_V_at)mv "$@.tmp" "$@"
|
||||
|
||||
.PHONY: sync-descriptions gen-ChangeLog gen-AUTHORS clean-go make-go
|
||||
.PHONY: assert-no-store-file-names assert-binaries-available
|
||||
.PHONY: assert-final-inputs-self-contained
|
||||
|
6
NEWS
6
NEWS
@ -10,6 +10,12 @@ Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 0.11.0 (since 0.10.0)
|
||||
|
||||
** Package management
|
||||
|
||||
*** New Emacs interface for package locations: M-x guix-locations
|
||||
|
||||
* Changes in 0.10.0 (since 0.9.0)
|
||||
|
||||
** Community
|
||||
|
@ -46,8 +46,9 @@
|
||||
(available (substitutable-paths store total))
|
||||
(missing (lset-difference string=? total available)))
|
||||
(if (null? missing)
|
||||
(format (current-error-port) "~a packages found substitutable~%"
|
||||
(length total))
|
||||
(format (current-error-port)
|
||||
"~a packages found substitutable on~{ ~a~}~%"
|
||||
(length total) %hydra-supported-systems)
|
||||
(format (current-error-port)
|
||||
"~a packages are not substitutable:~%~{ ~a~%~}~%"
|
||||
(length missing) missing))
|
||||
|
98
build-aux/hydra/evaluate.scm
Normal file
98
build-aux/hydra/evaluate.scm
Normal file
@ -0,0 +1,98 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 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/>.
|
||||
|
||||
;;; This program replicates the behavior of Hydra's 'hydra-eval-guile-job'.
|
||||
;;; It evaluates the Hydra job defined by the program passed as its first
|
||||
;;; arguments and outputs an sexp of the jobs on standard output.
|
||||
|
||||
(use-modules (guix store)
|
||||
(srfi srfi-19)
|
||||
(ice-9 match)
|
||||
(ice-9 pretty-print)
|
||||
(ice-9 format))
|
||||
|
||||
(define %user-module
|
||||
;; Hydra user module.
|
||||
(let ((m (make-module)))
|
||||
(beautify-user-module! m)
|
||||
m))
|
||||
|
||||
(define (call-with-time thunk kont)
|
||||
"Call THUNK and pass KONT the elapsed time followed by THUNK's return
|
||||
values."
|
||||
(let* ((start (current-time time-monotonic))
|
||||
(result (call-with-values thunk list))
|
||||
(end (current-time time-monotonic)))
|
||||
(apply kont (time-difference end start) result)))
|
||||
|
||||
(define (call-with-time-display thunk)
|
||||
"Call THUNK and write to the current output port its duration."
|
||||
(call-with-time thunk
|
||||
(lambda (time . results)
|
||||
(format #t "~,3f seconds~%"
|
||||
(+ (time-second time)
|
||||
(/ (time-nanosecond time) 1e9)))
|
||||
(apply values results))))
|
||||
|
||||
|
||||
;; Without further ado...
|
||||
(match (command-line)
|
||||
((command file)
|
||||
;; Load FILE, a Scheme file that defines Hydra jobs.
|
||||
(let ((port (current-output-port)))
|
||||
(save-module-excursion
|
||||
(lambda ()
|
||||
(set-current-module %user-module)
|
||||
(primitive-load file)))
|
||||
|
||||
(with-store store
|
||||
;; Make sure we don't resort to substitutes.
|
||||
(set-build-options store
|
||||
#:use-substitutes? #f
|
||||
#:substitute-urls '())
|
||||
|
||||
;; Grafts can trigger early builds. We do not want that to happen
|
||||
;; during evaluation, so use a sledgehammer to catch such problems.
|
||||
(set! build-things
|
||||
(lambda (store . args)
|
||||
(format (current-error-port)
|
||||
"error: trying to build things during evaluation!~%")
|
||||
(format (current-error-port)
|
||||
"'build-things' arguments: ~s~%" args)
|
||||
(exit 1)))
|
||||
|
||||
;; Call the entry point of FILE and print the resulting job sexp.
|
||||
(pretty-print
|
||||
(match ((module-ref %user-module 'hydra-jobs) store '())
|
||||
(((names . thunks) ...)
|
||||
(map (lambda (job thunk)
|
||||
(format (current-error-port) "evaluating '~a'... " job)
|
||||
(force-output (current-error-port))
|
||||
(cons job (call-with-time-display thunk)))
|
||||
names thunks)))
|
||||
port))))
|
||||
((command _ ...)
|
||||
(format (current-error-port) "Usage: ~a FILE
|
||||
Evaluate the Hydra jobs defined in FILE.~%"
|
||||
command)
|
||||
(exit 1)))
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'call-with-time 'scheme-indent-function 1)
|
||||
;;; End:
|
||||
|
@ -71,19 +71,20 @@
|
||||
(define* (package->alist store package system
|
||||
#:optional (package-derivation package-derivation))
|
||||
"Convert PACKAGE to an alist suitable for Hydra."
|
||||
`((derivation . ,(derivation-file-name
|
||||
(package-derivation store package system
|
||||
#:graft? #f)))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
(license . ,(package-license package))
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(max-silent-time . ,(or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600)) ; 1 hour by default
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000)))) ; 20 hours by default
|
||||
(parameterize ((%graft? #f))
|
||||
`((derivation . ,(derivation-file-name
|
||||
(package-derivation store package system
|
||||
#:graft? #f)))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
(license . ,(package-license package))
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(max-silent-time . ,(or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600)) ;1 hour by default
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000))))) ;20 hours by default
|
||||
|
||||
(define (package-job store job-name package system)
|
||||
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
|
||||
@ -142,7 +143,9 @@ system.")
|
||||
(define (->job name drv)
|
||||
(let ((name (symbol-append name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,name . ,(cut ->alist drv))))
|
||||
`(,name . ,(lambda ()
|
||||
(parameterize ((%graft? #f))
|
||||
(->alist drv))))))
|
||||
|
||||
(define MiB
|
||||
(expt 2 20))
|
||||
@ -178,7 +181,9 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.")
|
||||
(define (->job name drv)
|
||||
(let ((name (symbol-append name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,name . ,(cut ->alist drv))))
|
||||
`(,name . ,(lambda ()
|
||||
(parameterize ((%graft? #f))
|
||||
(->alist drv))))))
|
||||
|
||||
;; XXX: Add a job for the stable Guix?
|
||||
(list (->job 'binary-tarball
|
||||
|
@ -211,8 +211,9 @@ AC_CONFIG_FILES([Makefile
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
|
||||
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
|
||||
AC_CONFIG_FILES([test-env], [chmod +x test-env])
|
||||
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
|
||||
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
|
||||
[chmod +x pre-inst-env])
|
||||
|
||||
dnl Emacs interface.
|
||||
AC_PATH_PROG([DOT_USER_PROGRAM], [dot], [dot])
|
||||
|
@ -78,9 +78,13 @@ export ACLOCAL_PATH=/usr/share/aclocal
|
||||
@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for
|
||||
more information.
|
||||
|
||||
Then, run @command{./configure} as usual.
|
||||
Then, run @command{./configure} as usual. Make sure to pass
|
||||
@code{--localstatedir=@var{directory}} where @var{directory} is the
|
||||
@code{localstatedir} value used by your current installation (@pxref{The
|
||||
Store}, for information about this).
|
||||
|
||||
Finally, you have to invoke @code{make check} to run tests. If anything
|
||||
Finally, you have to invoke @code{make check} to run tests
|
||||
(@pxref{Running the Test Suite}). If anything
|
||||
fails, take a look at installation instructions (@pxref{Installation})
|
||||
or send a message to the @email{guix-devel@@gnu.org, mailing list}.
|
||||
|
||||
|
@ -10,6 +10,7 @@ Guix convenient and fun.
|
||||
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
||||
* Package Management: Emacs Package Management. Managing packages and generations.
|
||||
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
||||
* Package Source Locations: Emacs Package Locations. Interface for package location files.
|
||||
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
||||
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
||||
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
||||
@ -160,6 +161,11 @@ Display package(s) with the specified name.
|
||||
@item M-x guix-packages-by-license
|
||||
Display package(s) with the specified license.
|
||||
|
||||
@item M-x guix-packages-by-location
|
||||
Display package(s) located in the specified file. These files usually
|
||||
have the following form: @file{gnu/packages/emacs.scm}, but don't type
|
||||
them manually! Press @key{TAB} to complete the file name.
|
||||
|
||||
@item M-x guix-search-by-regexp
|
||||
Search for packages by a specified regexp. By default ``name'',
|
||||
``synopsis'' and ``description'' of the packages will be searched. This
|
||||
@ -217,30 +223,6 @@ With @kbd{C-u}, make it verbose.
|
||||
Once @command{guix pull} has succeeded, the Guix REPL is restared. This
|
||||
allows you to keep using the Emacs interface with the updated Guix.
|
||||
|
||||
Finally, there is an Emacs variant of @command{guix edit} command
|
||||
(@pxref{Invoking guix edit}):
|
||||
|
||||
@table @kbd
|
||||
@item M-x guix-edit
|
||||
As with @kbd{M-x guix-packages-by-name}, you can press @key{TAB} to
|
||||
complete a package name.
|
||||
@end table
|
||||
|
||||
If you are contributing to Guix, you may find it useful for @kbd{M-x
|
||||
guix-edit} to open package files from your git directory. This can be
|
||||
done by setting @code{guix-directory} variable. For example, after
|
||||
this:
|
||||
|
||||
@example
|
||||
(setq guix-directory "~/src/guix")
|
||||
@end example
|
||||
|
||||
@kbd{M-x guix-edit guix} opens
|
||||
@file{~/src/guix/gnu/packages/package-management.scm} file.
|
||||
|
||||
Also you can use @kbd{C-u} prefix argument to specify a directory just
|
||||
for the current @kbd{M-x guix-edit} command.
|
||||
|
||||
|
||||
@node Emacs General info
|
||||
@subsection General information
|
||||
@ -562,9 +544,57 @@ Display a list of available licenses. You can press @kbd{@key{RET}}
|
||||
there to display packages with this license in the same way as @kbd{M-x
|
||||
guix-packages-by-license} would do (@pxref{Emacs Commands}).
|
||||
|
||||
@item M-x guix-find-license-definition
|
||||
Open @file{@dots{}/guix/licenses.scm} and move to the specified license.
|
||||
|
||||
@end table
|
||||
|
||||
|
||||
@node Emacs Package Locations
|
||||
@section Package Source Locations
|
||||
|
||||
As you know, package definitions are placed in Guile files, also known
|
||||
as @dfn{package locations}. The following commands should help you not
|
||||
get lost in these locations:
|
||||
|
||||
@table @kbd
|
||||
|
||||
@item M-x guix-locations
|
||||
Display a list of package locations. You can press @key{RET} there to
|
||||
display packages placed in the current location in the same way as
|
||||
@kbd{M-x guix-packages-by-location} would do (@pxref{Emacs Commands}).
|
||||
Note that when the point is on a location button, @key{RET} will open
|
||||
this location file.
|
||||
|
||||
@item M-x guix-find-location
|
||||
Open the given package definition source file (press @key{TAB} to choose
|
||||
a location from a completion list).
|
||||
|
||||
@item M-x guix-edit
|
||||
Find location of a specified package. This is an Emacs analog of
|
||||
@command{guix edit} command (@pxref{Invoking guix edit}). As with
|
||||
@kbd{M-x guix-packages-by-name}, you can press @key{TAB} to complete a
|
||||
package name.
|
||||
|
||||
@end table
|
||||
|
||||
If you are contributing to Guix, you may find it useful for @kbd{M-x
|
||||
guix-find-location} and @kbd{M-x guix-edit} to open locations from your
|
||||
Git checkout. This can be done by setting @code{guix-directory}
|
||||
variable. For example, after this:
|
||||
|
||||
@example
|
||||
(setq guix-directory "~/src/guix")
|
||||
@end example
|
||||
|
||||
@kbd{M-x guix-edit guix} opens
|
||||
@file{~/src/guix/gnu/packages/package-management.scm} file.
|
||||
|
||||
Also you can use @kbd{C-u} prefix argument to specify a directory just
|
||||
for the current @kbd{M-x guix-find-location} or @kbd{M-x guix-edit}
|
||||
command.
|
||||
|
||||
|
||||
@node Emacs Popup Interface
|
||||
@section Popup Interface
|
||||
|
||||
|
174
doc/guix.texi
174
doc/guix.texi
@ -118,6 +118,7 @@ Emacs Interface
|
||||
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
||||
* Package Management: Emacs Package Management. Managing packages and generations.
|
||||
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
||||
* Package Source Locations: Emacs Package Locations. Interface for package location files.
|
||||
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
||||
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
||||
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
||||
@ -225,6 +226,7 @@ Packaging Guidelines
|
||||
* Synopses and Descriptions:: Helping users find the right package.
|
||||
* Python Modules:: Taming the snake.
|
||||
* Perl Modules:: Little pearls.
|
||||
* Java Packages:: Coffee break.
|
||||
* Fonts:: Fond of fonts.
|
||||
|
||||
Contributing
|
||||
@ -1157,6 +1159,16 @@ for Chinese languages:
|
||||
guix package -i font-adobe-source-han-sans:cn
|
||||
@end example
|
||||
|
||||
@subsection X.509 Certificates
|
||||
|
||||
The @code{nss-certs} package provides X.509 certificates, which allow
|
||||
programs to authenticate Web servers accessed over HTTPS.
|
||||
|
||||
When using Guix on a foreign distro, you can install this package and
|
||||
define the relevant environment variables so that packages know where to
|
||||
look for certificates. @pxref{X.509 Certificates}, for detailed
|
||||
information.
|
||||
|
||||
@subsection Emacs Packages
|
||||
|
||||
When you install Emacs packages with Guix, the elisp files may be placed
|
||||
@ -1377,12 +1389,6 @@ variables for their search paths (see explanation of
|
||||
@code{--search-paths} below). Any missing or possibly incorrect
|
||||
environment variable definitions are reported here.
|
||||
|
||||
@c XXX: keep me up-to-date
|
||||
Finally, when installing a GNU package, the tool reports the
|
||||
availability of a newer upstream version. In the future, it may provide
|
||||
the option of installing directly from the upstream version, even if
|
||||
that version is not yet in the distribution.
|
||||
|
||||
@item --install-from-expression=@var{exp}
|
||||
@itemx -e @var{exp}
|
||||
Install the package @var{exp} evaluates to.
|
||||
@ -1968,6 +1974,15 @@ suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes
|
||||
|
||||
When @var{min} is omitted, collect all the garbage.
|
||||
|
||||
@item --free-space=@var{free}
|
||||
@itemx -F @var{free}
|
||||
Collect garbage until @var{free} space is available under
|
||||
@file{/gnu/store}, if possible; @var{free} denotes storage space, such
|
||||
as @code{500MiB}, as described above.
|
||||
|
||||
When @var{free} or more is already available in @file{/gnu/store}, do
|
||||
nothing and exit immediately.
|
||||
|
||||
@item --delete
|
||||
@itemx -d
|
||||
Attempt to delete all the store files and directories specified as
|
||||
@ -4057,8 +4072,9 @@ binaries are genuine. @xref{Invoking guix challenge}, for more.
|
||||
|
||||
Note that, currently, the differing build results are not kept around,
|
||||
so you will have to manually investigate in case of an error---e.g., by
|
||||
stashing one of the build results with @code{guix archive --export},
|
||||
then rebuilding, and finally comparing the two results.
|
||||
stashing one of the build results with @code{guix archive --export}
|
||||
(@pxref{Invoking guix archive}), then rebuilding, and finally comparing
|
||||
the two results.
|
||||
|
||||
@item --no-build-hook
|
||||
Do not attempt to offload builds @i{via} the ``build hook'' of the daemon
|
||||
@ -4365,12 +4381,12 @@ facilitates the life of packagers by pointing their editor at the source
|
||||
file containing the definition of the specified packages. For instance:
|
||||
|
||||
@example
|
||||
guix edit gcc-4.8 vim
|
||||
guix edit gcc@@4.9 vim
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
launches the program specified in the @code{VISUAL} or in the
|
||||
@code{EDITOR} environment variable to edit the recipe of GCC@tie{}4.8.4
|
||||
@code{EDITOR} environment variable to edit the recipe of GCC@tie{}4.9.3
|
||||
and that of Vim.
|
||||
|
||||
If you are using Emacs, note that the Emacs user interface provides the
|
||||
@ -5511,21 +5527,21 @@ any given store item.
|
||||
The command output looks like this:
|
||||
|
||||
@smallexample
|
||||
$ guix challenge --substitute-urls="http://hydra.gnu.org http://guix.example.org"
|
||||
updating list of substitutes from 'http://hydra.gnu.org'... 100.0%
|
||||
updating list of substitutes from 'http://guix.example.org'... 100.0%
|
||||
$ guix challenge --substitute-urls="https://hydra.gnu.org https://guix.example.org"
|
||||
updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
|
||||
updating list of substitutes from 'https://guix.example.org'... 100.0%
|
||||
/gnu/store/@dots{}-openssl-1.0.2d contents differ:
|
||||
local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
|
||||
http://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
|
||||
http://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
|
||||
https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
|
||||
https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
|
||||
/gnu/store/@dots{}-git-2.5.0 contents differ:
|
||||
local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha
|
||||
http://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
|
||||
http://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
||||
https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
|
||||
https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
||||
/gnu/store/@dots{}-pius-2.1.1 contents differ:
|
||||
local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
|
||||
http://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
|
||||
http://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
|
||||
https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
|
||||
https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
@ -5544,14 +5560,14 @@ various things that Guix does not fully control, in spite of building
|
||||
packages in isolated environments (@pxref{Features}). Most common
|
||||
sources of non-determinism include the addition of timestamps in build
|
||||
results, the inclusion of random numbers, and directory listings sorted
|
||||
by inode number. See @uref{http://reproducible.debian.net/howto/}, for
|
||||
by inode number. See @uref{https://reproducible-builds.org/docs/}, for
|
||||
more information.
|
||||
|
||||
To find out what is wrong with this Git binary, we can do something along
|
||||
these lines (@pxref{Invoking guix archive}):
|
||||
|
||||
@example
|
||||
$ wget -q -O - http://hydra.gnu.org/nar/@dots{}-git-2.5.0 \
|
||||
$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \
|
||||
| guix archive -x /tmp/git
|
||||
$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git
|
||||
@end example
|
||||
@ -5561,7 +5577,7 @@ local build, and the files resulting from the build on
|
||||
@code{hydra.gnu.org} (@pxref{Overview, Comparing and Merging Files,,
|
||||
diffutils, Comparing and Merging Files}). The @command{diff} command
|
||||
works great for text files. When binary files differ, a better option
|
||||
is @uref{http://diffoscope.org/, Diffoscope}, a tool that helps
|
||||
is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps
|
||||
visualize differences for all kinds of files.
|
||||
|
||||
Once you have done that work, you can tell whether the differences are due
|
||||
@ -5582,7 +5598,7 @@ $ guix challenge @var{package}
|
||||
|
||||
@noindent
|
||||
where @var{package} is a package specification such as
|
||||
@code{guile-2.0} or @code{glibc:debug}.
|
||||
@code{guile@@2.0} or @code{glibc:debug}.
|
||||
|
||||
The general syntax is:
|
||||
|
||||
@ -5590,6 +5606,12 @@ The general syntax is:
|
||||
guix challenge @var{options} [@var{packages}@dots{}]
|
||||
@end example
|
||||
|
||||
When a difference is found between the hash of a locally-built item and
|
||||
that of a server-provided substitute, or among substitutes provided by
|
||||
different servers, the command displays it as in the example above and
|
||||
its exit code is 2 (other non-zero exit codes denote other kinds of
|
||||
errors.)
|
||||
|
||||
The one option that matters is:
|
||||
|
||||
@table @code
|
||||
@ -5809,7 +5831,7 @@ to report issues (and success stories!), and to join us in improving it.
|
||||
@cindex hardware support on GuixSD
|
||||
GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It
|
||||
builds around the kernel Linux-libre, which means that only hardware for
|
||||
which free software drivers and firmware exists is supported. Nowadays,
|
||||
which free software drivers and firmware exist is supported. Nowadays,
|
||||
a wide range of off-the-shelf hardware is supported on
|
||||
GNU/Linux-libre---from keyboards to graphics cards to scanners and
|
||||
Ethernet controllers. Unfortunately, there are still areas where
|
||||
@ -5817,7 +5839,7 @@ hardware vendors deny users control over their own computing, and such
|
||||
hardware is not supported on GuixSD.
|
||||
|
||||
@cindex WiFi, hardware support
|
||||
One of the main areas where free drivers or firmware is lacking is WiFi
|
||||
One of the main areas where free drivers or firmware are lacking is WiFi
|
||||
devices. WiFi devices known to work include those using Atheros chips
|
||||
(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre
|
||||
driver, and for which free firmware exists and is available
|
||||
@ -5826,10 +5848,10 @@ out-of-the-box on GuixSD, as part of @var{%base-firmware}
|
||||
|
||||
@cindex RYF, Respects Your Freedom
|
||||
The @uref{https://www.fsf.org/, Free Software Foundation} runs
|
||||
@uref{https://www.fsf.org/ryf, @dfn{Respect Your Freedom}} (RYF), a
|
||||
@uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a
|
||||
certification program for hardware products that respect your freedom
|
||||
and your privacy and ensure that you have control over your device. We
|
||||
encourage you to check the list of RYF-certified hardware.
|
||||
encourage you to check the list of RYF-certified devices.
|
||||
|
||||
Another useful resource is the @uref{https://www.h-node.org/, H-Node}
|
||||
web site. It contains a catalog of hardware devices with information
|
||||
@ -6039,6 +6061,15 @@ partition):
|
||||
mount /dev/sda1 /mnt
|
||||
@end example
|
||||
|
||||
Finally, if you plan to use one or more swap partitions (@pxref{Memory
|
||||
Concepts, swap space,, libc, The GNU C Library Reference Manual}), make
|
||||
sure to initialize them with @command{mkswap}. Assuming you have one
|
||||
swap partition on @file{/dev/sda2}, you would run:
|
||||
|
||||
@example
|
||||
mkswap /dev/sda2
|
||||
@end example
|
||||
|
||||
@node Proceeding with the Installation
|
||||
@subsection Proceeding with the Installation
|
||||
|
||||
@ -6227,7 +6258,7 @@ version:
|
||||
(operating-system
|
||||
;; ...
|
||||
(packages (append (map specification->package
|
||||
'("tcpdump" "htop" "gnupg-2.0"))
|
||||
'("tcpdump" "htop" "gnupg@@2.0"))
|
||||
%base-packages)))
|
||||
@end lisp
|
||||
|
||||
@ -6426,15 +6457,17 @@ For example, @code{'("/dev/sda3")}.
|
||||
List of user accounts and groups. @xref{User Accounts}.
|
||||
|
||||
@item @code{skeletons} (default: @code{(default-skeletons)})
|
||||
A monadic list of pairs of target file name and files. These are the
|
||||
files that will be used as skeletons as new accounts are created.
|
||||
A list target file name/file-like object tuples (@pxref{G-Expressions,
|
||||
file-like objects}). These are the skeleton files that will be added to
|
||||
the home directory of newly-created user accounts.
|
||||
|
||||
For instance, a valid value may look like this:
|
||||
|
||||
@example
|
||||
(mlet %store-monad ((bashrc (text-file "bashrc" "\
|
||||
export PATH=$HOME/.guix-profile/bin")))
|
||||
(return `((".bashrc" ,bashrc))))
|
||||
`((".bashrc" ,(plain-file "bashrc" "echo Hello\n"))
|
||||
(".guile" ,(plain-file "guile"
|
||||
"(use-modules (ice-9 readline))
|
||||
(activate-readline)")))
|
||||
@end example
|
||||
|
||||
@item @code{issue} (default: @var{%default-issue})
|
||||
@ -6686,13 +6719,29 @@ Mapped devices are declared using the @code{mapped-device} form:
|
||||
(type luks-device-mapping))
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Or, better yet, like this:
|
||||
|
||||
@example
|
||||
(mapped-device
|
||||
(source (uuid "cb67fc72-0d54-4c88-9d4b-b225f30b0f44"))
|
||||
(target "home")
|
||||
(type luks-device-mapping))
|
||||
@end example
|
||||
|
||||
@cindex disk encryption
|
||||
@cindex LUKS
|
||||
This example specifies a mapping from @file{/dev/sda3} to
|
||||
@file{/dev/mapper/home} using LUKS---the
|
||||
@url{http://code.google.com/p/cryptsetup,Linux Unified Key Setup}, a
|
||||
standard mechanism for disk encryption. The @file{/dev/mapper/home}
|
||||
standard mechanism for disk encryption. In the second example, the UUID
|
||||
(unique identifier) is the LUKS UUID returned for the device by a
|
||||
command like:
|
||||
|
||||
@example
|
||||
cryptsetup luksUUID /dev/sdx9
|
||||
@end example
|
||||
|
||||
The @file{/dev/mapper/home}
|
||||
device can then be used as the @code{device} of a @code{file-system}
|
||||
declaration (@pxref{File Systems}). The @code{mapped-device} form is
|
||||
detailed below.
|
||||
@ -7260,10 +7309,25 @@ Return a service that runs the Guix build daemon according to
|
||||
Run @var{udev}, which populates the @file{/dev} directory dynamically.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} console-keymap-service @var{file}
|
||||
@deffn {Scheme Procedure} console-keymap-service @var{files} ...
|
||||
@cindex keyboard layout
|
||||
Return a service to load console keymap from @var{file} using
|
||||
@command{loadkeys} command.
|
||||
Return a service to load console keymaps from @var{files} using
|
||||
@command{loadkeys} command. Most likely, you want to load some default
|
||||
keymap, which can be done like this:
|
||||
|
||||
@example
|
||||
(console-keymap-service "dvorak")
|
||||
@end example
|
||||
|
||||
Or, for example, for a Swedish keyboard, you may need to combine
|
||||
the following keymaps:
|
||||
@example
|
||||
(console-keymap-service "se-lat6" "se-fi-lat6")
|
||||
@end example
|
||||
|
||||
Also you can specify a full file name (or file names) of your keymap(s).
|
||||
See @code{man loadkeys} for details.
|
||||
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @
|
||||
@ -9315,14 +9379,22 @@ explicitly add it. The @file{/etc/ssl/certs} directory, which is where
|
||||
most applications and libraries look for certificates by default, points
|
||||
to the certificates installed globally.
|
||||
|
||||
Unprivileged users can also install their own certificate package in
|
||||
Unprivileged users, including users of Guix on a foreign distro,
|
||||
can also install their own certificate package in
|
||||
their profile. A number of environment variables need to be defined so
|
||||
that applications and libraries know where to find them. Namely, the
|
||||
OpenSSL library honors the @code{SSL_CERT_DIR} and @code{SSL_CERT_FILE}
|
||||
variables. Some applications add their own environment variables; for
|
||||
instance, the Git version control system honors the certificate bundle
|
||||
pointed to by the @code{GIT_SSL_CAINFO} environment variable.
|
||||
pointed to by the @code{GIT_SSL_CAINFO} environment variable. Thus, you
|
||||
would typically run something like:
|
||||
|
||||
@example
|
||||
$ guix package -i nss-certs
|
||||
$ export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs"
|
||||
$ export SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
|
||||
$ export GIT_SSL_CAINFO="$SSL_CERT_FILE"
|
||||
@end example
|
||||
|
||||
@node Name Service Switch
|
||||
@subsection Name Service Switch
|
||||
@ -10733,6 +10805,7 @@ needed is to review and apply the patch.
|
||||
* Synopses and Descriptions:: Helping users find the right package.
|
||||
* Python Modules:: Taming the snake.
|
||||
* Perl Modules:: Little pearls.
|
||||
* Java Packages:: Coffee break.
|
||||
* Fonts:: Fond of fonts.
|
||||
@end menu
|
||||
|
||||
@ -10974,6 +11047,25 @@ are also prepended by @code{perl-}. Such modules tend to have the word
|
||||
prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}.
|
||||
|
||||
|
||||
@node Java Packages
|
||||
@subsection Java Packages
|
||||
|
||||
Java programs standing for themselves are named as any other package,
|
||||
using the lowercase upstream name.
|
||||
|
||||
To avoid confusion and naming clashes with other programming languages,
|
||||
it is desirable that the name of a package for a Java package is
|
||||
prefixed with @code{java-}. If a project already contains the word
|
||||
@code{java}, we drop this; for instance, the package @code{ngsjava} is
|
||||
packaged under the name @code{java-ngs}.
|
||||
|
||||
For Java packages containing a single class or a small class hierarchy,
|
||||
we use the lowercase class name, replace all occurrences of @code{.} by
|
||||
dashes and prepend the prefix @code{java-}. So the class
|
||||
@code{apache.commons.cli} becomes package
|
||||
@code{java-apache-commons-cli}.
|
||||
|
||||
|
||||
@node Fonts
|
||||
@subsection Fonts
|
||||
|
||||
@ -11204,7 +11296,7 @@ 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
|
||||
available locally, and @file{gnu/local.mk} has rules do download it for
|
||||
the supported architectures; a rule for the new platform must be added
|
||||
as well.
|
||||
|
||||
|
@ -82,7 +82,7 @@ If you have a slow system, try to increase this time."
|
||||
:type 'string
|
||||
:group 'guix-repl)
|
||||
|
||||
(defcustom guix-after-start-repl-hook ()
|
||||
(defcustom guix-after-start-repl-hook '(guix-set-directory)
|
||||
"Hook called after Guix REPL is started."
|
||||
:type 'hook
|
||||
:group 'guix-repl)
|
||||
@ -336,6 +336,28 @@ additional internal REPL if it exists."
|
||||
(interactive "P")
|
||||
(geiser-repl--switch-to-buffer (guix-get-repl-buffer internal)))
|
||||
|
||||
|
||||
;;; Guix directory
|
||||
|
||||
(defvar guix-directory nil
|
||||
"Default directory with Guix source.
|
||||
If it is not set by a user, it is set after starting Guile REPL.
|
||||
This directory is used to define package locations.")
|
||||
|
||||
(defun guix-read-directory ()
|
||||
"Return `guix-directory' or prompt for it.
|
||||
This function is intended for using in `interactive' forms."
|
||||
(if current-prefix-arg
|
||||
(read-directory-name "Directory with Guix modules: "
|
||||
guix-directory)
|
||||
guix-directory))
|
||||
|
||||
(defun guix-set-directory ()
|
||||
"Set `guix-directory' if needed."
|
||||
(or guix-directory
|
||||
(setq guix-directory
|
||||
(guix-eval-read "%guix-dir"))))
|
||||
|
||||
|
||||
;;; Evaluating expressions
|
||||
|
||||
|
@ -48,53 +48,7 @@
|
||||
(when output (concat ":" output))))
|
||||
|
||||
|
||||
;;; Location of packages, profiles and manifests
|
||||
|
||||
(defvar guix-directory nil
|
||||
"Default Guix directory.
|
||||
If it is not set by a user, it is set after starting Guile REPL.
|
||||
This directory is used to define location of the packages.")
|
||||
|
||||
(defun guix-read-directory ()
|
||||
"Return `guix-directory' or prompt for it.
|
||||
This function is intended for using in `interactive' forms."
|
||||
(if current-prefix-arg
|
||||
(read-directory-name "Directory with Guix modules: "
|
||||
guix-directory)
|
||||
guix-directory))
|
||||
|
||||
(defun guix-set-directory ()
|
||||
"Set `guix-directory' if needed."
|
||||
(or guix-directory
|
||||
(setq guix-directory
|
||||
(guix-eval-read "%guix-dir"))))
|
||||
|
||||
(add-hook 'guix-after-start-repl-hook 'guix-set-directory)
|
||||
|
||||
(defun guix-find-location (location &optional directory)
|
||||
"Go to LOCATION of a package.
|
||||
LOCATION is a string of the form:
|
||||
|
||||
\"PATH:LINE:COLUMN\"
|
||||
|
||||
If PATH is relative, it is considered to be relative to
|
||||
DIRECTORY (`guix-directory' by default)."
|
||||
(cl-multiple-value-bind (path line col)
|
||||
(split-string location ":")
|
||||
(let ((file (expand-file-name path (or directory guix-directory)))
|
||||
(line (string-to-number line))
|
||||
(col (string-to-number col)))
|
||||
(find-file file)
|
||||
(goto-char (point-min))
|
||||
(forward-line (- line 1))
|
||||
(move-to-column col)
|
||||
(recenter 1))))
|
||||
|
||||
(defun guix-package-location (id-or-name)
|
||||
"Return location of a package with ID-OR-NAME.
|
||||
For the meaning of location, see `guix-find-location'."
|
||||
(guix-eval-read (guix-make-guile-expression
|
||||
'package-location-string id-or-name)))
|
||||
;;; Location of profiles and manifests
|
||||
|
||||
(defun guix-generation-file (profile generation)
|
||||
"Return the file name of a PROFILE's GENERATION."
|
||||
@ -120,20 +74,6 @@ See `guix-packages-profile'."
|
||||
(expand-file-name "manifest"
|
||||
(guix-packages-profile profile generation system?)))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-edit (id-or-name &optional directory)
|
||||
"Edit (go to location of) package with ID-OR-NAME.
|
||||
See `guix-find-location' for the meaning of package location and
|
||||
DIRECTORY.
|
||||
Interactively, with prefix argument, prompt for DIRECTORY."
|
||||
(interactive
|
||||
(list (guix-read-package-name)
|
||||
(guix-read-directory)))
|
||||
(let ((loc (guix-package-location id-or-name)))
|
||||
(if loc
|
||||
(guix-find-location loc directory)
|
||||
(message "Couldn't find package location."))))
|
||||
|
||||
|
||||
;;; Actions on packages and generations
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
|
||||
|
||||
(defconst guix-config-state-directory
|
||||
;; This must match `NIX_STATE_DIR' as defined in `daemon.am'.
|
||||
;; This must match `NIX_STATE_DIR' as defined in `nix/local.mk'.
|
||||
(or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix"))
|
||||
|
||||
(defconst guix-config-guile-program "@GUILE@"
|
||||
|
@ -23,14 +23,15 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'guix-buffer)
|
||||
(require 'guix-list)
|
||||
(require 'guix-info)
|
||||
(require 'guix-read)
|
||||
(require 'guix-backend)
|
||||
(require 'guix-guile)
|
||||
|
||||
(guix-define-entry-type license)
|
||||
(defun guix-license-file (&optional directory)
|
||||
"Return name of the file with license definitions.
|
||||
DIRECTORY is a directory with Guix source (`guix-directory' by default)."
|
||||
(expand-file-name "guix/licenses.scm"
|
||||
(or directory guix-directory)))
|
||||
|
||||
(defun guix-lookup-license-url (license)
|
||||
"Return URL of a LICENSE."
|
||||
@ -38,80 +39,20 @@
|
||||
'lookup-license-uri license))
|
||||
(error "Hm, I don't know URL of '%s' license" license)))
|
||||
|
||||
(defun guix-license-get-entries (search-type &rest args)
|
||||
"Receive 'license' entries.
|
||||
SEARCH-TYPE may be one of the following symbols: `all', `id', `name'."
|
||||
(guix-eval-read
|
||||
(apply #'guix-make-guile-expression
|
||||
'license-entries search-type args)))
|
||||
|
||||
(defun guix-license-get-display (search-type &rest args)
|
||||
"Search for licenses and show results."
|
||||
(apply #'guix-list-get-display-entries
|
||||
'license search-type args))
|
||||
|
||||
|
||||
;;; License 'info'
|
||||
|
||||
(guix-info-define-interface license
|
||||
:buffer-name "*Guix License Info*"
|
||||
:get-entries-function 'guix-license-get-entries
|
||||
:format '((name ignore (simple guix-info-heading))
|
||||
ignore
|
||||
guix-license-insert-packages-button
|
||||
(url ignore (simple guix-url))
|
||||
guix-license-insert-comment)
|
||||
:titles '((url . "URL")))
|
||||
|
||||
(declare-function guix-packages-by-license "guix-ui-package")
|
||||
|
||||
(defun guix-license-insert-packages-button (entry)
|
||||
"Insert button to display packages by license ENTRY."
|
||||
(guix-info-insert-action-button
|
||||
"Packages"
|
||||
(lambda (btn)
|
||||
(guix-packages-by-license (button-get btn 'license)))
|
||||
"Show packages with this license"
|
||||
'license (guix-entry-value entry 'name)))
|
||||
|
||||
(defun guix-license-insert-comment (entry)
|
||||
"Insert 'comment' of a license ENTRY."
|
||||
(let ((comment (guix-entry-value entry 'comment)))
|
||||
(if (and comment
|
||||
(string-match-p "^http" comment))
|
||||
(guix-info-insert-value-simple comment 'guix-url)
|
||||
(guix-info-insert-title-simple
|
||||
(guix-info-param-title 'license 'comment))
|
||||
(guix-info-insert-value-indent comment))))
|
||||
|
||||
|
||||
;;; License 'list'
|
||||
|
||||
(guix-list-define-interface license
|
||||
:buffer-name "*Guix Licenses*"
|
||||
:get-entries-function 'guix-license-get-entries
|
||||
:describe-function 'guix-license-list-describe
|
||||
:format '((name nil 40 t)
|
||||
(url guix-list-get-url 50 t))
|
||||
:titles '((name . "License"))
|
||||
:sort-key '(name))
|
||||
|
||||
(let ((map guix-license-list-mode-map))
|
||||
(define-key map (kbd "RET") 'guix-license-list-show-packages))
|
||||
|
||||
(defun guix-license-list-describe (ids)
|
||||
"Describe licenses with IDS (list of identifiers)."
|
||||
(guix-buffer-display-entries
|
||||
(guix-entries-by-ids ids (guix-buffer-current-entries))
|
||||
'info 'license (cl-list* 'id ids) 'add))
|
||||
|
||||
(defun guix-license-list-show-packages ()
|
||||
"Display packages with the license at point."
|
||||
(interactive)
|
||||
(guix-packages-by-license (guix-list-current-id)))
|
||||
|
||||
|
||||
;;; Interactive commands
|
||||
;;;###autoload
|
||||
(defun guix-find-license-definition (license &optional directory)
|
||||
"Open licenses file from DIRECTORY and move to the LICENSE definition.
|
||||
See `guix-license-file' for the meaning of DIRECTORY.
|
||||
Interactively, with prefix argument, prompt for DIRECTORY."
|
||||
(interactive
|
||||
(list (guix-read-license-name)
|
||||
(guix-read-directory)))
|
||||
(find-file (guix-license-file directory))
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward (concat "\"" (regexp-quote license) "\"")
|
||||
nil t)
|
||||
(beginning-of-defun)
|
||||
(recenter 1)))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-browse-license-url (license)
|
||||
@ -119,12 +60,6 @@ SEARCH-TYPE may be one of the following symbols: `all', `id', `name'."
|
||||
(interactive (list (guix-read-license-name)))
|
||||
(browse-url (guix-lookup-license-url license)))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-licenses ()
|
||||
"Display licenses of the Guix packages."
|
||||
(interactive)
|
||||
(guix-license-get-display 'all))
|
||||
|
||||
(provide 'guix-license)
|
||||
|
||||
;;; guix-license.el ends here
|
||||
|
79
emacs/guix-location.el
Normal file
79
emacs/guix-location.el
Normal file
@ -0,0 +1,79 @@
|
||||
;;; guix-location.el --- Package locations
|
||||
|
||||
;; Copyright © 2016 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 Location as published by
|
||||
;; the Free Software Foundation, either version 3 of the Location, 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 Location for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public Location
|
||||
;; along with this program. If not, see <http://www.gnu.org/locations/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provides the code to work with locations of Guix packages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'guix-backend)
|
||||
(require 'guix-read)
|
||||
(require 'guix-guile)
|
||||
|
||||
(defun guix-package-location (id-or-name)
|
||||
"Return location of a package with ID-OR-NAME.
|
||||
For the meaning of location, see `guix-find-location'."
|
||||
(guix-eval-read (guix-make-guile-expression
|
||||
'package-location-string id-or-name)))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-find-location (location &optional directory)
|
||||
"Go to LOCATION of a package.
|
||||
LOCATION is a string of the form:
|
||||
|
||||
\"FILE:LINE:COLUMN\"
|
||||
|
||||
If FILE is relative, it is considered to be relative to
|
||||
DIRECTORY (`guix-directory' by default).
|
||||
|
||||
Interactively, prompt for LOCATION. With prefix argument, prompt
|
||||
for DIRECTORY as well."
|
||||
(interactive
|
||||
(list (guix-read-package-location)
|
||||
(guix-read-directory)))
|
||||
(cl-multiple-value-bind (file line column)
|
||||
(split-string location ":")
|
||||
(find-file (expand-file-name file (or directory guix-directory)))
|
||||
(when (and line column)
|
||||
(let ((line (string-to-number line))
|
||||
(column (string-to-number column)))
|
||||
(goto-char (point-min))
|
||||
(forward-line (- line 1))
|
||||
(move-to-column column)
|
||||
(recenter 1)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-edit (id-or-name &optional directory)
|
||||
"Edit (go to location of) package with ID-OR-NAME.
|
||||
See `guix-find-location' for the meaning of package location and
|
||||
DIRECTORY.
|
||||
Interactively, with prefix argument, prompt for DIRECTORY."
|
||||
(interactive
|
||||
(list (guix-read-package-name)
|
||||
(guix-read-directory)))
|
||||
(let ((loc (guix-package-location id-or-name)))
|
||||
(if loc
|
||||
(guix-find-location loc directory)
|
||||
(message "Couldn't find package location."))))
|
||||
|
||||
(provide 'guix-location)
|
||||
|
||||
;;; guix-location.el ends here
|
@ -684,6 +684,8 @@ ENTRIES is a list of installed manifest entries."
|
||||
(license-proc (lambda (_ license-name)
|
||||
(packages-by-license
|
||||
(lookup-license license-name))))
|
||||
(location-proc (lambda (_ location)
|
||||
(packages-by-location-file location)))
|
||||
(all-proc (lambda _ (all-available-packages)))
|
||||
(newest-proc (lambda _ (newest-available-packages))))
|
||||
`((package
|
||||
@ -693,6 +695,7 @@ ENTRIES is a list of installed manifest entries."
|
||||
(obsolete . ,(apply-to-first obsolete-package-patterns))
|
||||
(regexp . ,regexp-proc)
|
||||
(license . ,license-proc)
|
||||
(location . ,location-proc)
|
||||
(all-available . ,all-proc)
|
||||
(newest-available . ,newest-proc))
|
||||
(output
|
||||
@ -702,6 +705,7 @@ ENTRIES is a list of installed manifest entries."
|
||||
(obsolete . ,(apply-to-first obsolete-output-patterns))
|
||||
(regexp . ,regexp-proc)
|
||||
(license . ,license-proc)
|
||||
(location . ,location-proc)
|
||||
(all-available . ,all-proc)
|
||||
(newest-available . ,newest-proc)))))
|
||||
|
||||
@ -1097,3 +1101,41 @@ Return #t if the shell command was executed successfully."
|
||||
(define (license-entries search-type . search-values)
|
||||
(map license->sexp
|
||||
(apply find-licenses search-type search-values)))
|
||||
|
||||
|
||||
;;; Package locations
|
||||
|
||||
(define-values (packages-by-location-file
|
||||
package-location-files)
|
||||
(let* ((table (delay (fold-packages
|
||||
(lambda (package table)
|
||||
(let ((file (location-file
|
||||
(package-location package))))
|
||||
(vhash-cons file package table)))
|
||||
vlist-null)))
|
||||
(files (delay (vhash-fold
|
||||
(lambda (file _ result)
|
||||
(if (member file result)
|
||||
result
|
||||
(cons file result)))
|
||||
'()
|
||||
(force table)))))
|
||||
(values
|
||||
(lambda (file)
|
||||
"Return the (possibly empty) list of packages defined in location FILE."
|
||||
(vhash-fold* cons '() file (force table)))
|
||||
(lambda ()
|
||||
"Return the list of file names of all package locations."
|
||||
(force files)))))
|
||||
|
||||
(define %package-location-param-alist
|
||||
`((id . ,identity)
|
||||
(location . ,identity)
|
||||
(number-of-packages . ,(lambda (location)
|
||||
(length (packages-by-location-file location))))))
|
||||
|
||||
(define package-location->sexp
|
||||
(object-transformer %package-location-param-alist))
|
||||
|
||||
(define (package-location-entries)
|
||||
(map package-location->sexp (package-location-files)))
|
||||
|
@ -40,6 +40,10 @@
|
||||
,(lambda (_ entries licenses)
|
||||
(apply #'guix-message-packages-by-license
|
||||
entries 'package licenses)))
|
||||
(location
|
||||
,(lambda (_ entries locations)
|
||||
(apply #'guix-message-packages-by-location
|
||||
entries 'package locations)))
|
||||
(regexp
|
||||
(0 "No packages matching '%s'." val)
|
||||
(1 "A single package matching '%s'." val)
|
||||
@ -72,6 +76,10 @@
|
||||
,(lambda (_ entries licenses)
|
||||
(apply #'guix-message-packages-by-license
|
||||
entries 'output licenses)))
|
||||
(location
|
||||
,(lambda (_ entries locations)
|
||||
(apply #'guix-message-packages-by-location
|
||||
entries 'output locations)))
|
||||
(regexp
|
||||
(0 "No package outputs matching '%s'." val)
|
||||
(1 "A single package output matching '%s'." val)
|
||||
@ -174,6 +182,13 @@ Try \"M-x guix-search-by-name\"."
|
||||
(str-end (format "with license '%s'" license)))
|
||||
(message "%s %s." str-beg str-end)))
|
||||
|
||||
(defun guix-message-packages-by-location (entries entry-type location)
|
||||
"Display a message for packages or outputs searched by LOCATION."
|
||||
(let* ((count (length entries))
|
||||
(str-beg (guix-message-string-entries count entry-type))
|
||||
(str-end (format "placed in '%s'" location)))
|
||||
(message "%s %s." str-beg str-end)))
|
||||
|
||||
(defun guix-message-generations-by-time (profile entries times)
|
||||
"Display a message for generations searched by TIMES."
|
||||
(let* ((count (length entries))
|
||||
|
@ -62,6 +62,12 @@
|
||||
"Return a list of names of available licenses."
|
||||
(guix-eval-read (guix-make-guile-expression 'license-names)))
|
||||
|
||||
(guix-memoized-defun guix-package-locations ()
|
||||
"Return a list of available package locations."
|
||||
(sort (guix-eval-read (guix-make-guile-expression
|
||||
'package-location-files))
|
||||
#'string<))
|
||||
|
||||
|
||||
;;; Readers
|
||||
|
||||
@ -131,6 +137,11 @@
|
||||
:single-reader guix-read-license-name
|
||||
:single-prompt "License: ")
|
||||
|
||||
(guix-define-readers
|
||||
:completions-getter guix-package-locations
|
||||
:single-reader guix-read-package-location
|
||||
:single-prompt "Location: ")
|
||||
|
||||
(provide 'guix-read)
|
||||
|
||||
;;; guix-read.el ends here
|
||||
|
150
emacs/guix-ui-license.el
Normal file
150
emacs/guix-ui-license.el
Normal file
@ -0,0 +1,150 @@
|
||||
;;; guix-ui-license.el --- Interface for displaying licenses
|
||||
|
||||
;; Copyright © 2016 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 'list'/'info' interface for displaying licenses of
|
||||
;; Guix packages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'guix-buffer)
|
||||
(require 'guix-list)
|
||||
(require 'guix-info)
|
||||
(require 'guix-backend)
|
||||
(require 'guix-guile)
|
||||
(require 'guix-license)
|
||||
|
||||
(guix-define-entry-type license)
|
||||
|
||||
(defun guix-license-get-entries (search-type &rest args)
|
||||
"Receive 'license' entries.
|
||||
SEARCH-TYPE may be one of the following symbols: `all', `id', `name'."
|
||||
(guix-eval-read
|
||||
(apply #'guix-make-guile-expression
|
||||
'license-entries search-type args)))
|
||||
|
||||
(defun guix-license-get-display (search-type &rest args)
|
||||
"Search for licenses and show results."
|
||||
(apply #'guix-list-get-display-entries
|
||||
'license search-type args))
|
||||
|
||||
(defun guix-license-message (entries search-type &rest args)
|
||||
"Display a message after showing license ENTRIES."
|
||||
;; Some objects in (guix licenses) module are procedures (e.g.,
|
||||
;; 'non-copyleft' or 'x11-style'). Such licenses cannot be "described".
|
||||
(when (null entries)
|
||||
(if (cdr args)
|
||||
(message "Unknown licenses.")
|
||||
(message "Unknown license."))))
|
||||
|
||||
|
||||
;;; License 'info'
|
||||
|
||||
(guix-info-define-interface license
|
||||
:buffer-name "*Guix License Info*"
|
||||
:get-entries-function 'guix-license-get-entries
|
||||
:message-function 'guix-license-message
|
||||
:format '((name ignore (simple guix-info-heading))
|
||||
ignore
|
||||
guix-license-insert-packages-button
|
||||
(url ignore (simple guix-url))
|
||||
guix-license-insert-comment
|
||||
ignore
|
||||
guix-license-insert-file)
|
||||
:titles '((url . "URL")))
|
||||
|
||||
(declare-function guix-packages-by-license "guix-ui-package")
|
||||
|
||||
(defun guix-license-insert-packages-button (entry)
|
||||
"Insert button to display packages by license ENTRY."
|
||||
(let ((license (guix-entry-value entry 'name)))
|
||||
(guix-info-insert-action-button
|
||||
"Packages"
|
||||
(lambda (btn)
|
||||
(guix-packages-by-license (button-get btn 'license)))
|
||||
(format "Display packages with license '%s'" license)
|
||||
'license license)))
|
||||
|
||||
(defun guix-license-insert-comment (entry)
|
||||
"Insert 'comment' of a license ENTRY."
|
||||
(let ((comment (guix-entry-value entry 'comment)))
|
||||
(if (and comment
|
||||
(string-match-p "^http" comment))
|
||||
(guix-info-insert-value-simple comment 'guix-url)
|
||||
(guix-info-insert-title-simple
|
||||
(guix-info-param-title 'license 'comment))
|
||||
(guix-info-insert-value-indent comment))))
|
||||
|
||||
(defun guix-license-insert-file (entry)
|
||||
"Insert button to open license definition."
|
||||
(let ((license (guix-entry-value entry 'name)))
|
||||
(guix-insert-button
|
||||
(guix-license-file) 'guix-file
|
||||
'help-echo (format "Open definition of license '%s'" license)
|
||||
'action (lambda (btn)
|
||||
(guix-find-license-definition (button-get btn 'license)))
|
||||
'license license)))
|
||||
|
||||
|
||||
;;; License 'list'
|
||||
|
||||
(guix-list-define-interface license
|
||||
:buffer-name "*Guix Licenses*"
|
||||
:get-entries-function 'guix-license-get-entries
|
||||
:describe-function 'guix-license-list-describe
|
||||
:message-function 'guix-license-message
|
||||
:format '((name nil 40 t)
|
||||
(url guix-list-get-url 50 t))
|
||||
:titles '((name . "License"))
|
||||
:sort-key '(name))
|
||||
|
||||
(let ((map guix-license-list-mode-map))
|
||||
(define-key map (kbd "e") 'guix-license-list-edit)
|
||||
(define-key map (kbd "RET") 'guix-license-list-show-packages))
|
||||
|
||||
(defun guix-license-list-describe (ids)
|
||||
"Describe licenses with IDS (list of identifiers)."
|
||||
(guix-buffer-display-entries
|
||||
(guix-entries-by-ids ids (guix-buffer-current-entries))
|
||||
'info 'license (cl-list* 'id ids) 'add))
|
||||
|
||||
(defun guix-license-list-show-packages ()
|
||||
"Display packages with the license at point."
|
||||
(interactive)
|
||||
(guix-packages-by-license (guix-list-current-id)))
|
||||
|
||||
(defun guix-license-list-edit (&optional directory)
|
||||
"Go to the location of the current license definition.
|
||||
See `guix-license-file' for the meaning of DIRECTORY."
|
||||
(interactive (list (guix-read-directory)))
|
||||
(guix-find-license-definition (guix-list-current-id) directory))
|
||||
|
||||
|
||||
;;; Interactive commands
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-licenses ()
|
||||
"Display licenses of the Guix packages."
|
||||
(interactive)
|
||||
(guix-license-get-display 'all))
|
||||
|
||||
(provide 'guix-ui-license)
|
||||
|
||||
;;; guix-ui-license.el ends here
|
83
emacs/guix-ui-location.el
Normal file
83
emacs/guix-ui-location.el
Normal file
@ -0,0 +1,83 @@
|
||||
;;; guix-ui-location.el --- Interface for displaying package locations
|
||||
|
||||
;; Copyright © 2016 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 Location as published by
|
||||
;; the Free Software Foundation, either version 3 of the Location, 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 Location for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public Location
|
||||
;; along with this program. If not, see <http://www.gnu.org/locations/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provides a 'list' interface for displaying locations of Guix
|
||||
;; packages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'guix-buffer)
|
||||
(require 'guix-list)
|
||||
(require 'guix-location)
|
||||
(require 'guix-backend)
|
||||
|
||||
(guix-define-entry-type location)
|
||||
|
||||
(defun guix-location-get-entries ()
|
||||
"Receive 'package location' entries."
|
||||
(guix-eval-read "(package-location-entries)"))
|
||||
|
||||
|
||||
;;; Location 'list'
|
||||
|
||||
(guix-list-define-interface location
|
||||
:buffer-name "*Guix Package Locations*"
|
||||
:get-entries-function 'guix-location-get-entries
|
||||
:format '((location guix-location-list-file-name-specification 50 t)
|
||||
(number-of-packages nil 10 guix-list-sort-numerically-1
|
||||
:right-align t))
|
||||
:sort-key '(location))
|
||||
|
||||
(let ((map guix-location-list-mode-map))
|
||||
(define-key map (kbd "RET") 'guix-location-list-show-packages)
|
||||
;; "Location Info" buffer is not defined (it would be useless), so
|
||||
;; unbind "i" key (by default, it is used to display Info buffer).
|
||||
(define-key map (kbd "i") nil))
|
||||
|
||||
(defun guix-location-list-file-name-specification (location &optional _)
|
||||
"Return LOCATION button specification for `tabulated-list-entries'."
|
||||
(list location
|
||||
'face 'guix-list-file-name
|
||||
'action (lambda (btn)
|
||||
(guix-find-location (button-get btn 'location)))
|
||||
'follow-link t
|
||||
'help-echo (concat "Find location: " location)
|
||||
'location location))
|
||||
|
||||
(declare-function guix-packages-by-location "guix-ui-package")
|
||||
|
||||
(defun guix-location-list-show-packages ()
|
||||
"Display packages placed in the location at point."
|
||||
(interactive)
|
||||
(guix-packages-by-location (guix-list-current-id)))
|
||||
|
||||
|
||||
;;; Interactive commands
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-locations ()
|
||||
"Display locations of the Guix packages."
|
||||
(interactive)
|
||||
(guix-list-get-display-entries 'location))
|
||||
|
||||
(provide 'guix-ui-location)
|
||||
|
||||
;;; guix-ui-location.el ends here
|
@ -1,6 +1,6 @@
|
||||
;;; guix-ui-package.el --- Interface for displaying packages -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
(require 'guix-hydra-build)
|
||||
(require 'guix-read)
|
||||
(require 'guix-license)
|
||||
(require 'guix-location)
|
||||
(require 'guix-profiles)
|
||||
|
||||
(guix-ui-define-entry-type package)
|
||||
@ -222,7 +223,7 @@ ENTRIES is a list of package entries to get info about packages."
|
||||
ignore
|
||||
(outputs simple guix-package-info-insert-outputs)
|
||||
(source simple guix-package-info-insert-source)
|
||||
(location format (format guix-package-location))
|
||||
(location simple guix-package-info-insert-location)
|
||||
(home-url format (format guix-url))
|
||||
(license format (format guix-package-license))
|
||||
(systems format guix-package-info-insert-systems)
|
||||
@ -345,9 +346,13 @@ formatted with this string, an action button is inserted.")
|
||||
(define-button-type 'guix-package-license
|
||||
:supertype 'guix
|
||||
'face 'guix-package-info-license
|
||||
'help-echo "Browse license URL"
|
||||
'help-echo "Display license info"
|
||||
'action (lambda (btn)
|
||||
(guix-browse-license-url (button-label btn))))
|
||||
(require 'guix-ui-license)
|
||||
(guix-buffer-get-display-entries
|
||||
'info 'license
|
||||
(list 'name (button-label btn))
|
||||
'add)))
|
||||
|
||||
(define-button-type 'guix-package-name
|
||||
:supertype 'guix
|
||||
@ -382,6 +387,22 @@ formatted with this string, an action button is inserted.")
|
||||
'guix-package-heading
|
||||
'spec (guix-package-entry->name-specification entry)))
|
||||
|
||||
(defun guix-package-info-insert-location (location &optional _)
|
||||
"Insert package LOCATION at point."
|
||||
(if (null location)
|
||||
(guix-format-insert nil)
|
||||
(let ((location-file (car (split-string location ":"))))
|
||||
(guix-info-insert-value-indent location 'guix-package-location)
|
||||
(guix-info-insert-indent)
|
||||
(guix-info-insert-action-button
|
||||
"Packages"
|
||||
(lambda (btn)
|
||||
(guix-package-get-display (guix-ui-current-profile)
|
||||
'location
|
||||
(button-get btn 'location)))
|
||||
(format "Display packages from location '%s'" location-file)
|
||||
'location location-file))))
|
||||
|
||||
(defun guix-package-info-insert-systems (systems entry)
|
||||
"Insert supported package SYSTEMS at point."
|
||||
(guix-info-insert-value-format
|
||||
@ -797,7 +818,7 @@ for all ARGS."
|
||||
(source simple guix-package-info-insert-source)
|
||||
(path simple (indent guix-file))
|
||||
(dependencies simple (indent guix-file))
|
||||
(location format (format guix-package-location))
|
||||
(location simple guix-package-info-insert-location)
|
||||
(home-url format (format guix-url))
|
||||
(license format (format guix-package-license))
|
||||
(systems format guix-package-info-insert-systems)
|
||||
@ -969,6 +990,16 @@ Interactively with prefix, prompt for PROFILE."
|
||||
(guix-ui-read-profile)))
|
||||
(guix-package-get-display profile 'license license))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-packages-by-location (location &optional profile)
|
||||
"Display Guix packages placed in LOCATION file.
|
||||
If PROFILE is nil, use `guix-current-profile'.
|
||||
Interactively with prefix, prompt for PROFILE."
|
||||
(interactive
|
||||
(list (guix-read-package-location)
|
||||
(guix-ui-read-profile)))
|
||||
(guix-package-get-display profile 'location location))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-search-by-regexp (regexp &optional params profile)
|
||||
"Search for Guix packages by REGEXP.
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; guix-ui.el --- Common code for Guix package management interface -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
@ -105,10 +105,11 @@ If `all', update all Guix buffers (not recommended)."
|
||||
:group 'guix-ui)
|
||||
|
||||
(defcustom guix-ui-buffer-name-function
|
||||
#'guix-ui-buffer-name-default
|
||||
#'guix-ui-buffer-name-full
|
||||
"Function used to define a name of a Guix buffer.
|
||||
The function is called with 2 arguments: BASE-NAME and PROFILE."
|
||||
:type '(choice (function-item guix-ui-buffer-name-default)
|
||||
:type '(choice (function-item guix-ui-buffer-name-full)
|
||||
(function-item guix-ui-buffer-name-short)
|
||||
(function-item guix-ui-buffer-name-simple)
|
||||
(function :tag "Other function"))
|
||||
:group 'guix-ui)
|
||||
@ -117,26 +118,14 @@ The function is called with 2 arguments: BASE-NAME and PROFILE."
|
||||
"Return BASE-NAME."
|
||||
base-name)
|
||||
|
||||
;; TODO separate '*...*' logic from the real profile appending. Also add
|
||||
;; another function to return '*Guix ...: /full/path/to/profile*' name.
|
||||
(defun guix-ui-buffer-name-default (base-name profile)
|
||||
(defun guix-ui-buffer-name-short (base-name profile)
|
||||
"Return buffer name by appending BASE-NAME and PROFILE's base file name."
|
||||
(let ((profile-name (file-name-base (directory-file-name profile)))
|
||||
(re (rx string-start
|
||||
(group (? "*"))
|
||||
(group (*? any))
|
||||
(group (? "*"))
|
||||
string-end)))
|
||||
(or (string-match re base-name)
|
||||
(error "Unexpected error in defining guix buffer name"))
|
||||
(let ((first* (match-string 1 base-name))
|
||||
(name-body (match-string 2 base-name))
|
||||
(last* (match-string 3 base-name)))
|
||||
;; Handle the case when buffer name is wrapped by '*'.
|
||||
(if (and (string= "*" first*)
|
||||
(string= "*" last*))
|
||||
(concat "*" name-body ": " profile-name "*")
|
||||
(concat base-name ": " profile-name)))))
|
||||
(guix-compose-buffer-name base-name
|
||||
(file-name-base (directory-file-name profile))))
|
||||
|
||||
(defun guix-ui-buffer-name-full (base-name profile)
|
||||
"Return buffer name by appending BASE-NAME and PROFILE's full name."
|
||||
(guix-compose-buffer-name base-name profile))
|
||||
|
||||
(defun guix-ui-buffer-name (base-name profile)
|
||||
"Return Guix buffer name based on BASE-NAME and profile.
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; guix-utils.el --- General utility functions -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
@ -223,6 +223,32 @@ If NO-MESSAGE? is non-nil, do not display a message about it."
|
||||
See also `guix-copy-as-kill'."
|
||||
(guix-copy-as-kill (guix-command-string args) no-message?))
|
||||
|
||||
(defun guix-compose-buffer-name (base-name postfix)
|
||||
"Return buffer name by appending BASE-NAME and POSTFIX.
|
||||
|
||||
In a simple case the result is:
|
||||
|
||||
BASE-NAME: POSTFIX
|
||||
|
||||
If BASE-NAME is wrapped by '*', then the result is:
|
||||
|
||||
*BASE-NAME: POSTFIX*"
|
||||
(let ((re (rx string-start
|
||||
(group (? "*"))
|
||||
(group (*? any))
|
||||
(group (? "*"))
|
||||
string-end)))
|
||||
(or (string-match re base-name)
|
||||
(error "Unexpected error in defining buffer name"))
|
||||
(let ((first* (match-string 1 base-name))
|
||||
(name-body (match-string 2 base-name))
|
||||
(last* (match-string 3 base-name)))
|
||||
;; Handle the case when buffer name is wrapped by '*'.
|
||||
(if (and (string= "*" first*)
|
||||
(string= "*" last*))
|
||||
(concat "*" name-body ": " postfix "*")
|
||||
(concat base-name ": " postfix)))))
|
||||
|
||||
(defun guix-completing-read (prompt table &optional predicate
|
||||
require-match initial-input
|
||||
hist def inherit-input-method)
|
||||
|
@ -40,6 +40,7 @@ ELFILES = \
|
||||
emacs/guix-init.el \
|
||||
emacs/guix-license.el \
|
||||
emacs/guix-list.el \
|
||||
emacs/guix-location.el \
|
||||
emacs/guix-messages.el \
|
||||
emacs/guix-pcomplete.el \
|
||||
emacs/guix-popup.el \
|
||||
@ -47,6 +48,8 @@ ELFILES = \
|
||||
emacs/guix-profiles.el \
|
||||
emacs/guix-read.el \
|
||||
emacs/guix-ui.el \
|
||||
emacs/guix-ui-license.el \
|
||||
emacs/guix-ui-location.el \
|
||||
emacs/guix-ui-package.el \
|
||||
emacs/guix-ui-generation.el \
|
||||
emacs/guix-ui-system-generation.el \
|
@ -11,5 +11,8 @@ RemainAfterExit=yes
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
|
||||
# See <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00608.html>.
|
||||
TasksMax=1024
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
3
gnu.scm
3
gnu.scm
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -32,6 +32,7 @@
|
||||
(begin
|
||||
(define %public-modules
|
||||
'((gnu system)
|
||||
(gnu system mapped-devices)
|
||||
(gnu system file-systems)
|
||||
(gnu system grub) ; 'grub-configuration'
|
||||
(gnu system pam)
|
||||
|
@ -32,8 +32,10 @@
|
||||
#:export (disk-partitions
|
||||
partition-label-predicate
|
||||
partition-uuid-predicate
|
||||
partition-luks-uuid-predicate
|
||||
find-partition-by-label
|
||||
find-partition-by-uuid
|
||||
find-partition-by-luks-uuid
|
||||
canonicalize-device-spec
|
||||
|
||||
uuid->string
|
||||
@ -79,6 +81,11 @@
|
||||
"Bind-mount SOURCE at TARGET."
|
||||
(mount source target "" MS_BIND))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Ext2 file systems.
|
||||
;;;
|
||||
|
||||
(define-syntax %ext2-endianness
|
||||
;; Endianness of ext2 file systems.
|
||||
(identifier-syntax (endianness little)))
|
||||
@ -136,6 +143,63 @@ if DEVICE does not contain an ext2 file system."
|
||||
#f
|
||||
(list->string (map integer->char bytes))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; LUKS encrypted devices.
|
||||
;;;
|
||||
|
||||
;; The LUKS header format is described in "LUKS On-Disk Format Specification":
|
||||
;; <http://wiki.cryptsetup.googlecode.com/git/LUKS-standard/>. We follow
|
||||
;; version 1.2.1 of this document.
|
||||
|
||||
(define-syntax %luks-endianness
|
||||
;; Endianness of LUKS headers.
|
||||
(identifier-syntax (endianness big)))
|
||||
|
||||
(define-syntax %luks-header-size
|
||||
;; Size in bytes of the LUKS header, including key slots.
|
||||
(identifier-syntax 592))
|
||||
|
||||
(define %luks-magic
|
||||
;; The 'LUKS_MAGIC' constant.
|
||||
(u8-list->bytevector (append (map char->integer (string->list "LUKS"))
|
||||
(list #xba #xbe))))
|
||||
|
||||
(define (sub-bytevector bv start size)
|
||||
"Return a copy of the SIZE bytes of BV starting from offset START."
|
||||
(let ((result (make-bytevector size)))
|
||||
(bytevector-copy! bv start result 0 size)
|
||||
result))
|
||||
|
||||
(define (read-luks-header file)
|
||||
"Read a LUKS header from FILE. Return the raw header on success, and #f if
|
||||
not valid header was found."
|
||||
(call-with-input-file file
|
||||
(lambda (port)
|
||||
(let ((header (make-bytevector %luks-header-size)))
|
||||
(match (get-bytevector-n! port header 0 (bytevector-length header))
|
||||
((? eof-object?)
|
||||
#f)
|
||||
((? number? len)
|
||||
(and (= len (bytevector-length header))
|
||||
(let ((magic (sub-bytevector header 0 6)) ;XXX: inefficient
|
||||
(version (bytevector-u16-ref header 6 %luks-endianness)))
|
||||
(and (bytevector=? magic %luks-magic)
|
||||
(= version 1)
|
||||
header)))))))))
|
||||
|
||||
(define (luks-header-uuid header)
|
||||
"Return the LUKS UUID from HEADER, as a 16-byte bytevector."
|
||||
;; 40 bytes are reserved for the UUID, but in practice, it contains the 36
|
||||
;; bytes of its ASCII representation.
|
||||
(let ((uuid (sub-bytevector header 168 36)))
|
||||
(string->uuid (utf8->string uuid))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Partition lookup.
|
||||
;;;
|
||||
|
||||
(define (disk-partitions)
|
||||
"Return the list of device names corresponding to valid disk partitions."
|
||||
(define (partition? major minor)
|
||||
@ -167,42 +231,53 @@ if DEVICE does not contain an ext2 file system."
|
||||
(loop (cons name parts))
|
||||
(loop parts))))))))))
|
||||
|
||||
(define (read-ext2-superblock* device)
|
||||
"Like 'read-ext2-superblock', but return #f when DEVICE does not exist
|
||||
instead of throwing an exception."
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(read-ext2-superblock device))
|
||||
(lambda args
|
||||
;; When running on the hand-made /dev,
|
||||
;; 'disk-partitions' could return partitions for which
|
||||
;; we have no /dev node. Handle that gracefully.
|
||||
(if (= ENOENT (system-error-errno args))
|
||||
(begin
|
||||
(format (current-error-port)
|
||||
"warning: device '~a' not found~%" device)
|
||||
#f)
|
||||
(apply throw args)))))
|
||||
(define (ENOENT-safe proc)
|
||||
"Wrap the one-argument PROC such that ENOENT errors are caught and lead to a
|
||||
warning and #f as the result."
|
||||
(lambda (device)
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(proc device))
|
||||
(lambda args
|
||||
;; When running on the hand-made /dev,
|
||||
;; 'disk-partitions' could return partitions for which
|
||||
;; we have no /dev node. Handle that gracefully.
|
||||
(if (= ENOENT (system-error-errno args))
|
||||
(begin
|
||||
(format (current-error-port)
|
||||
"warning: device '~a' not found~%" device)
|
||||
#f)
|
||||
(apply throw args))))))
|
||||
|
||||
(define (partition-predicate field =)
|
||||
"Return a predicate that returns true if the FIELD of an ext2 superblock is
|
||||
= to the given value."
|
||||
(lambda (expected)
|
||||
"Return a procedure that, when applied to a partition name such as \"sda1\",
|
||||
(define (partition-predicate read field =)
|
||||
"Return a predicate that returns true if the FIELD of partition header that
|
||||
was READ is = to the given value."
|
||||
(let ((read (ENOENT-safe read)))
|
||||
(lambda (expected)
|
||||
"Return a procedure that, when applied to a partition name such as \"sda1\",
|
||||
returns #t if that partition's volume name is LABEL."
|
||||
(lambda (part)
|
||||
(let* ((device (string-append "/dev/" part))
|
||||
(sblock (read-ext2-superblock* device)))
|
||||
(and sblock
|
||||
(let ((actual (field sblock)))
|
||||
(and actual
|
||||
(= actual expected))))))))
|
||||
(lambda (part)
|
||||
(let* ((device (string-append "/dev/" part))
|
||||
(sblock (read device)))
|
||||
(and sblock
|
||||
(let ((actual (field sblock)))
|
||||
(and actual
|
||||
(= actual expected)))))))))
|
||||
|
||||
(define partition-label-predicate
|
||||
(partition-predicate ext2-superblock-volume-name string=?))
|
||||
(partition-predicate read-ext2-superblock
|
||||
ext2-superblock-volume-name
|
||||
string=?))
|
||||
|
||||
(define partition-uuid-predicate
|
||||
(partition-predicate ext2-superblock-uuid bytevector=?))
|
||||
(partition-predicate read-ext2-superblock
|
||||
ext2-superblock-uuid
|
||||
bytevector=?))
|
||||
|
||||
(define partition-luks-uuid-predicate
|
||||
(partition-predicate read-luks-header
|
||||
luks-header-uuid
|
||||
bytevector=?))
|
||||
|
||||
(define (find-partition-by-label label)
|
||||
"Return the first partition found whose volume name is LABEL, or #f if none
|
||||
@ -218,6 +293,13 @@ or #f if none was found."
|
||||
(disk-partitions))
|
||||
(cut string-append "/dev/" <>)))
|
||||
|
||||
(define (find-partition-by-luks-uuid uuid)
|
||||
"Return the first LUKS partition whose unique identifier is UUID (a bytevector),
|
||||
or #f if none was found."
|
||||
(and=> (find (partition-luks-uuid-predicate uuid)
|
||||
(disk-partitions))
|
||||
(cut string-append "/dev/" <>)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; UUIDs.
|
||||
|
@ -3,6 +3,8 @@
|
||||
# Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
# Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@ -35,6 +37,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/algebra.scm \
|
||||
gnu/packages/aidc.scm \
|
||||
gnu/packages/animation.scm \
|
||||
gnu/packages/anthy.scm \
|
||||
gnu/packages/apl.scm \
|
||||
gnu/packages/apr.scm \
|
||||
gnu/packages/asciidoc.scm \
|
||||
@ -57,6 +60,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/boost.scm \
|
||||
gnu/packages/bootstrap.scm \
|
||||
gnu/packages/busybox.scm \
|
||||
gnu/packages/c.scm \
|
||||
gnu/packages/calcurse.scm \
|
||||
gnu/packages/ccache.scm \
|
||||
gnu/packages/cdrom.scm \
|
||||
@ -87,6 +91,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/dejagnu.scm \
|
||||
gnu/packages/dico.scm \
|
||||
gnu/packages/dictionaries.scm \
|
||||
gnu/packages/dillo.scm \
|
||||
gnu/packages/disk.scm \
|
||||
gnu/packages/djvu.scm \
|
||||
gnu/packages/dns.scm \
|
||||
@ -217,6 +222,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/mail.scm \
|
||||
gnu/packages/make-bootstrap.scm \
|
||||
gnu/packages/markdown.scm \
|
||||
gnu/packages/marst.scm \
|
||||
gnu/packages/mate.scm \
|
||||
gnu/packages/maths.scm \
|
||||
gnu/packages/mc.scm \
|
||||
@ -379,6 +385,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/system/linux-container.scm \
|
||||
gnu/system/linux-initrd.scm \
|
||||
gnu/system/locale.scm \
|
||||
gnu/system/mapped-devices.scm \
|
||||
gnu/system/nss.scm \
|
||||
gnu/system/pam.scm \
|
||||
gnu/system/shadow.scm \
|
||||
@ -397,10 +404,6 @@ GNU_SYSTEM_MODULES = \
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
gnu/packages/patches/abiword-explictly-cast-bools.patch \
|
||||
gnu/packages/patches/abiword-link-plugins-against-backend.patch \
|
||||
gnu/packages/patches/abiword-no-include-glib-internal-headers.patch \
|
||||
gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch \
|
||||
gnu/packages/patches/abiword-use-proper-png-api.patch \
|
||||
gnu/packages/patches/abiword-wmf-version-lookup-fix.patch \
|
||||
gnu/packages/patches/acl-hurd-path-max.patch \
|
||||
gnu/packages/patches/aegis-constness-error.patch \
|
||||
@ -412,7 +415,6 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
|
||||
gnu/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
gnu/packages/patches/arb-ldconfig.patch \
|
||||
gnu/packages/patches/asymptote-gsl2.patch \
|
||||
gnu/packages/patches/ath9k-htc-firmware-binutils.patch \
|
||||
gnu/packages/patches/ath9k-htc-firmware-gcc.patch \
|
||||
gnu/packages/patches/ath9k-htc-firmware-objcopy.patch \
|
||||
@ -473,6 +475,9 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/flashrom-use-libftdi1.patch \
|
||||
gnu/packages/patches/flint-ldconfig.patch \
|
||||
gnu/packages/patches/fltk-shared-lib-defines.patch \
|
||||
gnu/packages/patches/fltk-xfont-on-demand.patch \
|
||||
gnu/packages/patches/fontforge-svg-modtime.patch \
|
||||
gnu/packages/patches/fossil-test-fixes.patch \
|
||||
gnu/packages/patches/freeimage-CVE-2015-0852.patch \
|
||||
gnu/packages/patches/gawk-fts-test.patch \
|
||||
gnu/packages/patches/gawk-shell.patch \
|
||||
@ -522,31 +527,22 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/hydra-automake-1.15.patch \
|
||||
gnu/packages/patches/hydra-disable-darcs-test.patch \
|
||||
gnu/packages/patches/icecat-avoid-bundled-includes.patch \
|
||||
gnu/packages/patches/icecat-update-graphite2.patch \
|
||||
gnu/packages/patches/icecat-update-graphite2-pt2.patch \
|
||||
gnu/packages/patches/icecat-re-enable-DHE-cipher-suites.patch \
|
||||
gnu/packages/patches/icecat-CVE-2015-4477.patch \
|
||||
gnu/packages/patches/icecat-CVE-2015-7207.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt01.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt02.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt03.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt04.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt05.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1952-pt06.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1954.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1960.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1961.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1962.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1964.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1965.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1966.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-1974.patch \
|
||||
gnu/packages/patches/icecat-bug-1248851.patch \
|
||||
gnu/packages/patches/icecat-update-bundled-graphite2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2805.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt1.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt3.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt4.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt5.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2808.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2814.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2014-6585.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-1270.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-4760.patch \
|
||||
gnu/packages/patches/ilmbase-fix-tests.patch \
|
||||
gnu/packages/patches/imagemagick-test-segv.patch \
|
||||
gnu/packages/patches/imlib2-CVE-2016-4024.patch \
|
||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||
gnu/packages/patches/jasper-CVE-2007-2721.patch \
|
||||
gnu/packages/patches/jasper-CVE-2008-3520.patch \
|
||||
@ -649,6 +645,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/openimageio-boost-1.60.patch \
|
||||
gnu/packages/patches/openjpeg-CVE-2015-6581.patch \
|
||||
gnu/packages/patches/openjpeg-use-after-free-fix.patch \
|
||||
gnu/packages/patches/openssh-CVE-2015-8325.patch \
|
||||
gnu/packages/patches/openssl-runpath.patch \
|
||||
gnu/packages/patches/openssl-c-rehash-in.patch \
|
||||
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
|
||||
@ -681,6 +678,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/plink-1.07-unclobber-i.patch \
|
||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
gnu/packages/patches/polkit-drop-test.patch \
|
||||
gnu/packages/patches/poppler-CVE-2015-8868.patch \
|
||||
gnu/packages/patches/portaudio-audacity-compat.patch \
|
||||
gnu/packages/patches/procmail-ambiguous-getline-debian.patch \
|
||||
gnu/packages/patches/pt-scotch-build-parallelism.patch \
|
||||
@ -705,6 +703,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/python-paste-remove-website-test.patch \
|
||||
gnu/packages/patches/python-paste-remove-timing-test.patch \
|
||||
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
gnu/packages/patches/python-pandas-fix-tslib-test-failure.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8558.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8567.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8613.patch \
|
||||
@ -722,6 +721,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/ripperx-missing-file.patch \
|
||||
gnu/packages/patches/rsem-makefile.patch \
|
||||
gnu/packages/patches/ruby-symlinkfix.patch \
|
||||
gnu/packages/patches/sed-hurd-path-max.patch \
|
||||
gnu/packages/patches/scheme48-tests.patch \
|
||||
gnu/packages/patches/scotch-test-threading.patch \
|
||||
@ -746,6 +746,8 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/tidy-CVE-2015-5522+5523.patch \
|
||||
gnu/packages/patches/tinyxml-use-stl.patch \
|
||||
gnu/packages/patches/tk-find-library.patch \
|
||||
gnu/packages/patches/ttf2eot-cstddef.patch \
|
||||
gnu/packages/patches/ttfautohint-source-date-epoch.patch \
|
||||
gnu/packages/patches/tophat-build-with-later-seqan.patch \
|
||||
gnu/packages/patches/torsocks-dns-test.patch \
|
||||
gnu/packages/patches/tvtime-gcc41.patch \
|
||||
@ -782,6 +784,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/wicd-urwid-1.3.patch \
|
||||
gnu/packages/patches/wicd-wpa2-ttls.patch \
|
||||
gnu/packages/patches/wmctrl-64-fix.patch \
|
||||
gnu/packages/patches/woff2-libbrotli.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch \
|
@ -37,6 +37,7 @@
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (srfi srfi-39)
|
||||
#:export (search-patch
|
||||
search-patches
|
||||
search-bootstrap-binary
|
||||
%patch-path
|
||||
%bootstrap-binaries-path
|
||||
@ -76,6 +77,11 @@
|
||||
(&message (message (format #f (_ "~a: patch not found")
|
||||
file-name)))))))
|
||||
|
||||
(define-syntax-rule (search-patches file-name ...)
|
||||
"Return the list of absolute file names corresponding to each
|
||||
FILE-NAME found in %PATCH-PATH."
|
||||
(list (search-patch file-name) ...))
|
||||
|
||||
(define (search-bootstrap-binary file-name system)
|
||||
"Search the bootstrap binary FILE-NAME for SYSTEM. Raise an error if not
|
||||
found."
|
||||
|
@ -25,7 +25,7 @@
|
||||
(define-public abduco
|
||||
(package
|
||||
(name "abduco")
|
||||
(version "0.5")
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -33,7 +33,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11phry5wnvwm9ckij5gxbrjfgdz3x38vpnm505q5ldc88im248mz"))))
|
||||
"1x1m58ckwsprljgmdy93mvgjyg9x3cqrzdf3mysp0mx97zhhj2f9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -22,6 +23,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages enchant)
|
||||
@ -41,7 +43,7 @@
|
||||
(define-public abiword
|
||||
(package
|
||||
(name "abiword")
|
||||
(version "2.8.6")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -49,15 +51,10 @@
|
||||
(string-append "http://abisource.org/downloads/" name "/" version
|
||||
"/source/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r"))
|
||||
(base32 "1ik591rx15nn3n1297cwykl8wvrlgj78i528id9wbidgy3xzd570"))
|
||||
(patches
|
||||
(list
|
||||
(search-patch "abiword-wmf-version-lookup-fix.patch")
|
||||
(search-patch "abiword-no-include-glib-internal-headers.patch")
|
||||
(search-patch "abiword-explictly-cast-bools.patch")
|
||||
(search-patch "abiword-use-proper-png-api.patch")
|
||||
(search-patch "abiword-pass-no-undefined-to-linker.patch")
|
||||
(search-patch "abiword-link-plugins-against-backend.patch")))))
|
||||
(search-patches "abiword-wmf-version-lookup-fix.patch"
|
||||
"abiword-explictly-cast-bools.patch"))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(arguments ;; NOTE: rsvg is disabled, since Abiword
|
||||
@ -65,22 +62,31 @@
|
||||
(list
|
||||
"--enable-clipart" ;; TODO: The following plugins have unresolved
|
||||
"--enable-templates" ;; dependencies: aiksaurus, grammar, wpg, gda,
|
||||
(string-append ;; wordperfect, psion, mathview, goffice.
|
||||
(string-append ;; wordperfect, psion, mathview.
|
||||
"--enable-plugins="
|
||||
"applix " "babelfish " "bmp " "clarisworks " "collab " "command "
|
||||
"docbook " "eml " "freetranslation " "garble " "gdict " "gimp "
|
||||
"google " "hancom " "hrtext " "iscii " "kword " "latex "
|
||||
"loadbindings " "mht " "mif " "mswrite " "opendocument "
|
||||
"docbook " "eml " "epub " "freetranslation " "garble " "gdict "
|
||||
"gimp " "goffice " "google " "hancom " "hrtext " "iscii " "kword "
|
||||
"latex " "loadbindings " "mht " "mif " "mswrite " "opendocument "
|
||||
"openwriter " "openxml " "opml " "ots " "paint " "passepartout "
|
||||
"pdb " "pdf " "presentation " "s5 " "sdw " "t602 " "urldict "
|
||||
"wikipedia " "wmf " "wml " "xslfo"))))
|
||||
"wikipedia " "wmf " "wml " "xslfo"))
|
||||
;; tests fail with: Gtk-CRITICAL **: gtk_settings_get_for_screen:
|
||||
;; assertion 'GDK_IS_SCREEN (screen)' failed
|
||||
;; GLib-GObject-CRITICAL **: g_object_get_qdata:
|
||||
;; assertion 'G_IS_OBJECT (object)' failed
|
||||
;; Manually starting the X server before the test phase did not help
|
||||
;; the tests to pass.
|
||||
#:tests? #f))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("enchant" ,enchant)
|
||||
("fontconfig" ,fontconfig)
|
||||
("fribidi" ,fribidi)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("goffice" ,goffice)
|
||||
("gtk+" ,gtk+)
|
||||
("libchamplain" ,libchamplain)
|
||||
("libglade" ,libglade)
|
||||
("libgsf" ,libgsf)
|
||||
("libjpeg" ,libjpeg)
|
||||
@ -88,14 +94,17 @@
|
||||
("librsvg" ,librsvg)
|
||||
("libwmf" ,libwmf)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)
|
||||
("ots" ,ots)
|
||||
("popt" ,popt)
|
||||
("readline" ,readline)
|
||||
("telepathy" ,telepathy-glib)
|
||||
("wv" ,wv)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("glib:bin" ,glib "bin")
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://abisource.org/")
|
||||
(synopsis "Word processing program")
|
||||
|
@ -41,7 +41,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))
|
||||
(patches (list (search-patch "acl-hurd-path-max.patch")))))
|
||||
(patches (search-patches "acl-hurd-path-max.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; FIXME: Investigate test suite failures
|
||||
|
@ -100,6 +100,35 @@ usual file attributes can be checked for inconsistencies.")
|
||||
(home-page "http://aide.sourceforge.net/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public progress
|
||||
(package
|
||||
(name "progress")
|
||||
(version "0.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Xfennec/"
|
||||
name "/archive/v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "133iar4vq5vlklydb4cyazjy6slmpbndrws474mg738bd8avc30n"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no test suite.
|
||||
#:make-flags (list "CC=gcc" "LDFLAGS+=-lncurses"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; There's no configure phase.
|
||||
(home-page "https://github.com/Xfennec/progress")
|
||||
(synopsis "Program to view the progress of the coreutils commands")
|
||||
(description "A program that looks for coreutils basic commands (cp, mv,
|
||||
dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays
|
||||
the percentage of copied data. It can also show estimated time and throughput,
|
||||
and provides a \"top-like\" mode (monitoring).")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public dmd
|
||||
;; Deprecated. Kept around "just in case."
|
||||
(let ((base-version "0.2")
|
||||
@ -768,7 +797,7 @@ system administrator.")
|
||||
(sha256
|
||||
(base32
|
||||
"0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"))
|
||||
(patches (list (search-patch "sudo-CVE-2015-5602.patch")))))
|
||||
(patches (search-patches "sudo-CVE-2015-5602.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@ -842,10 +871,10 @@ commands and their arguments.")
|
||||
(base32
|
||||
"05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))
|
||||
(patches
|
||||
(map search-patch '("wpa-supplicant-CVE-2015-5310.patch"
|
||||
"wpa-supplicant-CVE-2015-5314.patch"
|
||||
"wpa-supplicant-CVE-2015-5315.patch"
|
||||
"wpa-supplicant-CVE-2015-5316.patch")))))
|
||||
(search-patches "wpa-supplicant-CVE-2015-5310.patch"
|
||||
"wpa-supplicant-CVE-2015-5314.patch"
|
||||
"wpa-supplicant-CVE-2015-5315.patch"
|
||||
"wpa-supplicant-CVE-2015-5316.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-replace
|
||||
|
@ -1,7 +1,9 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -22,12 +24,21 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tcsh)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
@ -188,6 +199,68 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
(license license:gpl2)
|
||||
(home-page "http://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define-public giac-xcas
|
||||
(package
|
||||
(name "giac-xcas")
|
||||
(version "1.2.2-41")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; "~parisse/giac" is not used because the maintainer regularly
|
||||
;; overwrites the release tarball there, introducing a checksum
|
||||
;; mismatch every time. See
|
||||
;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README>
|
||||
(uri (string-append "https://www-fourier.ujf-grenoble.fr/"
|
||||
"~parisse/debian/dists/stable/main/"
|
||||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"061a0p5l1qlb9iqk7n7yznhv2f3hvll1hrzjbhn81bf31f2wj6sq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-bin-cp
|
||||
(lambda _
|
||||
;; Some Makefiles contain hard-coded "/bin/cp".
|
||||
(substitute* (find-files "doc" "^Makefile")
|
||||
(("/bin/cp") (which "cp")))
|
||||
#t))
|
||||
(add-after 'unpack 'disable-broken-test
|
||||
(lambda _
|
||||
;; Disable failing test. Actually, the results are correct but
|
||||
;; a sorting discrepancy prevents the test from being validated.
|
||||
(substitute* "check/Makefile.in"
|
||||
(("chk_fhan16") ""))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("fltk" ,fltk)
|
||||
("gmp" ,gmp)
|
||||
("gsl" ,gsl)
|
||||
("lapack" ,lapack)
|
||||
("libao" ,ao)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxft" ,libxft)
|
||||
("libxt" ,libxt)
|
||||
("mesa" ,mesa)
|
||||
("mpfi" ,mpfi)
|
||||
("mpfr" ,mpfr)
|
||||
("ntl" ,ntl)
|
||||
("perl" ,perl)
|
||||
("pari-gp" ,pari-gp)
|
||||
("tcsh" ,tcsh)
|
||||
("texlive" ,texlive-minimal)))
|
||||
(native-inputs `(("readline" ,readline)))
|
||||
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
|
||||
(synopsis "Computer algebra system")
|
||||
(description
|
||||
"Giac/Xcas is a computer algebra system. It has a compatibility mode for
|
||||
maple, mupad and the TI89. It is available as a standalone program (graphic
|
||||
or text interfaces) or as a C++ library.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
@ -199,7 +272,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
|
||||
(patches (map search-patch '("flint-ldconfig.patch")))))
|
||||
(patches (search-patches "flint-ldconfig.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("gmp" ,gmp)
|
||||
@ -248,7 +321,7 @@ fast arithmetic.")
|
||||
(sha256
|
||||
(base32
|
||||
"04hhcpshfkcq9fr4hixbhpps50yf9drk62xgkvlcaj5kb4nyrx7l"))
|
||||
(patches (map search-patch '("arb-ldconfig.patch")))))
|
||||
(patches (search-patches "arb-ldconfig.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("flint" ,flint))) ; flint.h is included by arf.h
|
||||
@ -322,6 +395,76 @@ matrices, and polynomials over the integers and over finite fields.")
|
||||
(license license:gpl2+)
|
||||
(home-page "http://shoup.net/ntl/")))
|
||||
|
||||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.mathematik.uni-kl.de/ftp/pub/"
|
||||
"Math/Singular/SOURCES/"
|
||||
(string-join (string-split version #\.) "-")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0viidy2fz62rln9p0s9qfs7fnm55c6fw1agydd1py26gxylp1ksc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("graphviz" ,graphviz)
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("cddlib" ,cddlib)
|
||||
("gmp" ,gmp)
|
||||
("flint" ,flint)
|
||||
("mpfr" ,mpfr)
|
||||
("ntl" ,ntl)
|
||||
("python" ,python-2)
|
||||
("readline" ,readline)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-ntl="
|
||||
(assoc-ref %build-inputs "ntl")))))
|
||||
(synopsis "Computer algebra system for polynomial computations")
|
||||
(description
|
||||
"Singular is a computer algebra system for polynomial computations,
|
||||
with special emphasis on commutative and non-commutative algebra, algebraic
|
||||
geometry and singularity theory.")
|
||||
;; Singular itself is dual licensed gpl2 or gpl3, but some of the
|
||||
;; libraries with which it links are licensed under lgpl3+, so the
|
||||
;; combined work becomes gpl3. See COPYING in the source code.
|
||||
(license license:gpl3)
|
||||
(home-page "http://www.singular.uni-kl.de/index.php")))
|
||||
|
||||
(define-public gmp-ecm
|
||||
(package
|
||||
(name "gmp-ecm")
|
||||
(version "7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
|
||||
"file/35642/ecm-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"00jzzwqp49m01vwsr9z1w7bvm8lb69l3f62x7qr8sfz0xiczxnpm"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp" ,gmp)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-shared"
|
||||
;; Disable specific assembly routines, which depend
|
||||
;; on the subarchitecture of the build machine,
|
||||
;; and use gmp instead.
|
||||
"--disable-asm-redc")))
|
||||
(synopsis "Integer factorization library using the elliptic curve method")
|
||||
(description
|
||||
"GMP-ECM factors integers using the elliptic curve method (ECM) as well
|
||||
as the P-1 and P+1 algorithms. It provides a library and a stand-alone
|
||||
binary.")
|
||||
;; Most files are under lgpl3+, but some are under gpl3+ or gpl2+,
|
||||
;; so the combined work is under gpl3+.
|
||||
(license license:gpl3+)
|
||||
(home-page "http://ecm.gforge.inria.fr/")))
|
||||
|
||||
(define-public bc
|
||||
(package
|
||||
(name "bc")
|
||||
@ -424,14 +567,14 @@ cosine/ sine transforms or DCT/DST).")
|
||||
(define-public eigen
|
||||
(package
|
||||
(name "eigen")
|
||||
(version "3.2.7")
|
||||
(version "3.2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gigbjjdlw2q0gvcnyiwc6in314a647rkidk6977bwiwn88im3p5"))
|
||||
"0mby6my1djsg8681fcvlaq0i4kd17fja9qn5f713j3xpfbb66akj"))
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -68,7 +68,7 @@ C++ @dfn{Standard Template Library} (STL).")
|
||||
(sha256
|
||||
(base32
|
||||
"1d3z2r78j3rkff47q3wl0ami69y3l4nyi5r9zclymb8ar7mgkk9l"))
|
||||
(patches (list (search-patch "synfig-build-fix.patch")))))
|
||||
(patches (search-patches "synfig-build-fix.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
64
gnu/packages/anthy.scm
Normal file
64
gnu/packages/anthy.scm
Normal file
@ -0,0 +1,64 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@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 anthy)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public anthy
|
||||
(package
|
||||
(name "anthy")
|
||||
(version "9100h")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; The URI does not appear to be easily guessable. For
|
||||
;; example, you cannot download version "9100g" simply
|
||||
;; by replacing "9100h" in the URI.
|
||||
(uri "http://tcpdiag.dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
|
||||
(build-system gnu-build-system)
|
||||
;; Anthy also contains elisp modules for using anthy within Emacs.
|
||||
;; However, these modules are incompatible with the latest version
|
||||
;; of Emacs. This is because they rely on the presence of
|
||||
;; last-command-char, which was removed in Emacs 24.3. So, we
|
||||
;; don't try to install them here at this time.
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test"
|
||||
(zero? (system* "./anthy" "--all"))))))))
|
||||
(home-page "http://anthy.osdn.jp/")
|
||||
(synopsis "Japanese input method")
|
||||
(description "Anthy is a Japanese input method for converting
|
||||
hiragana text to mixed kana and kanji. It is written in the C
|
||||
programming language. Anthy stores personal customizations (words it
|
||||
has learned from the user's input, words the user has explicitly
|
||||
added, etc.) in the ~/.anthy/ directory. This package contains the
|
||||
anthy C libraries, the cannadic and alt-cannadic kana dictionaries, as
|
||||
well as command-line tools for using anthy and managing
|
||||
dictionaries.")
|
||||
;; Most of anthy is lgpl2.1+. However, some files (e.g., from
|
||||
;; alt-cannadic) use gpl2. See the file "COPYING" in the anthy
|
||||
;; source for details.
|
||||
(license (list lgpl2.1+ gpl2))))
|
@ -39,7 +39,7 @@
|
||||
(base32
|
||||
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx"))
|
||||
(patches
|
||||
(list (search-patch "apr-skip-getservbyname-test.patch")))
|
||||
(search-patches "apr-skip-getservbyname-test.patch"))
|
||||
(patch-flags '("-p0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -47,7 +47,7 @@
|
||||
"mirror://sourceforge/audacity/audacity-minsrc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1cs2w3fwqylpqmfwkvlgdx5lhclpckfil7pqibl37qlbnf4qvndh"))
|
||||
(patches (list (search-patch "audacity-fix-ffmpeg-binding.patch")))))
|
||||
(patches (search-patches "audacity-fix-ffmpeg-binding.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
|
||||
|
@ -333,7 +333,7 @@ tools (analyzer, mono/stereo tools, crossovers).")
|
||||
(sha256
|
||||
(base32
|
||||
"0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))
|
||||
(patches (list (search-patch "csound-header-ordering.patch")))))
|
||||
(patches (search-patches "csound-header-ordering.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; Work around this error on x86_64 with libc 2.22+:
|
||||
@ -862,15 +862,15 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
|
||||
(define-public guitarix
|
||||
(package
|
||||
(name "guitarix")
|
||||
(version "0.34.0")
|
||||
(version "0.35.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/guitarix/guitarix2-"
|
||||
version ".tar.bz2"))
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"))))
|
||||
"10hijqrrl8xil46kgsac10ysfxysisxlibm2rz133zyig5n63jdw"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
@ -2064,7 +2064,7 @@ portions of LAME.")
|
||||
".tgz"))
|
||||
(sha256
|
||||
(base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
|
||||
(patches (list (search-patch "portaudio-audacity-compat.patch")))))
|
||||
(patches (search-patches "portaudio-audacity-compat.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; TODO: Add ASIHPI.
|
||||
@ -2096,14 +2096,14 @@ interface.")
|
||||
(define-public qsynth
|
||||
(package
|
||||
(name "qsynth")
|
||||
(version "0.4.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
|
||||
(base32 "034p6mbwrjnxd9b6h20cidxi4ilkk3cgpjp154j0jzjs1ipf7x2h"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no "check" phase
|
||||
|
@ -195,9 +195,8 @@ output is indexed in many ways to simplify browsing.")
|
||||
(base32
|
||||
"0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r"))
|
||||
(patches
|
||||
(map search-patch
|
||||
'("automake-regexp-syntax.patch"
|
||||
"automake-skip-amhello-tests.patch")))))
|
||||
(search-patches "automake-regexp-syntax.patch"
|
||||
"automake-skip-amhello-tests.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,(autoconf-wrapper))
|
||||
@ -273,8 +272,7 @@ Makefile, simplifying the entire process for the developer.")
|
||||
(sha256
|
||||
(base32
|
||||
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
|
||||
(patches
|
||||
(list (search-patch "libtool-skip-tests2.patch")))))
|
||||
(patches (search-patches "libtool-skip-tests2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(native-inputs `(("m4" ,m4)
|
||||
|
@ -41,7 +41,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))
|
||||
(patches (list (search-patch "avahi-localstatedir.patch")))))
|
||||
(patches (search-patches "avahi-localstatedir.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-distro=none"
|
||||
|
@ -61,8 +61,8 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb"))
|
||||
(patches (list (search-patch "duplicity-piped-password.patch")
|
||||
(search-patch "duplicity-test_selection-tmp.patch")))))
|
||||
(patches (search-patches "duplicity-piped-password.patch"
|
||||
"duplicity-test_selection-tmp.patch"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python2-setuptools" ,python2-setuptools)
|
||||
@ -146,10 +146,10 @@ backups (called chunks) to allow easy burning to CD/DVD.")
|
||||
(base32
|
||||
"0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))
|
||||
(patches
|
||||
(list (search-patch "libarchive-mtree-filename-length-fix.patch")
|
||||
(search-patch "libarchive-fix-lzo-test-case.patch")
|
||||
(search-patch "libarchive-CVE-2013-0211.patch")
|
||||
(search-patch "libarchive-bsdtar-test.patch")))))
|
||||
(search-patches "libarchive-mtree-filename-length-fix.patch"
|
||||
"libarchive-fix-lzo-test-case.patch"
|
||||
"libarchive-CVE-2013-0211.patch"
|
||||
"libarchive-bsdtar-test.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO: Add -L/path/to/nettle in libarchive.pc.
|
||||
(inputs
|
||||
@ -377,8 +377,7 @@ changes are stored.")
|
||||
(sha256
|
||||
(base32
|
||||
"0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"))
|
||||
(patches
|
||||
(list (search-patch "diffutils-gets-undeclared.patch")))))
|
||||
(patches (search-patches "diffutils-gets-undeclared.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("guile" ,guile-2.0)
|
||||
@ -410,13 +409,13 @@ detection, and lossless compression.")
|
||||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.0.0")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wa6cvqs3rni5nwrgagigchcly8a53rxk56z0zn8iaii2cqrw2sh"))))
|
||||
"1myz10pwxnac9z59gw1w3xjhz6ghx03vngpl97ca527pj0r39shi"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -82,8 +82,7 @@ command-line arguments, multiple languages, and so on.")
|
||||
(sha256
|
||||
(base32
|
||||
"0c38b67cnwchwzv4wq2gpz6smkhdxrac2hhssv8f0l04qnx867p2"))
|
||||
(patches
|
||||
(list (search-patch "grep-timing-sensitive-test.patch")))))
|
||||
(patches (search-patches "grep-timing-sensitive-test.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl))) ;some of the tests require it
|
||||
(synopsis "Print lines matching a pattern")
|
||||
@ -109,7 +108,7 @@ including, for example, recursive directory searching.")
|
||||
(sha256
|
||||
(base32
|
||||
"1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))
|
||||
(patches (list (search-patch "sed-hurd-path-max.patch")))))
|
||||
(patches (search-patches "sed-hurd-path-max.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Stream editor")
|
||||
(arguments
|
||||
@ -145,9 +144,8 @@ implementation offers several extensions over the standard utility.")
|
||||
(sha256
|
||||
(base32
|
||||
"1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))
|
||||
(patches (map search-patch
|
||||
'("tar-d_ino_in_dirent-fix.patch"
|
||||
"tar-skip-unreliable-tests.patch")))))
|
||||
(patches (search-patches "tar-d_ino_in_dirent-fix.patch"
|
||||
"tar-skip-unreliable-tests.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Managing tar archives")
|
||||
(description
|
||||
@ -171,7 +169,7 @@ standard utility.")
|
||||
(sha256
|
||||
(base32
|
||||
"16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))
|
||||
(patches (list (search-patch "patch-hurd-path-max.patch")))))
|
||||
(patches (search-patches "patch-hurd-path-max.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("ed" ,ed)))
|
||||
(synopsis "Apply differences to originals, with optional backups")
|
||||
@ -217,9 +215,8 @@ interactive means to merge two files.")
|
||||
(sha256
|
||||
(base32
|
||||
"178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"))
|
||||
(patches (map search-patch
|
||||
'("findutils-localstatedir.patch"
|
||||
"findutils-test-xargs.patch")))))
|
||||
(patches (search-patches "findutils-localstatedir.patch"
|
||||
"findutils-test-xargs.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list
|
||||
@ -316,7 +313,7 @@ functionality beyond that which is outlined in the POSIX standard.")
|
||||
(sha256
|
||||
(base32
|
||||
"19gwwhik3wdwn0r42b7xcihkbxvjl9r2bdal8nifc3k5i4rn3iqb"))
|
||||
(patches (list (search-patch "make-impure-dirs.patch")))))
|
||||
(patches (search-patches "make-impure-dirs.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config))) ; to detect Guile
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
@ -354,8 +351,8 @@ change. GNU make offers many powerful extensions over the standard utility.")
|
||||
(sha256
|
||||
(base32
|
||||
"08lzmhidzc16af1zbx34f8cy4z7mzrswpdbhrb8shy3xxpflmcdm"))
|
||||
(patches (list (search-patch "binutils-ld-new-dtags.patch")
|
||||
(search-patch "binutils-loongson-workaround.patch")))))
|
||||
(patches (search-patches "binutils-ld-new-dtags.patch"
|
||||
"binutils-loongson-workaround.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; TODO: Add dependency on zlib + those for Gold.
|
||||
@ -475,10 +472,9 @@ store.")
|
||||
(("use_ldconfig=yes")
|
||||
"use_ldconfig=no")))
|
||||
(modules '((guix build utils)))
|
||||
(patches (map search-patch
|
||||
'("glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-o-largefile.patch")))))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-o-largefile.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
|
||||
@ -644,7 +640,7 @@ with the Linux kernel.")
|
||||
(sha256
|
||||
(base32
|
||||
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
|
||||
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"))))))
|
||||
|
||||
(define-public glibc-locales
|
||||
(package
|
||||
@ -764,8 +760,7 @@ command.")
|
||||
(base32
|
||||
"17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
|
||||
(file-name (string-append name "-" version))
|
||||
(patches (map search-patch
|
||||
'("glibc-hurd-extern-inline.patch")))))
|
||||
(patches (search-patches "glibc-hurd-extern-inline.patch"))))
|
||||
|
||||
;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
|
||||
;; so both should be propagated.
|
||||
|
@ -285,7 +285,7 @@ without modification.")
|
||||
(base32
|
||||
"0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))
|
||||
(patches
|
||||
(list (search-patch "bash-completion-directories.patch")))))
|
||||
(search-patches "bash-completion-directories.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("util-linux" ,util-linux)))
|
||||
(arguments
|
||||
|
@ -716,7 +716,7 @@ gapped, local, and paired-end alignment modes.")
|
||||
(sha256
|
||||
(base32
|
||||
"168zlzykq622zbgkh90a90f1bdgsxkscq2zxzbj8brq80hbjpyp7"))
|
||||
(patches (list (search-patch "tophat-build-with-later-seqan.patch")))
|
||||
(patches (search-patches "tophat-build-with-later-seqan.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -922,6 +922,75 @@ also includes an interface for tabix.")
|
||||
(define-public python2-pysam
|
||||
(package-with-python2 python-pysam))
|
||||
|
||||
(define-public python-twobitreader
|
||||
(package
|
||||
(name "python-twobitreader")
|
||||
(version "3.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "twobitreader" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y408fp6psqzwxpcpqn0wp7fr41dwz8d54wpj6j261fj5q8vs169"))))
|
||||
(properties `((python2-variant . ,(delay python2-twobitreader))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-sphinx" ,python-sphinx)))
|
||||
(home-page "https://github.com/benjschiller/twobitreader")
|
||||
(synopsis "Python library for reading .2bit files")
|
||||
(description
|
||||
"twobitreader is a Python library for reading .2bit files as used by the
|
||||
UCSC genome browser.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public python2-twobitreader
|
||||
(let ((base (package-with-python2 (strip-python2-variant python-twobitreader))))
|
||||
(package
|
||||
(inherit base)
|
||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
||||
,@(package-native-inputs base))))))
|
||||
|
||||
(define-public python-plastid
|
||||
(package
|
||||
(name "python-plastid")
|
||||
(version "0.4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "plastid" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nhxw8a5gn9as58i2ih52c5cjwj48ik418pzsjwph3s66mmy9yvq"))))
|
||||
(properties `((python2-variant . ,(delay python2-plastid))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Some test files are not included.
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-numpy" ,python-numpy)
|
||||
("python-scipy" ,python-scipy)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-pysam" ,python-pysam)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-biopython" ,python-biopython)
|
||||
("python-twobitreader" ,python-twobitreader)))
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython)
|
||||
("python-nose" ,python-nose)))
|
||||
(home-page "https://github.com/joshuagryphon/plastid")
|
||||
(synopsis "Python library for genomic analysis")
|
||||
(description
|
||||
"plastid is a Python library for genomic analysis – in particular,
|
||||
high-throughput sequencing data – with an emphasis on simplicity.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-plastid
|
||||
(let ((base (package-with-python2 (strip-python2-variant python-plastid))))
|
||||
(package
|
||||
(inherit base)
|
||||
;; setuptools is required at runtime
|
||||
(propagated-inputs `(("python2-setuptools" ,python2-setuptools)
|
||||
,@(package-propagated-inputs base))))))
|
||||
|
||||
(define-public cd-hit
|
||||
(package
|
||||
(name "cd-hit")
|
||||
@ -1156,8 +1225,7 @@ time.")
|
||||
"07y179f63d7qnzdvkqcziwk9bs3k4zhp81q392fp1hwszjdvy22f"))
|
||||
;; This patch has been sent upstream already and is available
|
||||
;; for download from Sourceforge, but it has not been merged.
|
||||
(patches (list
|
||||
(search-patch "crossmap-allow-system-pysam.patch")))
|
||||
(patches (search-patches "crossmap-allow-system-pysam.patch"))
|
||||
(modules '((guix build utils)))
|
||||
;; remove bundled copy of pysam
|
||||
(snippet
|
||||
@ -2076,9 +2144,9 @@ HMMs).")
|
||||
from high-throughput sequencing assays.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public htsjdk
|
||||
(define-public java-htsjdk
|
||||
(package
|
||||
(name "htsjdk")
|
||||
(name "java-htsjdk")
|
||||
(version "1.129")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@ -2480,6 +2548,41 @@ RNA-Seq, the MISO model uses Bayesian inference to compute the probability
|
||||
that a read originated from a particular isoform.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public muscle
|
||||
(package
|
||||
(name "muscle")
|
||||
(version "3.8.1551")
|
||||
(source (origin
|
||||
(method url-fetch/tarbomb)
|
||||
(file-name (string-append name "-" version))
|
||||
(uri (string-append
|
||||
"http://www.drive5.com/muscle/muscle_src_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bj8kj7sdizy3987zx6w7axihk40fk8rn76mpbqqjcnd64i5a367"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "LDLIBS = -lm")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
;; There are no tests, so just test if it runs.
|
||||
(lambda _ (zero? (system* "./muscle" "-version"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "muscle" bin)))))))
|
||||
(home-page "http://www.drive5.com/muscle")
|
||||
(synopsis "Multiple sequence alignment program")
|
||||
(description
|
||||
"MUSCLE aims to be a fast and accurate multiple sequence alignment
|
||||
program for nucleotide and protein sequences.")
|
||||
;; License information found in 'muscle -h' and usage.cpp.
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public orfm
|
||||
(package
|
||||
(name "orfm")
|
||||
@ -2722,7 +2825,7 @@ partial genes, and identifies translation initiation sites.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0nzdc0j0hjllhsd5f2xli95dafm3nawskigs140xzvjk67xh0r9q"))
|
||||
(patches (list (search-patch "rsem-makefile.patch")))
|
||||
(patches (search-patches "rsem-makefile.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -2834,7 +2937,7 @@ distribution, coverage uniformity, strand specificity, etc.")
|
||||
(define-public samtools
|
||||
(package
|
||||
(name "samtools")
|
||||
(version "1.3")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -2843,7 +2946,7 @@ distribution, coverage uniformity, strand specificity, etc.")
|
||||
version "/samtools-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy"))))
|
||||
"0znnnxc467jbf1as2dpskrjhfh8mbll760j6w6rdkwlwbqsp8gbc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
@ -3013,9 +3116,9 @@ any particular back-end implementation, and supports use of multiple back-ends
|
||||
simultaneously.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public ngs-java
|
||||
(define-public java-ngs
|
||||
(package (inherit ngs-sdk)
|
||||
(name "ngs-java")
|
||||
(name "java-ngs")
|
||||
(arguments
|
||||
`(,@(substitute-keyword-arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
@ -3078,7 +3181,7 @@ simultaneously.")
|
||||
(string-append "--with-ngs-sdk-prefix="
|
||||
(assoc-ref inputs "ngs-sdk"))
|
||||
(string-append "--with-ngs-java-prefix="
|
||||
(assoc-ref inputs "ngs-java"))
|
||||
(assoc-ref inputs "java-ngs"))
|
||||
(string-append "--with-hdf5-prefix="
|
||||
(assoc-ref inputs "hdf5"))))))
|
||||
(alist-cons-after
|
||||
@ -3104,7 +3207,7 @@ simultaneously.")
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
("ngs-sdk" ,ngs-sdk)
|
||||
("ngs-java" ,ngs-java)
|
||||
("java-ngs" ,java-ngs)
|
||||
("libmagic" ,file)
|
||||
("hdf5" ,hdf5)))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
@ -3129,7 +3232,7 @@ accessed/downloaded on demand across HTTP.")
|
||||
version "-src.zip"))
|
||||
(sha256
|
||||
(base32 "0as8gxm4pjyc8dxmm1sl873rrd7wn5qs0l29nqfnl31x8i467xaa"))
|
||||
(patches (list (search-patch "plink-1.07-unclobber-i.patch")))))
|
||||
(patches (search-patches "plink-1.07-unclobber-i.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no "check" target
|
||||
@ -3889,13 +3992,13 @@ BLAST, KEGG, GenBank, MEDLINE and GO.")
|
||||
(define-public r-acsnminer
|
||||
(package
|
||||
(name "r-acsnminer")
|
||||
(version "0.15.11")
|
||||
(version "0.16.01.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ACSNMineR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dl4drhjyazwm9wxlm8yfppwvvj4h6jxwmz8kfw5bxpb3jdnsqvy"))))
|
||||
"1b1243wkncanm1blkqzicjgzb576vzcg4iwinsgn2xqr7f264amf"))))
|
||||
(properties `((upstream-name . "ACSNMineR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -4036,6 +4139,38 @@ translation between different chromosome sequence naming conventions (e.g.,
|
||||
names in their natural, rather than lexicographic, order.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-variantannotation
|
||||
(package
|
||||
(name "r-variantannotation")
|
||||
(version "1.16.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "VariantAnnotation" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z42j3p9b8h725inq8n0230llsdbav3gwcxy1nliypzfkxbzahsb"))))
|
||||
(properties
|
||||
`((upstream-name . "VariantAnnotation")))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-bsgenome" ,r-bsgenome)
|
||||
("r-dbi" ,r-dbi)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicfeatures" ,r-genomicfeatures)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-zlibbioc" ,r-zlibbioc)))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://bioconductor.org/packages/VariantAnnotation")
|
||||
(synopsis "Package for annotation of genetic variants")
|
||||
(description "This R package can annotate variants, compute amino acid
|
||||
coding changes and predict coding outcomes.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-xvector
|
||||
(package
|
||||
(name "r-xvector")
|
||||
@ -4716,10 +4851,184 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
|
||||
annotations for the genome of the model mouse Mus musculus.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-seqlogo
|
||||
(package
|
||||
(name "r-seqlogo")
|
||||
(version "1.36.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "seqLogo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kn1a1nf2j4v9c09vjkz9bmxlln7yhg87bnyrdsxy1m55x56rn5k"))))
|
||||
(properties `((upstream-name . "seqLogo")))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://bioconductor.org/packages/seqLogo")
|
||||
(synopsis "Sequence logos for DNA sequence alignments")
|
||||
(description
|
||||
"seqLogo takes the position weight matrix of a DNA sequence motif and
|
||||
plots the corresponding sequence logo as introduced by Schneider and
|
||||
Stephens (1990).")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public r-bsgenome-hsapiens-ucsc-hg19
|
||||
(package
|
||||
(name "r-bsgenome-hsapiens-ucsc-hg19")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; We cannot use bioconductor-uri here because this tarball is
|
||||
;; located under "data/annotation/" instead of "bioc/".
|
||||
(uri (string-append "http://www.bioconductor.org/packages/"
|
||||
"release/data/annotation/src/contrib/"
|
||||
"BSgenome.Hsapiens.UCSC.hg19_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y0nqpk8cw5a34sd9hmin3z4v7iqm6hf6l22cl81vlbxqbjibxc8"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Hsapiens.UCSC.hg19")))
|
||||
(build-system r-build-system)
|
||||
;; As this package provides little more than a very large data file it
|
||||
;; doesn't make sense to build substitutes.
|
||||
(arguments `(#:substitutable? #f))
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)))
|
||||
(home-page
|
||||
"http://www.bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg19/")
|
||||
(synopsis "Full genome sequences for Homo sapiens")
|
||||
(description
|
||||
"This package provides full genome sequences for Homo sapiens as provided
|
||||
by UCSC (hg19, February 2009) and stored in Biostrings objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-mmusculus-ucsc-mm9
|
||||
(package
|
||||
(name "r-bsgenome-mmusculus-ucsc-mm9")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; We cannot use bioconductor-uri here because this tarball is
|
||||
;; located under "data/annotation/" instead of "bioc/".
|
||||
(uri (string-append "http://www.bioconductor.org/packages/"
|
||||
"release/data/annotation/src/contrib/"
|
||||
"BSgenome.Mmusculus.UCSC.mm9_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1birqw30g2azimxpnjfzmkphan7x131yy8b9h85lfz5fjdg7841i"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Mmusculus.UCSC.mm9")))
|
||||
(build-system r-build-system)
|
||||
;; As this package provides little more than a very large data file it
|
||||
;; doesn't make sense to build substitutes.
|
||||
(arguments `(#:substitutable? #f))
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)))
|
||||
(home-page
|
||||
"http://www.bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm9/")
|
||||
(synopsis "Full genome sequences for Mouse")
|
||||
(description
|
||||
"This package provides full genome sequences for Mus musculus (Mouse) as
|
||||
provided by UCSC (mm9, July 2007) and stored in Biostrings objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-celegans-ucsc-ce6
|
||||
(package
|
||||
(name "r-bsgenome-celegans-ucsc-ce6")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; We cannot use bioconductor-uri here because this tarball is
|
||||
;; located under "data/annotation/" instead of "bioc/".
|
||||
(uri (string-append "http://www.bioconductor.org/packages/"
|
||||
"release/data/annotation/src/contrib/"
|
||||
"BSgenome.Celegans.UCSC.ce6_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mqzb353xv2c3m3vkb315dkmnxkgczp7ndnknyhpgjlybyf715v9"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Celegans.UCSC.ce6")))
|
||||
(build-system r-build-system)
|
||||
;; As this package provides little more than a very large data file it
|
||||
;; doesn't make sense to build substitutes.
|
||||
(arguments `(#:substitutable? #f))
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)))
|
||||
(home-page
|
||||
"http://www.bioconductor.org/packages/BSgenome.Celegans.UCSC.ce6/")
|
||||
(synopsis "Full genome sequences for Worm")
|
||||
(description
|
||||
"This package provides full genome sequences for Caenorhabditis
|
||||
elegans (Worm) as provided by UCSC (ce6, May 2008) and stored in Biostrings
|
||||
objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-dmelanogaster-ucsc-dm3
|
||||
(package
|
||||
(name "r-bsgenome-dmelanogaster-ucsc-dm3")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; We cannot use bioconductor-uri here because this tarball is
|
||||
;; located under "data/annotation/" instead of "bioc/".
|
||||
(uri (string-append "http://www.bioconductor.org/packages/"
|
||||
"release/data/annotation/src/contrib/"
|
||||
"BSgenome.Dmelanogaster.UCSC.dm3_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19bm3lkhhkag3gnwp419211fh0cnr0x6fa0r1lr0ycwrikxdxsv8"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Dmelanogaster.UCSC.dm3")))
|
||||
(build-system r-build-system)
|
||||
;; As this package provides little more than a very large data file it
|
||||
;; doesn't make sense to build substitutes.
|
||||
(arguments `(#:substitutable? #f))
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)))
|
||||
(home-page
|
||||
"http://www.bioconductor.org/packages/BSgenome.Dmelanogaster.UCSC.dm3/")
|
||||
(synopsis "Full genome sequences for Fly")
|
||||
(description
|
||||
"This package provides full genome sequences for Drosophila
|
||||
melanogaster (Fly) as provided by UCSC (dm3, April 2006) and stored in
|
||||
Biostrings objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-motifrg
|
||||
(package
|
||||
(name "r-motifrg")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "motifRG" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v9zm5629k2lcqbbgw8bwflvbircyxkfavbkvmbd212kgwcng8vn"))))
|
||||
(properties `((upstream-name . "motifRG")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biostrings" ,r-biostrings)
|
||||
("r-bsgenome" ,r-bsgenome)
|
||||
("r-bsgenome.hsapiens.ucsc.hg19" ,r-bsgenome-hsapiens-ucsc-hg19)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-seqlogo" ,r-seqlogo)
|
||||
("r-xvector" ,r-xvector)))
|
||||
(home-page "http://bioconductor.org/packages/motifRG")
|
||||
(synopsis "Discover motifs in high throughput sequencing data")
|
||||
(description
|
||||
"This package provides tools for discriminative motif discovery in high
|
||||
throughput genetic sequencing data sets using regression methods.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-qtl
|
||||
(package
|
||||
(name "r-qtl")
|
||||
(version "1.38-4")
|
||||
(version "1.39-5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -4727,7 +5036,7 @@ annotations for the genome of the model mouse Mus musculus.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rv9xhp8lyldpgwxqirhyjqvg07dr5x4x1x2jpyj37dada9ccyx3"))))
|
||||
"1grwgvyv7x0dgay1858bg7qf4wk47gpnq7qkqpcda9cn0h970d6f"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://rqtl.org/")
|
||||
(synopsis "R package for analyzing QTL experiments in genetics")
|
||||
@ -4741,6 +5050,25 @@ identify genotyping errors, and to perform single-QTL and two-QTL,
|
||||
two-dimensional genome scans.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-zlibbioc
|
||||
(package
|
||||
(name "r-zlibbioc")
|
||||
(version "1.16.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "zlibbioc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01wc26ndg4jsn1wyrl6zzq636gxaip5fci0xapym4lh9wryc4wnw"))))
|
||||
(properties
|
||||
`((upstream-name . "zlibbioc")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://bioconductor.org/packages/zlibbioc")
|
||||
(synopsis "Provider for zlib-1.2.5 to R packages")
|
||||
(description "This package uses the source code of zlib-1.2.5 to create
|
||||
libraries for systems that do not have these available via other means.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public pepr
|
||||
(package
|
||||
(name "pepr")
|
||||
@ -4781,3 +5109,31 @@ negative binomial distribution to model the read counts among the samples in
|
||||
the same group, and look for consistent differences between ChIP and control
|
||||
group or two ChIP groups run under different conditions.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public filevercmp
|
||||
(let ((commit "1a9b779b93d0b244040274794d402106907b71b7"))
|
||||
(package
|
||||
(name "filevercmp")
|
||||
(version (string-append "0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/ekg/filevercmp/archive/"
|
||||
commit ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests to run.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; There is no configure phase.
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(install-file "filevercmp" bin)))))))
|
||||
(home-page "https://github.com/ekg/filevercmp")
|
||||
(synopsis "This program compares version strings")
|
||||
(description "This program compares version strings. It intends to be a
|
||||
replacement for strverscmp.")
|
||||
(license license:gpl3+))))
|
||||
|
@ -207,7 +207,7 @@ interface, for the Transmission BitTorrent daemon.")
|
||||
(define-public aria2
|
||||
(package
|
||||
(name "aria2")
|
||||
(version "1.21.0")
|
||||
(version "1.22.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/tatsuhiro-t/aria2/"
|
||||
@ -215,7 +215,7 @@ interface, for the Transmission BitTorrent daemon.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1035rzx9y7qv4p7cv04f461343dxha7ikprch059x2fci8n5yp12"))))
|
||||
"12agwdvvkr34wqhyyfp418dj0k7nbr297qmcd3wj5kkn7brv6gxc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-libaria2")
|
||||
|
@ -125,7 +125,7 @@ successful, or false to signal an error."
|
||||
("tarball" ,(bootstrap-origin (source (%current-system))))))
|
||||
(source #f)
|
||||
(synopsis description)
|
||||
(description #f)
|
||||
(description description)
|
||||
(home-page #f)
|
||||
(license gpl3+)))
|
||||
|
||||
@ -166,11 +166,13 @@ successful, or false to signal an error."
|
||||
((string=? system "mips64el-linux") "/lib/ld.so.1")
|
||||
((string=? system "i586-gnu") "/lib/ld.so.1")
|
||||
((string=? system "i686-gnu") "/lib/ld.so.1")
|
||||
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
|
||||
|
||||
;; XXX: This one is used bare-bones, without a libc, so add a case
|
||||
;; here just so we can keep going.
|
||||
((string=? system "xtensa-elf") "no-ld.so")
|
||||
((string=? system "avr") "no-ld.so")
|
||||
((string=? system "i686-mingw") "no-ld.so")
|
||||
|
||||
(else (error "dynamic linker name not known for this system"
|
||||
system))))
|
||||
@ -410,7 +412,7 @@ $out/bin/guile --version~%"
|
||||
(base32
|
||||
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
|
||||
(synopsis "Bootstrap binaries and headers of the GNU C Library")
|
||||
(description #f)
|
||||
(description synopsis)
|
||||
(home-page #f)
|
||||
(license lgpl2.1+)))
|
||||
|
||||
@ -495,7 +497,7 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||
(variable "LIBRARY_PATH")
|
||||
(files '("lib" "lib64")))))
|
||||
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
|
||||
(description #f)
|
||||
(description synopsis)
|
||||
(home-page #f)
|
||||
(license gpl3+)))
|
||||
|
||||
|
127
gnu/packages/c.scm
Normal file
127
gnu/packages/c.scm
Normal file
@ -0,0 +1,127 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 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 c)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages guile))
|
||||
|
||||
(define-public tcc
|
||||
(package
|
||||
(name "tcc") ;aka. "tinycc"
|
||||
(version "0.9.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/tinycc/tcc-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("texinfo" ,texinfo)))
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append "--elfinterp="
|
||||
(assoc-ref %build-inputs "libc")
|
||||
,(glibc-dynamic-linker))
|
||||
(string-append "--crtprefix="
|
||||
(assoc-ref %build-inputs "libc")
|
||||
"/lib")
|
||||
(string-append "--sysincludepaths="
|
||||
(assoc-ref %build-inputs "libc")
|
||||
"/include:"
|
||||
(assoc-ref %build-inputs
|
||||
"linux-headers")
|
||||
"/include:{B}/include")
|
||||
(string-append "--libpaths="
|
||||
(assoc-ref %build-inputs "libc")
|
||||
"/lib"))
|
||||
#:test-target "test"))
|
||||
(synopsis "Tiny and fast C compiler")
|
||||
(description
|
||||
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler
|
||||
written in C. It supports ANSI C with GNU and extensions and most of the C99
|
||||
standard.")
|
||||
(home-page "http://www.tinycc.org/")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public tcc-wrapper
|
||||
(package
|
||||
(inherit tcc)
|
||||
(name "tcc-wrapper")
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs '())
|
||||
(inputs `(("tcc" ,tcc)
|
||||
("guile" ,guile-2.0)))
|
||||
|
||||
;; By default TCC does not honor any search path environment variable.
|
||||
;; This wrapper adds them.
|
||||
;;
|
||||
;; FIXME: TCC includes its own linker so our 'ld-wrapper' hack to set the
|
||||
;; RUNPATH is ineffective here. We should modify TCC itself.
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "TCC_CPATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "TCC_LIBRARY_PATH")
|
||||
(files '("lib" "lib64")))))
|
||||
|
||||
(arguments
|
||||
'(#:builder
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(tcc (assoc-ref %build-inputs "tcc"))
|
||||
(guile (assoc-ref %build-inputs "guile")))
|
||||
(mkdir out)
|
||||
(mkdir bin)
|
||||
(call-with-output-file (string-append bin "/cc")
|
||||
(lambda (port)
|
||||
(format port "#!~a/bin/guile --no-auto-compile~%!#~%" guile)
|
||||
(write
|
||||
`(begin
|
||||
(use-modules (ice-9 match)
|
||||
(srfi srfi-26))
|
||||
|
||||
(define (split path)
|
||||
(string-tokenize path (char-set-complement
|
||||
(char-set #\:))))
|
||||
|
||||
(apply execl ,(string-append tcc "/bin/tcc")
|
||||
,(string-append tcc "/bin/tcc") ;argv[0]
|
||||
(append (cdr (command-line))
|
||||
(match (getenv "TCC_CPATH")
|
||||
(#f '())
|
||||
(str
|
||||
(map (cut string-append "-I" <>)
|
||||
(split str))))
|
||||
(match (getenv "TCC_LIBRARY_PATH")
|
||||
(#f '())
|
||||
(str
|
||||
(map (cut string-append "-L" <>)
|
||||
(split str)))))))
|
||||
port)
|
||||
(chmod port #o777)))
|
||||
#t)))
|
||||
(synopsis "Wrapper providing the 'cc' command for TCC")))
|
@ -164,7 +164,7 @@ files.")
|
||||
(sha256
|
||||
(base32
|
||||
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
|
||||
(patches (list (search-patch "cdparanoia-fpic.patch")))
|
||||
(patches (search-patches "cdparanoia-fpic.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make libraries respect LDFLAGS.
|
||||
|
@ -52,10 +52,10 @@
|
||||
(sha256
|
||||
(base32
|
||||
"08vc76xb7f42hh65j7qvjf58hw36aki5ml343170pq94vk75b1nh"))
|
||||
(patches (map search-patch
|
||||
'("hydra-automake-1.15.patch"
|
||||
;; TODO: Remove once we have a darcs input
|
||||
"hydra-disable-darcs-test.patch")))))
|
||||
(patches (search-patches
|
||||
"hydra-automake-1.15.patch"
|
||||
;; TODO: Remove once we have a darcs input
|
||||
"hydra-disable-darcs-test.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
|
@ -46,7 +46,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"1yly38mpk2s08b4rglp9xcw5pxalk0whp9hrcg7j8qpxlkc3mj4j"))
|
||||
(patches (list (search-patch "cmake-fix-tests.patch")))))
|
||||
(patches (search-patches "cmake-fix-tests.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -3,12 +3,13 @@
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -33,6 +34,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages perl)
|
||||
@ -688,3 +690,68 @@ a collection of smaller blocks which makes random access to the original data
|
||||
possible and can compress in parallel. This is especially useful for large
|
||||
tarballs.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public brotli
|
||||
(let ((commit "e992cce7a174d6e2b3486616499d26bb0bad6448")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "brotli")
|
||||
(version (string-append "0.1-" revision "."
|
||||
(string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bagder/libbrotli.git")
|
||||
(commit commit)
|
||||
(recursive? #t)))
|
||||
(file-name (string-append name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qxxsasvwbbbh6dl3138y9h3fg0q2v7xdk5jjc690bdg7g1wrj6n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; This is a recursive submodule that is unnecessary for this
|
||||
;; package, so delete it.
|
||||
'(delete-file-recursively "brotli/terryfy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(mkdir "m4")
|
||||
(zero? (system* "autoreconf" "-vfi")))))))
|
||||
(home-page "https://github.com/bagder/libbrotli/")
|
||||
(synopsis "Implementation of the Brotli compression algorithm")
|
||||
(description
|
||||
"Brotli is a general-purpose lossless compression algorithm. It is
|
||||
similar in speed to deflate but offers denser compression. This package
|
||||
provides encoder and a decoder libraries: libbrotlienc and libbrotlidec,
|
||||
respectively, based on the reference implementation from Google.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cabextract
|
||||
(package
|
||||
(name "cabextract")
|
||||
(version "1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://cabextract.org.uk/cabextract-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ysmmz25fjghq7mxb2anyyvr1ljxqxzi4piwjhk0sdamcnsn3rnf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--with-external-libmspack")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libmspack" ,libmspack)))
|
||||
(home-page "http://www.cabextract.org.uk/")
|
||||
(synopsis "Tool to unpack Cabinet archives")
|
||||
(description "Extracts files out of Microsoft Cabinet (.cab) archives")
|
||||
;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
|
||||
(license license:gpl3+)))
|
||||
|
@ -36,7 +36,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh"))
|
||||
(patches (list (search-patch "cpio-CVE-2016-2037.patch")))))
|
||||
(patches (search-patches "cpio-CVE-2016-2037.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/cpio/")
|
||||
(synopsis "Manage cpio and tar file archives")
|
||||
|
@ -201,7 +201,7 @@ may be either a libc package or #f.)"
|
||||
"Return GCC patches needed for TARGET."
|
||||
(cond ((string-prefix? "xtensa-" target)
|
||||
;; Patch by Qualcomm needed to build the ath9k-htc firmware.
|
||||
(list (search-patch "ath9k-htc-firmware-gcc.patch")))
|
||||
(search-patches "ath9k-htc-firmware-gcc.patch"))
|
||||
(else '())))
|
||||
|
||||
(define* (cross-gcc target
|
||||
|
@ -1,7 +1,8 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -26,6 +27,10 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages fonts) ;font-dejavu
|
||||
#:use-module (gnu packages fontutils)
|
||||
@ -297,3 +302,113 @@ device-specific programs to convert and print many types of files.")
|
||||
("gnutls" ,gnutls)
|
||||
("cups-filters" ,cups-filters)
|
||||
("zlib" ,zlib)))))
|
||||
|
||||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.16.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/"
|
||||
"hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1501qdnkjp1ybgagy5188fmf6cgmj5555ygjl3543nlbwcp31lj2"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://hplipopensource.com/")
|
||||
(synopsis "HP Printer Drivers")
|
||||
(description "Hewlett-Packard Printer Drivers and PPDs.")
|
||||
|
||||
;; The 'COPYING' file lists directories where each of these 3 licenses
|
||||
;; applies.
|
||||
(license (list license:gpl2+ license:bsd-3 license:expat))
|
||||
|
||||
;; TODO install apparmor profile files eventually.
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
`("--disable-network-build"
|
||||
,(string-append "--prefix=" (assoc-ref %outputs "out"))
|
||||
,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
|
||||
;; Disable until mime.types merging works (FIXME).
|
||||
"--disable-fax-build"
|
||||
"--enable-hpcups-install"
|
||||
"--enable-new-hpcups"
|
||||
"--enable-cups_ppd_install"
|
||||
"--enable-cups_drv_install"
|
||||
;; TODO add foomatic drv install eventually.
|
||||
;; TODO --enable-policykit eventually.
|
||||
,(string-append "--with-cupsfilterdir="
|
||||
(assoc-ref %outputs "out") "/lib/cups/filter")
|
||||
,(string-append "--with-cupsbackenddir="
|
||||
(assoc-ref %outputs "out") "/lib/cups/backend")
|
||||
,(string-append "--with-icondir="
|
||||
(assoc-ref %outputs "out") "/share/applications")
|
||||
,(string-append "--with-systraydir="
|
||||
(assoc-ref %outputs "out") "/etc/xdg"))
|
||||
|
||||
#:imported-modules ((guix build python-build-system)
|
||||
,@%gnu-build-system-modules)
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
((guix build python-build-system) #:prefix python:))
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-hard-coded-file-names
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
;; FIXME: use merged ppds (I think actually only
|
||||
;; drvs need to be merged).
|
||||
(cupsdir (assoc-ref inputs "cups-minimal")))
|
||||
(substitute* "base/g.py"
|
||||
(("'/usr/share;[^']*'")
|
||||
(string-append "'" cupsdir "/share'"))
|
||||
(("'/etc/hp/hplip.conf'")
|
||||
(string-append "'" out
|
||||
"/etc/hp/hplip.conf" "'")))
|
||||
|
||||
(substitute* "Makefile.in"
|
||||
(("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
|
||||
;; FIXME Use beginning-of-word in regexp.
|
||||
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
|
||||
(("/usr/include/libusb-1.0")
|
||||
(string-append (assoc-ref inputs "libusb")
|
||||
"/include/libusb-1.0"))
|
||||
(("^\tinstall-dist_hplip_stateDATA")
|
||||
;; Remove dependencies on
|
||||
;; 'install-dist_hplip_stateDATA' so we don't bail
|
||||
;; out while trying to create /var/lib/hplip.
|
||||
"\t")
|
||||
(("hplip_confdir = /etc/hp")
|
||||
;; This is only used for installing the default config.
|
||||
(string-append "hplip_confdir = " out
|
||||
"/etc/hp"))
|
||||
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
|
||||
;; Note: We don't use hal.
|
||||
(string-append "halpredir = " out
|
||||
"/share/hal/fdi/preprobe/10osvendor"))
|
||||
(("rulesdir = /etc/udev/rules.d")
|
||||
;; udev rules will be merged by base service.
|
||||
(string-append "rulesdir = " out
|
||||
"/lib/udev/rules.d"))
|
||||
(("rulessystemdir = /usr/lib/systemd/system")
|
||||
;; We don't use systemd.
|
||||
(string-append "rulessystemdir = " out
|
||||
"/lib/systemd/system"))
|
||||
(("/etc/sane.d")
|
||||
(string-append out "/etc/sane.d"))))))
|
||||
|
||||
;; Wrap bin/* so that the Python libs are found.
|
||||
(add-after 'install 'wrap-binaries
|
||||
(assoc-ref python:%standard-phases 'wrap)))))
|
||||
|
||||
;; Python3 support is available starting from hplip@3.15.2.
|
||||
(inputs `(("libjpeg" ,libjpeg)
|
||||
("cups-minimal" ,cups-minimal)
|
||||
("libusb" ,libusb)
|
||||
("sane-backends" ,sane-backends)
|
||||
("dbus" ,dbus)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("python" ,python)
|
||||
;; TODO: Make hp-setup find python-dbus.
|
||||
("python-dbus" ,python-dbus)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))))
|
||||
|
@ -133,7 +133,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||
(define-public mysql
|
||||
(package
|
||||
(name "mysql")
|
||||
(version "5.7.11")
|
||||
(version "5.7.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
@ -145,7 +145,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"03hzd2ikabxhh5ch2yvml2nks2wpv3qbkqmx3520in6khypwgy2l"))))
|
||||
"11qwbid666fspq143ymi86yva2b01lybaqh26k92rciasav3r11j"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
@ -810,14 +810,14 @@ similar to BerkeleyDB, LevelDB, etc.")
|
||||
(define-public redis
|
||||
(package
|
||||
(name "redis")
|
||||
(version "3.0.4")
|
||||
(version "3.0.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.redis.io/releases/redis-"
|
||||
version".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kqjc4qrasadgnl3cg71x3g5qpw2rilyk4pwl151698rb2nr0pm3"))))
|
||||
"08vzfdr67gp3lvk770qpax2c5g2sx8hn6p64jn3jddrvxb2939xj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; tests related to master/slave and replication fail
|
||||
|
@ -52,13 +52,16 @@ clients.")
|
||||
(define-public vdirsyncer
|
||||
(package
|
||||
(name "vdirsyncer")
|
||||
(version "0.9.2")
|
||||
(version "0.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "vdirsyncer" version))
|
||||
(uri (string-append "https://pypi.python.org/packages/0b/fb/"
|
||||
"c42223e1e9169e4770194e62143d431755724b080d8cb"
|
||||
"77f14705b634815/"
|
||||
"vdirsyncer-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g1107cz4sk41d2z6k6pn9n2fzd26m72j8aj33zn483vfvmyrc4q"))))
|
||||
"1gf86sbd6w0w4zayh9r3irlp5jwrzbjikjc0vs5zkdpa5c199f78"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
@ -100,7 +103,6 @@ clients.")
|
||||
("python-click" ,python-click)
|
||||
("python-click-log" ,python-click-log)
|
||||
("python-click-threading" ,python-click-threading)
|
||||
("python-lxml" ,python-lxml)
|
||||
("python-requests-toolbelt" ,python-requests-toolbelt)))
|
||||
(synopsis "Synchronize calendars and contacts")
|
||||
(description "Vdirsyncer synchronizes your calendars and addressbooks
|
||||
|
@ -43,9 +43,8 @@
|
||||
(sha256
|
||||
(base32
|
||||
"04pjks075x20d19l623mj50bw64g8i41s63z4kzzqcbg9qg96x64"))
|
||||
(patches (map search-patch
|
||||
'("cpio-gets-undeclared.patch"
|
||||
"dico-libtool-deterministic.patch")))))
|
||||
(patches (search-patches "cpio-gets-undeclared.patch"
|
||||
"dico-libtool-deterministic.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
|
||||
|
63
gnu/packages/dillo.scm
Normal file
63
gnu/packages/dillo.scm
Normal file
@ -0,0 +1,63 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.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 dillo)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public dillo
|
||||
(package
|
||||
(name "dillo")
|
||||
(version "3.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.dillo.org/download/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(#:configure-flags '("--enable-ssl" "--enable-ipv6")))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("fltk" ,fltk)
|
||||
("fontconfig" ,fontconfig)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxft" ,libxft)
|
||||
("libxi" ,libxi)
|
||||
("libxinerama" ,libxinerama)
|
||||
("openssl" ,openssl)
|
||||
("perl" ,perl)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Very small and fast graphical web browser")
|
||||
(description "Dillo is a minimalistic web browser particularly intended for
|
||||
older or slower computers and embedded systems.")
|
||||
(home-page "http://www.dillo.org")
|
||||
(license license:gpl3+)))
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -74,7 +75,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||
|
||||
(define-public docbook-xml-4.4
|
||||
(package (inherit docbook-xml)
|
||||
(version "4.4")
|
||||
(version "4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.docbook.org/xml/" version
|
||||
@ -85,7 +86,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||
|
||||
(define-public docbook-xml-4.3
|
||||
(package (inherit docbook-xml)
|
||||
(version "4.3")
|
||||
(version "4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.docbook.org/xml/" version
|
||||
@ -96,7 +97,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||
|
||||
(define-public docbook-xml-4.2
|
||||
(package (inherit docbook-xml)
|
||||
(version "4.2")
|
||||
(version "4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.docbook.org/xml/" version
|
||||
@ -105,6 +106,29 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||
(base32
|
||||
"18hgwvmywh6a5jh38szjmg3hg2r4v5lb6r3ydc3rd8cp9wg61i5c"))))))
|
||||
|
||||
(define-public docbook-xml-4.1.2
|
||||
(package (inherit docbook-xml)
|
||||
(version "4.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.docbook.org/xml/" version
|
||||
"/docbkx412.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h"))))
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((source (assoc-ref %build-inputs "source"))
|
||||
(unzip (string-append (assoc-ref %build-inputs "unzip")
|
||||
"/bin/unzip"))
|
||||
(dtd (string-append (assoc-ref %outputs "out")
|
||||
"/xml/dtd/docbook")))
|
||||
(mkdir-p dtd)
|
||||
(zero? (system* unzip source "-d" dtd))))))))
|
||||
|
||||
(define-public docbook-xsl
|
||||
(package
|
||||
(name "docbook-xsl")
|
||||
|
@ -40,7 +40,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35"))
|
||||
(patches (list (search-patch "doxygen-test.patch")))))
|
||||
(patches (search-patches "doxygen-test.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
|
@ -50,7 +50,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l"))
|
||||
(patches (list (search-patch "chmlib-inttypes.patch")))))
|
||||
(patches (search-patches "chmlib-inttypes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.jedrea.com/chmlib/")
|
||||
(synopsis "Library for CHM files")
|
||||
@ -77,8 +77,8 @@
|
||||
'(begin
|
||||
(delete-file-recursively "src/unrar")
|
||||
(delete-file "src/odf/thumbnail.py")))
|
||||
(patches (list (search-patch "calibre-drop-unrar.patch")
|
||||
(search-patch "calibre-no-updates-dialog.patch")))))
|
||||
(patches (search-patches "calibre-drop-unrar.patch"
|
||||
"calibre-no-updates-dialog.patch"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -39,8 +39,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0w50szymyqvx8g0vkwrvnv17grqxva6x1z9dm9m3i99zg2hr232p"))
|
||||
(patches
|
||||
(list (search-patch "elfutils-tests-ptrace.patch")))))
|
||||
(patches (search-patches "elfutils-tests-ptrace.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Separate programs because that's usually not what elfutils users want,
|
||||
@ -108,7 +107,7 @@ addr2line, and more.")
|
||||
(sha256
|
||||
(base32
|
||||
"1rqpg84wrd3fa16wa9vqdvasnc05yz49w207cz1l0wrl4k8q97y9"))
|
||||
(patches (list (search-patch "patchelf-page-size.patch")))))
|
||||
(patches (search-patches "patchelf-page-size.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; XXX: The upstream 'patchelf' doesn't support ARM. The only available
|
||||
|
@ -6,6 +6,7 @@
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -76,8 +77,8 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
|
||||
(patches (list (search-patch "emacs-exec-path.patch")
|
||||
(search-patch "emacs-source-date-epoch.patch")))))
|
||||
(patches (search-patches "emacs-exec-path.patch"
|
||||
"emacs-source-date-epoch.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -300,7 +301,7 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
(define-public git-modes
|
||||
(package
|
||||
(name "git-modes")
|
||||
(version "1.2.1")
|
||||
(version "1.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -309,7 +310,7 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"088wyddh8y0yw77i0hx449n9zg4wzyc90h63wlmxba1ijg4dzm0p"))))
|
||||
"0gb9c18jib8rpm14vig9774104lwmd8353ps0259m861syf6664d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
@ -345,7 +346,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
||||
(define-public emacs-with-editor
|
||||
(package
|
||||
(name "emacs-with-editor")
|
||||
(version "2.5.0")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -354,7 +355,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19gb381z61l2icg5v5pymgi1a11g3zdp5aysl2j5fh7fxxg4d4c0"))))
|
||||
"1lqm0msc9lzb05ys96bsx8bf2y1qrw27dh5h6qz8lf5i4cbhflw2"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)))
|
||||
@ -370,7 +371,7 @@ on stdout instead of using a socket as the Emacsclient does.")
|
||||
(define-public magit
|
||||
(package
|
||||
(name "magit")
|
||||
(version "2.6.0")
|
||||
(version "2.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -378,7 +379,7 @@ on stdout instead of using a socket as the Emacsclient does.")
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04km5j6118yqz7h3dyfd4ijjd6w3pb76pjlaj25wh1bchf1yilir"))))
|
||||
"0im1jrqw29g5anrrjflj6b2gpyqkvpghnq8zvywxyhmjwzar4rn7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-no-x)))
|
||||
@ -1300,7 +1301,7 @@ on context.")
|
||||
(base32
|
||||
"141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
|
||||
(patches
|
||||
(list (search-patch "emacs-scheme-complete-scheme-r5rs-info.patch")))))
|
||||
(search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/ashinn/scheme-complete")
|
||||
(synopsis "Smart tab completion for Scheme in Emacs")
|
||||
@ -1377,8 +1378,7 @@ identifiers in the MIT-Scheme documentation.")
|
||||
(file-name (string-append name "-" version ".el"))
|
||||
(method uncompressed-file-fetch)
|
||||
(uri "https://staff.fnwi.uva.nl/c.dominik/Tools/constants/constants.el")
|
||||
(patches
|
||||
(list (search-patch "emacs-constants-lisp-like.patch")))
|
||||
(patches (search-patches "emacs-constants-lisp-like.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"14q094aphsjhq8gklv7i5a7byl0ygz63cv3n6b5p8ji2jy0mnnw3"))))
|
||||
@ -1499,3 +1499,55 @@ without modifier keys. It's similar to Vim's separation of commands and
|
||||
insertion mode. When enabled all keys are implicitly prefixed with
|
||||
@samp{C-} (among other helpful shortcuts).")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-rfcview
|
||||
(package
|
||||
(name "emacs-rfcview")
|
||||
(version "0.13")
|
||||
(home-page "http://www.loveshack.ukfsn.org/emacs")
|
||||
(source (origin
|
||||
(method uncompressed-file-fetch)
|
||||
(uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
|
||||
(sha256
|
||||
(base32
|
||||
"0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
`(("emacs" ,emacs-no-x)))
|
||||
(synopsis "Prettify Request for Comments (RFC) documents")
|
||||
(description "The Internet Engineering Task Force (IETF) and the Internet
|
||||
Society (ISOC) publish various Internet-related protocols and specifications
|
||||
as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
|
||||
documents. RFCs and STDs are published in a simple text form. This package
|
||||
provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
|
||||
read these documents in Emacs. It prettifies the text and adds
|
||||
hyperlinks/menus for easier navigation. It also provides functions for
|
||||
browsing the index of RFC documents and fetching them from remote servers or
|
||||
local directories.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ffap-rfc-space
|
||||
(package
|
||||
(name "emacs-ffap-rfc-space")
|
||||
(version "12")
|
||||
(home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
|
||||
(source (origin
|
||||
(method uncompressed-file-fetch)
|
||||
(uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
|
||||
(sha256
|
||||
(base32
|
||||
"1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
`(("emacs" ,emacs-no-x)))
|
||||
(synopsis "Make ffap recognize an RFC with a space before its number")
|
||||
(description "The Internet Engineering Task Force (IETF) and the
|
||||
Internet Society (ISOC) publish various Internet-related protocols and
|
||||
specifications as \"Request for Comments\" (RFC) documents. The
|
||||
built-in Emacs module \"ffap\" (Find File at Point) has the ability to
|
||||
recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
|
||||
and load the appropriate RFC from a remote server. However, it fails
|
||||
to recognize a name like \"RFC 1234\". This package enhances ffap so
|
||||
that it correctly finds RFCs even when a space appears before the
|
||||
number.")
|
||||
(license license:gpl3+)))
|
||||
|
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -45,6 +46,7 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux) ;FIXME: for pcb
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
@ -124,13 +126,22 @@ plans and designs.")
|
||||
'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR")))
|
||||
%standard-phases)))
|
||||
%standard-phases
|
||||
)
|
||||
#:configure-flags
|
||||
(let ((pcb (assoc-ref %build-inputs "pcb")))
|
||||
(list (string-append "--with-pcb-datadir=" pcb "/share")
|
||||
(string-append "--with-pcb-lib-path="
|
||||
pcb "/share/pcb/pcblib-newlib:"
|
||||
pcb "/share/pcb/newlib")))))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gtk" ,gtk+-2)
|
||||
("guile" ,guile-2.0)
|
||||
("desktop-file-utils" ,desktop-file-utils)
|
||||
("shared-mime-info" ,shared-mime-info)))
|
||||
("shared-mime-info" ,shared-mime-info)
|
||||
("m4" ,m4)
|
||||
("pcb" ,pcb)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("perl" ,perl))) ; for tests
|
||||
@ -221,8 +232,8 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
(modules '((guix build utils)
|
||||
(guix build download)
|
||||
(guix ftp-client)))
|
||||
(patches (list (search-patch "fastcap-mulSetup.patch")
|
||||
(search-patch "fastcap-mulGlobal.patch")))))
|
||||
(patches (search-patches "fastcap-mulSetup.patch"
|
||||
"fastcap-mulGlobal.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texlive" ,texlive)
|
||||
@ -318,11 +329,11 @@ multipole-accelerated algorithm.")
|
||||
"-" version ".tar.z"))
|
||||
(sha256
|
||||
(base32 "1a06xyyd40zhknrkz17xppl2zd5ig4w9g1grc8qrs0zqqcl5hpzi"))
|
||||
(patches (list (search-patch "fasthenry-spAllocate.patch")
|
||||
(search-patch "fasthenry-spBuild.patch")
|
||||
(search-patch "fasthenry-spUtils.patch")
|
||||
(search-patch "fasthenry-spSolve.patch")
|
||||
(search-patch "fasthenry-spFactor.patch")))))
|
||||
(patches (search-patches "fasthenry-spAllocate.patch"
|
||||
"fasthenry-spBuild.patch"
|
||||
"fasthenry-spUtils.patch"
|
||||
"fasthenry-spSolve.patch"
|
||||
"fasthenry-spFactor.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
|
||||
|
@ -39,7 +39,7 @@
|
||||
(base32
|
||||
"16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(patches (list (search-patch "ath9k-htc-firmware-objcopy.patch")))))
|
||||
(patches (search-patches "ath9k-htc-firmware-objcopy.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
|
@ -44,7 +44,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"1s9pc4yls2s1gcg2ar4q75nym2z5v6lxq36bl6lq26br00nj2mas"))
|
||||
(patches (list (search-patch "flashrom-use-libftdi1.patch")))))
|
||||
(patches (search-patches "flashrom-use-libftdi1.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("dmidecode" ,dmidecode)
|
||||
("pciutils" ,pciutils)
|
||||
@ -88,7 +88,7 @@ programmer devices.")
|
||||
(sha256
|
||||
(base32
|
||||
"0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y"))
|
||||
(patches (list (search-patch "avrdude-fix-libusb.patch")))))
|
||||
(patches (search-patches "avrdude-fix-libusb.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libelf" ,libelf)
|
||||
@ -117,7 +117,7 @@ technique (ISP).")
|
||||
(sha256
|
||||
(base32
|
||||
"15gr99y1z9vbvhrkd25zqhnzhg6zjmaam3vfjzf2mazd39mx7d0x"))
|
||||
(patches (list (search-patch "dfu-programmer-fix-libusb.patch")))))
|
||||
(patches (search-patches "dfu-programmer-fix-libusb.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -46,12 +47,14 @@
|
||||
(sha256
|
||||
(base32
|
||||
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))
|
||||
(patches (list (search-patch "fltk-shared-lib-defines.patch")))))
|
||||
(patches (search-patches "fltk-shared-lib-defines.patch"
|
||||
"fltk-xfont-on-demand.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxft" ,libxft)
|
||||
("mesa" ,mesa)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
|
@ -8,6 +8,7 @@
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
|
||||
;;; Copyright © 2016 Jookia <166291@gmail.com>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -306,7 +307,9 @@ sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
|
||||
"The GNU Freefont project aims to provide a set of free outline
|
||||
(PostScript Type0, TrueType, OpenType...) fonts covering the ISO
|
||||
10646/Unicode UCS (Universal Character Set).")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+)
|
||||
(properties '((upstream-name . "freefont")
|
||||
(ftp-directory . "/gnu/freefont")))))
|
||||
|
||||
(define-public font-liberation
|
||||
(package
|
||||
@ -759,3 +762,49 @@ It contains the following fonts and styles:
|
||||
@item UnGungseo: cursive, brush-stroke.
|
||||
@end enumerate\n")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public font-fantasque-sans
|
||||
(package
|
||||
(name "font-fantasque-sans")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/belluzj/fantasque-sans/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07fpy53k2x2nz5q61swkab6cfk9gw2kc4x4brsj6zjgbm16fap85"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ttfautohint" ,ttfautohint)
|
||||
("woff-tools" ,woff-tools)
|
||||
("fontforge" ,fontforge)
|
||||
("woff2" ,woff2)
|
||||
("ttf2eot" ,ttf2eot)))
|
||||
(arguments
|
||||
`(#:tests? #f ;test target intended for visual inspection
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure) ;no configuration
|
||||
(replace 'install
|
||||
;; 'make install' wants to install to ~/.fonts, install to
|
||||
;; output instead.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(font-dir (string-append out "/share/fonts"))
|
||||
(truetype-dir (string-append font-dir "/truetype"))
|
||||
(opentype-dir (string-append font-dir "/opentype"))
|
||||
(webfonts-dir (string-append font-dir "/webfonts")))
|
||||
(copy-recursively "OTF" opentype-dir)
|
||||
(for-each (lambda (f) (install-file f truetype-dir))
|
||||
(find-files "." "\\.ttf$"))
|
||||
(copy-recursively "Webfonts" webfonts-dir)
|
||||
#t))))))
|
||||
(synopsis "Font family with a monospaced variant for programmers")
|
||||
(description
|
||||
"Fantasque Sans Mono is a programming font designed with functionality in
|
||||
mind. The font includes a bold version and a good italic version with new
|
||||
glyph designs, not just an added slant.")
|
||||
(home-page "https://fontlibrary.org/en/font/fantasque-sans-mono")
|
||||
(license license:silofl1.1)))
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
@ -29,6 +29,8 @@
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gtk)
|
||||
@ -37,6 +39,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
@ -70,6 +73,155 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
|
||||
(license license:freetype) ; some files have other licenses
|
||||
(home-page "http://www.freetype.org/")))
|
||||
|
||||
(define-public ttfautohint
|
||||
(package
|
||||
(name "ttfautohint")
|
||||
(version "1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/freetype/ttfautohint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lgghck46p33z3hg8dnl76jryig4fh6d8rhzms837zp7x4hyfkv4"))
|
||||
(patches (list (search-patch "ttfautohint-source-date-epoch.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("harfbuzz" ,harfbuzz)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-qt=no"))) ;no gui
|
||||
(synopsis "Automated font hinting")
|
||||
(description
|
||||
"ttfautohint provides a 99% automated hinting process and a platform for
|
||||
finely hand-hinting the last 1%. It is ideal for web fonts and supports many
|
||||
scripts.")
|
||||
(license (list license:gpl2+ license:freetype)) ;choose one or the other
|
||||
(home-page "http://www.freetype.org/ttfautohint/")))
|
||||
|
||||
(define-public woff-tools
|
||||
(package
|
||||
(name "woff-tools")
|
||||
(version "2009.10.04")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; Upstream source is unversioned, so use Debian's versioned tarball
|
||||
(uri (string-append "mirror://debian/pool/main/w/woff-tools/"
|
||||
"woff-tools_" version ".orig.tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i97gkqa6jfzlslsngqf556kx60knlgf7yc9pzsq2pizc6f0d4zl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:make-flags '("CC=gcc")
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configuration
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "sfnt2woff" bin)
|
||||
(install-file "woff2sfnt" bin)))))))
|
||||
(synopsis "Convert between OpenType and WOFF fonts")
|
||||
(description
|
||||
"This package provides two tools:
|
||||
@table @code
|
||||
@item sfnt2woff
|
||||
Converts OpenType fonts to WOFF fonts
|
||||
@item woff2sfnt
|
||||
Converts WOFF fonts to OpenType fonts
|
||||
@end table")
|
||||
(license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))
|
||||
(home-page "https://people.mozilla.com/~jkew/woff/")))
|
||||
|
||||
(define-public ttf2eot
|
||||
(package
|
||||
(name "ttf2eot")
|
||||
(version "0.0.2-2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://storage.googleapis.com/"
|
||||
"google-code-archive-downloads/v2/"
|
||||
"code.google.com/ttf2eot/"
|
||||
"ttf2eot-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f4dzzmhn0208dvbm3ia5ar6ls9apwc6ampy5blmfxkigi6z0g02"))
|
||||
(patches (list (search-patch "ttf2eot-cstddef.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configuration
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "ttf2eot" bin)))))))
|
||||
(synopsis "Convert from TrueType to Embeddable Open Type")
|
||||
(description
|
||||
"This package contains a commandline wrapper around OpenTypeUtilities.cpp
|
||||
from Chromium, used to make EOT (Embeddable Open Type) files from
|
||||
TTF (TrueType/OpenType Font) files.")
|
||||
;; While the README states "License: Derived from WebKit, so BSD/LGPL
|
||||
;; 2/LGPL 2.1", the single derived source file includes only BSD in its
|
||||
;; license header, and the wrapper source contains no license header.
|
||||
(license license:bsd-2)
|
||||
(home-page "https://code.google.com/archive/p/ttf2eot/")))
|
||||
|
||||
(define-public woff2
|
||||
(let ((commit "4e698b8c6c5e070d53c340db9ddf160e21070ede")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "woff2")
|
||||
(version (string-append "20160306-" revision "."
|
||||
(string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/woff2.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wka0yhf0cjmd4rv2jckxpyv6lb5ckj4nj0k1ajq5hrjy7f30lcp"))
|
||||
(patches (list (search-patch "woff2-libbrotli.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("brotli" ,brotli)))
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "woff2_compress" bin)
|
||||
(install-file "woff2_decompress" bin)
|
||||
#t))))))
|
||||
(synopsis "Compress TrueType fonts to WOFF2")
|
||||
(description
|
||||
"This package provides utilities for compressing/decompressing TrueType
|
||||
fonts to/from the WOFF2 format.")
|
||||
(license license:asl2.0)
|
||||
(home-page "https://github.com/google/woff2"))))
|
||||
|
||||
(define-public fontconfig
|
||||
(package
|
||||
(name "fontconfig")
|
||||
@ -341,30 +493,26 @@ definitions.")
|
||||
(define-public fontforge
|
||||
(package
|
||||
(name "fontforge")
|
||||
(version "20150824")
|
||||
(version "20160404")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/fontforge/fontforge/releases/download/"
|
||||
version "/fontforge-" version ".tar.gz"))
|
||||
version "/fontforge-dist-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0gfcm8yn1d30giqhdwbchnfnspcqypqdzrxlhqhwy1i18wgl0v2v"))
|
||||
"1kavnhbkzc1hk6f39fynq9s0haama81ddrbld4b5x60d0dbaawvc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Make builds bit-reproducible by using fixed date strings.
|
||||
(substitute* "configure"
|
||||
(("^FONTFORGE_MODTIME=.*$")
|
||||
"FONTFORGE_MODTIME=\"1458399002\"\n")
|
||||
"FONTFORGE_MODTIME=\"1459819518L\"\n")
|
||||
(("^FONTFORGE_MODTIME_STR=.*$")
|
||||
"FONTFORGE_MODTIME_STR=\"15:50 CET 19-Mar-2016\"\n")
|
||||
"FONTFORGE_MODTIME_STR=\"20:25 CDT 4-Apr-2016\"\n")
|
||||
(("^FONTFORGE_VERSIONDATE=.*$")
|
||||
"FONTFORGE_VERSIONDATE=\"20160319\"\n"))
|
||||
|
||||
;; Make TTF builds bit-reproducible by clearing the timestamp
|
||||
;; that goes in TTF files.
|
||||
(substitute* "fontforge/tottf.c"
|
||||
(("cvt_unix_to_1904\\(now") "cvt_unix_to_1904(0"))))))
|
||||
"FONTFORGE_VERSIONDATE=\"20160404\"\n"))))
|
||||
(patches (list (search-patch "fontforge-svg-modtime.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
@ -372,7 +520,6 @@ definitions.")
|
||||
("fontconfig" ,fontconfig) ;dlopen'd
|
||||
("freetype" ,freetype)
|
||||
("gettext" ,gnu-gettext)
|
||||
("giflib" ,giflib) ;needs giflib 4.*
|
||||
("glib" ,glib) ;needed for pango detection
|
||||
("libICE" ,libice)
|
||||
("libSM" ,libsm)
|
||||
@ -383,6 +530,7 @@ definitions.")
|
||||
("libpng" ,libpng)
|
||||
("libspiro" ,libspiro)
|
||||
("libtiff" ,libtiff)
|
||||
("libungif" ,libungif)
|
||||
("libuninameslist" ,libuninameslist)
|
||||
("libxft" ,libxft)
|
||||
("libxml2" ,libxml2)
|
||||
@ -393,39 +541,30 @@ definitions.")
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'configure 'patch-configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((libxml2 (assoc-ref inputs "libxml2"))
|
||||
(cairo (assoc-ref inputs "cairo"))
|
||||
(pango (assoc-ref inputs "pango")))
|
||||
(substitute* "configure"
|
||||
;; configure looks for a directory to be present to determine
|
||||
;; whether libxml2 is available, rather than checking for the
|
||||
;; library or headers. Point it to the correct directory.
|
||||
(("/usr/include/libxml2")
|
||||
(string-append libxml2 "/include/libxml2"))
|
||||
;; Similary, the search directories for cairo and pango are
|
||||
;; hard-coded.
|
||||
(("gww_prefix in.*") (string-append "gww_prefix in "
|
||||
cairo " " pango "\n")))))
|
||||
(alist-cons-after
|
||||
'install 'set-library-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(potrace (string-append (assoc-ref inputs "potrace") "/bin")))
|
||||
(wrap-program (string-append out "/bin/fontforge")
|
||||
;; Fontforge dynamically opens libraries.
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
,(map (lambda (input)
|
||||
(string-append (assoc-ref inputs input)
|
||||
"/lib"))
|
||||
'("libtiff" "libjpeg" "libpng" "giflib"
|
||||
"libxml2" "zlib" "libspiro" "freetype"
|
||||
"pango" "cairo" "fontconfig")))
|
||||
;; Checks for potrace program at runtime
|
||||
`("PATH" ":" prefix (,potrace)))))
|
||||
%standard-phases))))
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-contrib
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(and (zero? (system* "make" "-Ccontrib/fonttools"
|
||||
"CC=gcc" "showttf"))
|
||||
(begin (install-file "contrib/fonttools/showttf" bin)
|
||||
#t)))))
|
||||
(add-after 'install 'set-library-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(potrace (string-append (assoc-ref inputs "potrace") "/bin")))
|
||||
(wrap-program (string-append out "/bin/fontforge")
|
||||
;; Fontforge dynamically opens libraries.
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
,(map (lambda (input)
|
||||
(string-append (assoc-ref inputs input)
|
||||
"/lib"))
|
||||
'("libtiff" "libjpeg" "libpng" "libungif"
|
||||
"libxml2" "zlib" "libspiro" "freetype"
|
||||
"pango" "cairo" "fontconfig")))
|
||||
;; Checks for potrace program at runtime
|
||||
`("PATH" ":" prefix (,potrace)))))))))
|
||||
(synopsis "Outline font editor")
|
||||
(description
|
||||
"FontForge allows you to create and modify postscript, truetype and
|
||||
|
@ -43,9 +43,8 @@
|
||||
(sha256
|
||||
(base32
|
||||
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))
|
||||
(patches
|
||||
(list (search-patch
|
||||
"lftp-dont-save-unknown-host-fingerprint.patch")))))
|
||||
(patches (search-patches
|
||||
"lftp-dont-save-unknown-host-fingerprint.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
@ -126,7 +125,7 @@ FTP browser, as well as non-interactive commands such as 'ncftpput' and
|
||||
(sha256
|
||||
(base32
|
||||
"0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl"))
|
||||
(patches (list (search-patch "weex-vacopy.patch")))))
|
||||
(patches (search-patches "weex-vacopy.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -6,6 +6,7 @@
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -407,3 +408,35 @@ games. In addition to basic pixel editing features, Aseprite can assist in
|
||||
the creation of animations, tiled graphics, texture atlases, and more.")
|
||||
(home-page "http://www.aseprite.org/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public qqwing
|
||||
(package
|
||||
(name "qqwing")
|
||||
(version "1.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://qqwing.com/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bw0papyqjg22z6irf36gs54y8236wa37b6gyn2h1spy65n76lqp"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://qqwing.com/")
|
||||
(synopsis "Sudoku puzzle solver and generator")
|
||||
(description
|
||||
"QQWing is a Sudoku puzzle generator and solver.
|
||||
It offers the following features:
|
||||
@enumerate
|
||||
@item Can solve 1000 puzzles in 1 second and generate 1000 puzzles in 25 seconds.
|
||||
@item Uses logic. Uses as many solve techniques as possible when solving
|
||||
puzzles rather than guessing.
|
||||
@item Rates puzzles. Most generators don't give an indication of the difficulty
|
||||
of a Sudoku puzzle. QQwing does.
|
||||
@item Can print solve instructions for any puzzle.
|
||||
@item Customizable output style, including a CSV style that is easy to
|
||||
import into a database.
|
||||
@end enumerate")
|
||||
(license license:gpl2+)))
|
||||
|
@ -17,6 +17,8 @@
|
||||
;;; Copyright © 2016 Rodger Fox <thylakoid@openmailbox.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
|
||||
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -34,6 +36,7 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages games)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
@ -61,6 +64,7 @@
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
@ -220,7 +224,7 @@ that beneath its ruins lay buried an ancient evil.")
|
||||
(sha256
|
||||
(base32
|
||||
"0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"))
|
||||
(patches (list (search-patch "pingus-sdl-libs-config.patch")))))
|
||||
(patches (search-patches "pingus-sdl-libs-config.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("scons" ,scons)))
|
||||
@ -598,8 +602,8 @@ for common mesh file formats, and collision detection.")
|
||||
(sha256
|
||||
(base32
|
||||
"1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh"))
|
||||
(patches (list (search-patch "mars-sfml-2.3.patch")
|
||||
(search-patch "mars-install.patch")))))
|
||||
(patches (search-patches "mars-sfml-2.3.patch"
|
||||
"mars-install.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests
|
||||
@ -1185,7 +1189,7 @@ is programmed in Haskell.")
|
||||
(define-public manaplus
|
||||
(package
|
||||
(name "manaplus")
|
||||
(version "1.6.3.12")
|
||||
(version "1.6.4.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -1193,7 +1197,7 @@ is programmed in Haskell.")
|
||||
version "/manaplus-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02bnd4nk1qzrfqckqkwb6sbjzsmacv968ih74cdgcykslpsr684d"))))
|
||||
"1ja2w86rz3pliq0sdc7yxppsdjg3d1ymcx9fdsiwnw6fv5a8nbzj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
@ -1709,8 +1713,7 @@ Z64 video plugin.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
|
||||
(patches
|
||||
(list (search-patch "mupen64plus-ui-console-notice.patch")))))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
@ -1859,6 +1862,74 @@ and a game metadata scraper.")
|
||||
(home-page "http://www.emulationstation.org")
|
||||
(license license:expat)))
|
||||
|
||||
(define openttd-engine
|
||||
(package
|
||||
(name "openttd-engine")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin (method url-fetch)
|
||||
(uri (string-append "http://binaries.openttd.org/releases/"
|
||||
version "/openttd-" version "-source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cjf9gz7d0sn7893wv9d00q724sxv3d81bgb0c5f5ppz2ssyc4jc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; The DOS port contains proprietary software.
|
||||
'(delete-file-recursively "os/dos"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The build process fails if the configure script is passed the
|
||||
;; option "--enable-fast-install".
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(lzo (assoc-ref inputs "lzo")))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
;; Provide the "lzo" path.
|
||||
(string-append "--with-liblzo2="
|
||||
lzo "/lib/liblzo2.a")
|
||||
;; Put the binary in 'bin' instead of 'games'.
|
||||
"--binary-dir=bin"))))))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("allegro" ,allegro-4)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("icu4c" ,icu4c)
|
||||
("libpng" ,libpng)
|
||||
("lzo" ,lzo)
|
||||
("sdl" ,sdl)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Transportation economics simulator")
|
||||
(description "OpenTTD is a game in which you transport goods and
|
||||
passengers by land, water and air. It is a re-implementation of Transport
|
||||
Tycoon Deluxe with many enhancements including multiplayer mode,
|
||||
internationalization support, conditional orders and the ability to clone,
|
||||
autoreplace and autoupdate vehicles.")
|
||||
(home-page "http://openttd.org/")
|
||||
;; This package is GPLv2, except for a few files located in
|
||||
;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
|
||||
;; licenses. In addition, this software contains an in-game downloader
|
||||
;; from which the user may find non-functional data licensed under
|
||||
;; different terms.
|
||||
(license (list license:bsd-3 license:gpl2 license:lgpl2.1+ license:zlib))))
|
||||
|
||||
;; TODO Add 'openttd-opengfx' and 'openttd-openmsx' packages and make
|
||||
;; 'openttd' a wrapper around them. The engine is playable by itself,
|
||||
;; but it asks a user to download graphics if it's not found.
|
||||
|
||||
(define-public openttd
|
||||
(package
|
||||
(inherit openttd-engine)
|
||||
(name "openttd")))
|
||||
|
||||
(define-public pinball
|
||||
(package
|
||||
(name "pinball")
|
||||
@ -1871,12 +1942,11 @@ and a game metadata scraper.")
|
||||
(sha256
|
||||
(base32
|
||||
"1f2whlrfidwfh8lvr8cspcyirc6840r5d1ajm7x99qmngygrhixs"))
|
||||
(patches (map search-patch
|
||||
'("pinball-const-fix.patch"
|
||||
"pinball-cstddef.patch"
|
||||
"pinball-missing-separators.patch"
|
||||
"pinball-src-deps.patch"
|
||||
"pinball-system-ltdl.patch")))))
|
||||
(patches (search-patches "pinball-const-fix.patch"
|
||||
"pinball-cstddef.patch"
|
||||
"pinball-missing-separators.patch"
|
||||
"pinball-src-deps.patch"
|
||||
"pinball-system-ltdl.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("glu" ,glu)
|
||||
@ -1965,7 +2035,7 @@ players.")
|
||||
(sha256
|
||||
(base32
|
||||
"1hxrlv6n8py48j487i6wbb4n4vd55w0na69r7ccmmr9vmrsw5mlk"))
|
||||
(patches (list (search-patch "einstein-build.patch")))))
|
||||
(patches (search-patches "einstein-build.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
@ -2026,3 +2096,148 @@ is attributed to Albert Einstein.")
|
||||
the chat server psyced with the specific config located at
|
||||
http://lavachat.symlynx.com/unix/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public redeclipse
|
||||
(let ((data-sources
|
||||
'(("acerspyro" "0gxxr6nbac918b49x1cp72nw951hqm5m4iyi2shb1612ly384w8q")
|
||||
("actors" "1jq9q82m6nx07nwpb5cnpdcwa33jrcgg0j2yir8zk6zpnxdmp0il")
|
||||
("appleflap" "1cn41c6xs68l88rmphqh4rlsh6h04xnkkvklxdpqpvvr4zlsmi85")
|
||||
("blendbrush" "0wjbgnniirl9arv274m8mpdqbbq7d09g0pq1z9dl56sazmbk5yy0")
|
||||
("caustics" "0gxv1pqhi6c27mqi9mwqyfnzv9rq5sva1vgxhb9ljh231rmkdc15")
|
||||
("crosshairs" "0vlyhd10mly2qnjpwvss9ani7dg3v2njpf7457ilx7fk9a3hlbkk")
|
||||
("elyvisions" "0s0l77rd9fd09imvj05pwcz4bqrn3j8qsw8prv5pi5bqa50mbn19")
|
||||
("fonts" "0apn8j9lf43nmnidq1f0azhrr1n896g7si4djbix1bwll6ild0mq")
|
||||
("freezurbern" "0y60s3g8v8bl2m6pk2yr9fzl67ymv821x6l2f9hszzydlcjwlscn")
|
||||
("john" "1lmwn0r7qpyac2qrnkv9llhsbyzqpgr27hxq2qn1rfbq12fja0ld")
|
||||
("jojo" "0sh3ricqlqw868a0mz2n9iw7lhp650pysd2wkcdizhcmw2hlayx9")
|
||||
("jwin" "1r459jhxx64j3vdw886ypkm6zg0yg6cr2qark54i1zdskjhp762k")
|
||||
("luckystrike" "08xq87crcz0jq45q1g6p8h4xrm1bcqzd019zp7n0f9c3p9j6al91")
|
||||
("maps" "1f0hqh8mbd4nzqi4hja4k5f380nszhx8igajg5ini4p9cp39x9vi")
|
||||
("mayhem" "1hn9jp64aiz8k6p2nxyg82h2nc8fadgghzhrm26y7i4bz9xwxacm")
|
||||
("mikeplus64" "1kj2zznxykgm3f1h1fvd8xzim5f292lyh96l2gj5km1nynzjmaap")
|
||||
("misc" "1phmzjs5rmika3568b7jb6ywbsi40r711rhg8cbsflllcp7hdidf")
|
||||
("nobiax" "08in9c24m2pq7x371q10ny4q3l1l3zb8m029iypy2lx9gr99i7hm")
|
||||
("particles" "0wcd3s6vhrjknffnfqrcpkcqk1r01f1fiz6q7n4srhpdv3i4d6vm")
|
||||
("philipk" "1s0kmap8iv5sddanrhycblskj3ywvz9xg2m11f6vnfy108palkga")
|
||||
("projectiles" "0xdhrs9rsncd1f88s5igdbfksli7h0irg5jdbj6p2a3rgdzb3gnj")
|
||||
("props" "1sbh3a94pmzic78bil0dvdh4fd8s6gh52f77jdram3w0gwv79x3r")
|
||||
("skyboxes" "0hy95a6ps0fk4cq8j6pjipk8rnsjna9bm0ly2l373gbshlfg6zgi")
|
||||
("sounds" "1pnyd7acm19sj1k1cy9hq3n3dnzzaiak7j5f0h7fikiybq5rdk7b")
|
||||
("textures" "0gxfnc4xm0kp3pd7lhd4yy1dqq00g727h21l64nyiw2b2d6n1755")
|
||||
("torley" "1cri5mf8ls8mvpn1x1p9hacyg9ibilaiz07gqv2hl2q8ww5xc1s6")
|
||||
("trak" "0xyk5z59kn9ym9n5fdcrwhqig6gjcjgnrgi9rqbbai713w9vpsbq")
|
||||
("ulukai" "0ziv9c4inmza40mas1w9dp048y6f646x00bs7kqv33hd1snbg3v3")
|
||||
("unnamed" "0hm291k9azilnp0m04zhm52vml1rhxk1z4l74v66spbikr6s2zdx")
|
||||
("vanities" "1qbc2v67kdrlvq10miw3dfmg3j9w9bq1hgqrzjcbph0l4gra1ndw")
|
||||
("vegetation" "13928yw0wflcj620cmp8rqwplaw8508f3j4zi32vxida1ksz6xn0")
|
||||
("weapons" "1ghn6nfcnd5lyl8dnj22csldvf9hrb32wjzpab4sjjz3iyv0zmr3")
|
||||
("wicked" "0q9badvg6ix5rhl05s83kw2v6a49jpnbkqk4ls89qahaddfagi8g"))))
|
||||
(package
|
||||
(name "redeclipse")
|
||||
(version "1.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/red-eclipse/base"
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y0jv5lz69zisiw8sd5z9a9v21zc83by1sx9b7dly78ngif4gc4l"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags (list "CC=gcc" "-Csrc"
|
||||
(string-append "INSTDIR="
|
||||
(assoc-ref %outputs "out") "/bin"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-data
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(delete-file-recursively "data")
|
||||
(mkdir "data")
|
||||
(for-each (lambda (name)
|
||||
(system* "tar" "-xvf"
|
||||
(assoc-ref inputs name)
|
||||
"-Cdata"
|
||||
"--transform"
|
||||
(string-append "s/"
|
||||
name "-1.5.3/"
|
||||
name "/")))
|
||||
(list ,@(map car data-sources)))
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'set-paths 'set-sdl-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPATH"
|
||||
(string-append (assoc-ref inputs "sdl-union")
|
||||
"/include/SDL"))
|
||||
#t))
|
||||
(add-after 'install 'copy-data
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-recursively "config"
|
||||
(string-append out "/config"))
|
||||
(copy-recursively "data"
|
||||
(string-append out "/data")))
|
||||
#t))
|
||||
(add-after 'copy-data 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(with-directory-excursion bin
|
||||
(rename-file "redeclipse_linux"
|
||||
".redeclipse_linux-real")
|
||||
(rename-file "redeclipse_server_linux"
|
||||
".redeclipse_server_linux-real")
|
||||
(call-with-output-file "redeclipse_linux"
|
||||
(lambda (port)
|
||||
(format port "#!~a/bin/sh
|
||||
# Run the thing from its home, otherwise it just bails out.
|
||||
cd \"~a\"
|
||||
exec -a \"$0\" ~a/.redeclipse_linux-real~%"
|
||||
(assoc-ref inputs "bash") ;implicit input
|
||||
(string-append out)
|
||||
(string-append bin))))
|
||||
(call-with-output-file "redeclipse_server_linux"
|
||||
(lambda (port)
|
||||
(format port "#!~a/bin/sh
|
||||
# Run the thing from its home, otherwise it just bails out.
|
||||
cd \"~a\"
|
||||
exec -a \"$0\" ~a/.redeclipse_server_linux-real~%"
|
||||
(assoc-ref inputs "bash") ;implicit input
|
||||
(string-append out)
|
||||
(string-append bin))))
|
||||
(chmod "redeclipse_linux" #o555)
|
||||
(chmod "redeclipse_server_linux" #o555)))
|
||||
#t)))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("glu" ,glu)
|
||||
("sdl-union" ,(sdl-union))
|
||||
;; Create origin records for the many separate data packages.
|
||||
,@(map (match-lambda
|
||||
((name hash)
|
||||
(list name
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/red-eclipse/"
|
||||
name "/archive/v" version ".tar.gz"))
|
||||
(sha256 (base32 hash))
|
||||
(file-name (string-append name "-" version
|
||||
".tar.gz"))))))
|
||||
data-sources)))
|
||||
(home-page "http://redeclipse.net/")
|
||||
(synopsis "Arena shooter derived from the Cube 2 engine")
|
||||
(description
|
||||
"Red Eclipse is an arena shooter, created from the Cube2 engine.
|
||||
Offering an innovative parkour system and distinct but all potent weapons,
|
||||
Red Eclipse provides fast paced and accessible gameplay.")
|
||||
;; The engine is under Zlib; data files are covered by the other
|
||||
;; licenses. More details at <http://redeclipse.net/wiki/License>.
|
||||
(license (list license:expat
|
||||
license:zlib
|
||||
license:cc-by-sa3.0
|
||||
license:cc-by3.0
|
||||
license:cc0)))))
|
||||
|
@ -36,7 +36,7 @@
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32 "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"))
|
||||
(patches (list (search-patch "gawk-fts-test.patch")))))
|
||||
(patches (search-patches "gawk-fts-test.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f ; test suite fails in parallel
|
||||
|
@ -328,7 +328,7 @@ Go. It also includes runtime support libraries for these languages.")
|
||||
(sha256
|
||||
(base32
|
||||
"08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2"))
|
||||
(patches (list (search-patch "gcc-arm-link-spec-fix.patch")))))))
|
||||
(patches (search-patches "gcc-arm-link-spec-fix.patch"))))))
|
||||
|
||||
(define-public gcc-4.9
|
||||
(package (inherit gcc-4.8)
|
||||
@ -340,7 +340,7 @@ Go. It also includes runtime support libraries for these languages.")
|
||||
(sha256
|
||||
(base32
|
||||
"0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3"))
|
||||
(patches (list (search-patch "gcc-libvtv-runpath.patch")))))))
|
||||
(patches (search-patches "gcc-libvtv-runpath.patch"))))))
|
||||
|
||||
(define-public gcc-5
|
||||
(package (inherit gcc-4.9)
|
||||
@ -352,10 +352,8 @@ Go. It also includes runtime support libraries for these languages.")
|
||||
(sha256
|
||||
(base32
|
||||
"1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"))
|
||||
(patches (list (search-patch "gcc-5.0-libvtv-runpath.patch")
|
||||
(search-patch
|
||||
"gcc-libiberty-printf-decl.patch")))))
|
||||
|
||||
(patches (search-patches "gcc-5.0-libvtv-runpath.patch"
|
||||
"gcc-libiberty-printf-decl.patch"))))
|
||||
;; GCC 5 ships with .info files, so no need for Texinfo.
|
||||
(native-inputs '())))
|
||||
|
||||
|
@ -83,9 +83,8 @@ most common applications of GD involve website development.")
|
||||
(sha256
|
||||
(base32
|
||||
"1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z"))
|
||||
(patches
|
||||
(list
|
||||
(search-patch "perl-gd-options-passthrough-and-fontconfig.patch")))))
|
||||
(patches (search-patches
|
||||
"perl-gd-options-passthrough-and-fontconfig.patch"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42
|
||||
|
@ -133,8 +133,8 @@ printing, and psresize, for adjusting page sizes.")
|
||||
(sha256
|
||||
(base32
|
||||
"0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))
|
||||
(patches (map search-patch '("ghostscript-CVE-2015-3228.patch"
|
||||
"ghostscript-runpath.patch")))
|
||||
(patches (search-patches "ghostscript-CVE-2015-3228.patch"
|
||||
"ghostscript-runpath.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Honor --docdir.
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -19,9 +20,11 @@
|
||||
(define-module (gnu packages gimp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
@ -157,3 +160,53 @@ retouching, composition and authoring. It supports all common image formats
|
||||
as well as specialized ones. It features a highly customizable interface
|
||||
that is extensible via a plugin system.")
|
||||
(license license:gpl3+))) ; some files are lgplv3
|
||||
|
||||
(define-public gimp-fourier
|
||||
(package
|
||||
(name "gimp-fourier")
|
||||
(version "0.4.3-2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://registry.gimp.org/files/fourier-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rpacyad678lqgxa3hh2n0zpg4azs8dpa8q079bqsl12812k9184"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'set-prefix
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; gimptool-2.0 does not allow us to install to any target
|
||||
;; directory.
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
"/lib/gimp/"
|
||||
(car (string-split ,(package-version gimp) #\.))
|
||||
".0/plug-ins")))
|
||||
(substitute* "Makefile"
|
||||
(("\\$\\(PLUGIN_INSTALL\\) fourier")
|
||||
(string-append "cp fourier " target)))
|
||||
(mkdir-p target))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("fftw" ,fftw)
|
||||
("gimp" ,gimp)
|
||||
;; needed by gimp-2.0.pc
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("cairo" ,cairo)
|
||||
("glib" ,glib)
|
||||
;; needed by gimpui-2.0.pc
|
||||
("gtk+" ,gtk+-2)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://registry.gimp.org/node/19596")
|
||||
(synopsis "GIMP plug-in to edit image in fourier space")
|
||||
(description
|
||||
"This package provides a simple plug-in to apply the fourier transform on
|
||||
an image, allowing you to work with the transformed image inside GIMP. You
|
||||
can draw or apply filters in fourier space and get the modified image with an
|
||||
inverse fourier transform.")
|
||||
(license license:gpl3+)))
|
||||
|
@ -68,8 +68,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))
|
||||
(patches
|
||||
(list (search-patch "dbus-helper-search-path.patch")))))
|
||||
(patches (search-patches "dbus-helper-search-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
@ -139,11 +138,11 @@ shared NFS home directories.")
|
||||
(sha256
|
||||
(base32
|
||||
"1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
|
||||
(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-gapplication.patch")))))
|
||||
(patches (search-patches "glib-tests-homedir.patch"
|
||||
"glib-tests-desktop.patch"
|
||||
"glib-tests-prlimit.patch"
|
||||
"glib-tests-timer.patch"
|
||||
"glib-tests-gapplication.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"bin" ; glib-mkenums, gtester, etc.; depends on Python
|
||||
@ -231,12 +230,10 @@ dynamic loading, and an object system.")
|
||||
(snippet
|
||||
'(substitute* "tools/g-ir-tool-template.in"
|
||||
(("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
|
||||
(patches (list
|
||||
(search-patch "gobject-introspection-cc.patch")
|
||||
(search-patch
|
||||
"gobject-introspection-girepository.patch")
|
||||
(search-patch
|
||||
"gobject-introspection-absolute-shlib-path.patch")))))
|
||||
(patches (search-patches
|
||||
"gobject-introspection-cc.patch"
|
||||
"gobject-introspection-girepository.patch"
|
||||
"gobject-introspection-absolute-shlib-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
@ -479,9 +476,8 @@ useful for C++.")
|
||||
(sha256
|
||||
(base32
|
||||
"1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
|
||||
(patches
|
||||
(list (search-patch
|
||||
"python2-pygobject-2-gi-info-type-error-domain.patch")))))
|
||||
(patches (search-patches
|
||||
"python2-pygobject-2-gi-info-type-error-domain.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
|
@ -15,6 +15,7 @@
|
||||
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
|
||||
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
|
||||
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -57,6 +58,7 @@
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages enchant)
|
||||
#:use-module (gnu packages game-development)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
@ -737,8 +739,8 @@ the API.")
|
||||
version "/gtkglext-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
|
||||
(patches (list
|
||||
(search-patch "gtkglext-disable-disable-deprecated.patch")))))
|
||||
(patches (search-patches
|
||||
"gtkglext-disable-disable-deprecated.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
("mesa" ,mesa)
|
||||
@ -1008,7 +1010,8 @@ featuring mature C, C++ and Python bindings.")
|
||||
"/" name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
|
||||
(patches (list (search-patch "libbonobo-activation-test-race.patch")))))
|
||||
(patches (search-patches
|
||||
"libbonobo-activation-test-race.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; The programmer kindly gives us a hook to turn off deprecation warnings ...
|
||||
@ -1974,7 +1977,7 @@ library.")
|
||||
(base32
|
||||
"1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym"))
|
||||
(patches
|
||||
(list (search-patch "glib-networking-ssl-cert-file.patch")))))
|
||||
(search-patches "glib-networking-ssl-cert-file.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@ -2207,6 +2210,41 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
|
||||
floating in an ocean using only your brain and a little bit of luck.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gnome-sudoku
|
||||
(package
|
||||
(name "gnome-sudoku")
|
||||
(version "3.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b60z22fjrjzsz0kfhv0kfhvigzn54wvh9s31zrlp7sx2h2dxvsf"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("desktop-file-utils" ,desktop-file-utils)
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("xmllint" ,libxml2)))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("json-glib" ,json-glib)
|
||||
("libgee" ,libgee)
|
||||
("librsvg" ,librsvg)
|
||||
("qqwing" ,qqwing)))
|
||||
(home-page "https://wiki.gnome.org/Apps/Sudoku")
|
||||
(synopsis "Japanese logic game")
|
||||
(description
|
||||
"Sudoku is a Japanese logic game that exploded in popularity in 2005.
|
||||
GNOME Sudoku is meant to have an interface as simple and unobstrusive as
|
||||
possible while still providing features that make playing difficult Sudoku
|
||||
more fun.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gnome-terminal
|
||||
(package
|
||||
(name "gnome-terminal")
|
||||
@ -2334,7 +2372,7 @@ output devices.")
|
||||
(sha256
|
||||
(base32
|
||||
"0inlqx0zar498fhi9hh92p2g4kp8qy3zdl4z3vw6bjwp9w6xx454"))
|
||||
(patches (list (search-patch "geoclue-config.patch")))))
|
||||
(patches (search-patches "geoclue-config.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(;; The tests want to run the system bus.
|
||||
@ -2413,7 +2451,7 @@ faster results and to avoid unnecessary server load.")
|
||||
(sha256
|
||||
(base32
|
||||
"0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9"))
|
||||
(patches (list (search-patch "upower-builddir.patch")))))
|
||||
(patches (search-patches "upower-builddir.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'( ;; The tests want to contact the system bus, which can't be done in the
|
||||
|
@ -47,7 +47,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0x84f07p30pwhriamv8ifljgw755cj87rc12jy1xddf47spyj7rp"))
|
||||
(patches (list (search-patch "gnucash-price-quotes-perl.patch")))))
|
||||
(patches (search-patches "gnucash-price-quotes-perl.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("guile" ,guile-2.0)
|
||||
|
@ -67,7 +67,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6"))
|
||||
(patches (list (search-patch "libextractor-ffmpeg-3.patch")))
|
||||
(patches (search-patches "libextractor-ffmpeg-3.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Nowadays libmagic (from 'file') returns 'audio/ogg' and not
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
@ -66,7 +66,9 @@
|
||||
for all GnuPG components. Among these are GPG, GPGSM, GPGME,
|
||||
GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard
|
||||
Daemon and possibly more in the future.")
|
||||
(license license:lgpl2.0+)))
|
||||
(license license:lgpl2.0+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/libgpg-error")))))
|
||||
|
||||
(define-public libgcrypt
|
||||
(package
|
||||
@ -100,7 +102,9 @@ Daemon and possibly more in the future.")
|
||||
standard cryptographic building blocks such as symmetric ciphers, hash
|
||||
algorithms, public key algorithms, large integer functions and random number
|
||||
generation.")
|
||||
(license license:lgpl2.0+)))
|
||||
(license license:lgpl2.0+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/libgcrypt")))))
|
||||
|
||||
(define-public libgcrypt-1.5
|
||||
(package (inherit libgcrypt)
|
||||
@ -137,7 +141,9 @@ generation.")
|
||||
protocol. This protocol is used for IPC between most newer
|
||||
GnuPG components. Both, server and client side functions are
|
||||
provided.")
|
||||
(license license:lgpl2.0+)))
|
||||
(license license:lgpl2.0+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/libassuan")))))
|
||||
|
||||
(define-public libksba
|
||||
(package
|
||||
@ -170,7 +176,9 @@ provided.")
|
||||
"KSBA (pronounced Kasbah) is a library to make X.509 certificates
|
||||
as well as the CMS easily accessible by other applications. Both
|
||||
specifications are building blocks of S/MIME and TLS.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/libksba")))))
|
||||
|
||||
(define-public npth
|
||||
(package
|
||||
@ -208,9 +216,8 @@ compatible to GNU Pth.")
|
||||
(sha256
|
||||
(base32
|
||||
"06mn2viiwsyq991arh5i5fhr9jyxq2bi0jkdj7ndfisxihngpc5p"))
|
||||
(patches
|
||||
(list (search-patch
|
||||
"gnupg-simple-query-ignore-status-messages.patch")))))
|
||||
(patches (search-patches
|
||||
"gnupg-simple-query-ignore-status-messages.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
@ -245,7 +252,9 @@ features powerful key management and the ability to access public key
|
||||
servers. It includes several libraries: libassuan (IPC between GnuPG
|
||||
components), libgpg-error (centralized GnuPG error values), and
|
||||
libskba (working with X.509 certificates and CMS data).")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/gnupg")))))
|
||||
|
||||
(define-public gnupg-2.0
|
||||
(package (inherit gnupg)
|
||||
@ -352,7 +361,7 @@ and every application benefits from this.")
|
||||
;; Unfortunately, we have to disable some tests due to some gpg-agent
|
||||
;; goofiness... see:
|
||||
;; https://bugs.launchpad.net/pygpgme/+bug/999949
|
||||
(patches (list (search-patch "pygpgme-disable-problematic-tests.patch")))))
|
||||
(patches (search-patches "pygpgme-disable-problematic-tests.patch"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
@ -563,14 +572,14 @@ including tools for signing keys, keyring analysis, and party preparation.
|
||||
(define-public pinentry
|
||||
(package
|
||||
(name "pinentry")
|
||||
(version "0.9.6")
|
||||
(version "0.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/pinentry/pinentry-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rhyw1vk28kgasjp22myf7m2q8kycw82d65pr9kgh93z17lj849a"))))
|
||||
"1cp7wjqr6nx31mdclr61s2h84ijqjl0ph99kgj4vyawpjj1j1633"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
@ -580,7 +589,7 @@ including tools for signing keys, keyring analysis, and party preparation.
|
||||
("glib" ,glib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://gnupg.org/aegypten2/")
|
||||
(home-page "https://gnupg.org/aegypten2/")
|
||||
(synopsis "GnuPG's interface to passphrase input")
|
||||
(description
|
||||
"Pinentry provides a console and a GTK+ GUI that allows users to
|
||||
|
@ -127,3 +127,92 @@ of battery life remain, battery life remaining (with both a percentage and a
|
||||
graph), and battery status (high - green, low - yellow, or critical - red).")
|
||||
(license gpl2)))
|
||||
|
||||
(define-public wmnd
|
||||
(package
|
||||
(name "wmnd")
|
||||
(version "0.4.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.thregr.org/~wavexx/software/wmnd/releases/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1amkbiwgr31gwkcp7wrjsr7aj1kns8bpmjpv70n86wb8v9mpm828"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxpm" ,libxpm)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.thregr.org/~wavexx/software/wmnd/")
|
||||
(synopsis "Network interface monitor")
|
||||
(description
|
||||
"WMND is a dockapp for monitoring network interfaces under WindowMaker and
|
||||
other compatible window managers.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public wmcpuload
|
||||
(package
|
||||
(name "wmcpuload")
|
||||
(version "1.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://debian/pool/main/w/wmcpuload/"
|
||||
name "_" version ".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxpm" ,libxpm)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://windowmaker.org/dockapps/?name=wmcpuload")
|
||||
(synopsis "Monitor CPU usage")
|
||||
(description
|
||||
"Wmcpuload displays the current CPU usage, expressed as a percentile and a
|
||||
chart, and has an LCD look-alike user interface. The back-light may be turned
|
||||
on and off by clicking the mouse button over the application. If the CPU usage
|
||||
hits a certain threshold, an alarm-mode will alert you by turning back-light
|
||||
on.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public wmclock
|
||||
(package
|
||||
(name "wmclock")
|
||||
(version "1.0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://debian/pool/main/w/wmclock/"
|
||||
name "_" version ".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lx276ba8r2yydhmwj1g586jdqg695ad89ng36fr3mb067gvb2rz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
|
||||
;; wmclock requires autoreconf to generate its configure script.
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxpm" ,libxpm)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://windowmaker.org/dockapps/?name=wmclock")
|
||||
(synopsis "Display the date and time")
|
||||
(description
|
||||
"wmclock is an applet for Window Maker which displays the date and time in
|
||||
a dockable tile. It features multiple language support, 24h or 12h time
|
||||
display, and can run a user-specified program on mouse click.")
|
||||
(license gpl2+)))
|
||||
|
@ -1,8 +1,9 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -143,7 +144,7 @@ in C/C++.")
|
||||
(define-public nspr
|
||||
(package
|
||||
(name "nspr")
|
||||
(version "4.10.10")
|
||||
(version "4.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -151,7 +152,7 @@ in C/C++.")
|
||||
version "/src/nspr-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01ria9wk6329hxqsy75p9dkxiqkq4nkz0jjzll7hslih3jbi8dil"))))
|
||||
"1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
@ -177,7 +178,7 @@ in the Mozilla clients.")
|
||||
(define-public nss
|
||||
(package
|
||||
(name "nss")
|
||||
(version "3.21.1")
|
||||
(version "3.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
@ -188,9 +189,9 @@ in the Mozilla clients.")
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0knr99yc8sba2ga6x1gwhg9gr1dmgcl344g3bmxm8c364i2vpxns"))
|
||||
"1kqidv91icq96m9m8zx50n7px08km2l88458rkgyjwcn3kiq7cwl"))
|
||||
;; Create nss.pc and nss-config.
|
||||
(patches (list (search-patch "nss-pkgconfig.patch")))))
|
||||
(patches (search-patches "nss-pkgconfig.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "bin"))
|
||||
(arguments
|
||||
@ -250,7 +251,16 @@ in the Mozilla clients.")
|
||||
;; Install other files.
|
||||
(copy-recursively "dist/public/nss" inc)
|
||||
(copy-recursively (string-append obj "/bin") bin)
|
||||
(copy-recursively (string-append obj "/lib") lib)))
|
||||
(copy-recursively (string-append obj "/lib") lib)
|
||||
|
||||
;; FIXME: libgtest1.so is installed in the above step, and it's
|
||||
;; (unnecessarily) linked with several NSS libraries, but
|
||||
;; without the needed rpaths, causing the 'validate-runpath'
|
||||
;; phase to fail. Here we simply delete libgtest1.so, since it
|
||||
;; seems to be used only during the tests.
|
||||
(delete-file (string-append lib "/libgtest1.so"))
|
||||
|
||||
#t))
|
||||
%standard-phases)))))
|
||||
(inputs
|
||||
`(("sqlite" ,sqlite)
|
||||
@ -277,7 +287,7 @@ standards.")
|
||||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "38.6.0-gnu1")
|
||||
(version "38.7.1-gnu1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -286,29 +296,19 @@ standards.")
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bd4k5cwr8ynscaxffvj2x3kgky3dmjq0qhpcb931l98bh0103lx"))
|
||||
(patches (map search-patch
|
||||
'("icecat-avoid-bundled-includes.patch"
|
||||
"icecat-re-enable-DHE-cipher-suites.patch"
|
||||
"icecat-update-graphite2.patch"
|
||||
"icecat-update-graphite2-pt2.patch"
|
||||
"icecat-CVE-2015-4477.patch"
|
||||
"icecat-CVE-2015-7207.patch"
|
||||
"icecat-CVE-2016-1952-pt01.patch"
|
||||
"icecat-CVE-2016-1952-pt02.patch"
|
||||
"icecat-CVE-2016-1952-pt03.patch"
|
||||
"icecat-CVE-2016-1952-pt04.patch"
|
||||
"icecat-CVE-2016-1952-pt05.patch"
|
||||
"icecat-CVE-2016-1952-pt06.patch"
|
||||
"icecat-CVE-2016-1954.patch"
|
||||
"icecat-CVE-2016-1960.patch"
|
||||
"icecat-CVE-2016-1961.patch"
|
||||
"icecat-CVE-2016-1962.patch"
|
||||
"icecat-CVE-2016-1964.patch"
|
||||
"icecat-CVE-2016-1965.patch"
|
||||
"icecat-CVE-2016-1966.patch"
|
||||
"icecat-CVE-2016-1974.patch"
|
||||
"icecat-bug-1248851.patch")))
|
||||
"1wdmd6hasra36g86ha1dw8sl7a5mvr7c4jbjx4zyg9629y5gqr8g"))
|
||||
(patches (search-patches
|
||||
"icecat-avoid-bundled-includes.patch"
|
||||
"icecat-re-enable-DHE-cipher-suites.patch"
|
||||
"icecat-update-bundled-graphite2.patch"
|
||||
"icecat-CVE-2016-2805.patch"
|
||||
"icecat-CVE-2016-2807-pt1.patch"
|
||||
"icecat-CVE-2016-2807-pt2.patch"
|
||||
"icecat-CVE-2016-2807-pt3.patch"
|
||||
"icecat-CVE-2016-2807-pt4.patch"
|
||||
"icecat-CVE-2016-2807-pt5.patch"
|
||||
"icecat-CVE-2016-2808.patch"
|
||||
"icecat-CVE-2016-2814.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -526,4 +526,5 @@ standards.")
|
||||
"IceCat is the GNU version of the Firefox browser. It is entirely free
|
||||
software, which does not recommend non-free plugins and addons. It also
|
||||
features built-in privacy-protecting features.")
|
||||
(license license:mpl2.0))) ; and others, see toolkit/content/license.html
|
||||
(license license:mpl2.0) ;and others, see toolkit/content/license.html
|
||||
(properties '((ftp-directory . "/gnu/gnuzilla")))))
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
@ -31,9 +31,13 @@
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
|
||||
@ -41,13 +45,19 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public blender
|
||||
@ -108,7 +118,7 @@
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libtiff" ,libtiff)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("ffmpeg-2.8" ,ffmpeg-2.8) ;<https://lists.gnu.org/archive/html/guix-devel/2016-04/msg01019.html>
|
||||
("fftw" ,fftw)
|
||||
("jack" ,jack-1)
|
||||
("libsndfile" ,libsndfile)
|
||||
@ -176,7 +186,7 @@ many more.")
|
||||
(sha256
|
||||
(base32
|
||||
"1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c"))
|
||||
(patches (map search-patch '("ilmbase-fix-tests.patch")))))
|
||||
(patches (search-patches "ilmbase-fix-tests.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.openexr.com/")
|
||||
(synopsis "Utility C++ libraries for threads, maths, and exceptions")
|
||||
@ -204,7 +214,7 @@ exception-handling library.")
|
||||
'(substitute* (find-files "." "tmpDir\\.h")
|
||||
(("\"/var/tmp/\"")
|
||||
"\"/tmp/\"")))
|
||||
(patches (list (search-patch "openexr-missing-samples.patch")))))
|
||||
(patches (search-patches "openexr-missing-samples.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -245,7 +255,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.")
|
||||
(sha256
|
||||
(base32
|
||||
"0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy"))
|
||||
(patches (list (search-patch "openimageio-boost-1.60.patch")))))
|
||||
(patches (search-patches "openimageio-boost-1.60.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
;; FIXME: To run all tests successfully, test image sets from multiple
|
||||
;; third party sources have to be present. For details see
|
||||
@ -272,6 +282,59 @@ visual effects work for film.")
|
||||
(home-page "http://www.openimageio.org")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public rapicorn
|
||||
(package
|
||||
(name "rapicorn")
|
||||
(version "16.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://testbit.eu/pub/dists/rapicorn/"
|
||||
"rapicorn-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y51yjrpsihas1jy905m9p3r8iiyhq6bwi2690c564i5dnix1f9d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: At least "testrcore1" fails.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'replace-/bin/ls
|
||||
(lambda _
|
||||
(substitute* (cons "Makefile.decl"
|
||||
(find-files "." "^Makefile\\.in$"))
|
||||
(("/bin/ls") (which "ls")))
|
||||
#t)))))
|
||||
;; These libraries are listed in the "Required" section of the pkg-config
|
||||
;; file.
|
||||
(propagated-inputs
|
||||
`(("librsvg" ,librsvg)
|
||||
("cairo" ,cairo)
|
||||
("pango" ,pango)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("libpng" ,libpng-1.2)
|
||||
("readline" ,readline)
|
||||
("libcroco" ,libcroco)
|
||||
("python" ,python-2)
|
||||
("cython" ,python2-cython)))
|
||||
(native-inputs
|
||||
`(("pandoc" ,ghc-pandoc)
|
||||
("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("doxygen" ,doxygen)
|
||||
("graphviz" ,graphviz)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://rapicorn.org")
|
||||
(synopsis "Toolkit for rapid development of user interfaces")
|
||||
(description
|
||||
"Rapicorn is a toolkit for rapid development of user interfaces in C++
|
||||
and Python. The user interface is designed in a declarative markup language
|
||||
and is connected to the programming logic using data bindings and commands.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public ctl
|
||||
(package
|
||||
(name "ctl")
|
||||
@ -385,7 +448,7 @@ and understanding different BRDFs (and other component functions).")
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"))
|
||||
(patches (list (search-patch "agg-am_c_prototype.patch")))))
|
||||
(patches (search-patches "agg-am_c_prototype.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
@ -83,9 +83,9 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
|
||||
(patches (list (search-patch "grub-gets-undeclared.patch")
|
||||
(search-patch "grub-freetype.patch")
|
||||
(search-patch "grub-CVE-2015-8370.patch")))))
|
||||
(patches (search-patches "grub-gets-undeclared.patch"
|
||||
"grub-freetype.patch"
|
||||
"grub-CVE-2015-8370.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-werror")
|
||||
|
@ -554,7 +554,7 @@ is part of the GNOME accessibility project.")
|
||||
(sha256
|
||||
(base32
|
||||
"0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))
|
||||
(patches (list (search-patch "gtk2-respect-GUIX_GTK2_PATH.patch")))))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
@ -615,7 +615,7 @@ application suites.")
|
||||
(sha256
|
||||
(base32
|
||||
"0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))
|
||||
(patches (list (search-patch "gtk3-respect-GUIX_GTK3_PATH.patch")))))
|
||||
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
|
||||
(propagated-inputs
|
||||
`(("at-spi2-atk" ,at-spi2-atk)
|
||||
("atk" ,atk)
|
||||
@ -752,7 +752,7 @@ exceptions, macros, and a dynamic programming environment.")
|
||||
(sha256
|
||||
(base32
|
||||
"136f236iw3yrrz6pkkp1ma9c5mrs5icqha6pnawinqpk892r3jh7"))
|
||||
(patches (list (search-patch "guile-rsvg-pkgconfig.patch")))
|
||||
(patches (search-patches "guile-rsvg-pkgconfig.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* (find-files "." "Makefile\\.am")
|
||||
@ -791,7 +791,7 @@ images onto Cairo surfaces.")
|
||||
(sha256
|
||||
(base32
|
||||
"1qam447m05sxxv6x8dlzg7qnyfc4dh8apjw1idpfhpns671gfr6m"))
|
||||
(patches (list (search-patch "guile-present-coding.patch")))
|
||||
(patches (search-patches "guile-present-coding.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "Makefile.in"
|
||||
@ -977,7 +977,7 @@ extensive documentation, including API reference and a tutorial.")
|
||||
(sha256
|
||||
(base32
|
||||
"1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))
|
||||
(patches (list (search-patch "pycairo-wscript.patch")))))
|
||||
(patches (search-patches "pycairo-wscript.patch"))))
|
||||
(build-system waf-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -72,7 +73,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))
|
||||
(patches (list (search-patch "guile-1.8-cpp-4.5.patch")))))
|
||||
(patches (search-patches "guile-1.8-cpp-4.5.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--disable-error-on-warning")
|
||||
|
||||
@ -132,7 +133,7 @@ without requiring the source code to be rewritten.")
|
||||
(sha256
|
||||
(base32
|
||||
"1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))
|
||||
(patches (list (search-patch "guile-arm-fixes.patch")))))
|
||||
(patches (search-patches "guile-arm-fixes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkgconfig" ,pkg-config)))
|
||||
(inputs `(("libffi" ,libffi)
|
||||
@ -410,7 +411,7 @@ library.")
|
||||
(sha256
|
||||
(base32
|
||||
"0zparwgf01jgl1x53ik71ghabldq6zz18ha4dscps1i0qrzgap1b"))
|
||||
(patches (list (search-patch "mcron-install.patch")))))
|
||||
(patches (search-patches "mcron-install.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.0)))
|
||||
@ -529,7 +530,7 @@ http:://json.org specification. These are the main features:
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(for-each (lambda (file)
|
||||
(let* ((dest-file (string-append module-dir "/"
|
||||
file ".scm"))
|
||||
file))
|
||||
(go-file (match (string-split file #\.)
|
||||
((base _)
|
||||
(string-append module-dir "/"
|
||||
@ -711,14 +712,14 @@ Guile's foreign function interface.")
|
||||
(define-public haunt
|
||||
(package
|
||||
(name "haunt")
|
||||
(version "0.1")
|
||||
(version "0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://files.dthompson.us/haunt/haunt-"
|
||||
(uri (string-append "https://files.dthompson.us/haunt/haunt-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15q1qwjnay7k90ppqrzqsmikvwyj61mjvf1zahyd9gm4vi2fgb3x"))))
|
||||
"1id83n8fs7jxys1d8jy70vylg8gzcvlw1y7hb41y3qxv5zi4671m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 match) (ice-9 ftw)
|
||||
@ -742,8 +743,13 @@ Guile's foreign function interface.")
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
|
||||
(,modules)))
|
||||
#t)))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.0)))
|
||||
(propagated-inputs
|
||||
`(("guile-reader" ,guile-reader)))
|
||||
(synopsis "Functional static site generator")
|
||||
(description "Haunt is a static site generator written in Guile
|
||||
Scheme. Haunt features a functional build system and an extensible
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -24,10 +25,12 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages anthy)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
@ -205,3 +208,54 @@ ZhuYin (Bopomofo) input method based on libpinyin for IBus.")
|
||||
Chinese pinyin input methods.")
|
||||
(home-page "https://github.com/libpinyin/libpinyin")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public ibus-anthy
|
||||
(package
|
||||
(name "ibus-anthy")
|
||||
(version "1.5.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ibus/ibus-anthy/releases/download/"
|
||||
version "/ibus-anthy-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aj7vnfky7izl23xyjky78z3qas3q72l3kr8dnql2lnivsrb8q1y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
;; Use absolute exec path in the anthy.xml.
|
||||
(list (string-append "--libexecdir=" %output "/libexec"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (prog)
|
||||
(wrap-program (string-append out "/libexec/" prog)
|
||||
`("PYTHONPATH" ":" prefix
|
||||
(,(getenv "PYTHONPATH")))
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")
|
||||
,(string-append out "/lib/girepository-1.0")))))
|
||||
'("ibus-engine-anthy" "ibus-setup-anthy"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python)))
|
||||
(inputs
|
||||
`(("anthy" ,anthy)
|
||||
("gtk+" ,gtk+)
|
||||
("ibus" ,ibus)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("python-pygobject" ,python-pygobject)))
|
||||
(synopsis "Anthy Japanese language input method for IBus")
|
||||
(description "IBus-Anthy is an engine for the input bus \"IBus\"). It
|
||||
adds the Anthy Japanese language input method to IBus. Because most graphical
|
||||
applications allow text input via IBus, installing this package will enable
|
||||
Japanese language input in most graphical applications.")
|
||||
(home-page "https://github.com/fujiwarat/ibus-anthy")
|
||||
(license gpl2+)))
|
||||
|
@ -39,9 +39,9 @@
|
||||
"-src.tgz"))
|
||||
(sha256
|
||||
(base32 "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1"))
|
||||
(patches (map search-patch '("icu4c-CVE-2014-6585.patch"
|
||||
"icu4c-CVE-2015-1270.patch"
|
||||
"icu4c-CVE-2015-4760.patch")))))
|
||||
(patches (search-patches "icu4c-CVE-2014-6585.patch"
|
||||
"icu4c-CVE-2015-1270.patch"
|
||||
"icu4c-CVE-2015-4760.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
|
@ -35,8 +35,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
|
||||
(patches (list
|
||||
(search-patch "diffutils-gets-undeclared.patch")))))
|
||||
(patches (search-patches "diffutils-gets-undeclared.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("emacs" ,emacs-no-x)))
|
||||
(home-page "http://www.gnu.org/software/idutils/")
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2014, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
@ -76,6 +76,22 @@ library. It supports almost all PNG features and is extensible.")
|
||||
(license license:zlib)
|
||||
(home-page "http://www.libpng.org/pub/png/libpng.html")))
|
||||
|
||||
(define-public libpng-1.2
|
||||
(package
|
||||
(inherit libpng)
|
||||
(version "1.2.56")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; Note: upstream removes older tarballs.
|
||||
(uri (list (string-append "mirror://sourceforge/libpng/libpng12/"
|
||||
version "/libpng-" version ".tar.xz")
|
||||
(string-append
|
||||
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
|
||||
"/libpng12/libpng-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "1ghd03p353x0vi4dk83n1nlldg11w7vqdk3f99rkgfb82ic59ki4"))))))
|
||||
|
||||
(define-public libjpeg
|
||||
(package
|
||||
(name "libjpeg")
|
||||
@ -140,10 +156,10 @@ maximum quality factor.")
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"136nf1rj9dp5jgv1p7z4dk0xy3wki1w0vfjbk82f645m0w4samsd"))
|
||||
(patches (map search-patch
|
||||
'("libtiff-oob-accesses-in-decode.patch"
|
||||
"libtiff-oob-write-in-nextdecode.patch"
|
||||
"libtiff-CVE-2015-8665+CVE-2015-8683.patch")))))
|
||||
(patches (search-patches
|
||||
"libtiff-oob-accesses-in-decode.patch"
|
||||
"libtiff-oob-write-in-nextdecode.patch"
|
||||
"libtiff-CVE-2015-8665+CVE-2015-8683.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ;1.3 MiB of HTML documentation
|
||||
@ -178,18 +194,18 @@ collection of tools for doing simple manipulations of TIFF images.")
|
||||
(sha256
|
||||
(base32 "1y3wba4q8pl7kr51212jwrsz1x6nslsx1gsjml1x0i8549lmqd2v"))
|
||||
(patches
|
||||
(map search-patch '("libwmf-CAN-2004-0941.patch"
|
||||
"libwmf-CVE-2006-3376.patch"
|
||||
"libwmf-CVE-2007-0455.patch"
|
||||
"libwmf-CVE-2007-2756.patch"
|
||||
"libwmf-CVE-2007-3472.patch"
|
||||
"libwmf-CVE-2007-3473.patch"
|
||||
"libwmf-CVE-2007-3477.patch"
|
||||
"libwmf-CVE-2009-1364.patch"
|
||||
"libwmf-CVE-2009-3546.patch"
|
||||
"libwmf-CVE-2015-0848+CVE-2015-4588.patch"
|
||||
"libwmf-CVE-2015-4695.patch"
|
||||
"libwmf-CVE-2015-4696.patch")))))
|
||||
(search-patches "libwmf-CAN-2004-0941.patch"
|
||||
"libwmf-CVE-2006-3376.patch"
|
||||
"libwmf-CVE-2007-0455.patch"
|
||||
"libwmf-CVE-2007-2756.patch"
|
||||
"libwmf-CVE-2007-3472.patch"
|
||||
"libwmf-CVE-2007-3473.patch"
|
||||
"libwmf-CVE-2007-3477.patch"
|
||||
"libwmf-CVE-2009-1364.patch"
|
||||
"libwmf-CVE-2009-3546.patch"
|
||||
"libwmf-CVE-2015-0848+CVE-2015-4588.patch"
|
||||
"libwmf-CVE-2015-4695.patch"
|
||||
"libwmf-CVE-2015-4696.patch"))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@ -291,7 +307,7 @@ arithmetic ops.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ffhgmf2fqzk0h4k736pp06z7q5y4x41fg844bd6a9vgncq86bby"))
|
||||
(patches (list (search-patch "jbig2dec-ignore-testtest.patch")))))
|
||||
(patches (search-patches "jbig2dec-ignore-testtest.patch"))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Decoder of the JBIG2 image compression format")
|
||||
@ -320,8 +336,8 @@ work.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj"))
|
||||
(patches (map search-patch '("openjpeg-use-after-free-fix.patch"
|
||||
"openjpeg-CVE-2015-6581.patch")))))
|
||||
(patches (search-patches "openjpeg-use-after-free-fix.patch"
|
||||
"openjpeg-CVE-2015-6581.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; Trying to run `$ make check' results in a no rule fault.
|
||||
@ -357,8 +373,8 @@ error-resilience, a Java-viewer for j2k-images, ...")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z"))
|
||||
(patches (map search-patch '("openjpeg-use-after-free-fix.patch"
|
||||
"openjpeg-CVE-2015-6581.patch")))))))
|
||||
(patches (search-patches "openjpeg-use-after-free-fix.patch"
|
||||
"openjpeg-CVE-2015-6581.patch"))))))
|
||||
|
||||
(define-public openjpeg-1
|
||||
(package (inherit openjpeg)
|
||||
@ -443,7 +459,7 @@ compose, and analyze GIF images.")
|
||||
(define-public imlib2
|
||||
(package
|
||||
(name "imlib2")
|
||||
(version "1.4.7")
|
||||
(version "1.4.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -451,7 +467,8 @@ compose, and analyze GIF images.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"00a7jbwj10x3jcvxa5rplnkvhv35gv9rb400zy636zdd4g737mrm"))))
|
||||
"0xxhgkd1axlcmf3kp1d7naiygparpg8l3sg3d263rhl2z0gm7aw9"))
|
||||
(patches (search-patches "imlib2-CVE-2016-4024.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkgconfig" ,pkg-config)))
|
||||
@ -520,7 +537,7 @@ supplies a generic doubly-linked list and some string functions.")
|
||||
(sha256
|
||||
(base32
|
||||
"12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
|
||||
(patches (list (search-patch "freeimage-CVE-2015-0852.patch")))))
|
||||
(patches (search-patches "freeimage-CVE-2015-0852.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-delete
|
||||
@ -673,7 +690,7 @@ channels.")
|
||||
"1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8"))
|
||||
;; Backported from upstream:
|
||||
;; https://github.com/DentonW/DevIL/commit/724194d7a9a91221a564579f64bdd6f0abd64219.patch
|
||||
(patches (list (search-patch "devil-fix-libpng.patch")))
|
||||
(patches (search-patches "devil-fix-libpng.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Fix old lcms include directives and lib flags.
|
||||
@ -723,21 +740,20 @@ convert, manipulate, filter and display a wide variety of image formats.")
|
||||
(sha256
|
||||
(base32
|
||||
"154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b"))
|
||||
(patches
|
||||
(list
|
||||
(search-patch "jasper-CVE-2007-2721.patch")
|
||||
(search-patch "jasper-CVE-2008-3520.patch")
|
||||
(search-patch "jasper-CVE-2008-3522.patch")
|
||||
(search-patch "jasper-CVE-2011-4516-and-CVE-2011-4517.patch")
|
||||
(search-patch "jasper-CVE-2014-8137.patch")
|
||||
(search-patch "jasper-CVE-2014-8138.patch")
|
||||
(search-patch "jasper-CVE-2014-8157.patch")
|
||||
(search-patch "jasper-CVE-2014-8158.patch")
|
||||
(search-patch "jasper-CVE-2014-9029.patch")
|
||||
(search-patch "jasper-CVE-2016-1577.patch")
|
||||
(search-patch "jasper-CVE-2016-1867.patch")
|
||||
(search-patch "jasper-CVE-2016-2089.patch")
|
||||
(search-patch "jasper-CVE-2016-2116.patch")))))
|
||||
(patches (search-patches
|
||||
"jasper-CVE-2007-2721.patch"
|
||||
"jasper-CVE-2008-3520.patch"
|
||||
"jasper-CVE-2008-3522.patch"
|
||||
"jasper-CVE-2011-4516-and-CVE-2011-4517.patch"
|
||||
"jasper-CVE-2014-8137.patch"
|
||||
"jasper-CVE-2014-8138.patch"
|
||||
"jasper-CVE-2014-8157.patch"
|
||||
"jasper-CVE-2014-8158.patch"
|
||||
"jasper-CVE-2014-9029.patch"
|
||||
"jasper-CVE-2016-1577.patch"
|
||||
"jasper-CVE-2016-1867.patch"
|
||||
"jasper-CVE-2016-2089.patch"
|
||||
"jasper-CVE-2016-2116.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
|
@ -48,7 +48,7 @@
|
||||
(sha256
|
||||
(base32
|
||||
"159afhqrj22jlz745ccbgnkdiwvn8pjcc96jic0iv9ms7gqxwln5"))
|
||||
(patches (list (search-patch "imagemagick-test-segv.patch")))))
|
||||
(patches (search-patches "imagemagick-test-segv.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-frozenpaths")
|
||||
|
@ -52,7 +52,7 @@
|
||||
(define-public quassel
|
||||
(package
|
||||
(name "quassel")
|
||||
(version "0.12.3")
|
||||
(version "0.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -60,7 +60,7 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d6lwf6qblj1ia5j9mjy112zrmpbbg9mmxgscbgxiqychldyjgjd"))))
|
||||
"0ka456fb8ha3w7g74xlzfg6w4azxjjxgrhl4aqpbwg3lnd6fbr4k"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; The three binaries are not mutually exlusive, and are all built
|
||||
@ -142,7 +142,7 @@ SILC and ICB protocols via plugins.")
|
||||
(sha256
|
||||
(base32
|
||||
"19apd3hav77v74j7flicai0843k7wrkr2fd3q2ayvzkgnbrrp1ai"))
|
||||
(patches (list (search-patch "weechat-python.patch")))))
|
||||
(patches (search-patches "weechat-python.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("pkg-config" ,pkg-config)
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -22,6 +23,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages attr)
|
||||
@ -51,19 +53,19 @@
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module ((srfi srfi-1) #:select (fold alist-delete)))
|
||||
|
||||
(define-public swt
|
||||
(define-public java-swt
|
||||
(package
|
||||
(name "swt")
|
||||
(version "4.4.2")
|
||||
(name "java-swt")
|
||||
(version "4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://ftp-stud.fht-esslingen.de/pub/Mirrors/"
|
||||
"eclipse/eclipse/downloads/drops4/R-" version
|
||||
"-201502041700/swt-" version "-gtk-linux-x86.zip"))
|
||||
"-201506032000/swt-" version "-gtk-linux-x86.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lzyqr8k2zm5s8fmnrx5kxpslxfs0i73y26fwfms483x45izzwj8"))))
|
||||
"03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("-f" "make_linux.mak")
|
||||
@ -577,7 +579,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public icedtea-7
|
||||
(let* ((version "2.6.4")
|
||||
(let* ((version "2.6.6")
|
||||
(drop (lambda (name hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -594,7 +596,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r31h8nlsrbfdkgbjbb7phwgcwglc9siznzrr40lqnm9xrgkc2nj"))
|
||||
"0jjldnig382yqvzzsflilcz897v2lwnw4n57sggdjn318d29g53r"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "Makefile.in"
|
||||
@ -669,6 +671,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||
(setenv "CC" "gcc")
|
||||
(setenv "CPATH"
|
||||
(string-append gcjinclude ":"
|
||||
(assoc-ref inputs "libxcomposite")
|
||||
"/include/X11/extensions" ":"
|
||||
(assoc-ref inputs "libxrender")
|
||||
"/include/X11/extensions" ":"
|
||||
(assoc-ref inputs "libxtst")
|
||||
@ -719,26 +723,139 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||
(native-inputs
|
||||
`(("openjdk-src"
|
||||
,(drop "openjdk"
|
||||
"1qjjf71nq80ac2d08hbaa8589d31vk313z3rkirnwq5df8cyf0mv"))
|
||||
"1wxd5kbsmd4gdiz78iq7pq9hp0l6m946pd1pvaj750lkrgk17y14"))
|
||||
("corba-drop"
|
||||
,(drop "corba"
|
||||
"025warxhjal3nr7w1xyd16k0f32fwkchifpaslzyidsga3hgmfr6"))
|
||||
"0bba7drdpbggzgn7cnqv10myxa3bygaq2hkclgrmsijhl6bnr26f"))
|
||||
("jaxp-drop"
|
||||
,(drop "jaxp"
|
||||
"0qiz6swb78w9c0mf88pf0gflgm5rp9k0l6fv6sdl7dki691b0z09"))
|
||||
"0c1d4yjaxzh9fi9bx50yi2psb9f475bfivivf6c31smgaihb97k7"))
|
||||
("jaxws-drop"
|
||||
,(drop "jaxws"
|
||||
"18fz4gl4fdlcmqvh1mlpd9h0gj0qizpfa7njkax97aysmsm08xns"))
|
||||
"0662wzws45jwzwfc4pgizxdywz737vflkj9w3hw1xlgljs017bzr"))
|
||||
("jdk-drop"
|
||||
,(drop "jdk"
|
||||
"0qsx5d9pgwlz9vbpapw4jwpajqc6rwk1150cjb33i4n3z709jccx"))
|
||||
"17qaf5mdijsn6jzyxv7rgn9g5mazkva6p8lcy7zq06yvfb595ahv"))
|
||||
("langtools-drop"
|
||||
,(drop "langtools"
|
||||
"1k6plx96smf86z303gb30hncssa8f40qdryzsdv349iwqwacxc7r"))
|
||||
"1wv34cyba1f4wynjkwf765agf4ifc04717ac7b3bpiagggp2rfsl"))
|
||||
("hotspot-drop"
|
||||
,(drop "hotspot"
|
||||
"0r9ffzyf5vxs8wg732szqcil0ksc8lcxzihdv3viz7d67dy42irp"))
|
||||
"1hhd5q2g7mnw3pqqv72labki5zv09vgc3hp3xig4x8r4yzzg9s54"))
|
||||
,@(fold alist-delete (package-native-inputs icedtea-6)
|
||||
'("openjdk6-src")))))))
|
||||
'("openjdk6-src"))))
|
||||
(inputs
|
||||
`(("libxcomposite" ,libxcomposite)
|
||||
,@(package-inputs icedtea-6))))))
|
||||
|
||||
(define-public icedtea-8
|
||||
(let* ((version "3.0.1")
|
||||
(drop (lambda (name hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://icedtea.classpath.org/download/drops/"
|
||||
"/icedtea8/" version "/" name ".tar.xz"))
|
||||
(sha256 (base32 hash))))))
|
||||
(package (inherit icedtea-7)
|
||||
(version "3.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://icedtea.wildebeest.org/download/source/icedtea-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wislw090zx955rf9sppimdzqf044mpj96xp54vljv6yw46y6v1l"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "Makefile.am"
|
||||
;; do not leak information about the build host
|
||||
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
|
||||
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments icedtea-7)
|
||||
((#:configure-flags flags)
|
||||
`(let ((jdk (assoc-ref %build-inputs "jdk")))
|
||||
`(;;"--disable-bootstrap"
|
||||
"--enable-bootstrap"
|
||||
"--enable-nss"
|
||||
"--disable-downloading"
|
||||
"--disable-tests" ;they are run in the check phase instead
|
||||
"--with-openjdk-src-dir=./openjdk.src"
|
||||
,(string-append "--with-jdk-home=" jdk))))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'fix-x11-extension-include-path)
|
||||
(delete 'patch-paths)
|
||||
(delete 'set-additional-paths)
|
||||
(delete 'patch-patches)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/icedtea"))
|
||||
(jre (assoc-ref outputs "out"))
|
||||
(jdk (assoc-ref outputs "jdk")))
|
||||
(copy-recursively "openjdk.build/docs" doc)
|
||||
(copy-recursively "openjdk.build/images/j2re-image" jre)
|
||||
(copy-recursively "openjdk.build/images/j2sdk-image" jdk)
|
||||
#t)))))))
|
||||
(native-inputs
|
||||
`(("jdk" ,icedtea-7 "jdk")
|
||||
("openjdk-src"
|
||||
,(drop "openjdk"
|
||||
"1141wfz6vz889f5naj7zdbyw42ibw0ixvkd808lfcrwxlgznyxlb"))
|
||||
("corba-drop"
|
||||
,(drop "corba"
|
||||
"0l3fmfw88hf8709z033az1x6wzmcb0jnakj2br1r721zw01i0da2"))
|
||||
("jaxp-drop"
|
||||
,(drop "jaxp"
|
||||
"1i1pvyrdkk3w8vcnk6kfcbsjkfpbbrcywiypdl39bf2ishixbaf0"))
|
||||
("jaxws-drop"
|
||||
,(drop "jaxws"
|
||||
"0f1kglci65zsfy8ygw5w2zza7v1280znihvls4kraz06dgsc2y73"))
|
||||
("jdk-drop"
|
||||
,(drop "jdk"
|
||||
"1pcwb1kjd1ph4jbv07icgk0fb8jqnck2y24qjfd7dzg7gm45c1am"))
|
||||
("langtools-drop"
|
||||
,(drop "langtools"
|
||||
"1jjil9s244wp0blj1qkzk7sy7y1jrxb4wq18c1rj2q2pa88n00i6"))
|
||||
("hotspot-drop"
|
||||
,(drop "hotspot"
|
||||
"1pl0cz1gja6z5zbywni1x1pj4qkh745fpj55fcmj4lpfj2p98my1"))
|
||||
("nashorn-drop"
|
||||
,(drop "nashorn"
|
||||
"1p0ynm2caraq1sal38qrrf42yah7j14c9vfwdv6h5h4rliahs177"))
|
||||
,@(fold alist-delete (package-native-inputs icedtea-7)
|
||||
'("gcj" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop"
|
||||
"jdk-drop" "langtools-drop" "hotspot-drop")))))))
|
||||
|
||||
(define-public icedtea icedtea-7)
|
||||
|
||||
(define-public java-xz
|
||||
(package
|
||||
(name "java-xz")
|
||||
(version "1.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://tukaani.org/xz/xz-java-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x6vn9dp9kxk83x2fp3394n95dk8fx9yg8jns9371iqsn0vy8ih1"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests to run.
|
||||
#:jar-name ,(string-append "xz-" version ".jar")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The unpack phase enters the "maven" directory by accident.
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "..") #t)))))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://tukaani.org/xz/java.html")
|
||||
(synopsis "Implementation of XZ data compression in pure Java")
|
||||
(description "This library aims to be a complete implementation of XZ data
|
||||
compression in pure Java. Single-threaded streamed compression and
|
||||
decompression and random access decompression have been fully implemented.")
|
||||
(license license:public-domain)))
|
||||
|
@ -27,7 +27,7 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define kde-frameworks-version "5.19.0")
|
||||
(define kde-frameworks-version "5.21.0")
|
||||
|
||||
(define-public extra-cmake-modules
|
||||
(package
|
||||
@ -41,7 +41,7 @@
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dl3hhbara7iswb5wsc5dp17ar3ljw5f0nrncl8vry9smaz2zl63"))))
|
||||
"1kbc5fkcbz9vkg0jpz10vsfgwajlrsmbl0vrbls5qvrdgbgrwlm3"))))
|
||||
;; The package looks for Qt5LinguistTools provided by Qt, but apparently
|
||||
;; compiles without it; it might be needed for building the
|
||||
;; documentation, which requires the additional Sphinx package.
|
||||
@ -66,7 +66,7 @@ common build settings used in software produced by the KDE community.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"115xs34r74j9zcsw69glnh8w59iyh764n3gniawwrk23c6yb8fch"))))
|
||||
"13lfwpw5a4in0mp5y8d15jg6xhhrka2qmw73wrdzcvj22n6ldzzi"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
@ -104,7 +104,7 @@ lower level classes for interaction with the X Windowing System.")
|
||||
name "5-"version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09vfwcyidj3bl0qr4sq78bkc69zp9x8dwp8bsay5y05q8591dkg0"))))
|
||||
"00qh1h3xx392hh73zdlknc1j9i2sck9ys74a9ffkf6an4rl0hws5"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -129,7 +129,7 @@ and freshness without requiring additional information from the user.")
|
||||
(sha256
|
||||
(base32
|
||||
"0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
|
||||
(patches (list (search-patch "ldc-disable-tests.patch")))))
|
||||
(patches (search-patches "ldc-disable-tests.patch"))))
|
||||
("druntime-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user