me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2018-06-21 15:52:26 +02:00
commit 4dfea1010a
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
34 changed files with 1127 additions and 396 deletions

26
NEWS
View File

@ -2,7 +2,7 @@
#+TITLE: Guix NEWS history of user-visible changes #+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars #+STARTUP: content hidestars
Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification, Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright are permitted in any medium without royalty provided the copyright
@ -14,19 +14,39 @@ Please send Guix bug reports to bug-guix@gnu.org.
** Package management ** Package management
*** guix pull has been overhauled; it now populates ~/.config/guix/current
*** guix pack now supports building SquashFS images *** guix pack now supports building SquashFS images
*** guix pack can now build relocatable tarballs *** guix pack can now build tarballs with relocatable executables
*** guix system gives more hints for common configuration errors
*** guix package no longer warns about harmless file collisions
*** guix weather now reports continuous integration statistics
*** guix import elpa has a new --recursive option
** Distribution ** Distribution
*** New initrd-modules field of operating-system
*** New file-system-label construct supersedes title field of file-system
*** Package for Python 2.x has been renamed from “python” to “python2”
*** RHEL6 systems based on kernel Linux 2.6 are supported again
*** New services *** New services
enlightenment enlightenment, qemu-binfmt
** Programming interfaces ** Programming interfaces
*** gnu-build-system now includes a bootstrap phase to run autoreconf
*** gnu-build-system dumps contents of test-suite.log upon test failures
*** New build systems: android-ndk
*** New (guix store database) and (guix store deduplication) modules
*** The guix-register C++ program no longer is
*** package-full-name (guix packages) now uses "@" as its delimiter. *** package-full-name (guix packages) now uses "@" as its delimiter.
(<https://bugs.gnu.org/31088>) (<https://bugs.gnu.org/31088>)
** Noteworthy bug fixes
** Native language support
*** the manual can now be translated and is partially translated into French
* Changes in 0.14.0 (since 0.13.0) * Changes in 0.14.0 (since 0.13.0)
** Package management ** Package management

View File

@ -939,6 +939,7 @@ dist_patch_DATA = \
%D%/packages/patches/mozjs38-shell-version.patch \ %D%/packages/patches/mozjs38-shell-version.patch \
%D%/packages/patches/mozjs38-tracelogger.patch \ %D%/packages/patches/mozjs38-tracelogger.patch \
%D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \
%D%/packages/patches/mumble-1.2.19-abs.patch \ %D%/packages/patches/mumble-1.2.19-abs.patch \
%D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
@ -962,6 +963,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \ %D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \ %D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \ %D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \
@ -1194,6 +1196,7 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \
%D%/packages/patches/x265-fix-ppc64le-build.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xdotool-fix-makefile.patch \ %D%/packages/patches/xdotool-fix-makefile.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
@ -1209,7 +1212,6 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \ %D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/libyaml-CVE-2014-9130.patch \
%D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \ %D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch %D%/packages/patches/zathura-plugindir-environment-variable.patch

View File

@ -2391,15 +2391,15 @@ tool for remote execution and deployment.")
(define-public neofetch (define-public neofetch
(package (package
(name "neofetch") (name "neofetch")
(version "4.0.2") (version "5.0.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/dylanaraps/neofetch/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/dylanaraps/neofetch")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(sha256 (sha256
(base32 (base32
"014hlbzs6j4b669b64hnq8vc5knwiv9ncw9m9d193p9jsybxpm1w")))) "0yzyi2p0d8xp576lxyv5m9h60dl1d5dmrn40aad307872835b9rr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; there are no tests `(#:tests? #f ; there are no tests
@ -2407,27 +2407,7 @@ tool for remote execution and deployment.")
(list (string-append "PREFIX=" %output)) (list (string-append "PREFIX=" %output))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-target-directories (delete 'configure)))) ; no configure script
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("\\$\\(DESTDIR\\)/etc/")
"$(PREFIX)/etc/"))
(substitute* "neofetch"
(("\"/etc/neofetch")
(string-append "\"" out "/etc/neofetch"))
(("\"/usr/share/neofetch")
(string-append "\"" out "/share/neofetch"))))
#t))
(delete 'configure) ; no configure script
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version))
(etc (string-append doc "/examples/etc")))
(zero? (apply system* `("make" ,@make-flags
,(string-append "SYSCONFDIR=" etc)
"install")))))))))
(home-page "https://github.com/dylanaraps/neofetch") (home-page "https://github.com/dylanaraps/neofetch")
(synopsis "System info script") (synopsis "System info script")
(description "Neofetch is a CLI system information tool written in Bash. (description "Neofetch is a CLI system information tool written in Bash.
@ -2669,7 +2649,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi")) (let ((real-name "inxi"))
(package (package
(name "inxi-minimal") (name "inxi-minimal")
(version "3.0.11-1") (version "3.0.12-1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2678,7 +2658,7 @@ Python loading in HPC environments.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"07wihl4gsamq98mhxvm6k4vpphym75467cxfa19b3g5ggpyq894g")))) "1a2sjz90gzzvhp63x89hs0a424rkd13qrff2njqmjxp322zyp527"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(inputs (inputs
`(("bash" ,bash) `(("bash" ,bash)

View File

@ -6939,13 +6939,13 @@ Bioconductor, CRAN, and Github.")
(define-public r-biocviews (define-public r-biocviews
(package (package
(name "r-biocviews") (name "r-biocviews")
(version "1.48.1") (version "1.48.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "biocViews" version)) (uri (bioconductor-uri "biocViews" version))
(sha256 (sha256
(base32 (base32
"1q5z6xxhjyibr165di7iyachw4gd4bdrxkd8rjkcklnngsrx1azm")))) "01yiafayl1m5704xdd2cn3zjc78rs10dqyz66lr3qkf6d8w66938"))))
(properties (properties
`((upstream-name . "biocViews"))) `((upstream-name . "biocViews")))
(build-system r-build-system) (build-system r-build-system)
@ -7083,14 +7083,14 @@ support for default values, positional argument support, etc.")
(define-public r-optparse (define-public r-optparse
(package (package
(name "r-optparse") (name "r-optparse")
(version "1.4.4") (version "1.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "optparse" version)) (uri (cran-uri "optparse" version))
(sha256 (sha256
(base32 (base32
"1ff4wmsszrb3spwfp7ynfs8w11qpy1sdzfxm1wk8dqqvdwris7qb")))) "1d7v5gl45x4amsfmzn5zyyffyqlc7a82h01szlnda22viyxids0h"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-getopt" ,r-getopt))) `(("r-getopt" ,r-getopt)))
@ -7587,13 +7587,13 @@ files.")
(define-public r-delayedarray (define-public r-delayedarray
(package (package
(name "r-delayedarray") (name "r-delayedarray")
(version "0.6.0") (version "0.6.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DelayedArray" version)) (uri (bioconductor-uri "DelayedArray" version))
(sha256 (sha256
(base32 (base32
"0n3w57cwy911q812wc8658y0v3xgpmg379sj98kfqdxa80z1mxdf")))) "0sjwszxdi0vkj2i2di5i46gh9chc660yr3gs5nk9qnqp77713zds"))))
(properties (properties
`((upstream-name . "DelayedArray"))) `((upstream-name . "DelayedArray")))
(build-system r-build-system) (build-system r-build-system)
@ -10070,14 +10070,14 @@ provide added flexibility for data combination and manipulation.")
(define-public r-complexheatmap (define-public r-complexheatmap
(package (package
(name "r-complexheatmap") (name "r-complexheatmap")
(version "1.18.0") (version "1.18.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ComplexHeatmap" version)) (uri (bioconductor-uri "ComplexHeatmap" version))
(sha256 (sha256
(base32 (base32
"0z57mrginzd40niy51dvnyqgbrij05ji0dbwqs3x2as80sq28i3q")))) "0qjwz1hzpjnc90jiinjkikfnr0shi72q3zfdjjz7pxydy0mglq8n"))))
(properties (properties
`((upstream-name . "ComplexHeatmap"))) `((upstream-name . "ComplexHeatmap")))
(build-system r-build-system) (build-system r-build-system)

View File

@ -424,6 +424,41 @@ the plog header-only C++ logging library, and a method to log to R's standard
error stream.") error stream.")
(license license:expat))) (license license:expat)))
(define-public r-pls
(package
(name "r-pls")
(version "2.6-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "pls" version))
(sha256
(base32
"15j59p5x0rkdrk7iqzkipsy50rsyjl31w8zxc4w3v1j5gzxhi1rx"))))
(build-system r-build-system)
(home-page "http://mevik.net/work/software/pls.html")
(synopsis "Partial Least Squares and Principal Component Regression")
(description
"The pls package implements multivariate regression methods: Partial Least
Squares Regression (@dfn{PLSR}), Principal Component Regression (@dfn{PCR}), and
Canonical Powered Partial Least Squares (@dfn{CPPLS}). It supports:
@itemize
@item several algorithms: the traditional orthogonal scores (@dfn{NIPALS}) PLS
algorithm, kernel PLS, wide kernel PLS, Simpls, and PCR through @code{svd}
@item multi-response models (or @dfn{PLS2})
@item flexible cross-validation
@item Jackknife variance estimates of regression coefficients
@item extensive and flexible plots: scores, loadings, predictions, coefficients,
(R)MSEP, R², and correlation loadings
@item formula interface, modelled after @code{lm()}, with methods for predict,
print, summary, plot, update, etc.
@item extraction functions for coefficients, scores, and loadings
@item MSEP, RMSEP, and R² estimates
@item multiplicative scatter correction (@dfn{MSC})
@end itemize\n")
(license license:gpl2)))
(define-public r-rcpp (define-public r-rcpp
(package (package
(name "r-rcpp") (name "r-rcpp")
@ -819,17 +854,19 @@ quantities.")
(define-public r-progress (define-public r-progress
(package (package
(name "r-progress") (name "r-progress")
(version "1.1.2") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "progress" version)) (uri (cran-uri "progress" version))
(sha256 (sha256
(base32 (base32
"1fxakchfjr5vj59s9sxynd7crpz97xj42438rmkhkf3rjpyspx59")))) "1rhwm0bdw30z3rvl0bn56xprjl3zrdy7150w4gl4bkvn2d6h9fav"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-prettyunits" ,r-prettyunits) `(("r-crayon" ,r-crayon)
("r-hms" ,r-hms)
("r-prettyunits" ,r-prettyunits)
("r-r6" ,r-r6))) ("r-r6" ,r-r6)))
(home-page "https://github.com/gaborcsardi/progress") (home-page "https://github.com/gaborcsardi/progress")
(synopsis "Terminal progress bars") (synopsis "Terminal progress bars")
@ -1714,14 +1751,14 @@ provides a one-row summary of model-level statistics.")
(define-public r-recipes (define-public r-recipes
(package (package
(name "r-recipes") (name "r-recipes")
(version "0.1.2") (version "0.1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "recipes" version)) (uri (cran-uri "recipes" version))
(sha256 (sha256
(base32 (base32
"1car3a3mqn87pz049cbgkaayz86970mvkapk6al2k7jjw76306l9")))) "1vqh3pxs4n1azhnd1lzg91vasya6g323kllhbrw177j7kdxqyimy"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-broom" ,r-broom) `(("r-broom" ,r-broom)
@ -1733,6 +1770,7 @@ provides a one-row summary of model-level statistics.")
("r-lubridate" ,r-lubridate) ("r-lubridate" ,r-lubridate)
("r-magrittr" ,r-magrittr) ("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix) ("r-matrix" ,r-matrix)
("r-pls" ,r-pls)
("r-purrr" ,r-purrr) ("r-purrr" ,r-purrr)
("r-rcpproll" ,r-rcpproll) ("r-rcpproll" ,r-rcpproll)
("r-rlang" ,r-rlang) ("r-rlang" ,r-rlang)
@ -1918,14 +1956,14 @@ analysis of multiply imputed data sets.")
(define-public r-mice (define-public r-mice
(package (package
(name "r-mice") (name "r-mice")
(version "3.0.0") (version "3.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "mice" version)) (uri (cran-uri "mice" version))
(sha256 (sha256
(base32 (base32
"1p8a5ham90iaak4w17114pdnw535r2l9sxr402yrkc4gbwfbpdlq")))) "0xpn215yfzib4hw09cwilnyg9zbvq460njavfvm84mvgwbm25byi"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-broom" ,r-broom) `(("r-broom" ,r-broom)
@ -2570,14 +2608,14 @@ iVAT).")
(define-public r-xfun (define-public r-xfun
(package (package
(name "r-xfun") (name "r-xfun")
(version "0.1") (version "0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "xfun" version)) (uri (cran-uri "xfun" version))
(sha256 (sha256
(base32 (base32
"1sm51gmwgw876d6d1q8smxmfgfh6zsnykfx8qp8z6jmh0fvd89pj")))) "0zl22fcw90kdvzkjyf6vbmdmn9rz3bl51522fasvmykypffyng4a"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/yihui/xfun") (home-page "https://github.com/yihui/xfun")
(synopsis "Miscellaneous functions") (synopsis "Miscellaneous functions")
@ -3540,14 +3578,14 @@ extracting and replacing data in arrays.")
(define-public r-prroc (define-public r-prroc
(package (package
(name "r-prroc") (name "r-prroc")
(version "1.3") (version "1.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "PRROC" version)) (uri (cran-uri "PRROC" version))
(sha256 (sha256
(base32 (base32
"03hvh92lq4i4w4mla9bvwrwb4626f4hvlxgdn57hamp70960vjyc")))) "1m28h8pcd78049lz2qixhkcr9h5b3jik3maqzfbvq9y58z71i4a7"))))
(properties `((upstream-name . "PRROC"))) (properties `((upstream-name . "PRROC")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/PRROC/") (home-page "https://cran.r-project.org/web/packages/PRROC/")

View File

@ -398,7 +398,7 @@ mapping from string keys to string values.")
(define-public memcached (define-public memcached
(package (package
(name "memcached") (name "memcached")
(version "1.5.6") (version "1.5.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -406,7 +406,7 @@ mapping from string keys to string values.")
"https://memcached.org/files/memcached-" version ".tar.gz")) "https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn")))) "1ppnhsqv9047vm0rrmqla56y972f8qqjdb780iz6v922jjcc723k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libevent" ,libevent) `(("libevent" ,libevent)

View File

@ -312,12 +312,12 @@ editor (without an X toolkit)" )
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-after 'unpack 'autogen (add-after 'unpack 'autogen
(lambda _ (lambda _
(zero? (system* "sh" "autogen.sh")))) (invoke "sh" "autogen.sh")))
;; Build sometimes fails: deps/dispnew.d: No such file or directory ;; Build sometimes fails: deps/dispnew.d: No such file or directory
(add-before 'build 'make-deps-dir (add-before 'build 'make-deps-dir
(lambda _ (lambda _
(zero? (system* "mkdir" "-p" "src/deps")))))))))) (invoke "mkdir" "-p" "src/deps")))))))))
;;; ;;;
@ -411,7 +411,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor (define-public emacs-with-editor
(package (package
(name "emacs-with-editor") (name "emacs-with-editor")
(version "2.7.2") (version "2.7.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -420,7 +420,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1jqi3axcs0cb1pcv1jxxc2a09v6psrm33wwl6hmyshzl8kbxs2mv")))) "1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash))) `(("emacs-dash" ,emacs-dash)))
@ -585,7 +585,7 @@ support for Git-SVN.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'make-info (add-before 'install 'make-info
(lambda _ (lambda _
(zero? (system* "make" "info"))))))) (invoke "make" "info"))))))
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
(propagated-inputs (propagated-inputs
@ -602,7 +602,7 @@ process, passing on the arguments as command line arguments.")
(define-public emacs-ghub (define-public emacs-ghub
(package (package
(name "emacs-ghub") (name "emacs-ghub")
(version "2.0.0") (version "2.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -611,14 +611,14 @@ process, passing on the arguments as command line arguments.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zrb3xk04a228g2ahx0r02d0d3xskj60q73qavvmm2i56r66cxvc")))) "0d0qj5r1bm2aidi61rigrdaycxnyb7y1ivb3h8rpvvapsf8sk7z0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'make-info (add-before 'install 'make-info
(lambda _ (lambda _
(zero? (system* "make" "info"))))))) (invoke "make" "info"))))))
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
(home-page "https://github.com/magit/ghub") (home-page "https://github.com/magit/ghub")
@ -702,8 +702,7 @@ only a handful of functions that are not resource-specific.")
files)) files))
(with-directory-excursion "doc" (with-directory-excursion "doc"
(unless (zero? (system* "makeinfo" "haskell-mode.texi")) (invoke "makeinfo" "haskell-mode.texi")
(error "makeinfo failed"))
(install-file "haskell-mode.info" info)) (install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md")) (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?")) (copy-to-dir el-dir (find-files "." "\\.elc?"))
@ -794,7 +793,7 @@ provides an optional IDE-like error list.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf (add-after 'unpack 'autoconf
(lambda _ (lambda _
(zero? (system* "autoconf")))) (invoke "autoconf")))
(add-before 'configure 'support-emacs! (add-before 'configure 'support-emacs!
(lambda _ (lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
@ -825,13 +824,13 @@ provides an optional IDE-like error list.")
#t))) #t)))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(and (zero? (system* "make" "install" "install-icons")) (invoke "make" "install" "install-icons")
(with-directory-excursion (with-directory-excursion
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp") "/share/emacs/site-lisp")
(for-each delete-file '("ChangeLog" "ChangeLog.1")) (for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el") (symlink "w3m-load.el" "w3m-autoloads.el")
#t))))))) #t))))))
(home-page "http://emacs-w3m.namazu.org/") (home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m") (synopsis "Simple Web browser for Emacs based on w3m")
(description (description
@ -1154,7 +1153,7 @@ than @code{electric-indent-mode}.")
(add-before 'install 'make-info (add-before 'install 'make-info
(lambda _ (lambda _
(with-directory-excursion "docs" (with-directory-excursion "docs"
(zero? (system* "make" "info"))))) (invoke "make" "info"))))
(add-after 'install 'install-info (add-after 'install 'install-info
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1455,13 +1454,12 @@ Maps directly inside Emacs.")
(substitute* "Makefile" (substitute* "Makefile"
(("\\/usr\\/bin\\/gzip") (("\\/usr\\/bin\\/gzip")
(string-append (assoc-ref inputs "gzip") "/bin/gzip"))) (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
(zero? (invoke "make"
(system* "make" "clean"
"clean" "info"
"info" (string-append "TEXINFODIR="
(string-append "TEXINFODIR=" (assoc-ref inputs "texinfo")
(assoc-ref inputs "texinfo") "/bin")))))
"/bin"))))))
(add-after 'install 'install-info (add-after 'install 'install-info
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1499,7 +1497,7 @@ diagrams.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'autogen (add-after 'unpack 'autogen
(lambda _ (lambda _
(zero? (system* "sh" "autogen.sh"))))))) (invoke "sh" "autogen.sh"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -1564,7 +1562,7 @@ filters, new key bindings and faces. It can be enabled by
(lambda _ (chdir "server") #t)) (lambda _ (chdir "server") #t))
(add-after 'enter-server-dir 'autogen (add-after 'enter-server-dir 'autogen
(lambda _ (lambda _
(zero? (system* "bash" "autogen.sh")))) (invoke "bash" "autogen.sh")))
;; Build emacs side using 'emacs-build-system'. ;; Build emacs side using 'emacs-build-system'.
(add-after 'compress-documentation 'enter-lisp-dir (add-after 'compress-documentation 'enter-lisp-dir
@ -1727,7 +1725,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(define-public emacs-d-mode (define-public emacs-d-mode
(package (package
(name "emacs-d-mode") (name "emacs-d-mode")
(version "2.0.8") (version "2.0.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1736,7 +1734,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0knpgi55jm09282aqf8pv55zillpnpzf9f4sgm6gwsmvxf17xaw0")))) "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-undercover" ,emacs-undercover))) `(("emacs-undercover" ,emacs-undercover)))
@ -2971,8 +2969,8 @@ in @code{html-mode}.")
(substitute* "Makefile" (substitute* "Makefile"
(("infodir=/usr/local/info") (("infodir=/usr/local/info")
(string-append "infodir=" info-dir))) (string-append "infodir=" info-dir)))
(system* "make" "html/index.html") (invoke "make" "html/index.html")
(system* "make" "slime.info") (invoke "make" "slime.info")
(install-file "slime.info" info-dir) (install-file "slime.info" info-dir)
(copy-recursively "html" (string-append doc-dir "/html"))) (copy-recursively "html" (string-append doc-dir "/html")))
(for-each (lambda (f) (for-each (lambda (f)
@ -3652,9 +3650,9 @@ automatically.")
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(info (string-append out "/share/info"))) (info (string-append out "/share/info")))
(with-directory-excursion "doc" (with-directory-excursion "doc"
(unless (zero? (system* "makeinfo" "ivy.texi")) (invoke "makeinfo" "ivy.texi")
(error "makeinfo failed")) (install-file "ivy.info" info)
(install-file "ivy.info" info)))))))) #t)))))))
(propagated-inputs (propagated-inputs
`(("emacs-hydra" ,emacs-hydra))) `(("emacs-hydra" ,emacs-hydra)))
(native-inputs (native-inputs
@ -4106,14 +4104,15 @@ programming language.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makeconf" (substitute* "Makeconf"
(("SHELL = /bin/sh") (("SHELL = /bin/sh")
(string-append "SHELL = " (which "sh")))))) (string-append "SHELL = " (which "sh"))))
#t))
;; FIXME: the texlive-union insists on regenerating fonts. It stores ;; FIXME: the texlive-union insists on regenerating fonts. It stores
;; them in HOME, so it needs to be writeable. ;; them in HOME, so it needs to be writeable.
(add-before 'build 'set-HOME (add-before 'build 'set-HOME
(lambda _ (setenv "HOME" "/tmp") #t)) (lambda _ (setenv "HOME" "/tmp") #t))
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "make" "test")))))))) (invoke "make" "test")))))))
(inputs (inputs
`(("emacs" ,emacs-minimal) `(("emacs" ,emacs-minimal)
("r-minimal" ,r-minimal))) ("r-minimal" ,r-minimal)))
@ -4727,36 +4726,38 @@ news items, openrc and runscripts.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-evil (define-public emacs-evil
(package (let ((commit "230b87212c81aaa68ef5547a6b998d9c365fe139"))
(name "emacs-evil") (package
(version "1.2.13") (name "emacs-evil")
(source (version (git-version "1.2.13" "1" commit))
(origin (source
(method url-fetch) (origin
(uri (string-append "https://github.com/emacs-evil/evil/archive/" (method git-fetch)
version ".tar.gz")) (uri (git-reference
(file-name (string-append name "-" version ".tar.gz")) (url "https://github.com/emacs-evil/evil")
(sha256 (commit commit)))
(base32 (file-name (string-append name "-" version "-checkout"))
"1z63zsxmsc6mh74wv6065carwqmgs7b7lz5044s12xvgsjfbwi8h")))) (sha256
(build-system emacs-build-system) (base32
(propagated-inputs "0c9zy3bpck10gcrv79kd3h7i4ygd5bgbgy773n0lg7a2r5kwn1gx"))))
`(("emacs-undo-tree" ,emacs-undo-tree) (build-system emacs-build-system)
("emacs-goto-chg" ,emacs-goto-chg))) (propagated-inputs
(home-page "https://github.com/emacs-evil/evil") `(("emacs-undo-tree" ,emacs-undo-tree)
(synopsis "Extensible Vi layer for Emacs") ("emacs-goto-chg" ,emacs-goto-chg)))
(description (home-page "https://github.com/emacs-evil/evil")
"Evil is an extensible vi layer for Emacs. It emulates the (synopsis "Extensible Vi layer for Emacs")
(description
"Evil is an extensible vi layer for Emacs. It emulates the
main features of Vim, and provides facilities for writing custom main features of Vim, and provides facilities for writing custom
extensions.") extensions.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public emacs-evil-collection (define-public emacs-evil-collection
(let ((commit "f40704a57fd33b4bfad64147a2b771fc8961fdfc") (let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837")
(revision "1")) (revision "1"))
(package (package
(name "emacs-evil-collection") (name "emacs-evil-collection")
(version (git-version "20180425" revision commit)) (version (git-version "20180617" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4765,7 +4766,7 @@ extensions.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0qn19k0f3isnbi1hkmcf3qjxbyvp23m5ak5ny7623qgwb2nwz1l5")))) "082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-evil" ,emacs-evil))) `(("emacs-evil" ,emacs-evil)))
@ -5866,7 +5867,7 @@ source file, @file{jl-encrypt.el}.")
(define-public emacs-htmlize (define-public emacs-htmlize
(package (package
(name "emacs-htmlize") (name "emacs-htmlize")
(version "1.51") (version "1.53")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5876,7 +5877,7 @@ source file, @file{jl-encrypt.el}.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1fy1lybzrxl8a8r88f6p19nz8ygmvcxhxbnymkxh7jqaz25viwld")))) "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/hniksic/emacs-htmlize") (home-page "https://github.com/hniksic/emacs-htmlize")
(synopsis "Convert buffer text and decorations to HTML") (synopsis "Convert buffer text and decorations to HTML")
@ -6149,13 +6150,13 @@ which code derived from Kelvin H's org-page.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'regenerate-el-files (add-after 'unpack 'regenerate-el-files
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "make" (invoke "make"
(string-append "PROTO_PATH=" (string-append "PROTO_PATH="
(assoc-ref inputs "xcb-proto") (assoc-ref inputs "xcb-proto")
"/share/xcb") "/share/xcb")
(string-append "EMACS_BIN=" (string-append "EMACS_BIN="
(assoc-ref inputs "emacs") (assoc-ref inputs "emacs")
"/bin/emacs -Q")))))))) "/bin/emacs -Q")))))))
(native-inputs `(("xcb-proto" ,xcb-proto))) (native-inputs `(("xcb-proto" ,xcb-proto)))
(home-page "https://github.com/ch11ng/xelb") (home-page "https://github.com/ch11ng/xelb")
(synopsis "X protocol Emacs Lisp binding") (synopsis "X protocol Emacs Lisp binding")
@ -8968,10 +8969,10 @@ confused by comments or @code{foo-bar} matching @code{foo}.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'check (add-before 'install 'check
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "emacs" "--batch" "-L" "." (invoke "emacs" "--batch" "-L" "."
"-l" "test/m-buffer-test.el" "-l" "test/m-buffer-test.el"
"-l" "test/m-buffer-at-test.el" "-l" "test/m-buffer-at-test.el"
"-f" "ert-run-tests-batch-and-exit"))))))) "-f" "ert-run-tests-batch-and-exit"))))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/phillord/m-buffer-el") (home-page "https://github.com/phillord/m-buffer-el")
(synopsis "List oriented buffer operations for Emacs") (synopsis "List oriented buffer operations for Emacs")
@ -10702,27 +10703,8 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-evil-ediff (define-public emacs-evil-ediff
(package ;; Evil-Ediff is included in Evil Collection from 20180617.
(name "emacs-evil-ediff") (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
(version "20170724")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/emacs-evil/evil-ediff/archive/"
"67b0e69f65c196eff5b39dacb7a9ec05bb919c74"
".tar.gz"))
(sha256
(base32
"0j2x26zfc6md54mjf76qpybil4yal70lp5bifcz62l1f8fc1vvlq"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-evil" ,emacs-evil)))
(home-page "https://github.com/emacs-evil/evil-ediff")
(synopsis "Make Ediff a little evil")
(description
"This Emacs package configures Ediff to be friendlier to users of Vi-like
keybindings. Consult the help buffer for more information.")
(license license:gpl3+)))
(define-public emacs-evil-magit (define-public emacs-evil-magit
(let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8")) (let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
@ -10754,30 +10736,8 @@ describing the key binding changes.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-evil-mu4e (define-public emacs-evil-mu4e
(package ;; Evil-mu4e is included in Evil Collection from 20180617.
(name "emacs-evil-mu4e") (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
(version "0.0.8")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/JorisE/evil-mu4e/archive/"
"c03a0e11afda3092eb1461be09fa6a61ebc0e4f6"
".tar.gz"))
(sha256
(base32
"1k3z5h04bqslrkq13paqf8pv9r0rf0zjl0zbb57ly043ds3nvxr2"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-evil" ,emacs-evil)
("mu" ,mu)))
(home-page "https://github.com/JorisE/evil-mu4e")
(synopsis "Evil-based key bindings for mu4e")
(description
"Use keybindings for the mu4e mail reader in Emacs that make sense for
Evil users.")
(license license:gpl3+)))
(define-public emacs-evil-multiedit (define-public emacs-evil-multiedit
(let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d")) (let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
@ -11292,3 +11252,34 @@ file.")
"@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and "@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and
apply those changes to the file buffer.") apply those changes to the file buffer.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-mu4e-conversation
(let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319"))
(package
(name "emacs-mu4e-conversation")
(version (git-version "20180615" "1" commit))
(source
(origin
(method url-fetch)
(uri (string-append
"https://gitlab.com/Ambrevar/mu4e-conversation/"
"repository/archive.tar.gz?ref="
commit))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0x8kmi0rmbaaxn5zicm1f9yb8ynxi8074hi2n0rvymlfpxbpn0ma"))))
(build-system emacs-build-system)
(propagated-inputs
`(("mu" ,mu)))
(home-page
"https://gitlab.com/Ambrevar/mu4e-conversation")
(synopsis
"Show a complete thread in a single buffer")
(description
"This package offers an alternate view to mu4e e-mail display. It
shows all e-mails of a thread in a single view, where each correspondant has
their own face. Threads can be displayed linearly (in which case e-mails are
displayed in chronological order) or as an Org document where the node tree
maps the thread tree.")
(license license:gpl3+))))

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com> ;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -74,6 +74,7 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@ -1233,3 +1234,40 @@ related games such as Heretic and Hexen. It comes with a 3d preview mode and
a 2D editor view.") a 2D editor view.")
(home-page "http://eureka-editor.sourceforge.net/") (home-page "http://eureka-editor.sourceforge.net/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public guile-chickadee
(package
(name "guile-chickadee")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/chickadee/"
"chickadee-" version ".tar.gz"))
(sha256
(base32
"10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")))
(propagated-inputs
`(("guile-opengl" ,guile-opengl)
("guile-sdl2" ,guile-sdl2)))
(inputs
`(("guile" ,guile-2.2)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(home-page "https://dthompson.us/projects/chickadee.html")
(synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
(description "Chickadee is a game development toolkit for Guile Scheme
built on top of SDL2 and OpenGL. Chickadee aims to provide all the features
that parenthetically inclined game developers need to make 2D (and eventually
3D) games in Scheme, such as:
@enumerate
@item extensible, fixed-timestep game loop
@item OpenGL-based rendering engine
@item keyboard, mouse, controller input
@item REPL-driven development model
@end enumerate\n")
(license license:gpl3+)))

View File

@ -461,7 +461,7 @@ automata. The following features are available:
(define-public meandmyshadow (define-public meandmyshadow
(package (package
(name "meandmyshadow") (name "meandmyshadow")
(version "0.4") (version "0.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/meandmyshadow/" (uri (string-append "mirror://sourceforge/meandmyshadow/"
@ -469,7 +469,7 @@ automata. The following features are available:
"-src.tar.gz")) "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"1dpb7s32b2psj5w3nr5kqibib8nndi86mw8gxp4hmxwrfiisf86d")))) "0wl5dc75qy001s6043cx0vr2l5y2qfv1cldqnwill9sfygqj9p95"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; there are no tests '(#:tests? #f ; there are no tests
@ -485,7 +485,7 @@ automata. The following features are available:
;; link with libX11, even though we're using the GL backend. ;; link with libX11, even though we're using the GL backend.
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
(("\\$\\{X11_LIBRARIES\\}") "-lX11")) (("\\$\\{X11_LIBRARIES\\}") "-lX11"))
))))) #t)))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -1616,23 +1616,20 @@ reference interpreter, using the Glk API.")
(define-public fizmo (define-public fizmo
(package (package
(name "fizmo") (name "fizmo")
(version "0.8.4") (version "0.8.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://christoph-ender.de/fizmo/source/" (uri (string-append "https://fizmo.spellbreaker.org/source/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1sd988db2302r7cbfcfghbmg8ck43c6hvnlnlpb0rqxb7pm9cwyy")))) "1amyc4n41jf08kxmdgkk30bzzx54miaxa97w28f417qwn8lrl98w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
(let ((libjpeg (assoc-ref %build-inputs "libjpeg")) (let ((libjpeg (assoc-ref %build-inputs "libjpeg"))
(ncurses (assoc-ref %build-inputs "ncurses"))) (ncurses (assoc-ref %build-inputs "ncurses")))
(list (string-append "jpeg_CFLAGS=-I" libjpeg "/include") (list (string-append "--with-jpeg-includedir=" libjpeg "/include")))))
(string-append "jpeg_LIBS=-ljpeg")
(string-append "ncursesw_CFLAGS=-I" ncurses "/include")
(string-append "ncursesw_LIBS=-lncursesw")))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -1643,7 +1640,7 @@ reference interpreter, using the Glk API.")
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("sdl2" ,sdl2))) ("sdl2" ,sdl2)))
(home-page "https://christoph-ender.de/fizmo/") (home-page "https://fizmo.spellbreaker.org/")
(synopsis "Z-machine interpreter") (synopsis "Z-machine interpreter")
(description (description
"Fizmo is a console-based Z-machine interpreter. It is used to play "Fizmo is a console-based Z-machine interpreter. It is used to play
@ -1679,7 +1676,7 @@ Protocol).")
(define-public extremetuxracer (define-public extremetuxracer
(package (package
(name "extremetuxracer") (name "extremetuxracer")
(version "0.7.4") (version "0.7.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1687,15 +1684,15 @@ Protocol).")
version "/etr-" version ".tar.xz")) version "/etr-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0d2j4ybdjmimg67v2fndgahgq4fvgz3fpfb3a4l1ar75n6hy776s")))) "1ly63316c07i0gyqqmyzsyvygsvygn0fpk3bnbg25fi6li99rlsg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("glu" ,glu) `(("glu" ,glu)
("sfml" ,sfml))) ("sfml" ,sfml)))
(synopsis "High speed arctic racing game based on Tux Racer") (synopsis "High-speed arctic racing game based on Tux Racer")
;; Snarfed straight from Debian ;; Snarfed straight from Debian.
(description "Extreme Tux Racer, or etracer as it is called for short, is (description "Extreme Tux Racer, or etracer as it is called for short, is
a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the
game is to slide down a snow- and ice-covered mountain as quickly as possible, game is to slide down a snow- and ice-covered mountain as quickly as possible,
@ -2411,19 +2408,21 @@ are only two levels to play with, but they are very addictive.")
(define-public pioneers (define-public pioneers
(package (package
(name "pioneers") (name "pioneers")
(version "15.4") (version "15.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/pio/" (uri (string-append "http://downloads.sourceforge.net/pio/"
"pioneers-" version ".tar.gz")) "pioneers-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1p1d18hrfmqcnghip3shkzcs5qkz6j99jvkdkqfi7pqdvjc323cs")))) "037gdiiw690jw3wd1s9lxmkqx0caxyk0b4drpm7i9p28gig43q9y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+) (inputs `(("avahi" ,avahi)
("librsvg" ,librsvg) ("gtk+" ,gtk+)
("avahi" ,avahi))) ("librsvg" ,librsvg)))
(native-inputs `(("intltool" ,intltool) (native-inputs `(("intltool" ,intltool)
("itstool" ,itstool)
("libxml2" ,libxml2)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(synopsis "Board game inspired by The Settlers of Catan") (synopsis "Board game inspired by The Settlers of Catan")
(description "Pioneers is an emulation of the board game The Settlers of (description "Pioneers is an emulation of the board game The Settlers of
@ -3252,6 +3251,74 @@ application that locks the keyboard and mouse and instead displays bright
colors, pictures, and sounds.") colors, pictures, and sounds.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public mrrescue
(package
(name "mrrescue")
(version "1.02e")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/SimonLarsen/mrrescue/releases/"
"download/" version "/" name version ".love"))
(file-name (string-append name "-" version ".love"))
(sha256
(base32
"0jwzbwkgp1l5ia6c7s760gmdirbsncp6nfqp7vqdqsfb63la9gl2"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(script (string-append out "/bin/" ,name))
(data (string-append out "/share/" ,name))
(source (assoc-ref %build-inputs "source"))
(unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip"))
(patch (string-append (assoc-ref %build-inputs "patch")
"/bin/patch"))
(bash (string-append (assoc-ref %build-inputs "bash")
"/bin/bash"))
(love (string-append (assoc-ref %build-inputs "love")
"/bin/love")))
(mkdir-p (dirname script))
(with-output-to-file script
(lambda ()
(format #t "#!~a~%" bash)
(format #t "exec -a ~a \"~a\" \"~a\"~%" ,name love data)))
(chmod script #o755)
;; The better way to package this game would be to install *only* the
;; script above, pointing to the unextracted .love file in the store.
;; However, mrrescue 1.02e needs to be patched to work with Love 11.
;; Instead of extracting the .love file, patching it, and re-zipping
;; it to the store, simply point the script to the extracted patched
;; data directory directly.
(mkdir-p data)
(with-directory-excursion data
(invoke unzip source)
(invoke patch "-p1" "-i"
(assoc-ref %build-inputs "love-11.patch")))
#t))))
(native-inputs
`(("unzip" ,unzip)
("patch" ,patch)
("love-11.patch" ,(search-patch "mrrescue-support-love-11.patch"))))
(inputs
`(("bash" ,bash)
("love" ,love)))
(home-page "http://tangramgames.dk/games/mrrescue")
(synopsis "Arcade-style fire fighting game")
(description
"Mr. Rescue is an arcade styled 2d action game centered around evacuating
civilians from burning buildings. The game features fast-paced fire
extinguishing action, intense boss battles, a catchy soundtrack, and lots of
throwing people around in pseudo-randomly generated buildings.")
(license (list license:zlib ; for source code
license:cc-by-sa3.0)))) ; for graphics and music assets
(define-public hyperrogue (define-public hyperrogue
(package (package
(name "hyperrogue") (name "hyperrogue")
@ -4475,7 +4542,7 @@ Tales of MajEyal offers engaging roguelike gameplay for the 21st century.")
(define-public quakespasm (define-public quakespasm
(package (package
(name "quakespasm") (name "quakespasm")
(version "0.93.0") (version "0.93.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4483,7 +4550,7 @@ Tales of MajEyal offers engaging roguelike gameplay for the 21st century.")
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 (base32
"0b2nz7w4za32pc34r62ql270z692qcjs2pm0i3svkxkvfammhdfq")))) "1bimv18f6rzhyjz78yvw2vqr5n0kdqbcqmq7cb3m951xgsxfcgpd"))))
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:make-flags '("CC=gcc" #:make-flags '("CC=gcc"

View File

@ -6486,6 +6486,12 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(substitute* '("Makefile.am") (substitute* '("Makefile.am")
(("\\$\\(DESTDIR\\)/usr/share") (("\\$\\(DESTDIR\\)/usr/share")
"$(datadir)")) "$(datadir)"))
#t))
(add-after 'unpack 'disable-configure-during-bootstrap
(lambda _
;; Do not run configure as part of autogen.sh because references
;; to /bin are not fixed yet.
(setenv "NOCONFIGURE" "y")
#t))))) #t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -6535,6 +6541,14 @@ simple and consistent.")
(base32 (base32
"1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b")))) "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-configure-during-bootstrap
(lambda _
(substitute* "autogen.sh"
(("^\"\\$srcdir/configure\".*") ""))
#t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake))) ("automake" ,automake)))
@ -7273,7 +7287,7 @@ mp3, Ogg Vorbis and FLAC")
("libxtst" ,libxtst) ("libxtst" ,libxtst)
("dconf" ,dconf) ("dconf" ,dconf)
("libice" ,libice))) ("libice" ,libice)))
(inputs `(("libsm", libsm) (inputs `(("libsm" ,libsm)
("python-cheetah" ,python2-cheetah))) ("python-cheetah" ,python2-cheetah)))
(native-inputs `(("glib" ,glib "bin") (native-inputs `(("glib" ,glib "bin")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)

View File

@ -1702,3 +1702,92 @@ with the
@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html, @uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
GNU extensions} to the POSIX recommendations for command-line options.") GNU extensions} to the POSIX recommendations for command-line options.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public go-github-com-sirupsen-logrus
(package
(name "go-github-com-sirupsen-logrus")
(version "1.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sirupsen/logrus.git")
(commit (string-append "v" version))))
(sha256
(base32
"0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)
("go-github-com-stretchr-testify"
,go-github-com-stretchr-testify)
("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)))
(arguments
'(#:tests? #f ;FIXME missing dependencies
#:import-path "github.com/sirupsen/logrus"))
(home-page "https://github.com/sirupsen/logrus")
(synopsis "Structured, pluggable logging for Go")
(description "Logrus is a structured logger for Go, completely API
compatible with the standard library logger.")
(license license:expat)))
(define-public go-github-com-kardianos-osext
(let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
(revision "1"))
(package
(name "go-github-com-kardianos-osext")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kardianos/osext")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/kardianos/osext"
;; The tests are flaky:
;; <https://github.com/kardianos/osext/issues/21>
#:tests? #f))
(synopsis "Find the running executable")
(description "Osext provides a method for finding the current executable
file that is running. This can be used for upgrading the current executable or
finding resources located relative to the executable file.")
(home-page "https://github.com/kardianos/osext")
(license license:bsd-3))))
(define-public go-github-com-ayufan-golang-kardianos-service
(let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
(revision "0"))
(package
(name "go-github-com-ayufan-golang-kardianos-service")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/ayufan/golang-kardianos-service.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
(build-system go-build-system)
(native-inputs
`(("go-github-com-kardianos-osext"
,go-github-com-kardianos-osext)))
(arguments
'(#:tests? #f ;FIXME tests fail: Service is not running.
#:import-path "github.com/ayufan/golang-kardianos-service"))
(home-page "https://github.com/ayufan/golang-kardianos-service")
(synopsis "Go interface to a variety of service supervisors")
(description "This package provides @code{service}, a Go module that can
run programs as a service using a variety of supervisors, including systemd,
SysVinit, and more.")
(license license:zlib))))

View File

@ -3625,7 +3625,7 @@ complex transformations and code analysis tools.")
`(("java-aqute-bndlib" ,java-aqute-bndlib-bootstrap) `(("java-aqute-bndlib" ,java-aqute-bndlib-bootstrap)
("java-aqute-libg" ,java-aqute-libg-bootstrap) ("java-aqute-libg" ,java-aqute-libg-bootstrap)
,@(delete `("java-aqute-bndlib" ,java-aqute-bndlib) ,@(delete `("java-aqute-bndlib" ,java-aqute-bndlib)
(delete `("java-aqute-libg", java-aqute-libg) (delete `("java-aqute-libg" ,java-aqute-libg)
(package-inputs java-asm))))))) (package-inputs java-asm)))))))
(define-public java-cglib (define-public java-cglib

View File

@ -1405,7 +1405,7 @@ logging support.")))
;; tests ;; tests
("java-plexus-cipher" ,java-plexus-cipher) ("java-plexus-cipher" ,java-plexus-cipher)
("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher) ("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
("java-jsr250", java-jsr250) ("java-jsr250" ,java-jsr250)
("java-cdi-api" ,java-cdi-api) ("java-cdi-api" ,java-cdi-api)
("java-junit" ,java-junit) ("java-junit" ,java-junit)
("maven-resolver-impl" ,maven-resolver-impl) ("maven-resolver-impl" ,maven-resolver-impl)
@ -1463,7 +1463,7 @@ layer for plugins that need to keep Maven2 compatibility.")))
("maven-settings" ,maven-settings) ("maven-settings" ,maven-settings)
("maven-settings-builder" ,maven-settings-builder) ("maven-settings-builder" ,maven-settings-builder)
("maven-plugin-api" ,maven-plugin-api) ("maven-plugin-api" ,maven-plugin-api)
("maven-repository-metadata", maven-repository-metadata) ("maven-repository-metadata" ,maven-repository-metadata)
("maven-shared-utils" ,maven-shared-utils) ("maven-shared-utils" ,maven-shared-utils)
("maven-resolver-api" ,maven-resolver-api) ("maven-resolver-api" ,maven-resolver-api)
("maven-resolver-spi" ,maven-resolver-spi) ("maven-resolver-spi" ,maven-resolver-spi)

View File

@ -22,10 +22,12 @@
(define-module (gnu packages monitoring) (define-module (gnu packages monitoring)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages check) #:use-module (gnu packages check)
@ -295,3 +297,27 @@ WSGI and the node exporter textfile collector.")
(define-public python2-prometheus-client (define-public python2-prometheus-client
(package-with-python2 python-prometheus-client)) (package-with-python2 python-prometheus-client))
(define-public go-github-com-prometheus-node-exporter
(let ((commit "55c32fcf02492fe4946f7ab563547cc5df7fc61e")
(revision "0"))
(package
(name "go-github-com-prometheus-node-exporter")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/node_exporter.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"041b87a0sid23c29swqmi5hw6cxbxvkfj3415jg73cm2pi8wh5s6"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/node_exporter"))
(synopsis "Prometheus exporter for hardware and OS metrics")
(description "Prometheus exporter for metrics exposed by *NIX kernels,
written in Go with pluggable metric collectors.")
(home-page "https://github.com/prometheus/node_exporter")
(license license:asl2.0))))

View File

@ -1776,7 +1776,7 @@ file for more details.")
`(("zlib" ,zlib) `(("zlib" ,zlib)
("crypto++" ,crypto++) ("crypto++" ,crypto++)
("libpng" ,libpng) ("libpng" ,libpng)
("wxwidgets-gtk2", wxwidgets-gtk2))) ("wxwidgets-gtk2" ,wxwidgets-gtk2)))
(home-page "http://amule.org/") (home-page "http://amule.org/")
(synopsis "Peer-to-peer client for the eD2K and Kademlia networks") (synopsis "Peer-to-peer client for the eD2K and Kademlia networks")
(description (description

View File

@ -135,7 +135,8 @@
(patches (patches
(search-patches (search-patches
"ocaml-CVE-2015-8869.patch" "ocaml-CVE-2015-8869.patch"
"ocaml-Add-a-.file-directive.patch")))) "ocaml-Add-a-.file-directive.patch"
"ocaml-enable-ocamldoc-reproducibility.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification

View File

@ -1,30 +0,0 @@
Fixes CVE-2014-9130
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9130
Upstream source:
https://bitbucket.org/xi/libyaml/commits/2b9156756423e967cfd09a61d125d883fca6f4f2
# HG changeset patch
# User Kirill Simonov <xi@resolvent.net>
# Date 1417197312 21600
# Node ID 2b9156756423e967cfd09a61d125d883fca6f4f2
# Parent 053f53a381ff6adbbc93a31ab7fdee06a16c8a33
Removed invalid simple key assertion (thank to Jonathan Gray).
diff --git a/src/scanner.c b/src/scanner.c
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -1106,13 +1106,6 @@
&& parser->indent == (ptrdiff_t)parser->mark.column);
/*
- * A simple key is required only when it is the first token in the current
- * line. Therefore it is always allowed. But we add a check anyway.
- */
-
- assert(parser->simple_key_allowed || !required); /* Impossible. */
-
- /*
* If the current position may start a simple key, save it.
*/

View File

@ -0,0 +1,213 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Tue, 19 Jun 2018 04:37:46 +0200
Subject: gnu: mrrescue: Support Love 11.
The patch below was copied verbatim from an as-yet-unmerged PR[0] to
make Mr. Rescue run on a newer version of the Löve engine.
[0]: https://github.com/SimonLarsen/mrrescue/pull/17
---
From ab23031e0c2faecb77fde1be8a41d6f8ea4e6eda Mon Sep 17 00:00:00 2001
From: Mystro256 <alexjnewt@hotmail.com>
Date: Sun, 10 Jun 2018 21:19:23 -0400
Subject: [PATCH] Love 11 support
---
conf.lua | 2 +-
config.lua | 6 +++---
highscore_entry.lua | 4 ++--
highscore_list.lua | 4 ++--
ingame.lua | 6 +++---
ingame_menu.lua | 4 ++--
joystick.lua | 4 ++--
main.lua | 2 +-
resources.lua | 4 ++--
util.lua | 4 ++--
10 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/conf.lua b/conf.lua
index 8776da4..f00b216 100644
--- a/conf.lua
+++ b/conf.lua
@@ -1,6 +1,6 @@
function love.conf(t)
t.identity = "mrrescue"
- t.version = "0.10.0"
+ t.version = "11.0"
t.console = false
t.accelerometerjoystick = true
t.gammacorrect = false
diff --git a/config.lua b/config.lua
index 63eeb04..71c2b66 100644
--- a/config.lua
+++ b/config.lua
@@ -38,7 +38,7 @@ function loadConfig()
config[i] = v
end
end
- if love.filesystem.exists("settings") then
+ if love.filesystem.getInfo("settings")~= nil then
local data = love.filesystem.read("settings")
local file = TSerial.unpack(data)
for i,v in pairs(file) do
@@ -52,7 +52,7 @@ function loadConfig()
end
function loadHighscores()
- if love.filesystem.exists("highscores") then
+ if love.filesystem.getInfo("highscores")~= nil then
local data = love.filesystem.read("highscores")
local file = TSerial.unpack(data)
for i=1,3 do
@@ -64,7 +64,7 @@ function loadHighscores()
end
function loadStats()
- if love.filesystem.exists("stats") then
+ if love.filesystem.getInfo("stats")~= nil then
local data = love.filesystem.read("stats")
stats = TSerial.unpack(data)
end
diff --git a/highscore_entry.lua b/highscore_entry.lua
index 2f763af..3b3bb73 100644
--- a/highscore_entry.lua
+++ b/highscore_entry.lua
@@ -45,9 +45,9 @@ function highscore_entry.draw()
for ix = 1,10 do
if highscore_entry.selection == char then
lg.rectangle("fill", 33+ix*16, 66+iy*16, 14, 14)
- lg.setColor(0,0,0,255)
+ lg.setColor(0,0,0,1)
lg.print(KEYBOARD:sub(char,char), 37+ix*16, 70+iy*16)
- lg.setColor(255,255,255,255)
+ lg.setColor(1,1,1,1)
else
lg.print(KEYBOARD:sub(char,char), 37+ix*16, 70+iy*16)
end
diff --git a/highscore_list.lua b/highscore_list.lua
index 6a17973..b66d0e2 100644
--- a/highscore_list.lua
+++ b/highscore_list.lua
@@ -31,10 +31,10 @@ function highscore_list.draw()
if scores[i] then
if highscore_list.level == highscore_list.hllevel
and highscore_list.hlpos == i then
- lg.setColor(25,118,115,255)
+ lg.setColor(25/255,118/255,115/255,1)
lg.print(scores[i].name, 48, 14+i*16)
lg.print(scores[i].score, 105, 14+i*16)
- lg.setColor(255,255,255,255)
+ lg.setColor(1,1,1,1)
else
lg.print(scores[i].name, 48, 14+i*16)
lg.print(scores[i].score, 105, 14+i*16)
diff --git a/ingame.lua b/ingame.lua
index 52004f1..f5c6f7c 100644
--- a/ingame.lua
+++ b/ingame.lua
@@ -189,16 +189,16 @@ function ingame.draw()
lg.pop()
if map.type == MT_NORMAL then
- lg.setBlendMode("multiply")
+ lg.setBlendMode("multiply", "premultiplied")
lg.draw(canvas, 0,0)
lg.setBlendMode("alpha")
end
-- Draw red screen if hit
if player.heat > 0 then
- lg.setColor(255,255,255,cap(player.heat*255, 16, 255))
+ lg.setColor(1,1,1,cap(player.heat*255, 16, 255)/255)
lg.draw(img.red_screen, quad.red_screen, 0,0)
- lg.setColor(255,255,255,255)
+ lg.setColor(1,1,1,1)
end
-- Draw hud
diff --git a/ingame_menu.lua b/ingame_menu.lua
index 9fcf768..82a8459 100644
--- a/ingame_menu.lua
+++ b/ingame_menu.lua
@@ -18,10 +18,10 @@ function ingame_menu.draw()
lg.pop()
lg.scale(config.scale)
- lg.setColor(0,0,0,238)
+ lg.setColor(0,0,0,238/255)
lg.rectangle("fill", 0, 0, WIDTH, HEIGHT)
- lg.setColor(255,255,255,255)
+ lg.setColor(1,1,1,1)
lg.printf("PAUSED", 0, 46, WIDTH, "center")
lg.print("RESUME", 103, 92)
lg.print("QUIT", 103, 106)
diff --git a/joystick.lua b/joystick.lua
index 50ccadb..72d545e 100644
--- a/joystick.lua
+++ b/joystick.lua
@@ -22,11 +22,11 @@ function joystick.draw()
lg.printf("SET JOYSTICK", 0, 39, WIDTH, "center")
for i=1,4 do
if joystick.waiting == true and joystick.selection == i then
- lg.setColor(195,52,41)
+ lg.setColor(195/255,52/255,41/255)
end
lg.print(string.upper(joykeynames[i]), 65, 53+i*13)
lg.print(config.joykeys[joykeynames[i]], 165, 53+i*13)
- lg.setColor(255,255,255)
+ lg.setColor(1,1,1)
end
lg.print("DEFAULT", 65, 118)
lg.print("BACK", 65, 131)
diff --git a/main.lua b/main.lua
index 9433e42..56096fa 100644
--- a/main.lua
+++ b/main.lua
@@ -273,7 +273,7 @@ function love.releaseerrhand(msg)
local font = love.graphics.newFont(14)
love.graphics.setFont(font)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
love.graphics.clear()
diff --git a/resources.lua b/resources.lua
index e5aa70d..1bab520 100644
--- a/resources.lua
+++ b/resources.lua
@@ -7,7 +7,7 @@ local snd = {} -- sound Sources
local IMAGE_FILES = {
"splash", "tangram", "lovesplashpixel", "howto",
- "tiles", "door", "boldfont", "captain_dialog", "captain_dialog_sad",
+ "tiles", "door", "captain_dialog", "captain_dialog_sad",
"boss_health", "highscore_panes", "exclamation", "stats_screen",
"awards", "hud", "hud2", "hud_people", "item_slots", "water_bar",
"reserve_bar", "overloaded_bar", "temperature_bar", "temperature_bar_blink",
@@ -147,7 +147,7 @@ function loadResources()
img.stream:setWrap("repeat", "clamp")
-- Create fonts
- font.bold = lg.newImageFont(img.boldfont, " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,!'-:*@<>+/_$&?", 2)
+ font.bold = lg.newImageFont("data/boldfont.png", " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,!'-:*@<>+/_$&?", 2)
lg.setFont(font.bold)
-- Create quads
diff --git a/util.lua b/util.lua
index b9976da..656600a 100644
--- a/util.lua
+++ b/util.lua
@@ -105,9 +105,9 @@ end
function drawBox(x,y,w,h)
- lg.setColor(30,23,18)
+ lg.setColor(30/255,23/255,18/255)
lg.rectangle("fill",x+1,y+1,w-2,h-2)
- lg.setColor(255,255,255)
+ lg.setColor(1,1,1)
-- Draw sides
lg.draw(img.menu_box, quad.box_left, x, y+1, 0, 1, (h-2))
lg.draw(img.menu_box, quad.box_left, x+w, y+1, 0, -1, (h-2))

View File

@ -0,0 +1,149 @@
From a87c3f20e846c00e53d695497dba7038edbd12f0 Mon Sep 17 00:00:00 2001
From: Valentin Lorentz <progval@progval.net>
Date: Thu, 13 Aug 2015 11:59:04 +0200
Subject: [PATCH] Enable ocamldoc to build reproducible manpages
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794586
Signed-off-by: Stephane Glondu <steph@glondu.net>
---
ocamldoc/odoc_man.ml | 15 +++++----------
ocamldoc/odoc_misc.ml | 12 ++++++++++--
ocamldoc/odoc_misc.mli | 7 ++++++-
3 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/ocamldoc/odoc_man.ml b/ocamldoc/odoc_man.ml
index 615c5e172..3c85aa32a 100644
--- a/ocamldoc/odoc_man.ml
+++ b/ocamldoc/odoc_man.ml
@@ -864,14 +864,13 @@ class man =
(** Generate the man page for the given class.*)
method generate_for_class cl =
Odoc_info.reset_type_names () ;
- let date = Unix.time () in
let file = self#file_name cl.cl_name in
try
let chanout = self#open_out file in
let b = new_buf () in
bs b (".TH \""^cl.cl_name^"\" ");
bs b !man_section ;
- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
+ bs b (" source: "^Odoc_misc.current_date^" ");
bs b "OCamldoc ";
bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
@@ -923,14 +922,13 @@ class man =
(** Generate the man page for the given class type.*)
method generate_for_class_type ct =
Odoc_info.reset_type_names () ;
- let date = Unix.time () in
let file = self#file_name ct.clt_name in
try
let chanout = self#open_out file in
let b = new_buf () in
bs b (".TH \""^ct.clt_name^"\" ");
bs b !man_section ;
- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
+ bs b (" source: "^Odoc_misc.current_date^" ");
bs b "OCamldoc ";
bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
@@ -1016,14 +1014,13 @@ class man =
(** Generate the man file for the given module type.
@raise Failure if an error occurs.*)
method generate_for_module_type mt =
- let date = Unix.time () in
let file = self#file_name mt.mt_name in
try
let chanout = self#open_out file in
let b = new_buf () in
bs b (".TH \""^mt.mt_name^"\" ");
bs b !man_section ;
- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
+ bs b (" source: "^Odoc_misc.current_date^" ");
bs b "OCamldoc ";
bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
@@ -1099,14 +1096,13 @@ class man =
(** Generate the man file for the given module.
@raise Failure if an error occurs.*)
method generate_for_module m =
- let date = Unix.time () in
let file = self#file_name m.m_name in
try
let chanout = self#open_out file in
let b = new_buf () in
bs b (".TH \""^m.m_name^"\" ");
bs b !man_section ;
- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
+ bs b (" source: "^Odoc_misc.current_date^" ");
bs b "OCamldoc ";
bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
@@ -1206,14 +1202,13 @@ class man =
| Res_const (_,f) -> f.vc_name
)
in
- let date = Unix.time () in
let file = self#file_name name in
try
let chanout = self#open_out file in
let b = new_buf () in
bs b (".TH \""^name^"\" ");
bs b !man_section ;
- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
+ bs b (" source: "^Odoc_misc.current_date^" ");
bs b "OCamldoc ";
bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
bs b ".SH NAME\n";
diff --git a/ocamldoc/odoc_misc.ml b/ocamldoc/odoc_misc.ml
index 4c74476da..456225f62 100644
--- a/ocamldoc/odoc_misc.ml
+++ b/ocamldoc/odoc_misc.ml
@@ -223,9 +223,9 @@ let apply_opt f v_opt =
None -> None
| Some v -> Some (f v)
-let string_of_date ?(hour=true) d =
+let string_of_date ?(absolute=false) ?(hour=true) d =
let add_0 s = if String.length s < 2 then "0"^s else s in
- let t = Unix.localtime d in
+ let t = (if absolute then Unix.gmtime else Unix.localtime) d in
(string_of_int (t.Unix.tm_year + 1900))^"-"^
(add_0 (string_of_int (t.Unix.tm_mon + 1)))^"-"^
(add_0 (string_of_int t.Unix.tm_mday))^
@@ -238,6 +238,14 @@ let string_of_date ?(hour=true) d =
""
)
+let current_date =
+ let time =
+ try
+ float_of_string (Sys.getenv "SOURCE_DATE_EPOCH")
+ with
+ Not_found -> Unix.time ()
+ in string_of_date ~absolute: true ~hour: false time
+
let rec text_list_concat sep l =
match l with
diff --git a/ocamldoc/odoc_misc.mli b/ocamldoc/odoc_misc.mli
index dd5a7fcb9..38ff0612b 100644
--- a/ocamldoc/odoc_misc.mli
+++ b/ocamldoc/odoc_misc.mli
@@ -62,7 +62,12 @@ val apply_opt : ('a -> 'b) -> 'a option -> 'b option
(** Return a string representing a date given as a number of seconds
since 1970. The hour is optionnaly displayed. *)
-val string_of_date : ?hour:bool -> float -> string
+val string_of_date : ?absolute:bool -> ?hour:bool -> float -> string
+
+(* Value returned by string_of_date for current time.
+ * Uses environment variable SOURCE_DATE_EPOCH if set; falls back to
+ * current timestamp otherwise. *)
+val current_date : string
(** Return the first sentence (until the first dot) of a text.
Don't stop in the middle of [Code], [Verbatim], [List], [Lnum],
--
2.17.1

View File

@ -0,0 +1,25 @@
https://sources.debian.org/data/main/x/x265/2.8-3/debian/patches/0003-Fix-build-error-on-on-ppc64le.patch
This patch also fixes building on armhf-linux and aarch64-linux
From: Jayashree <jayashree.c@multicorewareinc.com>
Date: Fri, 25 May 2018 10:26:05 +0530
Subject: Fix build error on on ppc64le
---
source/common/param.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/common/param.cpp b/source/common/param.cpp
index 31bcbc7..4a6d0c8 100644
--- a/source/common/param.cpp
+++ b/source/common/param.cpp
@@ -633,7 +633,7 @@ int x265_param_parse(x265_param* p, const char* name, const char* value)
if (bValueWasNull)
p->cpuid = atobool(value);
else
- p->cpuid = parseCpuName(value, bError);
+ p->cpuid = parseCpuName(value, bError, false);
#endif
}
OPT("fps")

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -503,7 +504,16 @@ sound and device input (keyboards, joysticks, mice, etc.).")
(string-append "--with-libsdl2-ttf-prefix=" (string-append "--with-libsdl2-ttf-prefix="
(assoc-ref %build-inputs "sdl2-ttf")) (assoc-ref %build-inputs "sdl2-ttf"))
(string-append "--with-libsdl2-mixer-prefix=" (string-append "--with-libsdl2-mixer-prefix="
(assoc-ref %build-inputs "sdl2-mixer"))))) (assoc-ref %build-inputs "sdl2-mixer")))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-makefile
(lambda _
;; Install compiled Guile files in the expected place.
(substitute* '("Makefile")
(("^godir = .*$")
"godir = $(moddir)\n"))
#t)))))
(native-inputs (native-inputs
`(("guile" ,guile-2.2) `(("guile" ,guile-2.2)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))

View File

@ -532,14 +532,14 @@ nonlinear mixed-effects models.")
(define-public r-mgcv (define-public r-mgcv
(package (package
(name "r-mgcv") (name "r-mgcv")
(version "1.8-23") (version "1.8-24")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "mgcv" version)) (uri (cran-uri "mgcv" version))
(sha256 (sha256
(base32 (base32
"1lsrhf1yzn25pfn3f5x8yxjqnfryim4jx3iqd7ah8aalh5asqwbp")))) "15b76m1f0hz8dbmj9shqvslihdx5b7c48vck9grj5xs1z2y45r9c"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-matrix" ,r-matrix) `(("r-matrix" ,r-matrix)

View File

@ -490,34 +490,6 @@ address of the default LAN gateway.")
(home-page "https://github.com/jackpal/gateway") (home-page "https://github.com/jackpal/gateway")
(license bsd-3)))) (license bsd-3))))
(define-public go-github-com-kardianos-osext
(let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
(revision "1"))
(package
(name "go-github-com-kardianos-osext")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kardianos/osext")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/kardianos/osext"
;; The tests are flaky:
;; <https://github.com/kardianos/osext/issues/21>
#:tests? #f))
(synopsis "Find the running executable")
(description "Osext provides a method for finding the current executable
file that is running. This can be used for upgrading the current executable or
finding resources located relative to the executable file.")
(home-page "https://github.com/kardianos/osext")
(license bsd-3))))
(define-public go-github-com-lib-pq (define-public go-github-com-lib-pq
(let ((commit "83612a56d3dd153a94a629cd64925371c9adad78") (let ((commit "83612a56d3dd153a94a629cd64925371c9adad78")
(revision "1")) (revision "1"))

View File

@ -1999,7 +1999,7 @@ directory full of HOWTOs.")
(define-public git-annex (define-public git-annex
(package (package
(name "git-annex") (name "git-annex")
(version "6.20170818") (version "6.20180529")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2007,7 +2007,7 @@ directory full of HOWTOs.")
"git-annex/git-annex-" version ".tar.gz")) "git-annex/git-annex-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ybxixbqvy4rx6mq9s02rh349rbr04hb17z4bfayin0qwa5kzpvx")))) "1rx0m4yrl3gl2ca8rbbv74fdlg4s2jnddzljhph7271a7bpyxsx5"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -2101,6 +2101,7 @@ directory full of HOWTOs.")
("ghc-split" ,ghc-split) ("ghc-split" ,ghc-split)
("ghc-stm" ,ghc-stm) ("ghc-stm" ,ghc-stm)
("ghc-stm-chans" ,ghc-stm-chans) ("ghc-stm-chans" ,ghc-stm-chans)
("ghc-tagsoup" ,ghc-tagsoup)
("ghc-text" ,ghc-text) ("ghc-text" ,ghc-text)
("ghc-unix-compat" ,ghc-unix-compat) ("ghc-unix-compat" ,ghc-unix-compat)
("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-unordered-containers" ,ghc-unordered-containers)

View File

@ -44,6 +44,7 @@
(define-module (gnu packages video) (define-module (gnu packages video)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
@ -393,6 +394,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(sha256 (sha256
(base32 (base32
"0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf")) "0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf"))
(patches (search-patches "x265-fix-ppc64le-build.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
(delete-file-recursively "source/compat/getopt") (delete-file-recursively "source/compat/getopt")
@ -401,7 +403,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(arguments (arguments
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
;; Currently the source code doesn't check for aarch64. ;; Currently the source code doesn't check for aarch64.
,@(if (string-prefix? "aarch64" (or (%current-target-system) (%current-system))) ,@(if (any (cute string-prefix? <> (or (%current-system)
(%current-target-system)))
'("armhf" "aarch64"))
'(#:configure-flags '("-DENABLE_PIC=TRUE")) '(#:configure-flags '("-DENABLE_PIC=TRUE"))
'()) '())
#:phases #:phases
@ -1218,7 +1222,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl (define-public youtube-dl
(package (package
(name "youtube-dl") (name "youtube-dl")
(version "2018.05.09") (version "2018.06.19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/" (uri (string-append "https://yt-dl.org/downloads/"
@ -1226,7 +1230,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0sl4bi2jls3417rd62awbqdq1b6wskkjbfwpnyw4a61qarfxid1d")))) "0ys2mc84r7mjpn7rykb57sn3ii1kp3divjdn2ivwqknj8jrzg3z6"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; The problem here is that the directory for the man page and completion ;; The problem here is that the directory for the man page and completion

View File

@ -1025,17 +1025,16 @@ hash/signatures.")
(define-public libyaml (define-public libyaml
(package (package
(name "libyaml") (name "libyaml")
(version "0.1.6") (version "0.1.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://pyyaml.org/download/libyaml/yaml-" "http://pyyaml.org/download/libyaml/yaml-"
version ".tar.gz")) version ".tar.gz"))
(patches (search-patches "libyaml-CVE-2014-9130.patch"))
(sha256 (sha256
(base32 (base32
"0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx")))) "0a87931cx5m14a1x8rbjix3nz7agrcgndf4h392vm62a4rby9240"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://pyyaml.org/wiki/LibYAML") (home-page "http://pyyaml.org/wiki/LibYAML")
(synopsis "YAML 1.1 parser and emitter written in C") (synopsis "YAML 1.1 parser and emitter written in C")
@ -3090,16 +3089,19 @@ exists it is used instead.")
(define-public perl-lwp-protocol-https (define-public perl-lwp-protocol-https
(package (package
(name "perl-lwp-protocol-https") (name "perl-lwp-protocol-https")
(version "6.06") (version "6.07")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MS/MSCHILLI/" (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/"
"LWP-Protocol-https-" version ".tar.gz")) "LWP-Protocol-https-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vxdjqj4bwq56m9h1bqqwkk3c6jr76f2zqzvwa26yjng3p686v5q")))) "1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs
;; For tests.
`(("perl-test-requiresinternet" ,perl-test-requiresinternet)))
(propagated-inputs (propagated-inputs
`(("perl-io-socket-ssl" ,perl-io-socket-ssl) `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
("perl-libwww" ,perl-libwww) ("perl-libwww" ,perl-libwww)
@ -3800,13 +3802,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(define-public r-httpuv (define-public r-httpuv
(package (package
(name "r-httpuv") (name "r-httpuv")
(version "1.4.3") (version "1.4.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "httpuv" version)) (uri (cran-uri "httpuv" version))
(sha256 (sha256
(base32 (base32
"15ghxcyg9h0za3qy077fnn3izbpihskvaqwsppm2s43a771imsf6")))) "12kwq10xa8glrip7rai9xb4hnpysng00g2l0rw7swfzq5lk4z966"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs `(("r-rcpp" ,r-rcpp))) (native-inputs `(("r-rcpp" ,r-rcpp)))
(propagated-inputs (propagated-inputs

View File

@ -103,7 +103,7 @@ nested include statements).")
(define-public bspwm (define-public bspwm
(package (package
(name "bspwm") (name "bspwm")
(version "0.9.4") (version "0.9.5")
(source (source
(origin (origin
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
@ -113,7 +113,7 @@ nested include statements).")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0yjr0vzbj3ar8qfr6gvpvjd82ay8iy1sg2fkw2swghlqiy6ix4kw")))) "10pph8wxqysgk7b2h0svs0nwacn1a4y44jnzzry32pd1ysx92d97"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libxcb" ,libxcb) `(("libxcb" ,libxcb)
@ -123,10 +123,13 @@ nested include statements).")
("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-keysyms" ,xcb-util-keysyms)
("xcb-util-wm" ,xcb-util-wm))) ("xcb-util-wm" ,xcb-util-wm)))
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases
#:tests? #f ; no check target (modify-phases %standard-phases
#:make-flags (list "CC=gcc" (delete 'configure)) ; no configure script
(string-append "PREFIX=" %output)))) #:tests? #f ; no check target
#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" %output))))
(home-page "https://github.com/baskerville/bspwm") (home-page "https://github.com/baskerville/bspwm")
(synopsis "Tiling window manager based on binary space partitioning") (synopsis "Tiling window manager based on binary space partitioning")
(description "bspwm is a tiling window manager that represents windows as (description "bspwm is a tiling window manager that represents windows as
@ -988,7 +991,7 @@ project derived from the original Calm Window Manager.")
("glib" ,glib) ("glib" ,glib)
("glibmm" ,glibmm))) ("glibmm" ,glibmm)))
(native-inputs (native-inputs
`(("pkg-config", pkg-config))) `(("pkg-config" ,pkg-config)))
(arguments (arguments
`(#:configure-flags (list `(#:configure-flags (list
(string-append "--prefix=" %output) (string-append "--prefix=" %output)

View File

@ -331,13 +331,20 @@ containing the given entries."
(service-type (name 'system) (service-type (name 'system)
(extensions '()) (extensions '())
(compose identity) (compose identity)
(extend system-derivation))) (extend system-derivation)
(description
"Build the operating system top-level directory, which in
turn refers to everything the operating system needs: its kernel, initrd,
system profile, boot script, and so on.")))
(define (compute-boot-script _ mexps) (define (compute-boot-script _ gexps)
(mlet %store-monad ((gexps (sequence %store-monad mexps))) ;; Reverse GEXPS so that extensions appear in the boot script in the right
(gexp->file "boot" ;; order. That is, user extensions would come first, and extensions added
;; Clean up and activate the system, then spawn shepherd. ;; by 'essential-services' (e.g., running shepherd) are guaranteed to come
#~(begin #$@gexps)))) ;; last.
(gexp->file "boot"
;; Clean up and activate the system, then spawn shepherd.
#~(begin #$@(reverse gexps))))
(define (boot-script-entry mboot) (define (boot-script-entry mboot)
"Return, as a monadic value, an entry for the boot script in the system "Return, as a monadic value, an entry for the boot script in the system
@ -346,64 +353,74 @@ directory."
(return `(("boot" ,boot))))) (return `(("boot" ,boot)))))
(define boot-service-type (define boot-service-type
;; The service of this type is extended by being passed gexps as monadic ;; The service of this type is extended by being passed gexps. It
;; values. It aggregates them in a single script, as a monadic value, which ;; aggregates them in a single script, as a monadic value, which becomes its
;; becomes its 'parameters'. It is the only service that extends nothing. ;; value.
(service-type (name 'boot) (service-type (name 'boot)
(extensions (extensions
(list (service-extension system-service-type (list (service-extension system-service-type
boot-script-entry))) boot-script-entry)))
(compose identity) (compose identity)
(extend compute-boot-script))) (extend compute-boot-script)
(description
"Produce the operating system's boot script, which is spawned
by the initrd once the root file system is mounted.")))
(define %boot-service (define %boot-service
;; The service that produces the boot script. ;; The service that produces the boot script.
(service boot-service-type #t)) (service boot-service-type #t))
(define (cleanup-gexp _) (define (cleanup-gexp _)
"Return as a monadic value a gexp to clean up /tmp and similar places upon "Return a gexp to clean up /tmp and similar places upon boot."
boot." (with-imported-modules '((guix build utils))
(with-monad %store-monad #~(begin
(with-imported-modules '((guix build utils)) (use-modules (guix build utils))
(return #~(begin
(use-modules (guix build utils))
;; Clean out /tmp and /var/run. ;; Clean out /tmp and /var/run.
;; ;;
;; XXX This needs to happen before service activations, so it ;; XXX This needs to happen before service activations, so it
;; has to be here, but this also implicitly assumes that /tmp ;; has to be here, but this also implicitly assumes that /tmp
;; and /var/run are on the root partition. ;; and /var/run are on the root partition.
(letrec-syntax ((fail-safe (syntax-rules () (letrec-syntax ((fail-safe (syntax-rules ()
((_ exp rest ...) ((_ exp rest ...)
(begin (begin
(catch 'system-error (catch 'system-error
(lambda () exp) (lambda () exp)
(const #f)) (const #f))
(fail-safe rest ...))) (fail-safe rest ...)))
((_) ((_)
#t)))) #t))))
;; Ignore I/O errors so the system can boot. ;; Ignore I/O errors so the system can boot.
(fail-safe (fail-safe
;; Remove stale Shadow lock files as they would lead to ;; Remove stale Shadow lock files as they would lead to
;; failures of 'useradd' & co. ;; failures of 'useradd' & co.
(delete-file "/etc/group.lock") (delete-file "/etc/group.lock")
(delete-file "/etc/passwd.lock") (delete-file "/etc/passwd.lock")
(delete-file "/etc/.pwd.lock") ;from 'lckpwdf' (delete-file "/etc/.pwd.lock") ;from 'lckpwdf'
(delete-file-recursively "/tmp") ;; Force file names to be decoded as UTF-8. See
(delete-file-recursively "/var/run") ;; <https://bugs.gnu.org/26353>.
(mkdir "/tmp") (setenv "GUIX_LOCPATH"
(chmod "/tmp" #o1777) #+(file-append glibc-utf8-locales "/lib/locale"))
(mkdir "/var/run") (setlocale LC_CTYPE "en_US.utf8")
(chmod "/var/run" #o755) (delete-file-recursively "/tmp")
(delete-file-recursively "/run/udev/watch.old")))))))) (delete-file-recursively "/var/run")
(mkdir "/tmp")
(chmod "/tmp" #o1777)
(mkdir "/var/run")
(chmod "/var/run" #o755)
(delete-file-recursively "/run/udev/watch.old"))))))
(define cleanup-service-type (define cleanup-service-type
;; Service that cleans things up in /tmp and similar. ;; Service that cleans things up in /tmp and similar.
(service-type (name 'cleanup) (service-type (name 'cleanup)
(extensions (extensions
(list (service-extension boot-service-type (list (service-extension boot-service-type
cleanup-gexp))))) cleanup-gexp)))
(description
"Delete files from @file{/tmp}, @file{/var/run}, and other
temporary locations at boot time.")))
(define* (activation-service->script service) (define* (activation-service->script service)
"Return as a monadic value the activation script for SERVICE, a service of "Return as a monadic value the activation script for SERVICE, a service of
@ -412,44 +429,39 @@ ACTIVATION-SCRIPT-TYPE."
(define (activation-script gexps) (define (activation-script gexps)
"Return the system's activation script, which evaluates GEXPS." "Return the system's activation script, which evaluates GEXPS."
(define (service-activations) (define actions
;; Return the activation scripts for SERVICES. (map (cut scheme-file "activate-service" <>) gexps))
(mapm %store-monad
(cut gexp->file "activate-service" <>)
gexps))
(mlet* %store-monad ((actions (service-activations))) (scheme-file "activate"
(gexp->file "activate" (with-imported-modules (source-module-closure
(with-imported-modules (source-module-closure '((gnu build activation)
'((gnu build activation) (guix build utils)))
(guix build utils))) #~(begin
#~(begin (use-modules (gnu build activation)
(use-modules (gnu build activation) (guix build utils))
(guix build utils))
;; Make sure the user accounting database exists. If it ;; Make sure the user accounting database exists. If it
;; does not exist, 'setutxent' does not create it and ;; does not exist, 'setutxent' does not create it and
;; thus there is no accounting at all. ;; thus there is no accounting at all.
(close-port (open-file "/var/run/utmpx" "a0")) (close-port (open-file "/var/run/utmpx" "a0"))
;; Same for 'wtmp', which is populated by mingetty et ;; Same for 'wtmp', which is populated by mingetty et
;; al. ;; al.
(mkdir-p "/var/log") (mkdir-p "/var/log")
(close-port (open-file "/var/log/wtmp" "a0")) (close-port (open-file "/var/log/wtmp" "a0"))
;; Set up /run/current-system. Among other things this ;; Set up /run/current-system. Among other things this
;; sets up locales, which the activation snippets ;; sets up locales, which the activation snippets
;; executed below may expect. ;; executed below may expect.
(activate-current-system) (activate-current-system)
;; Run the services' activation snippets. ;; Run the services' activation snippets.
;; TODO: Use 'load-compiled'. ;; TODO: Use 'load-compiled'.
(for-each primitive-load '#$actions)))))) (for-each primitive-load '#$actions)))))
(define (gexps->activation-gexp gexps) (define (gexps->activation-gexp gexps)
"Return a gexp that runs the activation script containing GEXPS." "Return a gexp that runs the activation script containing GEXPS."
(mlet %store-monad ((script (activation-script gexps))) #~(primitive-load #$(activation-script gexps)))
(return #~(primitive-load #$script))))
(define (second-argument a b) b) (define (second-argument a b) b)
@ -459,7 +471,10 @@ ACTIVATION-SCRIPT-TYPE."
(list (service-extension boot-service-type (list (service-extension boot-service-type
gexps->activation-gexp))) gexps->activation-gexp)))
(compose identity) (compose identity)
(extend second-argument))) (extend second-argument)
(description
"Run @dfn{activation} code at boot time and upon
@command{guix system reconfigure} completion.")))
(define %activation-service (define %activation-service
;; The activation service produces the activation script from the gexps it ;; The activation service produces the activation script from the gexps it
@ -507,7 +522,10 @@ ACTIVATION-SCRIPT-TYPE."
(lambda (files) (lambda (files)
#~(activate-special-files '#$files))))) #~(activate-special-files '#$files)))))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description
"Add special files to the root file system---e.g.,
@file{/usr/bin/env}.")))
(define (extra-special-file file target) (define (extra-special-file file target)
"Use TARGET as the \"special file\" FILE. For example, TARGET might be "Use TARGET as the \"special file\" FILE. For example, TARGET might be
@ -541,7 +559,8 @@ directory."
#~(activate-etc #$etc)))) #~(activate-etc #$etc))))
(service-extension system-service-type etc-entry))) (service-extension system-service-type etc-entry)))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description "Populate the @file{/etc} directory.")))
(define (etc-service files) (define (etc-service files)
"Return a new service of ETC-SERVICE-TYPE that populates /etc with FILES. "Return a new service of ETC-SERVICE-TYPE that populates /etc with FILES.
@ -556,7 +575,10 @@ FILES must be a list of name/file-like object pairs."
#~(activate-setuid-programs #~(activate-setuid-programs
(list #$@programs)))))) (list #$@programs))))))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description
"Populate @file{/run/setuid-programs} with the specified
executables, making them setuid-root.")))
(define (packages->profile-entry packages) (define (packages->profile-entry packages)
"Return a system entry for the profile containing PACKAGES." "Return a system entry for the profile containing PACKAGES."
@ -573,7 +595,11 @@ FILES must be a list of name/file-like object pairs."
(list (service-extension system-service-type (list (service-extension system-service-type
packages->profile-entry))) packages->profile-entry)))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description
"This is the @dfn{system profile}, available as
@file{/run/current-system/profile}. It contains packages that the sysadmin
wants to be globally available to all the system users.")))
(define (firmware->activation-gexp firmware) (define (firmware->activation-gexp firmware)
"Return a gexp to make the packages listed in FIRMWARE loadable by the "Return a gexp to make the packages listed in FIRMWARE loadable by the
@ -589,7 +615,11 @@ kernel."
(list (service-extension activation-service-type (list (service-extension activation-service-type
firmware->activation-gexp))) firmware->activation-gexp)))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description
"Make ``firmware'' files loadable by the operating system
kernel. Firmware may then be uploaded to some of the machine's devices, such
as Wifi cards.")))
(define (gc-roots->system-entry roots) (define (gc-roots->system-entry roots)
"Return an entry in the system's output containing symlinks to ROOTS." "Return an entry in the system's output containing symlinks to ROOTS."
@ -616,7 +646,10 @@ kernel."
(list (service-extension system-service-type (list (service-extension system-service-type
gc-roots->system-entry))) gc-roots->system-entry)))
(compose concatenate) (compose concatenate)
(extend append))) (extend append)
(description
"Register garbage-collector roots---i.e., store items that
will not be reclaimed by the garbage collector.")))
;;; ;;;

View File

@ -6,7 +6,7 @@
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
;;; GNU Guix is free software: you can redistribute it and/or modify ;;; 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 ;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or ;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version. ;;; (at your option) any later version.

View File

@ -3,7 +3,7 @@
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
;;; GNU Guix is free software: you can redistribute it and/or modify ;;; 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 ;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or ;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version. ;;; (at your option) any later version.

View File

@ -22,7 +22,6 @@
#:use-module (guix sets) #:use-module (guix sets)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix derivations) ;imported-modules, etc. #:use-module (guix derivations) ;imported-modules, etc.
#:use-module (gnu services) #:use-module (gnu services)
@ -66,26 +65,25 @@
(define (shepherd-boot-gexp services) (define (shepherd-boot-gexp services)
(with-monad %store-monad #~(begin
(return #~(begin ;; Keep track of the booted system.
;; Keep track of the booted system. (false-if-exception (delete-file "/run/booted-system"))
(false-if-exception (delete-file "/run/booted-system")) (symlink (readlink "/run/current-system")
(symlink (readlink "/run/current-system") "/run/booted-system")
"/run/booted-system")
;; Close any remaining open file descriptors to be on the safe ;; Close any remaining open file descriptors to be on the safe
;; side. This must be the very last thing we do, because ;; side. This must be the very last thing we do, because
;; Guile has internal FDs such as 'sleep_pipe' that need to be ;; Guile has internal FDs such as 'sleep_pipe' that need to be
;; alive. ;; alive.
(let loop ((fd 3)) (let loop ((fd 3))
(when (< fd 1024) (when (< fd 1024)
(false-if-exception (close-fdes fd)) (false-if-exception (close-fdes fd))
(loop (+ 1 fd)))) (loop (+ 1 fd))))
;; Start shepherd. ;; Start shepherd.
(execl #$(file-append shepherd "/bin/shepherd") (execl #$(file-append shepherd "/bin/shepherd")
"shepherd" "--config" "shepherd" "--config"
#$(shepherd-configuration-file services)))))) #$(shepherd-configuration-file services))))
(define shepherd-root-service-type (define shepherd-root-service-type
(service-type (service-type

View File

@ -470,13 +470,13 @@ a container or that of a \"bare metal\" system."
(cons* (service system-service-type entries) (cons* (service system-service-type entries)
%boot-service %boot-service
;; %SHEPHERD-ROOT-SERVICE must come first so that the gexp that ;; %SHEPHERD-ROOT-SERVICE must come last so that the gexp that
;; execs shepherd comes last in the boot script (XXX). Likewise, ;; execs shepherd comes last in the boot script (XXX). Likewise,
;; the cleanup service must come last so that its gexp runs before ;; the cleanup service must come first so that its gexp runs before
;; activation code. ;; activation code.
%shepherd-root-service
%activation-service
(service cleanup-service-type #f) (service cleanup-service-type #f)
%activation-service
%shepherd-root-service
(pam-root-service (operating-system-pam-services os)) (pam-root-service (operating-system-pam-services os))
(account-service (append (operating-system-accounts os) (account-service (append (operating-system-accounts os)
@ -819,7 +819,6 @@ we're running in the final root. When CONTAINER? is true, skip all
hardware-related operations as necessary when booting a Linux container." hardware-related operations as necessary when booting a Linux container."
(let* ((services (operating-system-services os #:container? container?)) (let* ((services (operating-system-services os #:container? container?))
(boot (fold-services services #:target-type boot-service-type))) (boot (fold-services services #:target-type boot-service-type)))
;; BOOT is the script as a monadic value.
(service-value boot))) (service-value boot)))
(define (operating-system-user-accounts os) (define (operating-system-user-accounts os)

View File

@ -30,6 +30,8 @@
#:use-module (gnu services mcron) #:use-module (gnu services mcron)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu services networking) #:use-module (gnu services networking)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages ocr) #:use-module (gnu packages ocr)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
@ -37,11 +39,13 @@
#:use-module (gnu packages tmux) #:use-module (gnu packages tmux)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:export (run-basic-test #:export (run-basic-test
%test-basic-os %test-basic-os
%test-halt %test-halt
%test-cleanup
%test-mcron %test-mcron
%test-nss-mdns)) %test-nss-mdns))
@ -471,6 +475,72 @@ in a loop. See <http://bugs.gnu.org/26931>.")
(guix combinators))))) (guix combinators)))))
(run-halt-test (virtual-machine os)))))) (run-halt-test (virtual-machine os))))))
;;;
;;; Cleanup of /tmp, /var/run, etc.
;;;
(define %cleanup-os
(simple-operating-system
(simple-service 'dirty-things
boot-service-type
(let ((script (plain-file
"create-utf8-file.sh"
(string-append
"echo $0: dirtying /tmp...\n"
"set -e; set -x\n"
"touch /witness\n"
"exec touch /tmp/λαμβδα"))))
(with-imported-modules '((guix build utils))
#~(begin
(setenv "PATH"
#$(file-append coreutils "/bin"))
(invoke #$(file-append bash "/bin/sh")
#$script)))))))
(define (run-cleanup-test name)
(define os
(marionette-operating-system %cleanup-os
#:imported-modules '((gnu services herd)
(guix combinators))))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (gnu build marionette)
(srfi srfi-64)
(ice-9 match))
(define marionette
(make-marionette (list #$(virtual-machine os))))
(mkdir #$output)
(chdir #$output)
(test-begin "cleanup")
(test-assert "dirty service worked"
(marionette-eval '(file-exists? "/witness") marionette))
(test-equal "/tmp cleaned up"
'("." "..")
(marionette-eval '(begin
(use-modules (ice-9 ftw))
(scandir "/tmp"))
marionette))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "cleanup" test))
(define %test-cleanup
;; See <https://bugs.gnu.org/26353>.
(system-test
(name "cleanup")
(description "Make sure the 'cleanup' service can remove files with
non-ASCII names from /tmp.")
(value (run-cleanup-test name))))
;;; ;;;
;;; Mcron. ;;; Mcron.

View File

@ -551,10 +551,26 @@ list of services."
;; TRANSLATORS: Please preserve the two-space indentation. ;; TRANSLATORS: Please preserve the two-space indentation.
(format #t (G_ " label: ~a~%") label) (format #t (G_ " label: ~a~%") label)
(format #t (G_ " bootloader: ~a~%") bootloader-name) (format #t (G_ " bootloader: ~a~%") bootloader-name)
(format #t (G_ " root device: ~a~%")
(if (uuid? root-device) ;; TRANSLATORS: The '~[', '~;', and '~]' sequences in this string must
(uuid->string root-device) ;; be preserved. They denote conditionals, such that the result will
root-device)) ;; look like:
;; root device: UUID: 12345-678
;; or:
;; root device: label: "my-root"
;; or just:
;; root device: /dev/sda3
(format #t (G_ " root device: ~[UUID: ~a~;label: ~s~;~a~]~%")
(cond ((uuid? root-device) 0)
((file-system-label? root-device) 1)
(else 2))
(cond ((uuid? root-device)
(uuid->string root-device))
((file-system-label? root-device)
(file-system-label->string root-device))
(else
root-device)))
(format #t (G_ " kernel: ~a~%") kernel)))) (format #t (G_ " kernel: ~a~%") kernel))))
(define* (list-generations pattern #:optional (profile %system-profile)) (define* (list-generations pattern #:optional (profile %system-profile))