Merge branch 'master' into staging
commit
4dfea1010a
26
NEWS
26
NEWS
|
@ -2,7 +2,7 @@
|
|||
#+TITLE: Guix NEWS – history of user-visible changes
|
||||
#+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,
|
||||
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
|
||||
|
||||
*** ‘guix pull’ has been overhauled; it now populates ~/.config/guix/current
|
||||
*** ‘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
|
||||
|
||||
*** 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
|
||||
|
||||
enlightenment
|
||||
enlightenment, qemu-binfmt
|
||||
|
||||
** 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.
|
||||
(<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)
|
||||
|
||||
** Package management
|
||||
|
|
|
@ -939,6 +939,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mozjs38-shell-version.patch \
|
||||
%D%/packages/patches/mozjs38-tracelogger.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/mumps-build-parallelism.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-CVE-2015-8869.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-graph-honor-source-date-epoch.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-krack-followups.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/xdotool-fix-makefile.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-CVE-2013-4342.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-plugindir-environment-variable.patch
|
||||
|
||||
|
|
|
@ -2391,15 +2391,15 @@ tool for remote execution and deployment.")
|
|||
(define-public neofetch
|
||||
(package
|
||||
(name "neofetch")
|
||||
(version "4.0.2")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dylanaraps/neofetch/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dylanaraps/neofetch")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"014hlbzs6j4b669b64hnq8vc5knwiv9ncw9m9d193p9jsybxpm1w"))))
|
||||
"0yzyi2p0d8xp576lxyv5m9h60dl1d5dmrn40aad307872835b9rr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -2407,27 +2407,7 @@ tool for remote execution and deployment.")
|
|||
(list (string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-target-directories
|
||||
(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")))))))))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://github.com/dylanaraps/neofetch")
|
||||
(synopsis "System info script")
|
||||
(description "Neofetch is a CLI system information tool written in Bash.
|
||||
|
@ -2669,7 +2649,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.11-1")
|
||||
(version "3.0.12-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2678,7 +2658,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"07wihl4gsamq98mhxvm6k4vpphym75467cxfa19b3g5ggpyq894g"))))
|
||||
"1a2sjz90gzzvhp63x89hs0a424rkd13qrff2njqmjxp322zyp527"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
|
|
|
@ -6939,13 +6939,13 @@ Bioconductor, CRAN, and Github.")
|
|||
(define-public r-biocviews
|
||||
(package
|
||||
(name "r-biocviews")
|
||||
(version "1.48.1")
|
||||
(version "1.48.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "biocViews" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q5z6xxhjyibr165di7iyachw4gd4bdrxkd8rjkcklnngsrx1azm"))))
|
||||
"01yiafayl1m5704xdd2cn3zjc78rs10dqyz66lr3qkf6d8w66938"))))
|
||||
(properties
|
||||
`((upstream-name . "biocViews")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7083,14 +7083,14 @@ support for default values, positional argument support, etc.")
|
|||
(define-public r-optparse
|
||||
(package
|
||||
(name "r-optparse")
|
||||
(version "1.4.4")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "optparse" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ff4wmsszrb3spwfp7ynfs8w11qpy1sdzfxm1wk8dqqvdwris7qb"))))
|
||||
"1d7v5gl45x4amsfmzn5zyyffyqlc7a82h01szlnda22viyxids0h"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-getopt" ,r-getopt)))
|
||||
|
@ -7587,13 +7587,13 @@ files.")
|
|||
(define-public r-delayedarray
|
||||
(package
|
||||
(name "r-delayedarray")
|
||||
(version "0.6.0")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DelayedArray" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0n3w57cwy911q812wc8658y0v3xgpmg379sj98kfqdxa80z1mxdf"))))
|
||||
"0sjwszxdi0vkj2i2di5i46gh9chc660yr3gs5nk9qnqp77713zds"))))
|
||||
(properties
|
||||
`((upstream-name . "DelayedArray")))
|
||||
(build-system r-build-system)
|
||||
|
@ -10070,14 +10070,14 @@ provide added flexibility for data combination and manipulation.")
|
|||
(define-public r-complexheatmap
|
||||
(package
|
||||
(name "r-complexheatmap")
|
||||
(version "1.18.0")
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ComplexHeatmap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z57mrginzd40niy51dvnyqgbrij05ji0dbwqs3x2as80sq28i3q"))))
|
||||
"0qjwz1hzpjnc90jiinjkikfnr0shi72q3zfdjjz7pxydy0mglq8n"))))
|
||||
(properties
|
||||
`((upstream-name . "ComplexHeatmap")))
|
||||
(build-system r-build-system)
|
||||
|
|
|
@ -424,6 +424,41 @@ the plog header-only C++ logging library, and a method to log to R's standard
|
|||
error stream.")
|
||||
(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
|
||||
(package
|
||||
(name "r-rcpp")
|
||||
|
@ -819,17 +854,19 @@ quantities.")
|
|||
(define-public r-progress
|
||||
(package
|
||||
(name "r-progress")
|
||||
(version "1.1.2")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "progress" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fxakchfjr5vj59s9sxynd7crpz97xj42438rmkhkf3rjpyspx59"))))
|
||||
"1rhwm0bdw30z3rvl0bn56xprjl3zrdy7150w4gl4bkvn2d6h9fav"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-prettyunits" ,r-prettyunits)
|
||||
`(("r-crayon" ,r-crayon)
|
||||
("r-hms" ,r-hms)
|
||||
("r-prettyunits" ,r-prettyunits)
|
||||
("r-r6" ,r-r6)))
|
||||
(home-page "https://github.com/gaborcsardi/progress")
|
||||
(synopsis "Terminal progress bars")
|
||||
|
@ -1714,14 +1751,14 @@ provides a one-row summary of model-level statistics.")
|
|||
(define-public r-recipes
|
||||
(package
|
||||
(name "r-recipes")
|
||||
(version "0.1.2")
|
||||
(version "0.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "recipes" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1car3a3mqn87pz049cbgkaayz86970mvkapk6al2k7jjw76306l9"))))
|
||||
"1vqh3pxs4n1azhnd1lzg91vasya6g323kllhbrw177j7kdxqyimy"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-broom" ,r-broom)
|
||||
|
@ -1733,6 +1770,7 @@ provides a one-row summary of model-level statistics.")
|
|||
("r-lubridate" ,r-lubridate)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-pls" ,r-pls)
|
||||
("r-purrr" ,r-purrr)
|
||||
("r-rcpproll" ,r-rcpproll)
|
||||
("r-rlang" ,r-rlang)
|
||||
|
@ -1918,14 +1956,14 @@ analysis of multiply imputed data sets.")
|
|||
(define-public r-mice
|
||||
(package
|
||||
(name "r-mice")
|
||||
(version "3.0.0")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mice" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p8a5ham90iaak4w17114pdnw535r2l9sxr402yrkc4gbwfbpdlq"))))
|
||||
"0xpn215yfzib4hw09cwilnyg9zbvq460njavfvm84mvgwbm25byi"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-broom" ,r-broom)
|
||||
|
@ -2570,14 +2608,14 @@ iVAT).")
|
|||
(define-public r-xfun
|
||||
(package
|
||||
(name "r-xfun")
|
||||
(version "0.1")
|
||||
(version "0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "xfun" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sm51gmwgw876d6d1q8smxmfgfh6zsnykfx8qp8z6jmh0fvd89pj"))))
|
||||
"0zl22fcw90kdvzkjyf6vbmdmn9rz3bl51522fasvmykypffyng4a"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/yihui/xfun")
|
||||
(synopsis "Miscellaneous functions")
|
||||
|
@ -3540,14 +3578,14 @@ extracting and replacing data in arrays.")
|
|||
(define-public r-prroc
|
||||
(package
|
||||
(name "r-prroc")
|
||||
(version "1.3")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "PRROC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03hvh92lq4i4w4mla9bvwrwb4626f4hvlxgdn57hamp70960vjyc"))))
|
||||
"1m28h8pcd78049lz2qixhkcr9h5b3jik3maqzfbvq9y58z71i4a7"))))
|
||||
(properties `((upstream-name . "PRROC")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/PRROC/")
|
||||
|
|
|
@ -398,7 +398,7 @@ mapping from string keys to string values.")
|
|||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.5.6")
|
||||
(version "1.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -406,7 +406,7 @@ mapping from string keys to string values.")
|
|||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn"))))
|
||||
"1ppnhsqv9047vm0rrmqla56y972f8qqjdb780iz6v922jjcc723k"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
|
|
|
@ -312,12 +312,12 @@ editor (without an X toolkit)" )
|
|||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh"))))
|
||||
(lambda _
|
||||
(invoke "sh" "autogen.sh")))
|
||||
;; Build sometimes fails: deps/dispnew.d: No such file or directory
|
||||
(add-before 'build 'make-deps-dir
|
||||
(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
|
||||
(package
|
||||
(name "emacs-with-editor")
|
||||
(version "2.7.2")
|
||||
(version "2.7.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -420,7 +420,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jqi3axcs0cb1pcv1jxxc2a09v6psrm33wwl6hmyshzl8kbxs2mv"))))
|
||||
"1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)))
|
||||
|
@ -585,7 +585,7 @@ support for Git-SVN.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(zero? (system* "make" "info")))))))
|
||||
(invoke "make" "info"))))))
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)))
|
||||
(propagated-inputs
|
||||
|
@ -602,7 +602,7 @@ process, passing on the arguments as command line arguments.")
|
|||
(define-public emacs-ghub
|
||||
(package
|
||||
(name "emacs-ghub")
|
||||
(version "2.0.0")
|
||||
(version "2.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -611,14 +611,14 @@ process, passing on the arguments as command line arguments.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zrb3xk04a228g2ahx0r02d0d3xskj60q73qavvmm2i56r66cxvc"))))
|
||||
"0d0qj5r1bm2aidi61rigrdaycxnyb7y1ivb3h8rpvvapsf8sk7z0"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(zero? (system* "make" "info")))))))
|
||||
(invoke "make" "info"))))))
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)))
|
||||
(home-page "https://github.com/magit/ghub")
|
||||
|
@ -702,8 +702,7 @@ only a handful of functions that are not resource-specific.")
|
|||
files))
|
||||
|
||||
(with-directory-excursion "doc"
|
||||
(unless (zero? (system* "makeinfo" "haskell-mode.texi"))
|
||||
(error "makeinfo failed"))
|
||||
(invoke "makeinfo" "haskell-mode.texi")
|
||||
(install-file "haskell-mode.info" info))
|
||||
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
|
||||
(copy-to-dir el-dir (find-files "." "\\.elc?"))
|
||||
|
@ -794,7 +793,7 @@ provides an optional IDE-like error list.")
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _
|
||||
(zero? (system* "autoconf"))))
|
||||
(invoke "autoconf")))
|
||||
(add-before 'configure 'support-emacs!
|
||||
(lambda _
|
||||
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
|
||||
|
@ -825,13 +824,13 @@ provides an optional IDE-like error list.")
|
|||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(and (zero? (system* "make" "install" "install-icons"))
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp")
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")
|
||||
#t)))))))
|
||||
(invoke "make" "install" "install-icons")
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp")
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")
|
||||
#t))))))
|
||||
(home-page "http://emacs-w3m.namazu.org/")
|
||||
(synopsis "Simple Web browser for Emacs based on w3m")
|
||||
(description
|
||||
|
@ -1154,7 +1153,7 @@ than @code{electric-indent-mode}.")
|
|||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(with-directory-excursion "docs"
|
||||
(zero? (system* "make" "info")))))
|
||||
(invoke "make" "info"))))
|
||||
(add-after 'install 'install-info
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -1455,13 +1454,12 @@ Maps directly inside Emacs.")
|
|||
(substitute* "Makefile"
|
||||
(("\\/usr\\/bin\\/gzip")
|
||||
(string-append (assoc-ref inputs "gzip") "/bin/gzip")))
|
||||
(zero?
|
||||
(system* "make"
|
||||
"clean"
|
||||
"info"
|
||||
(string-append "TEXINFODIR="
|
||||
(assoc-ref inputs "texinfo")
|
||||
"/bin"))))))
|
||||
(invoke "make"
|
||||
"clean"
|
||||
"info"
|
||||
(string-append "TEXINFODIR="
|
||||
(assoc-ref inputs "texinfo")
|
||||
"/bin")))))
|
||||
(add-after 'install 'install-info
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -1499,7 +1497,7 @@ diagrams.")
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh")))))))
|
||||
(invoke "sh" "autogen.sh"))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
|
@ -1564,7 +1562,7 @@ filters, new key bindings and faces. It can be enabled by
|
|||
(lambda _ (chdir "server") #t))
|
||||
(add-after 'enter-server-dir 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "bash" "autogen.sh"))))
|
||||
(invoke "bash" "autogen.sh")))
|
||||
|
||||
;; Build emacs side using 'emacs-build-system'.
|
||||
(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
|
||||
(package
|
||||
(name "emacs-d-mode")
|
||||
(version "2.0.8")
|
||||
(version "2.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"0knpgi55jm09282aqf8pv55zillpnpzf9f4sgm6gwsmvxf17xaw0"))))
|
||||
"127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-undercover" ,emacs-undercover)))
|
||||
|
@ -2971,8 +2969,8 @@ in @code{html-mode}.")
|
|||
(substitute* "Makefile"
|
||||
(("infodir=/usr/local/info")
|
||||
(string-append "infodir=" info-dir)))
|
||||
(system* "make" "html/index.html")
|
||||
(system* "make" "slime.info")
|
||||
(invoke "make" "html/index.html")
|
||||
(invoke "make" "slime.info")
|
||||
(install-file "slime.info" info-dir)
|
||||
(copy-recursively "html" (string-append doc-dir "/html")))
|
||||
(for-each (lambda (f)
|
||||
|
@ -3652,9 +3650,9 @@ automatically.")
|
|||
(let* ((out (assoc-ref outputs "out"))
|
||||
(info (string-append out "/share/info")))
|
||||
(with-directory-excursion "doc"
|
||||
(unless (zero? (system* "makeinfo" "ivy.texi"))
|
||||
(error "makeinfo failed"))
|
||||
(install-file "ivy.info" info))))))))
|
||||
(invoke "makeinfo" "ivy.texi")
|
||||
(install-file "ivy.info" info)
|
||||
#t)))))))
|
||||
(propagated-inputs
|
||||
`(("emacs-hydra" ,emacs-hydra)))
|
||||
(native-inputs
|
||||
|
@ -4106,14 +4104,15 @@ programming language.")
|
|||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makeconf"
|
||||
(("SHELL = /bin/sh")
|
||||
(string-append "SHELL = " (which "sh"))))))
|
||||
(string-append "SHELL = " (which "sh"))))
|
||||
#t))
|
||||
;; FIXME: the texlive-union insists on regenerating fonts. It stores
|
||||
;; them in HOME, so it needs to be writeable.
|
||||
(add-before 'build 'set-HOME
|
||||
(lambda _ (setenv "HOME" "/tmp") #t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "make" "test"))))))))
|
||||
(invoke "make" "test")))))))
|
||||
(inputs
|
||||
`(("emacs" ,emacs-minimal)
|
||||
("r-minimal" ,r-minimal)))
|
||||
|
@ -4727,36 +4726,38 @@ news items, openrc and runscripts.")
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-evil
|
||||
(package
|
||||
(name "emacs-evil")
|
||||
(version "1.2.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/emacs-evil/evil/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z63zsxmsc6mh74wv6065carwqmgs7b7lz5044s12xvgsjfbwi8h"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-undo-tree" ,emacs-undo-tree)
|
||||
("emacs-goto-chg" ,emacs-goto-chg)))
|
||||
(home-page "https://github.com/emacs-evil/evil")
|
||||
(synopsis "Extensible Vi layer for Emacs")
|
||||
(description
|
||||
"Evil is an extensible vi layer for Emacs. It emulates the
|
||||
(let ((commit "230b87212c81aaa68ef5547a6b998d9c365fe139"))
|
||||
(package
|
||||
(name "emacs-evil")
|
||||
(version (git-version "1.2.13" "1" commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/emacs-evil/evil")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c9zy3bpck10gcrv79kd3h7i4ygd5bgbgy773n0lg7a2r5kwn1gx"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-undo-tree" ,emacs-undo-tree)
|
||||
("emacs-goto-chg" ,emacs-goto-chg)))
|
||||
(home-page "https://github.com/emacs-evil/evil")
|
||||
(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
|
||||
extensions.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-evil-collection
|
||||
(let ((commit "f40704a57fd33b4bfad64147a2b771fc8961fdfc")
|
||||
(let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-evil-collection")
|
||||
(version (git-version "20180425" revision commit))
|
||||
(version (git-version "20180617" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -4765,7 +4766,7 @@ extensions.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qn19k0f3isnbi1hkmcf3qjxbyvp23m5ak5ny7623qgwb2nwz1l5"))))
|
||||
"082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-evil" ,emacs-evil)))
|
||||
|
@ -5866,7 +5867,7 @@ source file, @file{jl-encrypt.el}.")
|
|||
(define-public emacs-htmlize
|
||||
(package
|
||||
(name "emacs-htmlize")
|
||||
(version "1.51")
|
||||
(version "1.53")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5876,7 +5877,7 @@ source file, @file{jl-encrypt.el}.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fy1lybzrxl8a8r88f6p19nz8ygmvcxhxbnymkxh7jqaz25viwld"))))
|
||||
"1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/hniksic/emacs-htmlize")
|
||||
(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
|
||||
(add-after 'unpack 'regenerate-el-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(zero? (system* "make"
|
||||
(string-append "PROTO_PATH="
|
||||
(assoc-ref inputs "xcb-proto")
|
||||
"/share/xcb")
|
||||
(string-append "EMACS_BIN="
|
||||
(assoc-ref inputs "emacs")
|
||||
"/bin/emacs -Q"))))))))
|
||||
(invoke "make"
|
||||
(string-append "PROTO_PATH="
|
||||
(assoc-ref inputs "xcb-proto")
|
||||
"/share/xcb")
|
||||
(string-append "EMACS_BIN="
|
||||
(assoc-ref inputs "emacs")
|
||||
"/bin/emacs -Q")))))))
|
||||
(native-inputs `(("xcb-proto" ,xcb-proto)))
|
||||
(home-page "https://github.com/ch11ng/xelb")
|
||||
(synopsis "X protocol Emacs Lisp binding")
|
||||
|
@ -8968,10 +8969,10 @@ confused by comments or @code{foo-bar} matching @code{foo}.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'install 'check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(zero? (system* "emacs" "--batch" "-L" "."
|
||||
"-l" "test/m-buffer-test.el"
|
||||
"-l" "test/m-buffer-at-test.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")))))))
|
||||
(invoke "emacs" "--batch" "-L" "."
|
||||
"-l" "test/m-buffer-test.el"
|
||||
"-l" "test/m-buffer-at-test.el"
|
||||
"-f" "ert-run-tests-batch-and-exit"))))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/phillord/m-buffer-el")
|
||||
(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+)))
|
||||
|
||||
(define-public emacs-evil-ediff
|
||||
(package
|
||||
(name "emacs-evil-ediff")
|
||||
(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+)))
|
||||
;; Evil-Ediff is included in Evil Collection from 20180617.
|
||||
(deprecated-package "emacs-evil-ediff" emacs-evil-collection))
|
||||
|
||||
(define-public emacs-evil-magit
|
||||
(let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
|
||||
|
@ -10754,30 +10736,8 @@ describing the key binding changes.")
|
|||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-evil-mu4e
|
||||
(package
|
||||
(name "emacs-evil-mu4e")
|
||||
(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+)))
|
||||
;; Evil-mu4e is included in Evil Collection from 20180617.
|
||||
(deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
|
||||
|
||||
(define-public emacs-evil-multiedit
|
||||
(let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
|
||||
|
@ -11292,3 +11252,34 @@ file.")
|
|||
"@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and
|
||||
apply those changes to the file buffer.")
|
||||
(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+))))
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; 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 © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
|
@ -74,6 +74,7 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#: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.")
|
||||
(home-page "http://eureka-editor.sourceforge.net/")
|
||||
(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+)))
|
||||
|
|
|
@ -461,7 +461,7 @@ automata. The following features are available:
|
|||
(define-public meandmyshadow
|
||||
(package
|
||||
(name "meandmyshadow")
|
||||
(version "0.4")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/meandmyshadow/"
|
||||
|
@ -469,7 +469,7 @@ automata. The following features are available:
|
|||
"-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dpb7s32b2psj5w3nr5kqibib8nndi86mw8gxp4hmxwrfiisf86d"))))
|
||||
"0wl5dc75qy001s6043cx0vr2l5y2qfv1cldqnwill9sfygqj9p95"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#: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.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{X11_LIBRARIES\\}") "-lX11"))
|
||||
)))))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -1616,23 +1616,20 @@ reference interpreter, using the Glk API.")
|
|||
(define-public fizmo
|
||||
(package
|
||||
(name "fizmo")
|
||||
(version "0.8.4")
|
||||
(version "0.8.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://christoph-ender.de/fizmo/source/"
|
||||
(uri (string-append "https://fizmo.spellbreaker.org/source/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sd988db2302r7cbfcfghbmg8ck43c6hvnlnlpb0rqxb7pm9cwyy"))))
|
||||
"1amyc4n41jf08kxmdgkk30bzzx54miaxa97w28f417qwn8lrl98w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(let ((libjpeg (assoc-ref %build-inputs "libjpeg"))
|
||||
(ncurses (assoc-ref %build-inputs "ncurses")))
|
||||
(list (string-append "jpeg_CFLAGS=-I" libjpeg "/include")
|
||||
(string-append "jpeg_LIBS=-ljpeg")
|
||||
(string-append "ncursesw_CFLAGS=-I" ncurses "/include")
|
||||
(string-append "ncursesw_LIBS=-lncursesw")))))
|
||||
(list (string-append "--with-jpeg-includedir=" libjpeg "/include")))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -1643,7 +1640,7 @@ reference interpreter, using the Glk API.")
|
|||
("libxml2" ,libxml2)
|
||||
("ncurses" ,ncurses)
|
||||
("sdl2" ,sdl2)))
|
||||
(home-page "https://christoph-ender.de/fizmo/")
|
||||
(home-page "https://fizmo.spellbreaker.org/")
|
||||
(synopsis "Z-machine interpreter")
|
||||
(description
|
||||
"Fizmo is a console-based Z-machine interpreter. It is used to play
|
||||
|
@ -1679,7 +1676,7 @@ Protocol).")
|
|||
(define-public extremetuxracer
|
||||
(package
|
||||
(name "extremetuxracer")
|
||||
(version "0.7.4")
|
||||
(version "0.7.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1687,15 +1684,15 @@ Protocol).")
|
|||
version "/etr-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d2j4ybdjmimg67v2fndgahgq4fvgz3fpfb3a4l1ar75n6hy776s"))))
|
||||
"1ly63316c07i0gyqqmyzsyvygsvygn0fpk3bnbg25fi6li99rlsg"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glu" ,glu)
|
||||
("sfml" ,sfml)))
|
||||
(synopsis "High speed arctic racing game based on Tux Racer")
|
||||
;; Snarfed straight from Debian
|
||||
(synopsis "High-speed arctic racing game based on Tux Racer")
|
||||
;; Snarfed straight from Debian.
|
||||
(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
|
||||
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
|
||||
(package
|
||||
(name "pioneers")
|
||||
(version "15.4")
|
||||
(version "15.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://downloads.sourceforge.net/pio/"
|
||||
"pioneers-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p1d18hrfmqcnghip3shkzcs5qkz6j99jvkdkqfi7pqdvjc323cs"))))
|
||||
"037gdiiw690jw3wd1s9lxmkqx0caxyk0b4drpm7i9p28gig43q9y"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gtk+" ,gtk+)
|
||||
("librsvg" ,librsvg)
|
||||
("avahi" ,avahi)))
|
||||
(inputs `(("avahi" ,avahi)
|
||||
("gtk+" ,gtk+)
|
||||
("librsvg" ,librsvg)))
|
||||
(native-inputs `(("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("libxml2" ,libxml2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Board game inspired by The Settlers of Catan")
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "hyperrogue")
|
||||
|
@ -4475,7 +4542,7 @@ Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.")
|
|||
(define-public quakespasm
|
||||
(package
|
||||
(name "quakespasm")
|
||||
(version "0.93.0")
|
||||
(version "0.93.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4483,7 +4550,7 @@ Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.")
|
|||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b2nz7w4za32pc34r62ql270z692qcjs2pm0i3svkxkvfammhdfq"))))
|
||||
"1bimv18f6rzhyjz78yvw2vqr5n0kdqbcqmq7cb3m951xgsxfcgpd"))))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:make-flags '("CC=gcc"
|
||||
|
|
|
@ -6486,6 +6486,12 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
|
|||
(substitute* '("Makefile.am")
|
||||
(("\\$\\(DESTDIR\\)/usr/share")
|
||||
"$(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)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
@ -6535,6 +6541,14 @@ simple and consistent.")
|
|||
(base32
|
||||
"1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
|
||||
(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
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
|
@ -7273,7 +7287,7 @@ mp3, Ogg Vorbis and FLAC")
|
|||
("libxtst" ,libxtst)
|
||||
("dconf" ,dconf)
|
||||
("libice" ,libice)))
|
||||
(inputs `(("libsm", libsm)
|
||||
(inputs `(("libsm" ,libsm)
|
||||
("python-cheetah" ,python2-cheetah)))
|
||||
(native-inputs `(("glib" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)
|
||||
|
|
|
@ -1702,3 +1702,92 @@ with the
|
|||
@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
|
||||
GNU extensions} to the POSIX recommendations for command-line options.")
|
||||
(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))))
|
||||
|
|
|
@ -3625,7 +3625,7 @@ complex transformations and code analysis tools.")
|
|||
`(("java-aqute-bndlib" ,java-aqute-bndlib-bootstrap)
|
||||
("java-aqute-libg" ,java-aqute-libg-bootstrap)
|
||||
,@(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)))))))
|
||||
|
||||
(define-public java-cglib
|
||||
|
|
|
@ -1405,7 +1405,7 @@ logging support.")))
|
|||
;; tests
|
||||
("java-plexus-cipher" ,java-plexus-cipher)
|
||||
("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
|
||||
("java-jsr250", java-jsr250)
|
||||
("java-jsr250" ,java-jsr250)
|
||||
("java-cdi-api" ,java-cdi-api)
|
||||
("java-junit" ,java-junit)
|
||||
("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-builder" ,maven-settings-builder)
|
||||
("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-resolver-api" ,maven-resolver-api)
|
||||
("maven-resolver-spi" ,maven-resolver-spi)
|
||||
|
|
|
@ -22,10 +22,12 @@
|
|||
(define-module (gnu packages monitoring)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
|
@ -295,3 +297,27 @@ WSGI and the node exporter textfile collector.")
|
|||
|
||||
(define-public python2-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))))
|
||||
|
|
|
@ -1776,7 +1776,7 @@ file for more details.")
|
|||
`(("zlib" ,zlib)
|
||||
("crypto++" ,crypto++)
|
||||
("libpng" ,libpng)
|
||||
("wxwidgets-gtk2", wxwidgets-gtk2)))
|
||||
("wxwidgets-gtk2" ,wxwidgets-gtk2)))
|
||||
(home-page "http://amule.org/")
|
||||
(synopsis "Peer-to-peer client for the eD2K and Kademlia networks")
|
||||
(description
|
||||
|
|
|
@ -135,7 +135,8 @@
|
|||
(patches
|
||||
(search-patches
|
||||
"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)
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
@ -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))
|
|
@ -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
|
||||
|
|
@ -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")
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; 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="
|
||||
(assoc-ref %build-inputs "sdl2-ttf"))
|
||||
(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
|
||||
`(("guile" ,guile-2.2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -532,14 +532,14 @@ nonlinear mixed-effects models.")
|
|||
(define-public r-mgcv
|
||||
(package
|
||||
(name "r-mgcv")
|
||||
(version "1.8-23")
|
||||
(version "1.8-24")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mgcv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lsrhf1yzn25pfn3f5x8yxjqnfryim4jx3iqd7ah8aalh5asqwbp"))))
|
||||
"15b76m1f0hz8dbmj9shqvslihdx5b7c48vck9grj5xs1z2y45r9c"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-matrix" ,r-matrix)
|
||||
|
|
|
@ -490,34 +490,6 @@ address of the default LAN gateway.")
|
|||
(home-page "https://github.com/jackpal/gateway")
|
||||
(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
|
||||
(let ((commit "83612a56d3dd153a94a629cd64925371c9adad78")
|
||||
(revision "1"))
|
||||
|
|
|
@ -1999,7 +1999,7 @@ directory full of HOWTOs.")
|
|||
(define-public git-annex
|
||||
(package
|
||||
(name "git-annex")
|
||||
(version "6.20170818")
|
||||
(version "6.20180529")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2007,7 +2007,7 @@ directory full of HOWTOs.")
|
|||
"git-annex/git-annex-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ybxixbqvy4rx6mq9s02rh349rbr04hb17z4bfayin0qwa5kzpvx"))))
|
||||
"1rx0m4yrl3gl2ca8rbbv74fdlg4s2jnddzljhph7271a7bpyxsx5"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -2101,6 +2101,7 @@ directory full of HOWTOs.")
|
|||
("ghc-split" ,ghc-split)
|
||||
("ghc-stm" ,ghc-stm)
|
||||
("ghc-stm-chans" ,ghc-stm-chans)
|
||||
("ghc-tagsoup" ,ghc-tagsoup)
|
||||
("ghc-text" ,ghc-text)
|
||||
("ghc-unix-compat" ,ghc-unix-compat)
|
||||
("ghc-unordered-containers" ,ghc-unordered-containers)
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
(define-module (gnu packages video)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
|
@ -393,6 +394,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
|||
(sha256
|
||||
(base32
|
||||
"0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf"))
|
||||
(patches (search-patches "x265-fix-ppc64le-build.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "source/compat/getopt")
|
||||
|
@ -401,7 +403,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
|||
(arguments
|
||||
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
|
||||
;; 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"))
|
||||
'())
|
||||
#:phases
|
||||
|
@ -1218,7 +1222,7 @@ access to mpv's powerful playback capabilities.")
|
|||
(define-public youtube-dl
|
||||
(package
|
||||
(name "youtube-dl")
|
||||
(version "2018.05.09")
|
||||
(version "2018.06.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://yt-dl.org/downloads/"
|
||||
|
@ -1226,7 +1230,7 @@ access to mpv's powerful playback capabilities.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sl4bi2jls3417rd62awbqdq1b6wskkjbfwpnyw4a61qarfxid1d"))))
|
||||
"0ys2mc84r7mjpn7rykb57sn3ii1kp3divjdn2ivwqknj8jrzg3z6"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; The problem here is that the directory for the man page and completion
|
||||
|
|
|
@ -1025,17 +1025,16 @@ hash/signatures.")
|
|||
(define-public libyaml
|
||||
(package
|
||||
(name "libyaml")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pyyaml.org/download/libyaml/yaml-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "libyaml-CVE-2014-9130.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx"))))
|
||||
"0a87931cx5m14a1x8rbjix3nz7agrcgndf4h392vm62a4rby9240"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://pyyaml.org/wiki/LibYAML")
|
||||
(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
|
||||
(package
|
||||
(name "perl-lwp-protocol-https")
|
||||
(version "6.06")
|
||||
(version "6.07")
|
||||
(source
|
||||
(origin
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vxdjqj4bwq56m9h1bqqwkk3c6jr76f2zqzvwa26yjng3p686v5q"))))
|
||||
"1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
`(("perl-test-requiresinternet" ,perl-test-requiresinternet)))
|
||||
(propagated-inputs
|
||||
`(("perl-io-socket-ssl" ,perl-io-socket-ssl)
|
||||
("perl-libwww" ,perl-libwww)
|
||||
|
@ -3800,13 +3802,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
|
|||
(define-public r-httpuv
|
||||
(package
|
||||
(name "r-httpuv")
|
||||
(version "1.4.3")
|
||||
(version "1.4.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "httpuv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15ghxcyg9h0za3qy077fnn3izbpihskvaqwsppm2s43a771imsf6"))))
|
||||
"12kwq10xa8glrip7rai9xb4hnpysng00g2l0rw7swfzq5lk4z966"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs `(("r-rcpp" ,r-rcpp)))
|
||||
(propagated-inputs
|
||||
|
|
|
@ -103,7 +103,7 @@ nested include statements).")
|
|||
(define-public bspwm
|
||||
(package
|
||||
(name "bspwm")
|
||||
(version "0.9.4")
|
||||
(version "0.9.5")
|
||||
(source
|
||||
(origin
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
|
@ -113,7 +113,7 @@ nested include statements).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yjr0vzbj3ar8qfr6gvpvjd82ay8iy1sg2fkw2swghlqiy6ix4kw"))))
|
||||
"10pph8wxqysgk7b2h0svs0nwacn1a4y44jnzzry32pd1ysx92d97"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libxcb" ,libxcb)
|
||||
|
@ -123,10 +123,13 @@ nested include statements).")
|
|||
("xcb-util-keysyms" ,xcb-util-keysyms)
|
||||
("xcb-util-wm" ,xcb-util-wm)))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))))
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))))
|
||||
(home-page "https://github.com/baskerville/bspwm")
|
||||
(synopsis "Tiling window manager based on binary space partitioning")
|
||||
(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)
|
||||
("glibmm" ,glibmm)))
|
||||
(native-inputs
|
||||
`(("pkg-config", pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:configure-flags (list
|
||||
(string-append "--prefix=" %output)
|
||||
|
|
197
gnu/services.scm
197
gnu/services.scm
|
@ -331,13 +331,20 @@ containing the given entries."
|
|||
(service-type (name 'system)
|
||||
(extensions '())
|
||||
(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)
|
||||
(mlet %store-monad ((gexps (sequence %store-monad mexps)))
|
||||
(gexp->file "boot"
|
||||
;; Clean up and activate the system, then spawn shepherd.
|
||||
#~(begin #$@gexps))))
|
||||
(define (compute-boot-script _ gexps)
|
||||
;; Reverse GEXPS so that extensions appear in the boot script in the right
|
||||
;; order. That is, user extensions would come first, and extensions added
|
||||
;; by 'essential-services' (e.g., running shepherd) are guaranteed to come
|
||||
;; last.
|
||||
(gexp->file "boot"
|
||||
;; Clean up and activate the system, then spawn shepherd.
|
||||
#~(begin #$@(reverse gexps))))
|
||||
|
||||
(define (boot-script-entry mboot)
|
||||
"Return, as a monadic value, an entry for the boot script in the system
|
||||
|
@ -346,64 +353,74 @@ directory."
|
|||
(return `(("boot" ,boot)))))
|
||||
|
||||
(define boot-service-type
|
||||
;; The service of this type is extended by being passed gexps as monadic
|
||||
;; values. It aggregates them in a single script, as a monadic value, which
|
||||
;; becomes its 'parameters'. It is the only service that extends nothing.
|
||||
;; The service of this type is extended by being passed gexps. It
|
||||
;; aggregates them in a single script, as a monadic value, which becomes its
|
||||
;; value.
|
||||
(service-type (name 'boot)
|
||||
(extensions
|
||||
(list (service-extension system-service-type
|
||||
boot-script-entry)))
|
||||
(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
|
||||
;; The service that produces the boot script.
|
||||
(service boot-service-type #t))
|
||||
|
||||
(define (cleanup-gexp _)
|
||||
"Return as a monadic value a gexp to clean up /tmp and similar places upon
|
||||
boot."
|
||||
(with-monad %store-monad
|
||||
(with-imported-modules '((guix build utils))
|
||||
(return #~(begin
|
||||
(use-modules (guix build utils))
|
||||
"Return a gexp to clean up /tmp and similar places upon boot."
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
;; Clean out /tmp and /var/run.
|
||||
;;
|
||||
;; XXX This needs to happen before service activations, so it
|
||||
;; has to be here, but this also implicitly assumes that /tmp
|
||||
;; and /var/run are on the root partition.
|
||||
(letrec-syntax ((fail-safe (syntax-rules ()
|
||||
((_ exp rest ...)
|
||||
(begin
|
||||
(catch 'system-error
|
||||
(lambda () exp)
|
||||
(const #f))
|
||||
(fail-safe rest ...)))
|
||||
((_)
|
||||
#t))))
|
||||
;; Ignore I/O errors so the system can boot.
|
||||
(fail-safe
|
||||
;; Remove stale Shadow lock files as they would lead to
|
||||
;; failures of 'useradd' & co.
|
||||
(delete-file "/etc/group.lock")
|
||||
(delete-file "/etc/passwd.lock")
|
||||
(delete-file "/etc/.pwd.lock") ;from 'lckpwdf'
|
||||
;; Clean out /tmp and /var/run.
|
||||
;;
|
||||
;; XXX This needs to happen before service activations, so it
|
||||
;; has to be here, but this also implicitly assumes that /tmp
|
||||
;; and /var/run are on the root partition.
|
||||
(letrec-syntax ((fail-safe (syntax-rules ()
|
||||
((_ exp rest ...)
|
||||
(begin
|
||||
(catch 'system-error
|
||||
(lambda () exp)
|
||||
(const #f))
|
||||
(fail-safe rest ...)))
|
||||
((_)
|
||||
#t))))
|
||||
;; Ignore I/O errors so the system can boot.
|
||||
(fail-safe
|
||||
;; Remove stale Shadow lock files as they would lead to
|
||||
;; failures of 'useradd' & co.
|
||||
(delete-file "/etc/group.lock")
|
||||
(delete-file "/etc/passwd.lock")
|
||||
(delete-file "/etc/.pwd.lock") ;from 'lckpwdf'
|
||||
|
||||
(delete-file-recursively "/tmp")
|
||||
(delete-file-recursively "/var/run")
|
||||
(mkdir "/tmp")
|
||||
(chmod "/tmp" #o1777)
|
||||
(mkdir "/var/run")
|
||||
(chmod "/var/run" #o755)
|
||||
(delete-file-recursively "/run/udev/watch.old"))))))))
|
||||
;; Force file names to be decoded as UTF-8. See
|
||||
;; <https://bugs.gnu.org/26353>.
|
||||
(setenv "GUIX_LOCPATH"
|
||||
#+(file-append glibc-utf8-locales "/lib/locale"))
|
||||
(setlocale LC_CTYPE "en_US.utf8")
|
||||
(delete-file-recursively "/tmp")
|
||||
(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
|
||||
;; Service that cleans things up in /tmp and similar.
|
||||
(service-type (name 'cleanup)
|
||||
(extensions
|
||||
(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)
|
||||
"Return as a monadic value the activation script for SERVICE, a service of
|
||||
|
@ -412,44 +429,39 @@ ACTIVATION-SCRIPT-TYPE."
|
|||
|
||||
(define (activation-script gexps)
|
||||
"Return the system's activation script, which evaluates GEXPS."
|
||||
(define (service-activations)
|
||||
;; Return the activation scripts for SERVICES.
|
||||
(mapm %store-monad
|
||||
(cut gexp->file "activate-service" <>)
|
||||
gexps))
|
||||
(define actions
|
||||
(map (cut scheme-file "activate-service" <>) gexps))
|
||||
|
||||
(mlet* %store-monad ((actions (service-activations)))
|
||||
(gexp->file "activate"
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build activation)
|
||||
(guix build utils)))
|
||||
#~(begin
|
||||
(use-modules (gnu build activation)
|
||||
(guix build utils))
|
||||
(scheme-file "activate"
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build activation)
|
||||
(guix build utils)))
|
||||
#~(begin
|
||||
(use-modules (gnu build activation)
|
||||
(guix build utils))
|
||||
|
||||
;; Make sure the user accounting database exists. If it
|
||||
;; does not exist, 'setutxent' does not create it and
|
||||
;; thus there is no accounting at all.
|
||||
(close-port (open-file "/var/run/utmpx" "a0"))
|
||||
;; Make sure the user accounting database exists. If it
|
||||
;; does not exist, 'setutxent' does not create it and
|
||||
;; thus there is no accounting at all.
|
||||
(close-port (open-file "/var/run/utmpx" "a0"))
|
||||
|
||||
;; Same for 'wtmp', which is populated by mingetty et
|
||||
;; al.
|
||||
(mkdir-p "/var/log")
|
||||
(close-port (open-file "/var/log/wtmp" "a0"))
|
||||
;; Same for 'wtmp', which is populated by mingetty et
|
||||
;; al.
|
||||
(mkdir-p "/var/log")
|
||||
(close-port (open-file "/var/log/wtmp" "a0"))
|
||||
|
||||
;; Set up /run/current-system. Among other things this
|
||||
;; sets up locales, which the activation snippets
|
||||
;; executed below may expect.
|
||||
(activate-current-system)
|
||||
;; Set up /run/current-system. Among other things this
|
||||
;; sets up locales, which the activation snippets
|
||||
;; executed below may expect.
|
||||
(activate-current-system)
|
||||
|
||||
;; Run the services' activation snippets.
|
||||
;; TODO: Use 'load-compiled'.
|
||||
(for-each primitive-load '#$actions))))))
|
||||
;; Run the services' activation snippets.
|
||||
;; TODO: Use 'load-compiled'.
|
||||
(for-each primitive-load '#$actions)))))
|
||||
|
||||
(define (gexps->activation-gexp gexps)
|
||||
"Return a gexp that runs the activation script containing GEXPS."
|
||||
(mlet %store-monad ((script (activation-script gexps)))
|
||||
(return #~(primitive-load #$script))))
|
||||
#~(primitive-load #$(activation-script gexps)))
|
||||
|
||||
(define (second-argument a b) b)
|
||||
|
||||
|
@ -459,7 +471,10 @@ ACTIVATION-SCRIPT-TYPE."
|
|||
(list (service-extension boot-service-type
|
||||
gexps->activation-gexp)))
|
||||
(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
|
||||
;; The activation service produces the activation script from the gexps it
|
||||
|
@ -507,7 +522,10 @@ ACTIVATION-SCRIPT-TYPE."
|
|||
(lambda (files)
|
||||
#~(activate-special-files '#$files)))))
|
||||
(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)
|
||||
"Use TARGET as the \"special file\" FILE. For example, TARGET might be
|
||||
|
@ -541,7 +559,8 @@ directory."
|
|||
#~(activate-etc #$etc))))
|
||||
(service-extension system-service-type etc-entry)))
|
||||
(compose concatenate)
|
||||
(extend append)))
|
||||
(extend append)
|
||||
(description "Populate the @file{/etc} directory.")))
|
||||
|
||||
(define (etc-service 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
|
||||
(list #$@programs))))))
|
||||
(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)
|
||||
"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
|
||||
packages->profile-entry)))
|
||||
(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)
|
||||
"Return a gexp to make the packages listed in FIRMWARE loadable by the
|
||||
|
@ -589,7 +615,11 @@ kernel."
|
|||
(list (service-extension activation-service-type
|
||||
firmware->activation-gexp)))
|
||||
(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)
|
||||
"Return an entry in the system's output containing symlinks to ROOTS."
|
||||
|
@ -616,7 +646,10 @@ kernel."
|
|||
(list (service-extension system-service-type
|
||||
gc-roots->system-entry)))
|
||||
(compose concatenate)
|
||||
(extend append)))
|
||||
(extend append)
|
||||
(description
|
||||
"Register garbage-collector roots---i.e., store items that
|
||||
will not be reclaimed by the garbage collector.")))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;;
|
||||
;;; 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
|
||||
;;; the Free Software Foundation, either version 3 of the License, or
|
||||
;;; (at your option) any later version.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;;
|
||||
;;; 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
|
||||
;;; the Free Software Foundation, either version 3 of the License, or
|
||||
;;; (at your option) any later version.
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#:use-module (guix sets)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix derivations) ;imported-modules, etc.
|
||||
#:use-module (gnu services)
|
||||
|
@ -66,26 +65,25 @@
|
|||
|
||||
|
||||
(define (shepherd-boot-gexp services)
|
||||
(with-monad %store-monad
|
||||
(return #~(begin
|
||||
;; Keep track of the booted system.
|
||||
(false-if-exception (delete-file "/run/booted-system"))
|
||||
(symlink (readlink "/run/current-system")
|
||||
"/run/booted-system")
|
||||
#~(begin
|
||||
;; Keep track of the booted system.
|
||||
(false-if-exception (delete-file "/run/booted-system"))
|
||||
(symlink (readlink "/run/current-system")
|
||||
"/run/booted-system")
|
||||
|
||||
;; Close any remaining open file descriptors to be on the safe
|
||||
;; side. This must be the very last thing we do, because
|
||||
;; Guile has internal FDs such as 'sleep_pipe' that need to be
|
||||
;; alive.
|
||||
(let loop ((fd 3))
|
||||
(when (< fd 1024)
|
||||
(false-if-exception (close-fdes fd))
|
||||
(loop (+ 1 fd))))
|
||||
;; Close any remaining open file descriptors to be on the safe
|
||||
;; side. This must be the very last thing we do, because
|
||||
;; Guile has internal FDs such as 'sleep_pipe' that need to be
|
||||
;; alive.
|
||||
(let loop ((fd 3))
|
||||
(when (< fd 1024)
|
||||
(false-if-exception (close-fdes fd))
|
||||
(loop (+ 1 fd))))
|
||||
|
||||
;; Start shepherd.
|
||||
(execl #$(file-append shepherd "/bin/shepherd")
|
||||
"shepherd" "--config"
|
||||
#$(shepherd-configuration-file services))))))
|
||||
;; Start shepherd.
|
||||
(execl #$(file-append shepherd "/bin/shepherd")
|
||||
"shepherd" "--config"
|
||||
#$(shepherd-configuration-file services))))
|
||||
|
||||
(define shepherd-root-service-type
|
||||
(service-type
|
||||
|
|
|
@ -470,13 +470,13 @@ a container or that of a \"bare metal\" system."
|
|||
(cons* (service system-service-type entries)
|
||||
%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,
|
||||
;; 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.
|
||||
%shepherd-root-service
|
||||
%activation-service
|
||||
(service cleanup-service-type #f)
|
||||
%activation-service
|
||||
%shepherd-root-service
|
||||
|
||||
(pam-root-service (operating-system-pam-services 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."
|
||||
(let* ((services (operating-system-services os #:container? container?))
|
||||
(boot (fold-services services #:target-type boot-service-type)))
|
||||
;; BOOT is the script as a monadic value.
|
||||
(service-value boot)))
|
||||
|
||||
(define (operating-system-user-accounts os)
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
#:use-module (gnu services mcron)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu services networking)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages package-management)
|
||||
|
@ -37,11 +39,13 @@
|
|||
#:use-module (gnu packages tmux)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (run-basic-test
|
||||
%test-basic-os
|
||||
%test-halt
|
||||
%test-cleanup
|
||||
%test-mcron
|
||||
%test-nss-mdns))
|
||||
|
||||
|
@ -471,6 +475,72 @@ in a loop. See <http://bugs.gnu.org/26931>.")
|
|||
(guix combinators)))))
|
||||
(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.
|
||||
|
|
|
@ -551,10 +551,26 @@ list of services."
|
|||
;; TRANSLATORS: Please preserve the two-space indentation.
|
||||
(format #t (G_ " label: ~a~%") label)
|
||||
(format #t (G_ " bootloader: ~a~%") bootloader-name)
|
||||
(format #t (G_ " root device: ~a~%")
|
||||
(if (uuid? root-device)
|
||||
(uuid->string root-device)
|
||||
root-device))
|
||||
|
||||
;; TRANSLATORS: The '~[', '~;', and '~]' sequences in this string must
|
||||
;; be preserved. They denote conditionals, such that the result will
|
||||
;; 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))))
|
||||
|
||||
(define* (list-generations pattern #:optional (profile %system-profile))
|
||||
|
|
Reference in New Issue