Merge branch 'master' into core-updates

This commit is contained in:
Mark H Weaver 2017-08-11 03:49:24 -04:00
commit 3785e42e52
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
20 changed files with 316 additions and 611 deletions

View File

@ -2599,7 +2599,7 @@ The available formats are:
@table @code
@item tarball
This is the default format. It produces a tarball containing all the
specifies binaries and symlinks.
specified binaries and symlinks.
@item docker
This produces a tarball that follows the
@ -13769,6 +13769,29 @@ Commands to allow running. By default, @code{sed} is disabled.
@item @code{debug?} (default: @code{#f})
Set @code{debug?} to @code{#t} to show debug messages.
@item @code{wrap-lines} (default: @code{#t})
Initial line wrapping state in the web interface. Set to @code{#t} to
initially wrap lines (the default), or to @code{#f} to initially not
wrap lines.
@item @code{http-auth} (default: @code{#f})
HTTP authentication type to use. Set to @code{#f} to disable
authentication (the default). Supported values are @code{"digest"} or
@code{"basic"}.
@item @code{users} (default: @code{#f})
If HTTP authentication is enabled (see @code{http-auth}), access will be
restricted to the credentials provided here. To configure users, use a
list of pairs, where the first element of the pair is the username, and
the 2nd element of the pair is the password.
@example
(tailon-configuration-file
(http-auth "basic")
(users '(("user1" . "password1")
("user2" . "password2"))))
@end example
@end table
@end deftp

View File

@ -870,8 +870,6 @@ dist_patch_DATA = \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openscenegraph-ffmpeg3.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \
%D%/packages/patches/openjpeg-CVE-2016-9572-CVE-2016-9573.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssl-runpath.patch \

View File

@ -181,13 +181,13 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
(version "1.79")
(version "1.80")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz"))
(sha256
(base32 "1qf7l0hx2k2qsc1rm3gh00bc0hwf9wqkrvrk08141yjj2js2y8lw"))
(base32 "007hs15i2pn49l6kycy49h3bj66qh6fxrp6yidj3776n32q3v1i0"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net")

View File

@ -473,14 +473,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
(version "9.6.3")
(version "9.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"1imrjp4vfslxj5rrvphcrrk21zv8kqw3gacmwradixh1d5rv6i8n"))))
"04yffrrmn85k25n3nq389aa9c1j8mkimrf889kayl772h9nv2fib"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")

View File

@ -55,13 +55,13 @@ clients.")
(define-public vdirsyncer
(package
(name "vdirsyncer")
(version "0.16.0")
(version "0.16.1")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0n59mhcrm24bncnphigqqnifivxgsg87pidz6gshijkkjdwzmnyg"))))
"0pnsb9h4r0hhmqhzx9nbrd7jawir9ysrh3wrrkhzi0ssarmxyp67"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -5225,3 +5225,109 @@ multiplexer.")
(description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
editing RPM spec files.")
(license license:gpl2+)))
(define-public emacs-git-messenger
(package
(name "emacs-git-messenger")
(version "0.18")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/syohex/emacs-git-messenger/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-popup" ,emacs-popup)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "emacs" "--batch" "-L" "."
"-L" (string-append
(assoc-ref inputs "emacs-popup")
"/share/emacs/site-lisp/guix.d/popup-"
,(package-version emacs-popup))
"-l" "test/test.el"
"-f" "ert-run-tests-batch-and-exit")))))))
(home-page "https://github.com/syohex/emacs-git-messenger")
(synopsis "Popup commit message at current line")
(description "@code{emacs-git-messenger} provides
@code{git-messenger:popup-message}, a function that when called, will popup
the last git commit message for the current line. This uses git-blame
internally.")
(license license:gpl3+)))
(define-public emacs-gitpatch
(package
(name "emacs-gitpatch")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/tumashu/gitpatch/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
(build-system emacs-build-system)
(home-page "https://github.com/tumashu/gitpatch")
(synopsis "Mail git patch from Emacs")
(description "@code{emacs-gitpatch} lets users easily send git patches,
created by @code{git format-patch}, from @code{magit}, @code{dired} and
@code{ibuffer} buffers.")
(license license:gpl3+)))
(define-public emacs-erc-hl-nicks
(package
(name "emacs-erc-hl-nicks")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/leathekd/erc-hl-nicks"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01svpl9bps5kx4y1wnymakxya2cznqmlynvqv2r500wpnbxczrbs"))))
(build-system emacs-build-system)
(synopsis "Nickname highlighting for Emacs ERC")
(description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
client for Emacs. The main features are:
@itemize
@item Auto-colorizes nicknames without having to specify colors
@item Ignores certain characters that IRC clients add to nicknames to avoid
duplicates (nickname, nickname, nickname\", etc.)
@item Attempts to produce colors with a sufficient amount of contrast between
the nick color and the background color
@end itemize\n")
(home-page "https://github.com/leathekd/erc-hl-nicks")
(license license:gpl3+)))
(define-public emacs-engine-mode
(package
(name "emacs-engine-mode")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/hrs/engine-mode/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
(build-system emacs-build-system)
(synopsis "Minor mode for defining and querying search engines")
(description "@code{engine-mode} is a global minor mode for Emacs. It
enables you to easily define search engines, bind them to keybindings, and
query them from the comfort of your editor.")
(home-page "https://github.com/hrs/engine-mode")
(license license:gpl3+)))

View File

@ -2401,7 +2401,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup
(package
(name "libsoup")
(version "2.58.1")
(version "2.58.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/"
@ -2409,7 +2409,7 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz"))
(sha256
(base32
"1fggmshk2mfsyfvml6paki65xj9rv1s5p7ds41xmnx6yazsnkik2"))))
"0wkvs4kql1iam4cqy17wsi12b1pzhwr2127pyaxs7y0v3g5008s4"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments

View File

@ -275,7 +275,16 @@ developers consider to have good quality code and correct functionality.")
#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))))
"/share/gtk-doc/html"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-openjpeg-reference
(lambda _
;; Remove hard-coded openjpeg-2.1 path. 2.2 is API- and
;; ABI-compatible.
(substitute* "ext/openjpeg/gstopenjpeg.h"
(("<openjpeg-2\\.1/") "<openjpeg-2.2/"))
#t)))))
(propagated-inputs
`(("gst-plugins-base" ,gst-plugins-base)))
(native-inputs

View File

@ -256,7 +256,7 @@ your images. Among its features are:
(define-public catimg
(package
(name "catimg")
(version "2.3.2")
(version "2.4.0")
(source
(origin
(method url-fetch)
@ -265,7 +265,7 @@ your images. Among its features are:
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0n78sl8mxyky9zcih2znzcnb9dbfmvmrdwzj73jcxfh531cgcpi9"))))
"1rwgbq2imd5l4nql5hrz7rr5f4gz8aad1amlf0j3cxir8slpbd1y"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests

View File

@ -481,7 +481,7 @@ work.")
(define-public openjpeg
(package
(name "openjpeg")
(version "2.1.2")
(version "2.2.0")
(source
(origin
(method url-fetch)
@ -491,9 +491,7 @@ work.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"19yz4g0c45sm8y1z01j9djsrl1mkz3pmw7fykc6hkvrqymp7prsc"))
(patches (search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch"
"openjpeg-CVE-2016-9572-CVE-2016-9573.patch"))))
"0yvfghxwfm3dcqr9krkw63pcd76hzkknc3fh7bh11s8qlvjvrpbg"))))
(build-system cmake-build-system)
(arguments
;; Trying to run `$ make check' results in a no rule fault.

View File

@ -45,14 +45,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.9-0")
(version "6.9.9-5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"02xnvgjnmz2d4yv4iy1kh7an5w631p1s319jw23c8zpmqhfhk2ha"))))
"0mnhwzgap2q2qs899skc41s8gd2g1g6rgs959zxqg6yjx3n48r5a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

View File

@ -96,18 +96,19 @@ command line.")
(define-public tailon
(package
(name "tailon")
(version "1.1.1")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"08clrwpfdxcv2z2b5ardpmim4alahbw4l7631dhw62xhbcf6wjzz"))))
"0wl2wm6p3pc0vkk33s7rzgcfvs9cwxfmlz997pdfhlw72r00l7s5"))))
(build-system python-build-system)
(inputs
`(("python-pyyaml" ,python-pyyaml)
("python-sockjs-tornado" ,python-sockjs-tornado)
("python-tornado-http-auth" ,python-tornado-http-auth)
("python-tornado" ,python-tornado)))
(arguments
`(#:phases

View File

@ -1,233 +0,0 @@
Fix CVE-2016-9572 and CVE-2016-9573:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9572
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9573
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-9572
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-9573
Patch copied from 3rd-party repository:
https://github.com/szukw000/openjpeg/commit/7b28bd2b723df6be09fe7791eba33147c1c47d0d
From 7b28bd2b723df6be09fe7791eba33147c1c47d0d Mon Sep 17 00:00:00 2001
From: szukw000 <szukw000@arcor.de>
Date: Mon, 28 Nov 2016 21:57:20 +0100
Subject: [PATCH] Changes for issues #863 and #862
---
src/bin/jp2/convert.c | 59 +++++++++++++++++++++++++++++++++++++++-----
src/bin/jp2/convertbmp.c | 29 +++++++++++++++++++++-
src/bin/jp2/opj_decompress.c | 2 +-
src/lib/openjp2/j2k.c | 11 ++++++---
4 files changed, 90 insertions(+), 11 deletions(-)
diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
index deee4f6..6a3f65b 100644
--- a/src/bin/jp2/convert.c
+++ b/src/bin/jp2/convert.c
@@ -906,7 +906,8 @@ int imagetotga(opj_image_t * image, const char *outfile) {
for (i = 0; i < image->numcomps-1; i++) {
if ((image->comps[0].dx != image->comps[i+1].dx)
||(image->comps[0].dy != image->comps[i+1].dy)
- ||(image->comps[0].prec != image->comps[i+1].prec)) {
+ ||(image->comps[0].prec != image->comps[i+1].prec)
+ ||(image->comps[0].sgnd != image->comps[i+1].sgnd)) {
fclose(fdest);
fprintf(stderr, "Unable to create a tga file with such J2K image charateristics.");
return 1;
@@ -1743,7 +1744,7 @@ int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
int *red, *green, *blue, *alpha;
int wr, hr, max;
int i;
- unsigned int compno, ncomp;
+ unsigned int compno, ncomp, ui;
int adjustR, adjustG, adjustB, adjustA;
int fails, two, want_gray, has_alpha, triple;
int prec, v;
@@ -1768,6 +1769,27 @@ int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
if(want_gray) ncomp = 1;
+ for (ui = 1; ui < ncomp; ++ui) {
+ if (image->comps[0].dx != image->comps[ui].dx) {
+ break;
+ }
+ if (image->comps[0].dy != image->comps[ui].dy) {
+ break;
+ }
+ if (image->comps[0].prec != image->comps[ui].prec) {
+ break;
+ }
+ if (image->comps[0].sgnd != image->comps[ui].sgnd) {
+ break;
+ }
+ }
+ if (ui != ncomp) {
+ fprintf(stderr,"imagetopnm: All components\n shall have "
+ "the same subsampling, same bit depth, same sign.\n"
+ " Aborting\n");
+ return 1;
+ }
+
if ((force_split == 0) &&
(ncomp == 2 /* GRAYA */
|| (ncomp > 2 /* RGB, RGBA */
@@ -2126,7 +2148,7 @@ static int imagetoraw_common(opj_image_t * image, const char *outfile, OPJ_BOOL
{
FILE *rawFile = NULL;
size_t res;
- unsigned int compno;
+ unsigned int compno, numcomps;
int w, h, fails;
int line, row, curr, mask;
int *ptr;
@@ -2139,6 +2161,31 @@ static int imagetoraw_common(opj_image_t * image, const char *outfile, OPJ_BOOL
return 1;
}
+ numcomps = image->numcomps;
+
+ if (numcomps > 4) {
+ numcomps = 4;
+ }
+ for (compno = 1; compno < numcomps; ++compno) {
+ if (image->comps[0].dx != image->comps[compno].dx) {
+ break;
+ }
+ if (image->comps[0].dy != image->comps[compno].dy) {
+ break;
+ }
+ if (image->comps[0].prec != image->comps[compno].prec) {
+ break;
+ }
+ if (image->comps[0].sgnd != image->comps[compno].sgnd) {
+ break;
+ }
+ }
+ if (compno != numcomps) {
+ fprintf(stderr,"imagetoraw_common: All components shall have the same subsampling, same bit depth, same sign.\n");
+ fprintf(stderr,"\tAborting\n");
+ return 1;
+ }
+
rawFile = fopen(outfile, "wb");
if (!rawFile) {
fprintf(stderr, "Failed to open %s for writing !!\n", outfile);
@@ -2146,9 +2193,9 @@ static int imagetoraw_common(opj_image_t * image, const char *outfile, OPJ_BOOL
}
fails = 1;
- fprintf(stdout,"Raw image characteristics: %d components\n", image->numcomps);
+ fprintf(stdout,"Raw image characteristics: %d components\n", numcomps);
- for(compno = 0; compno < image->numcomps; compno++)
+ for(compno = 0; compno < numcomps; compno++)
{
fprintf(stdout,"Component %u characteristics: %dx%dx%d %s\n", compno, image->comps[compno].w,
image->comps[compno].h, image->comps[compno].prec, image->comps[compno].sgnd==1 ? "signed": "unsigned");
@@ -2238,7 +2285,7 @@ static int imagetoraw_common(opj_image_t * image, const char *outfile, OPJ_BOOL
}
else if (image->comps[compno].prec <= 32)
{
- fprintf(stderr,"More than 16 bits per component no handled yet\n");
+ fprintf(stderr,"More than 16 bits per component not handled yet\n");
goto fin;
}
else
diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c
index ae83077..8017ba8 100644
--- a/src/bin/jp2/convertbmp.c
+++ b/src/bin/jp2/convertbmp.c
@@ -806,8 +806,35 @@ int imagetobmp(opj_image_t * image, const char *outfile) {
FILE *fdest = NULL;
int adjustR, adjustG, adjustB;
+ {
+ unsigned int ui, ncomp = image->numcomps;
+
+ if (ncomp > 4) { /* RGBA in bmpmask32toimage */
+ ncomp = 4;
+ }
+ for (ui = 1; ui < ncomp; ++ui) {
+ if (image->comps[0].dx != image->comps[ui].dx) {
+ break;
+ }
+ if (image->comps[0].dy != image->comps[ui].dy) {
+ break;
+ }
+ if (image->comps[0].prec != image->comps[ui].prec) {
+ break;
+ }
+ if (image->comps[0].sgnd != image->comps[ui].sgnd) {
+ break;
+ }
+ }
+ if (ui != ncomp) {
+ fprintf(stderr,"imagetobmp: All components shall have the same subsampling, same bit depth, same sign.\n");
+ fprintf(stderr,"\tAborting\n");
+ return 1;
+ }
+
+ }
if (image->comps[0].prec < 8) {
- fprintf(stderr, "Unsupported number of components: %d\n", image->comps[0].prec);
+ fprintf(stderr, "imagetobmp: Unsupported precision: %d\n", image->comps[0].prec);
return 1;
}
if (image->numcomps >= 3 && image->comps[0].dx == image->comps[1].dx
diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c
index 83160c3..c30079b 100644
--- a/src/bin/jp2/opj_decompress.c
+++ b/src/bin/jp2/opj_decompress.c
@@ -1607,7 +1607,7 @@ int main(int argc, char **argv)
if(dirptr->filename_buf) free(dirptr->filename_buf);
free(dirptr);
}
- if (numDecompressedImages) {
+ if (numDecompressedImages && !failed) {
fprintf(stdout, "decode time: %d ms\n", (int)( (tCumulative * 1000.0) / (OPJ_FLOAT64)numDecompressedImages));
}
return failed ? EXIT_FAILURE : EXIT_SUCCESS;
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
index 66802bb..b6daa32 100644
--- a/src/lib/openjp2/j2k.c
+++ b/src/lib/openjp2/j2k.c
@@ -2158,7 +2158,7 @@ static OPJ_BOOL opj_j2k_read_siz(opj_j2k_t *p_j2k,
i, l_img_comp->dx, l_img_comp->dy);
return OPJ_FALSE;
}
- if( l_img_comp->prec > 38) { /* TODO openjpeg won't handle more than ? */
+ if( l_img_comp->prec < 1 || l_img_comp->prec > 38) { /* TODO openjpeg won't handle more than ? */
opj_event_msg(p_manager, EVT_ERROR,
"Invalid values for comp = %d : prec=%u (should be between 1 and 38 according to the JPEG2000 norm)\n",
i, l_img_comp->prec);
@@ -10029,7 +10029,11 @@ OPJ_BOOL opj_j2k_decode(opj_j2k_t * p_j2k,
/* Move data and copy one information from codec to output image*/
for (compno = 0; compno < p_image->numcomps; compno++) {
p_image->comps[compno].resno_decoded = p_j2k->m_output_image->comps[compno].resno_decoded;
- p_image->comps[compno].data = p_j2k->m_output_image->comps[compno].data;
+ p_image->comps[compno].data = p_j2k->m_output_image->comps[compno].data;
+
+ if(p_image->comps[compno].data == NULL) return OPJ_FALSE;
+
+ p_j2k->m_output_image->comps[compno].data = NULL;
#if 0
char fn[256];
sprintf( fn, "/tmp/%d.raw", compno );
@@ -10037,7 +10041,6 @@ OPJ_BOOL opj_j2k_decode(opj_j2k_t * p_j2k,
fwrite( p_image->comps[compno].data, sizeof(OPJ_INT32), p_image->comps[compno].w * p_image->comps[compno].h, debug );
fclose( debug );
#endif
- p_j2k->m_output_image->comps[compno].data = NULL;
}
return OPJ_TRUE;
@@ -10131,6 +10134,8 @@ OPJ_BOOL opj_j2k_get_tile( opj_j2k_t *p_j2k,
p_image->comps[compno].data = p_j2k->m_output_image->comps[compno].data;
+ if (p_image->comps[compno].data == NULL) return OPJ_FALSE;
+
p_j2k->m_output_image->comps[compno].data = NULL;
}

View File

@ -1,245 +0,0 @@
From cadff5fb6e73398de26a92e96d3d7cac893af255 Mon Sep 17 00:00:00 2001
From: szukw000 <szukw000@arcor.de>
Date: Fri, 9 Dec 2016 08:29:55 +0100
Subject: [PATCH] These changes repair bugs of #871 and #872
email from http://openwall.com/lists/oss-security/2016/12/09/4
patch is against openjpeg-2.1.2, applies cleanly to 2.1.1.
---
src/bin/jp2/converttif.c | 107 +++++++++++++++++++++++++++++++----------------
1 file changed, 70 insertions(+), 37 deletions(-)
diff --git a/src/bin/jp2/converttif.c b/src/bin/jp2/converttif.c
index 143d3be..c690f8b 100644
--- a/src/bin/jp2/converttif.c
+++ b/src/bin/jp2/converttif.c
@@ -553,20 +553,18 @@ static void tif_32sto16u(const OPJ_INT32* pSrc, OPJ_UINT16* pDst, OPJ_SIZE_T len
int imagetotif(opj_image_t * image, const char *outfile)
{
- int width, height;
- int bps,adjust, sgnd;
- int tiPhoto;
+ uint32 width, height, bps, tiPhoto;
+ int adjust, sgnd;
TIFF *tif;
tdata_t buf;
- tsize_t strip_size;
+ tmsize_t strip_size, rowStride;
OPJ_UINT32 i, numcomps;
- OPJ_SIZE_T rowStride;
OPJ_INT32* buffer32s = NULL;
OPJ_INT32 const* planes[4];
convert_32s_PXCX cvtPxToCx = NULL;
convert_32sXXx_C1R cvt32sToTif = NULL;
- bps = (int)image->comps[0].prec;
+ bps = (uint32)image->comps[0].prec;
planes[0] = image->comps[0].data;
numcomps = image->numcomps;
@@ -674,13 +672,13 @@ int imagetotif(opj_image_t * image, const char *outfile)
break;
}
sgnd = (int)image->comps[0].sgnd;
- adjust = sgnd ? 1 << (image->comps[0].prec - 1) : 0;
- width = (int)image->comps[0].w;
- height = (int)image->comps[0].h;
+ adjust = sgnd ? (int)(1 << (image->comps[0].prec - 1)) : 0;
+ width = (uint32)image->comps[0].w;
+ height = (uint32)image->comps[0].h;
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, width);
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, height);
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, numcomps);
+ TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, (uint32)numcomps);
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bps);
TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
@@ -688,8 +686,8 @@ int imagetotif(opj_image_t * image, const char *outfile)
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
strip_size = TIFFStripSize(tif);
- rowStride = ((OPJ_SIZE_T)width * numcomps * (OPJ_SIZE_T)bps + 7U) / 8U;
- if (rowStride != (OPJ_SIZE_T)strip_size) {
+ rowStride = (width * numcomps * bps + 7U) / 8U;
+ if (rowStride != strip_size) {
fprintf(stderr, "Invalid TIFF strip size\n");
TIFFClose(tif);
return 1;
@@ -699,7 +697,7 @@ int imagetotif(opj_image_t * image, const char *outfile)
TIFFClose(tif);
return 1;
}
- buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)width * numcomps * sizeof(OPJ_INT32));
+ buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(width * numcomps * sizeof(OPJ_INT32)));
if (buffer32s == NULL) {
_TIFFfree(buf);
TIFFClose(tif);
@@ -1211,20 +1209,19 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
TIFF *tif;
tdata_t buf;
tstrip_t strip;
- tsize_t strip_size;
+ tmsize_t strip_size;
int j, currentPlane, numcomps = 0, w, h;
OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_UNKNOWN;
opj_image_cmptparm_t cmptparm[4]; /* RGBA */
opj_image_t *image = NULL;
int has_alpha = 0;
- unsigned short tiBps, tiPhoto, tiSf, tiSpp, tiPC;
- unsigned int tiWidth, tiHeight;
+ uint32 tiBps, tiPhoto, tiSf, tiSpp, tiPC, tiWidth, tiHeight;
OPJ_BOOL is_cinema = OPJ_IS_CINEMA(parameters->rsiz);
convert_XXx32s_C1R cvtTifTo32s = NULL;
convert_32s_CXPX cvtCxToPx = NULL;
OPJ_INT32* buffer32s = NULL;
OPJ_INT32* planes[4];
- OPJ_SIZE_T rowStride;
+ tmsize_t rowStride;
tif = TIFFOpen(filename, "r");
@@ -1243,22 +1240,35 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &tiSpp);
TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &tiPhoto);
TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &tiPC);
- w= (int)tiWidth;
- h= (int)tiHeight;
-
- if(tiBps > 16U) {
- fprintf(stderr,"tiftoimage: Bits=%d, Only 1 to 16 bits implemented\n",tiBps);
- fprintf(stderr,"\tAborting\n");
+
+ if(tiSpp == 0 || tiSpp > 4) { /* should be 1 ... 4 */
+ fprintf(stderr,"tiftoimage: Bad value for samples per pixel == %hu.\n"
+ "\tAborting.\n", tiSpp);
+ TIFFClose(tif);
+ return NULL;
+ }
+ if(tiBps > 16U || tiBps == 0) {
+ fprintf(stderr,"tiftoimage: Bad values for Bits == %d.\n"
+ "\tMax. 16 Bits are allowed here.\n\tAborting.\n",tiBps);
TIFFClose(tif);
return NULL;
}
if(tiPhoto != PHOTOMETRIC_MINISBLACK && tiPhoto != PHOTOMETRIC_RGB) {
- fprintf(stderr,"tiftoimage: Bad color format %d.\n\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
+ fprintf(stderr,"tiftoimage: Bad color format %d.\n"
+ "\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
fprintf(stderr,"\tAborting\n");
TIFFClose(tif);
return NULL;
}
-
+ if(tiWidth == 0 || tiHeight == 0) {
+ fprintf(stderr,"tiftoimage: Bad values for width(%u) "
+ "and/or height(%u)\n\tAborting.\n",tiWidth,tiHeight);
+ TIFFClose(tif);
+ return NULL;
+ }
+ w= (int)tiWidth;
+ h= (int)tiHeight;
+
switch (tiBps) {
case 1:
case 2:
@@ -1312,7 +1322,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,
&extrasamples, &sampleinfo);
-
+
if(extrasamples >= 1)
{
switch(sampleinfo[0])
@@ -1333,7 +1343,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
else /* extrasamples == 0 */
if(tiSpp == 4 || tiSpp == 2) has_alpha = 1;
}
-
+
/* initialize image components */
memset(&cmptparm[0], 0, 4 * sizeof(opj_image_cmptparm_t));
@@ -1346,7 +1356,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
} else {
is_cinema = 0U;
}
-
+
if(tiPhoto == PHOTOMETRIC_RGB) /* RGB(A) */
{
numcomps = 3 + has_alpha;
@@ -1384,10 +1394,24 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
image->x0 = (OPJ_UINT32)parameters->image_offset_x0;
image->y0 = (OPJ_UINT32)parameters->image_offset_y0;
image->x1 = !image->x0 ? (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1 :
- image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
+ image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
+ if(image->x1 <= image->x0) {
+ fprintf(stderr,"tiftoimage: Bad value for image->x1(%d) vs. "
+ "image->x0(%d)\n\tAborting.\n",image->x1,image->x0);
+ TIFFClose(tif);
+ opj_image_destroy(image);
+ return NULL;
+ }
image->y1 = !image->y0 ? (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1 :
- image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
-
+ image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
+ if(image->y1 <= image->y0) {
+ fprintf(stderr,"tiftoimage: Bad value for image->y1(%d) vs. "
+ "image->y0(%d)\n\tAborting.\n",image->y1,image->y0);
+ TIFFClose(tif);
+ opj_image_destroy(image);
+ return NULL;
+ }
+
for(j = 0; j < numcomps; j++)
{
planes[j] = image->comps[j].data;
@@ -1395,15 +1419,15 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
image->comps[numcomps - 1].alpha = (OPJ_UINT16)(1 - (numcomps & 1));
strip_size = TIFFStripSize(tif);
-
+
buf = _TIFFmalloc(strip_size);
if (buf == NULL) {
TIFFClose(tif);
opj_image_destroy(image);
return NULL;
}
- rowStride = ((OPJ_SIZE_T)w * tiSpp * tiBps + 7U) / 8U;
- buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)w * tiSpp * sizeof(OPJ_INT32));
+ rowStride = (w * tiSpp * tiBps + 7U) / 8U;
+ buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(w * tiSpp * sizeof(OPJ_INT32)));
if (buffer32s == NULL) {
_TIFFfree(buf);
TIFFClose(tif);
@@ -1421,11 +1445,20 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
for(; (h > 0) && (strip < TIFFNumberOfStrips(tif)); strip++)
{
const OPJ_UINT8 *dat8;
- OPJ_SIZE_T ssize;
+ tmsize_t ssize;
- ssize = (OPJ_SIZE_T)TIFFReadEncodedStrip(tif, strip, buf, strip_size);
+ ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size);
+ if(ssize < 1 || ssize > strip_size) {
+ fprintf(stderr,"tiftoimage: Bad value for ssize(%ld) "
+ "vs. strip_size(%ld).\n\tAborting.\n",ssize,strip_size);
+ _TIFFfree(buf);
+ _TIFFfree(buffer32s);
+ TIFFClose(tif);
+ opj_image_destroy(image);
+ return NULL;
+ }
dat8 = (const OPJ_UINT8*)buf;
-
+
while (ssize >= rowStride) {
cvtTifTo32s(dat8, buffer32s, (OPJ_SIZE_T)w * tiSpp);
cvtCxToPx(buffer32s, planes, (OPJ_SIZE_T)w);

View File

@ -6565,6 +6565,29 @@ connection to each user.")
("python2-singledispatch" ,python2-singledispatch)
,@(package-propagated-inputs tornado))))))
(define-public python-tornado-http-auth
(package
(name "python-tornado-http-auth")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tornado-http-auth" version))
(sha256
(base32
"0znrgqd7k2s4ia474xizi6h3061zj4sn5n6cq76bkwl3wwshifn5"))))
(build-system python-build-system)
(propagated-inputs
`(("python-tornado" ,python-tornado)))
(home-page
"https://github.com/gvalkov/tornado-http-auth")
(synopsis
"Digest and basic authentication module for Tornado")
(description
"Provides support for adding authentication to services using the Tornado
web framework, either via the basic or digest authentication schemes.")
(license license:asl2.0)))
;; the python- version can be removed with python-3.5
(define-public python-backports-abc
(package

View File

@ -66,14 +66,14 @@ migration.")
(define-public ruby-debug-inspector
(package
(name "ruby-debug-inspector")
(version "0.0.2")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "debug_inspector" version))
(sha256
(base32
"109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m"))))
"0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"))))
(build-system ruby-build-system)
(arguments
`(#:phases

View File

@ -240,13 +240,13 @@ announcement.")
(define-public ruby-rake-compiler
(package
(name "ruby-rake-compiler")
(version "1.0.1")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rake-compiler" version))
(sha256
(base32
"1lf91nf1fcnmsh54mxz06wyfmjkwh58vljr35zns5cwbg8fwmi20"))))
"1xpdi4w8zaklk1i9ps8g3k0icw3v5fcks092l84w28rgrpx82qip"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; needs cucumber
@ -335,13 +335,13 @@ groups.")
(define-public ruby-diff-lcs
(package
(name "ruby-diff-lcs")
(version "1.2.5")
(version "1.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "diff-lcs" version))
(sha256
(base32
"1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"))))
"18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
@ -509,13 +509,13 @@ supported: XML Markup and XML Events.")
(define-public ruby-rjb
(package
(name "ruby-rjb")
(version "1.5.3")
(version "1.5.5")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rjb" version))
(sha256
(base32
"0gzs92dagk981s4vrymnqg0vll783b9k564j0cdgp167nc5a2zg4"))))
"1ppj8rbicj3w0nhh7f73mflq19yd7pzdzkh2a91hcvphriy5b0ca"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; no rakefile
@ -683,14 +683,14 @@ extensions.")
(define-public ruby-libxml
(package
(name "ruby-libxml")
(version "2.8.0")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "libxml-ruby" version))
(sha256
(base32
"1dhjqp4r9vkdp00l6h1cj8qfndzxlhlxk6b9g0w4v55gz857ilhb"))))
"0xy8wmjwjcnv36zi042678ncjzpxvy351ccbv7mzkns2n3kxfp54"))))
(build-system ruby-build-system)
(inputs
`(("zlib" ,zlib)
@ -730,13 +730,13 @@ Ruby.")
(define-public ruby-thor
(package
(name "ruby-thor")
(version "0.19.1")
(version "0.19.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "thor" version))
(sha256
(base32
"08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"))))
"01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no test suite
@ -751,13 +751,13 @@ interfaces.")
(define-public ruby-lumberjack
(package
(name "ruby-lumberjack")
(version "1.0.10")
(version "1.0.12")
(source (origin
(method url-fetch)
(uri (rubygems-uri "lumberjack" version))
(sha256
(base32
"0ily8j83q959w19zb7qm6m7y53sdj9afxj4x6mn2adl4i7vpdsv4"))))
"0yz26k9mi0djx1qvlmvdw1xw2yf7a2rkfmnb2j0d28kms33xpibp"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-rspec" ,ruby-rspec)
@ -773,13 +773,13 @@ same log file.")
(define-public ruby-nenv
(package
(name "ruby-nenv")
(version "0.2.0")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "nenv" version))
(sha256
(base32
"152wxwri0afwgnxdf93gi6wjl9rr5z7vwp8ln0gpa3rddbfc27s6"))))
"0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; no tests included
@ -855,13 +855,13 @@ the output produced by running shell commands.")
(define-public ruby-notiffany
(package
(name "ruby-notiffany")
(version "0.0.7")
(version "0.1.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "notiffany" version))
(sha256
(base32
"1v5x1w59qq85r6dpv3y9ga34dfd7hka1qxyiykaw7gm0i6kggbhi"))))
"0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"))))
(build-system ruby-build-system)
;; Tests are not included in the gem.
(arguments `(#:tests? #f))
@ -978,13 +978,13 @@ and JRuby.")
(define-public ruby-simplecov-html
(package
(name "ruby-simplecov-html")
(version "0.10.0")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "simplecov-html" version))
(sha256
(base32
"1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf"))))
"0f3psphismgp6jp1fxxz09zbswh7m2xxxr6gqlzdh7sgv415clvm"))))
(build-system ruby-build-system)
(arguments `(#:tests? #f)) ; there are no tests
(native-inputs
@ -1025,13 +1025,13 @@ suites.")
(define-public ruby-useragent
(package
(name "ruby-useragent")
(version "0.13.3")
(version "0.16.8")
(source (origin
(method url-fetch)
(uri (rubygems-uri "useragent" version))
(sha256
(base32
"0kz7yyz7528bv4a2kfymvkcm8whqcddhmgaw1ksw1d90n30hhkpc"))))
"1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no test suite
@ -1061,13 +1061,13 @@ features.")
(define-public ruby-connection-pool
(package
(name "ruby-connection-pool")
(version "2.2.0")
(version "2.2.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "connection_pool" version))
(sha256
(base32
"1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy"))))
"17vpaj6kyf2i8bimaxz7rg1kyadf4d10642ja67qiqlhwgczl2w7"))))
(build-system ruby-build-system)
(native-inputs
`(("bundler" ,bundler)))
@ -1080,13 +1080,13 @@ interface for Ruby programs.")
(define-public ruby-net-http-persistent
(package
(name "ruby-net-http-persistent")
(version "2.9.4")
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "net-http-persistent" version))
(sha256
(base32
"1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4"))))
"156rv95bgxfz6qw5y1r7c7bswr77918hygl8dyl14qzbqc5vyp18"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-connection-pool" ,ruby-connection-pool)
@ -1191,13 +1191,13 @@ use GNU gettext tools for maintenance.")
(define-public ruby-packnga
(package
(name "ruby-packnga")
(version "1.0.1")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "packnga" version))
(sha256
(base32
"1i71yhvlkvi5fp3m8jl9317cnddkbnrcy0syrmiw4y1lrq0cbncj"))))
"1vv2j0i43s4xid2km5hgrrxqlqpwgq8nlm8kaxfg2531c1vwfsd4"))))
(build-system ruby-build-system)
;; ruby-test-unit is required to run tests, but that needs ruby-packnga.
;; To break the dependency cycle we disable tests.
@ -1216,13 +1216,13 @@ use GNU gettext tools for maintenance.")
(define-public ruby-test-unit
(package
(name "ruby-test-unit")
(version "3.2.4")
(version "3.2.5")
(source (origin
(method url-fetch)
(uri (rubygems-uri "test-unit" version))
(sha256
(base32
"09mb34lnffracsqxl4dav4c21p5nr4pj9hm5qy2s83k5hbjya3s7"))))
"05bx36fw01iqz0xqhvjfrwjgnj1zx3b2vn6w1fzp19rchd7zqc52"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-power-assert" ,ruby-power-assert)))
@ -1345,13 +1345,13 @@ knowing anything about the constructor.")
(define-public ruby-introspection
(package
(name "ruby-introspection")
(version "0.0.3")
(version "0.0.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "introspection" version))
(sha256
(base32
"0g1j71sqfxbqk32wj7d0bkd3dlayfqzprfq3dbr0rq107xbxjcrr"))))
"1y2nbijkc0zlfmn9ss6588ilarq2kbn2i7w7pwwsli66dj84zgca"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -1386,13 +1386,13 @@ definitions on a Ruby object.")
(define-public ruby-redcarpet
(package
(name "ruby-redcarpet")
(version "3.3.3")
(version "3.4.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "redcarpet" version))
(sha256
(base32
"14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk"))))
"0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -1499,13 +1499,13 @@ with processes on remote servers, via SSH2.")
(define-public ruby-minitest
(package
(name "ruby-minitest")
(version "5.10.2")
(version "5.10.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "minitest" version))
(sha256
(base32
"11my86fnihvpndyknn3c14hc82nhsgggnhlxh8h3bdjpmfsvl0my"))))
"05521clw19lrksqgvg2kmm025pvdhdaniix52vmbychrn2jm7kz2"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-hoe" ,ruby-hoe)))
@ -1563,13 +1563,13 @@ easier to re-run individual failing tests.")
(define-public ruby-minitest-bacon
(package
(name "ruby-minitest-bacon")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "minitest-bacon" version))
(sha256
(base32
"0cm7r68422743i3b6fm4rrm0r6cnnjmglq5gcmmgl1f0rk5hnf6r"))))
"0zhdwcl6bgha61qiyfvr7zs7ywaxc33wmj9xhxl8jdmpdvifvfaj"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-hoe" ,ruby-hoe)))
@ -1679,14 +1679,14 @@ MiniTest @code{Object#stub} with a global @code{stub} method.")
(define-public ruby-minitest-bonus-assertions
(package
(name "ruby-minitest-bonus-assertions")
(version "2.0")
(version "3.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "minitest-bonus-assertions" version))
(sha256
(base32
"11nrd32kwy61ndg9csk7l1ifya79ghrrv3vsrxj57k50m7na6jkm"))))
"1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -1739,14 +1739,14 @@ instance, it provides @code{assert_true}, @code{assert_false} and
(define-public ruby-minitest-hooks
(package
(name "ruby-minitest-hooks")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "minitest-hooks" version))
(sha256
(base32
"092fymh0c09v3a585qw3hc15b0zf159s74rxx1ga87drk5jr958z"))))
"05bngfyxwq1cflk568nhddgfrmws5ff6kiqax4skklsjnh71ykbi"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@ -1766,13 +1766,13 @@ for specs that share expensive database setup code.")
(define-public ruby-daemons
(package
(name "ruby-daemons")
(version "1.2.2")
(version "1.2.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "daemons" version))
(sha256
(base32
"121c7vkimg3baxga69xvdkwxiq8wkmxqvdbyqi5i82vhih5d3cn3"))))
"1bmb4qrd95b5gl3ym5j3q6mf090209f4vkczggn49n56w6s6zldz"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; no test suite
@ -1785,13 +1785,13 @@ run as a daemon and to be controlled by simple start/stop/restart commands.")
(define-public ruby-git
(package
(name "ruby-git")
(version "1.2.9.1")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "git" version))
(sha256
(base32
"1sqfj8lmhl7c5zamcckkpik4izfph2zkv6krw0i8mzj5pdws5acs"))))
"1waikaggw7a1d24nw0sh8fd419gbf7awh000qhsf411valycj6q3"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1820,13 +1820,13 @@ and manipulate Git repositories by wrapping system calls to the git binary.")
(define-public ruby-slop
(package
(name "ruby-slop")
(version "4.1.0")
(version "4.5.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "slop" version))
(sha256
(base32
"0dj0ps6v1mqd02k84mgwd7hp578n2bzl7c51h3grdhxfl3jkfsj5"))))
"0bfm8535g0rkn9cbjndkckf0f7a3wj0rg4rqhrpsgxnbfdf2lm0p"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-minitest" ,ruby-minitest)))
@ -1868,13 +1868,13 @@ net/http library.")
(define-public ruby-arel
(package
(name "ruby-arel")
(version "7.1.4")
(version "8.0.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "arel" version))
(sha256
(base32
"0l757dkkaxk5fq3368l79jpyzq9a9driricjamhiwhwvh0h7xcyx"))))
"0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; no tests
(home-page "https://github.com/rails/arel")
@ -2111,14 +2111,14 @@ file or directories are modified.")
(define-public ruby-thread-safe
(package
(name "ruby-thread-safe")
(version "0.3.5")
(version "0.3.6")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "thread_safe" version))
(sha256
(base32
"1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr"))))
"0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; needs simplecov, among others
@ -2131,14 +2131,14 @@ utilities for Ruby.")
(define-public ruby-tzinfo
(package
(name "ruby-tzinfo")
(version "1.2.2")
(version "1.2.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "tzinfo" version))
(sha256
(base32
"1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"))))
"05r81lk7q7275rdq7xipfm0yxgqyd2ggh73xpc98ypngcclqcscl"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-thread-safe" ,ruby-thread-safe)))
@ -2183,14 +2183,14 @@ IANA Time Zone database packaged as Ruby modules for use with @code{TZInfo}.")
(define-public ruby-rb-inotify
(package
(name "ruby-rb-inotify")
(version "0.9.5")
(version "0.9.10")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rb-inotify" version))
(sha256
(base32
"0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9"))))
"0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f ; there are no tests
@ -2274,13 +2274,13 @@ documentation for Ruby code.")
(define-public ruby-tins
(package
(name "ruby-tins")
(version "1.7.0")
(version "1.15.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "tins" version))
(sha256
(base32
"1060h8dgnjl9az0sv1b74yrni8d4mh3x858wq6yfbfdf5dxrfl0a"))))
"09whix5a7ics6787zrkwjmp16kqyh6560p9f317syks785805f7s"))))
(build-system ruby-build-system)
;; This gem needs gem-hadar at development time, but gem-hadar needs tins
;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding
@ -2384,13 +2384,13 @@ Ruby's large and slower test/unit.")
(define-public ruby-term-ansicolor
(package
(name "ruby-term-ansicolor")
(version "1.3.2")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "term-ansicolor" version))
(sha256
(base32
"0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys"))))
"1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b"))))
(build-system ruby-build-system)
;; Rebuilding the gemspec seems to require git, even though this is not a
;; git repository, so we just build the gem from the existing gemspec.
@ -2438,13 +2438,13 @@ process tree data structure for the current host.")
(define-public ruby-utils
(package
(name "ruby-utils")
(version "0.2.4")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "utils" version))
(sha256
(base32
"0vycgscxf3s1xn4yyfsq54zlh082581ga8azybmqgc4pij6iz2cd"))))
"196zhgcygrnx09bb9mh22qas03rl9avzx8qs0wnxznpin4pffwcl"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-tins" ,ruby-tins)
@ -2523,13 +2523,13 @@ a native C extension.")
(define-public ruby-rb-fsevent
(package
(name "ruby-rb-fsevent")
(version "0.9.6")
(version "0.10.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rb-fsevent" version))
(sha256
(base32
"1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2"))))
"1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf"))))
(build-system ruby-build-system)
;; Tests need "guard-rspec", which needs "guard". However, "guard" needs
;; "listen", which needs "rb-fsevent" at runtime.
@ -2543,14 +2543,14 @@ a native C extension.")
(define-public ruby-listen
(package
(name "ruby-listen")
(version "3.0.3")
(version "3.1.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "listen" version))
(sha256
(base32
"10lhshjklxlrkw7999j0xl6sdxd4x32kiy8rp88jwr68kis5vq2b"))))
"01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; no tests
(propagated-inputs
@ -2713,14 +2713,14 @@ unacceptable HTML and/or CSS from a string.")
(define-public ruby-ox
(package
(name "ruby-ox")
(version "2.5.0")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "ox" version))
(sha256
(base32
"0rar0xr5qn3zac1r2z18kmpapx121c2l3z8jsgh60vsddwzpdh7h"))))
"0fmk62b1h2i79dfzjj8wmf8qid1rv5nhwfc17l489ywnga91xl83"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
@ -2736,13 +2736,13 @@ alternative to Marshal for Object serialization. ")
(define-public ruby-redcloth
(package
(name "ruby-redcloth")
(version "4.2.9")
(version "4.3.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "RedCloth" version))
(sha256
(base32
"06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl"))))
"0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; no tests
@ -2775,14 +2775,14 @@ alternative to Marshal for Object serialization. ")
(define-public ruby-pg
(package
(name "ruby-pg")
(version "0.20.0")
(version "0.21.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pg" version))
(sha256
(base32
"03xcgwjs6faxis81jxf2plnlalg55dhhafqv3kvjxfr8ic7plpw5"))))
"00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@ -2801,14 +2801,14 @@ with PostgreSQL 8.4 and later.")
(define-public ruby-byebug
(package
(name "ruby-byebug")
(version "6.0.2")
(version "9.0.6")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "byebug" version))
(sha256
(base32
"0537h9qbhr6csahmzyn4lk1g5b2lcligbzd21gfy93nx9lbfdnzc"))))
"1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
@ -3014,14 +3014,14 @@ Ruby classes.")
(define-public ruby-gherkin
(package
(name "ruby-gherkin")
(version "4.0.0")
(version "4.1.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "gherkin" version))
(sha256
(base32
"1ripjv97hg746xszx9isal8z8vrlb98asc2rdxl291b3hr6pj0pr"))))
"1d18r8mf2qyd9jbq9xxvca8adyysdzvwdy8v9c2s5hrd6p02kg79"))))
(build-system ruby-build-system)
(native-inputs
`(("bundler" ,bundler)))
@ -3037,14 +3037,14 @@ files.")
(define-public ruby-cucumber-core
(package
(name "ruby-cucumber-core")
(version "1.5.0")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "cucumber-core" version))
(sha256
(base32
"0qj2fsqvp94nggnikbnrfvnmzr1pl6ifmdsxj69kdw1kkab30jjr"))))
"136hnvqv444qyxzcgy1k60y4i6cn3sn9lbqr4wan9dzz1yzllqbm"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-gherkin" ,ruby-gherkin)))
@ -3201,14 +3201,14 @@ application.")
(define-public ruby-eventmachine
(package
(name "ruby-eventmachine")
(version "1.0.8")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "eventmachine" version))
(sha256
(base32
"1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp"))))
"075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; test suite tries to connect to google.com
@ -3313,14 +3313,14 @@ definitions.")
(define-public ruby-fivemat
(package
(name "ruby-fivemat")
(version "1.3.2")
(version "1.3.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "fivemat" version))
(sha256
(base32
"1gvw6g4yc96l2pcyvigahyfsjxpdjx21iiwzvf965zippchdh6gk"))))
"0ij7n250gk5c1g34rsbwjnpcv64gk4vsas8lkz8fac4wbygvk6z1"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; no tests
@ -3396,14 +3396,14 @@ names.")
(define-public ruby-shoulda-matchers
(package
(name "ruby-shoulda-matchers")
(version "3.1.1")
(version "3.1.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "shoulda-matchers" version))
(sha256
(base32
"1cf6d2d9br82vylr9p362yk9cfrd14jz8v77n0yb0lbcxdbk7xzq"))))
"1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -3503,14 +3503,14 @@ support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
(define-public ruby-domain-name
(package
(name "ruby-domain-name")
(version "0.5.20161021")
(version "0.5.20170404")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "domain_name" version))
(sha256
(base32
"1y5c96gzyh6z4nrnkisljqngfvljdba36dww657ka0x7khzvx7jl"))))
"12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -3658,14 +3658,14 @@ subprocess.")
(define-public ruby-bio-commandeer
(package
(name "ruby-bio-commandeer")
(version "0.2.0")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bio-commandeer" version))
(sha256
(base32
"1xlcnh13r33zybpmqniw0j8q5n0kq9al67ygqpf0xbbwxnnkqqvj"))))
"0khpfw1yl5l3d2m8nxpkk32ybc4c3pa5hic3agd160jdfjjjnlni"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -4086,14 +4086,14 @@ generation.")
(define-public ruby-sequel
(package
(name "ruby-sequel")
(version "4.40.0")
(version "4.49.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "sequel" version))
(sha256
(base32
"0r39dv3yprai0cy7hslfxswjr4fg783xwxskmbih8ry24f18lbk0"))))
"010p4a60npppvgbyw7pq5xia8aydpgxdlhh3qjm2615kwjsw3fl8"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks.
@ -4108,14 +4108,14 @@ associated records.")
(define-public ruby-timecop
(package
(name "ruby-timecop")
(version "0.8.1")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "timecop" version))
(sha256
(base32
"0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx"))))
"0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -4203,14 +4203,14 @@ patterns.")
(define-public ruby-pkg-config
(package
(name "ruby-pkg-config")
(version "1.1.7")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pkg-config" version))
(sha256
(base32
"0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z"))))
"056mzqdh4yjznsg36fi0xiq76f24vxlhzh2n4az919l3x5k318ar"))))
(build-system ruby-build-system)
(arguments
;; Tests require extra files not included in the gem.
@ -4225,14 +4225,14 @@ libraries for compiling Ruby native extensions.")
(define-public ruby-net-http-digest-auth
(package
(name "ruby-net-http-digest-auth")
(version "1.4")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "net-http-digest_auth" version))
(sha256
(base32
"14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi"))))
"1nq859b0gh2vjhvl1qh1zrk09pc7p54r9i6nnn6sb06iv07db2jb"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-hoe" ,ruby-hoe)))
@ -4247,14 +4247,14 @@ of the more insecure basic authentication scheme.")
(define-public ruby-mail
(package
(name "ruby-mail")
(version "2.6.4")
(version "2.6.6")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "mail" version))
(sha256
(base32
"0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp"))))
"0d7lhj2dw52ycls6xigkfz6zvfhc6qggply9iycjmcyj9760yvz9"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-mime-types" ,ruby-mime-types)))

View File

@ -615,7 +615,7 @@ interactive POSIX shell targeted at resource-constrained systems.")
(define-public mksh
(package
(name "mksh")
(version "55")
(version "56")
(source
(origin
(method url-fetch)
@ -623,7 +623,7 @@ interactive POSIX shell targeted at resource-constrained systems.")
version ".tgz"))
(sha256
(base32
"0mssqd2wp3cs9x01v6g66iy3ymdxagbyw2c0v597vnc1l6s2rm6f"))))
"1x4zjj9259ijpf8jw0nyh1fnr1pbm5fwvylclpvcrlb45xrglf5d"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; tests require access to /dev/tty

View File

@ -121,14 +121,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
(version "2.14.0")
(version "2.14.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"0xarcp0m7jbncic0g3ahz8l2d6b27h0g9ndgrhy9abkx61m6wgpr"))))
"1iic3wiihxp3l3k6d4z886v3869c3dzgddjxnd5124wy1rnlqwkg"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -140,8 +140,9 @@ as well as the classic centralized workflow.")
"mirror://kernel.org/software/scm/git/git-manpages-"
version ".tar.xz"))
(sha256
(base32
"0kc2n6b1lrbr0wc8lk3xnrljn4fgzgab82icv658gdvyl9l3qrbx"))))))
"1whlsiicayalym4hkf01zdiqpw37gdf7c52gw9ki7bv2x3hf3g3y"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@ -739,14 +740,14 @@ control to Git repositories.")
(define-public mercurial
(package
(name "mercurial")
(version "4.2.1")
(version "4.2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(sha256
(base32
"182qh6d0srps2n5sydzy8n3gi78la6m0wi3846zpyyd0b8pmgmfp"))))
"1b7p3z8lin6hyyzkskskp065qnyfxid2yxnjygni0n4yv33qz404"))))
(build-system python-build-system)
(arguments
`(;; Restrict to Python 2, as Python 3 would require
@ -817,14 +818,18 @@ following features:
(define-public subversion
(package
(name "subversion")
(version "1.8.18")
(version "1.8.19")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.apache.org/dist/subversion/"
"subversion-" version ".tar.bz2"))
(uri
(list
(string-append "https://archive.apache.org/dist/subversion/"
"subversion-" version ".tar.bz2")
(string-append "https://www-eu.apache.org/dist/subversion/"
"subversion-" version ".tar.bz2")))
(sha256
(base32
"19lpqdrl86mjfdpayhn3f9rkmpb6zs2iny38cnxq6wcj7snh0sz5"))))
"1gp6426gkdza6ni2whgifjcmjb4nq34ljy07yxkrhlarvfq6ks2n"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -59,6 +59,8 @@
tailon-configuration-file-tail-lines
tailon-configuration-file-allowed-commands
tailon-configuration-file-debug?
tailon-configuration-file-http-auth
tailon-configuration-file-users
<tailon-configuration>
tailon-configuration
@ -220,6 +222,12 @@ for ROTATION."
(allowed-commands tailon-configuration-file-allowed-commands
(default '("tail" "grep" "awk")))
(debug? tailon-configuration-file-debug?
(default #f))
(wrap-lines tailon-configuration-file-wrap-lines
(default #t))
(http-auth tailon-configuration-file-http-auth
(default #f))
(users tailon-configuration-file-users
(default #f)))
(define (tailon-configuration-files-string files)
@ -249,7 +257,8 @@ for ROTATION."
(match file
(($ <tailon-configuration-file> files bind relative-root
allow-transfers? follow-names?
tail-lines allowed-commands debug?)
tail-lines allowed-commands debug?
wrap-lines http-auth users)
(text-file
"tailon-config.yaml"
(string-concatenate
@ -267,7 +276,18 @@ for ROTATION."
("commands" . ,(string-append "["
(string-join allowed-commands ", ")
"]"))
,@(if debug? '(("debug" . "true")) '()))))))))
("debug" . ,(if debug? "true" #f))
("wrap-lines" . ,(if wrap-lines "true" "false"))
("http-auth" . ,http-auth)
("users" . ,(if users
(string-concatenate
(cons "\n"
(map (match-lambda
((user . pass)
(string-append
" " user ":" pass)))
users)))
#f)))))))))
(define-record-type* <tailon-configuration>
tailon-configuration make-tailon-configuration