From db1e2522f6222594fc507ce7a7ba7b1c0ac5037d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 19 Mar 2019 21:32:13 +0100 Subject: Add (gnu system keyboard). * gnu/system/keyboard.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f957b8af62..079b42c11e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -538,6 +538,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/accounts.scm \ %D%/system/file-systems.scm \ %D%/system/install.scm \ + %D%/system/keyboard.scm \ %D%/system/linux-container.scm \ %D%/system/linux-initrd.scm \ %D%/system/locale.scm \ -- cgit v1.2.3 From 516f6f55eb038238c23fb769169b4769e323438f Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 19 Mar 2019 09:16:25 +0100 Subject: gnu: docker: Use fewer modprobes. Fixes . Reported by Allan Adair . * gnu/packages/patches/docker-use-fewer-modprobes.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/docker.scm (docker)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/docker.scm | 5 +- .../patches/docker-use-fewer-modprobes.patch | 116 +++++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/docker-use-fewer-modprobes.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 079b42c11e..42d8f1ce18 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -729,6 +729,7 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/docker-engine-test-noinstall.patch \ %D%/packages/patches/docker-fix-tests.patch \ + %D%/packages/patches/docker-use-fewer-modprobes.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 88fc7fc6ec..a11ce266d2 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -227,6 +227,8 @@ network attachments.") (home-page "http://containerd.io/") (license license:asl2.0))) +;; TODO: Patch out modprobes for ip_vs, nf_conntrack, +;; brige, nf_conntrack_netlink, aufs. (define-public docker (package (name "docker") @@ -242,7 +244,8 @@ network attachments.") (base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx")) (patches (search-patches "docker-engine-test-noinstall.patch" - "docker-fix-tests.patch")))) + "docker-fix-tests.patch" + "docker-use-fewer-modprobes.patch")))) (build-system gnu-build-system) (arguments `(#:modules diff --git a/gnu/packages/patches/docker-use-fewer-modprobes.patch b/gnu/packages/patches/docker-use-fewer-modprobes.patch new file mode 100644 index 0000000000..ebee83329c --- /dev/null +++ b/gnu/packages/patches/docker-use-fewer-modprobes.patch @@ -0,0 +1,116 @@ +This patch makes docker find out whether a filesystem type is supported +by trying to mount a filesystem of that type rather than invoking "modprobe". +--- docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go.orig 1970-01-01 01:00:00.000000000 +0100 ++++ docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go 2019-03-19 09:16:03.487087490 +0100 +@@ -8,7 +8,6 @@ + "io" + "io/ioutil" + "os" +- "os/exec" + "path" + "path/filepath" + "strconv" +@@ -201,9 +200,16 @@ + } + + func supportsOverlay() error { +- // We can try to modprobe overlay first before looking at +- // proc/filesystems for when overlay is supported +- exec.Command("modprobe", "overlay").Run() ++ // Access overlay filesystem so that Linux loads it (if possible). ++ mountTarget, err := ioutil.TempDir("", "supportsOverlay") ++ if err != nil { ++ logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.") ++ return graphdriver.ErrNotSupported ++ } else { ++ /* The mounting will fail--after the module has been loaded.*/ ++ defer os.RemoveAll(mountTarget) ++ unix.Mount("overlay", mountTarget, "overlay", 0, "") ++ } + + f, err := os.Open("/proc/filesystems") + if err != nil { +--- docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go.orig 2019-03-18 23:42:23.728525231 +0100 ++++ docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go 2019-03-19 08:54:31.411906113 +0100 +@@ -10,7 +10,6 @@ + "io" + "io/ioutil" + "os" +- "os/exec" + "path" + "path/filepath" + "strconv" +@@ -261,9 +260,16 @@ + } + + func supportsOverlay() error { +- // We can try to modprobe overlay first before looking at +- // proc/filesystems for when overlay is supported +- exec.Command("modprobe", "overlay").Run() ++ // Access overlay filesystem so that Linux loads it (if possible). ++ mountTarget, err := ioutil.TempDir("", "supportsOverlay") ++ if err != nil { ++ logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.") ++ return graphdriver.ErrNotSupported ++ } else { ++ /* The mounting will fail--after the module has been loaded.*/ ++ defer os.RemoveAll(mountTarget) ++ unix.Mount("overlay", mountTarget, "overlay", 0, "") ++ } + + f, err := os.Open("/proc/filesystems") + if err != nil { +--- docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go.orig 2019-03-19 09:19:16.592844887 +0100 ++++ docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go 2019-03-19 09:21:18.019361761 +0100 +@@ -540,8 +539,14 @@ + return err // error text is descriptive enough + } + +- // Check if kernel supports xfs filesystem or not. +- exec.Command("modprobe", "xfs").Run() ++ mountTarget, err := ioutil.TempDir("", "supportsOverlay") ++ if err != nil { ++ return errors.Wrapf(err, "error checking for xfs support") ++ } else { ++ /* The mounting will fail--after the module has been loaded.*/ ++ defer os.RemoveAll(mountTarget) ++ unix.Mount("none", mountTarget, "xfs", 0, "") ++ } + + f, err := os.Open("/proc/filesystems") + if err != nil { +--- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go.orig 2019-03-19 09:47:19.430111170 +0100 ++++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go 2019-03-19 10:38:01.445136177 +0100 +@@ -72,11 +71,12 @@ + } + + func probe() { +- if out, err := exec.Command("modprobe", "-va", "nf_nat").CombinedOutput(); err != nil { +- logrus.Warnf("Running modprobe nf_nat failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) ++ path, err := exec.LookPath("iptables") ++ if err != nil { ++ return + } +- if out, err := exec.Command("modprobe", "-va", "xt_conntrack").CombinedOutput(); err != nil { +- logrus.Warnf("Running modprobe xt_conntrack failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) ++ if out, err := exec.Command(path, "--wait", "-t", "nat", "-L", "-n").CombinedOutput(); err != nil { ++ logrus.Warnf("Running iptables --wait -t nat -L -n failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) + } + } + +--- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go.orig 2019-03-19 11:23:20.738316699 +0100 ++++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go 2019-03-19 11:27:57.149753073 +0100 +@@ -100,12 +100,7 @@ + } + + func loadXfrmModules() error { +- if out, err := exec.Command("modprobe", "-va", "xfrm_user").CombinedOutput(); err != nil { +- return fmt.Errorf("Running modprobe xfrm_user failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) +- } +- if out, err := exec.Command("modprobe", "-va", "xfrm_algo").CombinedOutput(); err != nil { +- return fmt.Errorf("Running modprobe xfrm_algo failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) +- } ++ // Those are automatically loaded when someone opens the socket anyway. + return nil + } + -- cgit v1.2.3 From 0fa50555975dcad5dc2c886d1c496b2335be6a28 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 27 Mar 2019 18:05:05 +0100 Subject: gnu: texlive-bin: Adopt LFS patch. The origin disappeared, and the new revision does not include all the Poppler fixes. Adjust the package to take Arch's Poppler patches instead. * gnu/packages/patches/texlive-bin-CVE-2018-17407.patch: New file. * gnu/packages/patches/texlive-bin-pdftex-poppler-compat.patch, gnu/packages/patches/texlive-bin-xetex-poppler-compat.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tex.scm (texlive-bin)[source](patches): Likewise. [arguments]: Likewise. --- gnu/local.mk | 3 +- .../patches/texlive-bin-CVE-2018-17407.patch | 249 +++++++++++++++++++++ .../texlive-bin-pdftex-poppler-compat.patch | 188 ---------------- .../patches/texlive-bin-xetex-poppler-compat.patch | 31 --- gnu/packages/tex.scm | 36 +-- 5 files changed, 269 insertions(+), 238 deletions(-) create mode 100644 gnu/packages/patches/texlive-bin-CVE-2018-17407.patch delete mode 100644 gnu/packages/patches/texlive-bin-pdftex-poppler-compat.patch delete mode 100644 gnu/packages/patches/texlive-bin-xetex-poppler-compat.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ec82877970..1844fbd404 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1276,9 +1276,8 @@ dist_patch_DATA = \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/texinfo-perl-compat.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ + %D%/packages/patches/texlive-bin-CVE-2018-17407.patch \ %D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \ - %D%/packages/patches/texlive-bin-pdftex-poppler-compat.patch \ - %D%/packages/patches/texlive-bin-xetex-poppler-compat.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ diff --git a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch b/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch new file mode 100644 index 0000000000..63646d420c --- /dev/null +++ b/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch @@ -0,0 +1,249 @@ +This patch adds support for newer versions of Poppler and some upstream +TexLive fixes, including one for CVE-2018-17407. + +It is taken from Linux From Scratch: +. + +Submitted By: Ken Moffat +Date: 2018-12-26 +Initial Package Version: 20180414 +Upstream Status: Applied +Origin: Upstream +Description: Two fixes, cherry-picked from svn plus a CVE fix. +I have removed the partial fixes for various system versions of poppler. + +r47469 Fix segfault in dvipdfm-x (XeTeX) on 1/2/4-bit transparent indexed PNGs. + +r47477 Fix a ptex regression for discontinuous kinsoku table. + +Also, via fedora (I got lost in svn) a critical fix for CVE-2018-17407 + +"A buffer overflow in the handling of Type 1 fonts allows arbitrary code +execution when a malicious font is loaded by one of the vulnerable tools: +pdflatex, pdftex, dvips, or luatex." + +diff -Naur a/texk/dvipdfm-x/pngimage.c b/texk/dvipdfm-x/pngimage.c +--- a/texk/dvipdfm-x/pngimage.c 2018-02-17 08:41:35.000000000 +0000 ++++ b/texk/dvipdfm-x/pngimage.c 2018-10-09 01:52:01.648670875 +0100 +@@ -964,12 +964,16 @@ + png_bytep trans; + int num_trans; + png_uint_32 i; ++ png_byte bpc, mask, shift; + + if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) || + !png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) { + WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR); + return NULL; + } ++ bpc = png_get_bit_depth(png_ptr, info_ptr); ++ mask = 0xff >> (8 - bpc); ++ shift = 8 - bpc; + + smask = pdf_new_stream(STREAM_COMPRESS); + dict = pdf_stream_dict(smask); +@@ -981,7 +985,8 @@ + pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray")); + pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8)); + for (i = 0; i < width*height; i++) { +- png_byte idx = image_data_ptr[i]; ++ /* data is packed for 1/2/4 bpc formats, msb first */ ++ png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask; + smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff; + } + pdf_add_stream(smask, (char *)smask_data_ptr, width*height); +diff -Naur a/texk/dvipsk/writet1.c b/texk/dvipsk/writet1.c +--- a/texk/dvipsk/writet1.c 2016-11-25 18:24:26.000000000 +0000 ++++ b/texk/dvipsk/writet1.c 2018-10-09 01:52:01.648670875 +0100 +@@ -1449,7 +1449,9 @@ + *(strend(t1_buf_array) - 1) = ' '; + + t1_getline(); ++ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcat(t1_buf_array, t1_line_array); ++ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcpy(t1_line_array, t1_buf_array); + t1_line_ptr = eol(t1_line_array); + } +diff -Naur a/texk/web2c/luatexdir/font/writet1.w b/texk/web2c/luatexdir/font/writet1.w +--- a/texk/web2c/luatexdir/font/writet1.w 2016-11-25 18:24:34.000000000 +0000 ++++ b/texk/web2c/luatexdir/font/writet1.w 2018-10-09 01:52:01.648670875 +0100 +@@ -1625,7 +1625,9 @@ + if (sscanf(p, "%i", &i) != 1) { + strcpy(t1_buf_array, t1_line_array); + t1_getline(); ++ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcat(t1_buf_array, t1_line_array); ++ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcpy(t1_line_array, t1_buf_array); + t1_line_ptr = eol(t1_line_array); + } +diff -Naur a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w +--- a/texk/web2c/luatexdir/image/pdftoepdf.w 2018-01-17 18:00:12.000000000 +0000 ++++ b/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-09 01:52:01.648670875 +0100 +@@ -472,10 +472,10 @@ + break; + */ + case objString: +- copyString(pdf, obj->getString()); ++ copyString(pdf, (GooString *)obj->getString()); + break; + case objName: +- copyName(pdf, obj->getName()); ++ copyName(pdf, (char *)obj->getName()); + break; + case objNull: + pdf_add_null(pdf); +diff -Naur a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc +--- a/texk/web2c/luatexdir/lua/lepdflib.cc 2018-02-14 14:44:38.000000000 +0000 ++++ b/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-09 01:52:01.649670868 +0100 +@@ -674,7 +674,7 @@ + uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ + if (uin->pd != NULL && uin->pd->pc != uin->pc) \ + pdfdoc_changed_error(L); \ +- gs = ((in *) uin->d)->function(); \ ++ gs = (GooString *)((in *) uin->d)->function(); \ + if (gs != NULL) \ + lua_pushlstring(L, gs->getCString(), gs->getLength()); \ + else \ +@@ -1813,7 +1813,7 @@ + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + if (((Object *) uin->d)->isString()) { +- gs = ((Object *) uin->d)->getString(); ++ gs = (GooString *)((Object *) uin->d)->getString(); + lua_pushlstring(L, gs->getCString(), gs->getLength()); + } else + lua_pushnil(L); +diff -Naur a/texk/web2c/pdftexdir/writet1.c b/texk/web2c/pdftexdir/writet1.c +--- a/texk/web2c/pdftexdir/writet1.c 2016-11-25 18:24:37.000000000 +0000 ++++ b/texk/web2c/pdftexdir/writet1.c 2018-10-09 01:52:01.649670868 +0100 +@@ -1598,7 +1598,9 @@ + *(strend(t1_buf_array) - 1) = ' '; + + t1_getline(); ++ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcat(t1_buf_array, t1_line_array); ++ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); + strcpy(t1_line_array, t1_buf_array); + t1_line_ptr = eol(t1_line_array); + } +diff -Naur a/texk/web2c/ptexdir/ptex_version.h b/texk/web2c/ptexdir/ptex_version.h +--- a/texk/web2c/ptexdir/ptex_version.h 2018-01-21 03:48:06.000000000 +0000 ++++ b/texk/web2c/ptexdir/ptex_version.h 2018-10-09 01:52:01.649670868 +0100 +@@ -1 +1 @@ +-#define PTEX_VERSION "p3.8.0" ++#define PTEX_VERSION "p3.8.1" +diff -Naur a/texk/web2c/ptexdir/tests/free_ixsp.tex b/texk/web2c/ptexdir/tests/free_ixsp.tex +--- a/texk/web2c/ptexdir/tests/free_ixsp.tex 1970-01-01 01:00:00.000000000 +0100 ++++ b/texk/web2c/ptexdir/tests/free_ixsp.tex 2018-10-09 01:52:01.649670868 +0100 +@@ -0,0 +1,53 @@ ++%#!eptex -ini -etex ++\let\dump\relax ++\batchmode ++\input plain ++ ++\errorstopmode ++\catcode`@=11 ++\newcount\@tempcnta ++\newcount\@tempcntb ++\newcount\@tempcntc ++\mathchardef\LIM=256 ++ ++\def\MYCHAR#1{% ++ \@tempcntc=\numexpr7*#1+"101\relax ++ \@tempcnta=\@tempcntc\divide\@tempcnta 94 ++ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax ++ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi ++ \advance\@tempcnta18 % 18区以降 ++ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax ++} ++ ++\newcount\CNT\newcount\CNTA ++\CNT=0 ++\loop ++ \MYCHAR\CNT ++ \message{\the\CNT.} ++ \inhibitxspcode\CNTA=1\relax ++ \advance\CNT1\relax ++ \ifnum\CNT<\LIM ++\repeat ++ ++\newcount\CNTB ++ ++\loop ++ \MYCHAR\CNTB ++ \global\inhibitxspcode\CNTA=3 ++{% ++\CNT=0 ++\loop ++ \MYCHAR\CNT ++ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax ++ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else ++ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi ++ \advance\CNT1\relax ++ \ifnum\CNT<\LIM ++\repeat ++} ++ \MYCHAR\CNTB ++ \global\inhibitxspcode\CNTA=1\relax ++ \advance\CNTB1\relax ++ \ifnum\CNTB<\LIM ++\repeat ++\bye +diff -Naur a/texk/web2c/ptexdir/tests/free_pena.tex b/texk/web2c/ptexdir/tests/free_pena.tex +--- a/texk/web2c/ptexdir/tests/free_pena.tex 1970-01-01 01:00:00.000000000 +0100 ++++ b/texk/web2c/ptexdir/tests/free_pena.tex 2018-10-09 01:52:01.649670868 +0100 +@@ -0,0 +1,52 @@ ++%#!eptex -ini -etex ++\let\dump\relax ++\batchmode ++\input plain ++ ++\errorstopmode ++\catcode`@=11 ++\newcount\@tempcnta ++\newcount\@tempcntb ++\newcount\@tempcntc ++\mathchardef\LIM=256 ++ ++\def\MYCHAR#1{% ++ \@tempcntc=\numexpr7*#1+"101\relax ++ \@tempcnta=\@tempcntc\divide\@tempcnta 94 ++ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax ++ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi ++ \advance\@tempcnta18 % 18区以降 ++ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax ++} ++ ++\newcount\CNT\newcount\CNTA ++\CNT=0 ++\loop ++ \MYCHAR\CNT ++ \message{\the\CNT.} ++ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax ++ \advance\CNT1\relax ++ \ifnum\CNT<\LIM ++\repeat ++ ++\newcount\CNTB ++ ++\loop ++ \MYCHAR\CNTB ++ \global\prebreakpenalty\CNTA=0 ++{% ++\CNT=0 ++\loop ++ \MYCHAR\CNT ++ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax ++ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi ++ \advance\CNT1\relax ++ \ifnum\CNT<\LIM ++\repeat ++} ++ \MYCHAR\CNTB ++ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax ++ \advance\CNTB1\relax ++ \ifnum\CNTB<\LIM ++\repeat ++\bye diff --git a/gnu/packages/patches/texlive-bin-pdftex-poppler-compat.patch b/gnu/packages/patches/texlive-bin-pdftex-poppler-compat.patch deleted file mode 100644 index eba4733f32..0000000000 --- a/gnu/packages/patches/texlive-bin-pdftex-poppler-compat.patch +++ /dev/null @@ -1,188 +0,0 @@ -Fix compatibility with Poppler 0.72. - -These files are taken from the upstream "poppler0.72.0.cc" variants and -diffed against the "newpoppler" files from the 20180414 distribution. - -See revision 49336: -https://tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/ - ---- a/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-12-09 21:14:58.479732695 +0100 -@@ -22,7 +22,7 @@ - https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk - by Arch Linux. A little modifications are made to avoid a crash for - some kind of pdf images, such as figure_missing.pdf in gnuplot. --The poppler should be 0.59.0 or newer versions. -+The poppler should be 0.72.0 or newer versions. - POPPLER_VERSION should be defined. - */ - -@@ -120,7 +120,7 @@ - - static InObj *inObjList; - static UsedEncoding *encodingList; --static GBool isInit = gFalse; -+static bool isInit = false; - - // -------------------------------------------------------------------- - // Maintain list of open embedded PDF files -@@ -317,7 +317,7 @@ - pdf_puts("<<\n"); - assert(r->type == objFont); // FontDescriptor is in fd_tree - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- key = obj->dictGetKey(i); -+ key = (char *)obj->dictGetKey(i); - if (strncmp("FontDescriptor", key, strlen("FontDescriptor")) == 0 - || strncmp("BaseFont", key, strlen("BaseFont")) == 0 - || strncmp("Encoding", key, strlen("Encoding")) == 0) -@@ -427,7 +427,7 @@ - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -454,7 +454,7 @@ - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - fontRef = obj->dictGetValNF(i); - if (fontRef.isRef()) -- copyFont(obj->dictGetKey(i), &fontRef); -+ copyFont((char *)obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object - copyName((char *)obj->dictGetKey(i)); - pdf_puts(" "); -@@ -566,7 +566,7 @@ - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { - s = (GooString *)obj->getString(); -- p = s->getCString(); -+ p = (char *)s->c_str(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { - pdf_puts("("); -@@ -664,7 +664,7 @@ - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ if ((s = (char *)((Gfx8BitFont *) r->font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -683,7 +683,7 @@ - } - - // get the pagebox according to the pagebox_spec --static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) -+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - if (pagebox_spec == pdfboxspecmedia) - return page->getMediaBox(); -@@ -715,7 +715,7 @@ - { - PdfDocument *pdf_doc; - Page *page; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -@@ -724,8 +724,8 @@ - // initialize - if (!isInit) { - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gFalse); -- isInit = gTrue; -+ globalParams->setErrQuiet(false); -+ isInit = true; - } - // open PDF file - pdf_doc = find_add_document(image_name); -@@ -849,7 +849,7 @@ - pageObj = xref->fetch(pageRef->num, pageRef->gen); - pageDict = pageObj.getDict(); - rotate = page->getRotate(); -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - // write the Page header - pdf_puts("/Type /XObject\n"); - pdf_puts("/Subtype /Form\n"); -@@ -977,7 +977,7 @@ - } - l = dic1.getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictAdd(copyString(dic1.getKey(i)), -+ groupDict.dictAdd((const char *)copyString(dic1.getKey(i)), - dic1.getValNF(i)); - } - // end modification -@@ -1001,14 +1001,14 @@ - pdf_puts("/Resources <<\n"); - for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { - obj2 = obj1->dictGetVal(i); -- key = obj1->dictGetKey(i); -+ key = (char *)obj1->dictGetKey(i); - if (strcmp("Font", key) == 0) - copyFontResources(&obj2); - else if (strcmp("ProcSet", key) == 0) - copyProcSet(&obj2); - else -- copyOtherResources(&obj2, key); -+ copyOtherResources(&obj2, (char *)key); - } - pdf_puts(">>\n"); - } - ---- a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2018-12-09 21:14:58.479732695 +0100 -@@ -20,7 +20,7 @@ - /* - This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at - https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk --by Arch Linux. The poppler should be 0.59.0 or newer versions. -+by Arch Linux. The poppler should be 0.72.0 or newer versions. - POPPLER_VERSION should be defined. - */ - -@@ -109,7 +109,7 @@ - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = (char *)srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->c_str(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -@@ -118,7 +118,7 @@ - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -128,7 +128,7 @@ - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); -@@ -173,9 +173,9 @@ - - // parse the header: object numbers and offsets - objStr.streamReset(); -- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); - lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, gFalse); -+ parser = new Parser(xref, lexer, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); - diff --git a/gnu/packages/patches/texlive-bin-xetex-poppler-compat.patch b/gnu/packages/patches/texlive-bin-xetex-poppler-compat.patch deleted file mode 100644 index cac716cc59..0000000000 --- a/gnu/packages/patches/texlive-bin-xetex-poppler-compat.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix compatibility with Poppler 0.72. - -Patch taken from upstream: -https://tug.org/svn/texlive/trunk/Build/source/texk/web2c/xetexdir/pdfimage.cpp?r1=44964&r2=48969&diff_format=u - ---- a/texk/web2c/xetexdir/pdfimage.cpp 2017/08/06 07:12:02 44964 -+++ b/texk/web2c/xetexdir/pdfimage.cpp 2018/10/22 04:01:42 48969 -@@ -82,19 +82,19 @@ - switch (pdf_box) { - default: - case pdfbox_crop: -- r = page->getCropBox(); -+ r = (PDFRectangle *)page->getCropBox(); - break; - case pdfbox_media: -- r = page->getMediaBox(); -+ r = (PDFRectangle *)page->getMediaBox(); - break; - case pdfbox_bleed: -- r = page->getBleedBox(); -+ r = (PDFRectangle *)page->getBleedBox(); - break; - case pdfbox_trim: -- r = page->getTrimBox(); -+ r = (PDFRectangle *)page->getTrimBox(); - break; - case pdfbox_art: -- r = page->getArtBox(); -+ r = (PDFRectangle *)page->getArtBox(); - break; - } diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 5b29937672..e90e64a6ad 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -102,21 +102,23 @@ (base32 "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y")) (patches - (list - ;; This is required for compatibility with Poppler 0.64.0 and to fix a - ;; segmentation fault in dvipdfm-x from XeTeX, and also contains a fix - ;; for CVE-2018-17407. - (origin - (method url-fetch) - (uri (string-append "http://www.linuxfromscratch.org/patches/blfs/" - "svn/texlive-" version "-source-upstream_fixes-2.patch")) - (file-name "texlive-poppler-compat.patch") - (sha256 - (base32 - "04sxy1qv9y575mxwyg3y7rx7mh540pfjqx7yni7ncb5wjbq9pq1a"))) - (search-patch "texlive-bin-luatex-poppler-compat.patch") - (search-patch "texlive-bin-pdftex-poppler-compat.patch") - (search-patch "texlive-bin-xetex-poppler-compat.patch"))))) + (let ((arch-patch + (lambda (name revision hash) + (origin + (method url-fetch) + (uri (string-append "https://git.archlinux.org/svntogit/packages.git" + "/plain/trunk/" name "?h=packages/texlive-bin" + "&id=" revision)) + (file-name (string-append "texlive-bin-" name)) + (sha256 (base32 hash))))) + (arch-revision "e1975bce0b9d270d7c9773c5beb7e87d61ee8f57")) + (append (search-patches "texlive-bin-CVE-2018-17407.patch" + "texlive-bin-luatex-poppler-compat.patch") + (list + (arch-patch "pdftex-poppler0.72.patch" arch-revision + "0p46b6xxxg2s3hx67r0wpz16g3qygx65hpc581xs3jz5pvsiq3y7") + (arch-patch "xetex-poppler-fixes.patch" arch-revision + "1jj1p5zkjljb7id9pjv29cw0cf8mwrgrh4ackgzz9c200vaqpsvx"))))))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -195,9 +197,9 @@ #t)) (add-after 'unpack 'use-code-for-new-poppler (lambda _ - (copy-file "texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc" + (copy-file "texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc" "texk/web2c/pdftexdir/pdftoepdf.cc") - (copy-file "texk/web2c/pdftexdir/pdftosrc-newpoppler.cc" + (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.72.0.cc" "texk/web2c/pdftexdir/pdftosrc.cc") #t)) (add-after 'unpack 'disable-failing-test -- cgit v1.2.3 From 01307bba9c00ada07f8a39bd8de7031beef12afd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 28 Mar 2019 14:01:46 +0100 Subject: gnu: reptyr: Update to 0.7.0. * gnu/packages/screen.scm (reptyr): Update to 0.7.0. [source]: Remove patch. [arguments]: Add bash completion directory name. * gnu/packages/patches/reptyr-fix-gcc-7.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/reptyr-fix-gcc-7.patch | 38 ----------------------------- gnu/packages/screen.scm | 22 +++++++++-------- 3 files changed, 12 insertions(+), 49 deletions(-) delete mode 100644 gnu/packages/patches/reptyr-fix-gcc-7.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 42d8f1ce18..833944bfbd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1218,7 +1218,6 @@ dist_patch_DATA = \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ - %D%/packages/patches/reptyr-fix-gcc-7.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ diff --git a/gnu/packages/patches/reptyr-fix-gcc-7.patch b/gnu/packages/patches/reptyr-fix-gcc-7.patch deleted file mode 100644 index 5e0e581218..0000000000 --- a/gnu/packages/patches/reptyr-fix-gcc-7.patch +++ /dev/null @@ -1,38 +0,0 @@ -This patch allows reptyr to build with gcc 7. It is taken from reptyr mainline patches -fa0d63f and b45fd92. - -https://github.com/nelhage/reptyr/commit/fa0d63ff8c488be15976e5353580b565e85586a1 -https://github.com/nelhage/reptyr/commit/b45fd9238958fcf2d8f3d6fc23e6d491febea2ac - -Patch by Nelson Elhage . - -diff --git a/attach.c b/attach.c -index bd8ef8c..8d9cbf8 100644 ---- a/attach.c -+++ b/attach.c -@@ -389,8 +389,11 @@ int setup_steal_socket(struct steal_pty_state *steal) { - return errno; - - steal->addr_un.sun_family = AF_UNIX; -- snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), -- "%s/reptyr.sock", steal->tmpdir); -+ if (snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), -+ "%s/reptyr.sock", steal->tmpdir) >= sizeof(steal->addr_un.sun_path)) { -+ error("tmpdir path too long!"); -+ return ENAMETOOLONG; -+ } - - if ((steal->sockfd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) - return errno; -diff --git a/platform/linux/linux.h b/platform/linux/linux.h -index 9e6b78a..3ec5a99 100644 ---- a/platform/linux/linux.h -+++ b/platform/linux/linux.h -@@ -40,6 +40,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 38df2594f2..eb4c477a89 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -153,23 +153,25 @@ window manager as well as the Tmux terminal multiplexer.") (define-public reptyr (package (name "reptyr") - (version "0.6.2") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/nelhage/reptyr/archive" "/reptyr-" version ".tar.gz")) - ;; XXX: To be removed on next reptyr release. - (patches (search-patches "reptyr-fix-gcc-7.patch")) (sha256 - (base32 - "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7")))) + (base32 "10s9blv8xljzfdn4xly5y2q66kd0ldj3wnflymsxb5g6r3s3kidi")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no tests - #:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output)) - #:phases (modify-phases %standard-phases (delete 'configure)))) + '(#:tests? #f ; no tests + #:make-flags + (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "BASHCOMPDIR=" (assoc-ref %outputs "out") + "/etc/bash_completion.d")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script (home-page "https://github.com/nelhage/reptyr") (synopsis "Tool for reparenting a running program to a new terminal") (description -- cgit v1.2.3 From bc91562939ee002e84c95d13c907482b6d1e9339 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 29 Mar 2019 23:28:45 -0400 Subject: gnu: gtk+: Graft upstream fix for crashes in Emacs and IceCat. Fixes . * gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gtk.scm (gtk+/fixed): New variable. (gtk+)[replacement]: New field. --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 15 +++++++++++- .../patches/gtk3-fix-deprecation-macro-use.patch | 28 ++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 833944bfbd..e32b0298e1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -877,6 +877,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ + %D%/packages/patches/gtk3-fix-deprecation-macro-use.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index aab392758f..83aadfd177 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès -;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver +;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Paul van der Walt @@ -694,6 +694,7 @@ application suites.") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. (version "3.24.2") + (replacement gtk+/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -787,6 +788,18 @@ application suites.") (variable "GUIX_GTK3_PATH") (files '("lib/gtk-3.0"))))))) +;; Fixes a bug in Gtk that causes crashes in IceCat and Emacs. +;; See , , +;; and . +(define gtk+/fixed + (package + (inherit gtk+) + (source (origin + (inherit (package-source gtk+)) + (patches + (cons (search-patch "gtk3-fix-deprecation-macro-use.patch") + (origin-patches (package-source gtk+)))))))) + ;;; ;;; Guile bindings. ;;; diff --git a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch new file mode 100644 index 0000000000..e933555ffb --- /dev/null +++ b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch @@ -0,0 +1,28 @@ +Copied from . +Fixes upstream bugs +and . + +diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c +index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644 +--- a/gdk/x11/gdkwindow-x11.c ++++ b/gdk/x11/gdkwindow-x11.c +@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow *window, + double r, g, b, a; + cairo_surface_t *surface; + cairo_matrix_t matrix; ++ cairo_pattern_t *parent_relative_pattern; + + if (GDK_WINDOW_DESTROYED (window)) + return; +@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow *window, + } + + G_GNUC_BEGIN_IGNORE_DEPRECATIONS +- if (pattern == gdk_x11_get_parent_relative_pattern ()) ++ parent_relative_pattern = gdk_x11_get_parent_relative_pattern (); + G_GNUC_END_IGNORE_DEPRECATIONS ++ ++ if (pattern == parent_relative_pattern) + { + GdkWindow *parent; + -- cgit v1.2.3 From f125c5a5ea03d53749f45d310694b79241d5888d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 27 Mar 2019 21:41:58 +0100 Subject: gnu: emacs-zones: silence byte-compiler. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/emacs-zones-called-interactively.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 5 ++- .../patches/emacs-zones-called-interactively.patch | 43 ++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/emacs-zones-called-interactively.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index e32b0298e1..45598d4e14 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -745,6 +745,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-realgud-fix-configure-ac.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ + %D%/packages/patches/emacs-zones-called-interactively.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index df5e2cf21e..1e8d703ce3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6037,7 +6037,10 @@ customizable by the user.") (file-name (git-file-name name version)) (sha256 (base32 - "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar")))) + "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar")) + (patches + (search-patches + "emacs-zones-called-interactively.patch")))) (build-system emacs-build-system) (home-page "https://www.emacswiki.org/emacs/Zones") (synopsis "Define and act on multiple zones of buffer text") diff --git a/gnu/packages/patches/emacs-zones-called-interactively.patch b/gnu/packages/patches/emacs-zones-called-interactively.patch new file mode 100644 index 0000000000..b60f390a7e --- /dev/null +++ b/gnu/packages/patches/emacs-zones-called-interactively.patch @@ -0,0 +1,43 @@ +From fb56fbb706804215ef9af0cc575db97c373046c6 Mon Sep 17 00:00:00 2001 +From: Brian Leung +Date: Sun, 17 Mar 2019 01:32:04 +0100 +Subject: [PATCH] This patch silences the byte-compiler. + +--- + zones.el | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/zones.el b/zones.el +index 1bf94f0..94fa9a6 100644 +--- a/zones.el ++++ b/zones.el +@@ -1031,7 +1031,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. + + This is a destructive operation. The list structure of the variable + value can be modified." +- (zz-narrow-advice (interactive-p))) ++ (zz-narrow-advice (called-interactively-p))) + + (defadvice narrow-to-defun (after zz-add-zone--defun activate) + "Push the defun limits to the current `zz-izones-var'. +@@ -1039,7 +1039,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. + + This is a destructive operation. The list structure of the variable + value can be modified." +- (zz-narrow-advice (interactive-p))) ++ (zz-narrow-advice (called-interactively-p))) + + ;; Call `zz-add-zone' if interactive or `zz-add-zone-anyway-p'. + ;; +@@ -1049,7 +1049,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. + + This is a destructive operation. The list structure of the variable + value can be modified." +- (zz-narrow-advice (interactive-p))) ++ (zz-narrow-advice (called-interactively-p))) + + ;;(@* "General Commands") + +-- +2.21.0 + -- cgit v1.2.3 From 3eed550072d6f71eff20de269d313fc1dfe3e332 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 1 Apr 2019 00:03:36 +0200 Subject: gnu: Remove gtk+/fixed. The merge preceding this commit ignored the replacement part of commit bc91562939ee002e84c95d13c907482b6d1e9339. This commit removes the remaining bits, as the patch is already included in GTK3 since version 3.24.3. * gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/gtk.scm (gtk+/fixed): Remove variable. --- gnu/local.mk | 1 - gnu/packages/gtk.scm | 12 ---------- .../patches/gtk3-fix-deprecation-macro-use.patch | 28 ---------------------- 3 files changed, 41 deletions(-) delete mode 100644 gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c6cacd7ada..1332efdcff 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -876,7 +876,6 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ - %D%/packages/patches/gtk3-fix-deprecation-macro-use.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 7527abbbac..6e63ca6614 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -822,18 +822,6 @@ application suites.") (variable "GUIX_GTK3_PATH") (files '("lib/gtk-3.0"))))))) -;; Fixes a bug in Gtk that causes crashes in IceCat and Emacs. -;; See , , -;; and . -(define gtk+/fixed - (package - (inherit gtk+) - (source (origin - (inherit (package-source gtk+)) - (patches - (cons (search-patch "gtk3-fix-deprecation-macro-use.patch") - (origin-patches (package-source gtk+)))))))) - ;;; ;;; Guile bindings. ;;; diff --git a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch deleted file mode 100644 index e933555ffb..0000000000 --- a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch +++ /dev/null @@ -1,28 +0,0 @@ -Copied from . -Fixes upstream bugs -and . - -diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644 ---- a/gdk/x11/gdkwindow-x11.c -+++ b/gdk/x11/gdkwindow-x11.c -@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow *window, - double r, g, b, a; - cairo_surface_t *surface; - cairo_matrix_t matrix; -+ cairo_pattern_t *parent_relative_pattern; - - if (GDK_WINDOW_DESTROYED (window)) - return; -@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow *window, - } - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS -- if (pattern == gdk_x11_get_parent_relative_pattern ()) -+ parent_relative_pattern = gdk_x11_get_parent_relative_pattern (); - G_GNUC_END_IGNORE_DEPRECATIONS -+ -+ if (pattern == parent_relative_pattern) - { - GdkWindow *parent; - -- cgit v1.2.3 From 96c90474c0cbfe88d1dccb9cb52a0f1b3a1505e7 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Mon, 4 Mar 2019 09:52:49 -0500 Subject: gnu: Add configuration for depthcharge bootloader. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/bootloader/depthcharge: New file. * gnu/local.mk [GNU_SYSTEM_MODULES]: Adjust accordingly. Signed-off-by: Ludovic Courtès --- gnu/bootloader/depthcharge.scm | 107 +++++++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + 2 files changed, 108 insertions(+) create mode 100644 gnu/bootloader/depthcharge.scm (limited to 'gnu/local.mk') diff --git a/gnu/bootloader/depthcharge.scm b/gnu/bootloader/depthcharge.scm new file mode 100644 index 0000000000..58cc3f3932 --- /dev/null +++ b/gnu/bootloader/depthcharge.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Timothy Sample +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu bootloader depthcharge) + #:use-module (gnu bootloader extlinux) + #:use-module (gnu bootloader) + #:use-module (gnu packages bootloaders) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (ice-9 match) + #:export (depthcharge-bootloader)) + +(define (signed-kernel kernel kernel-arguments initrd) + (define builder + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 binary-ports) + (rnrs bytevectors)) + (set-path-environment-variable "PATH" '("bin") (list #$dtc)) + + ;; TODO: These files have to be writable, so we copy them. + ;; This can probably be fixed by using a ".its" file, just + ;; be careful not to break initrd loading. + (copy-file #$kernel "zImage") + (chmod "zImage" #o755) + (copy-file (string-append (dirname #$kernel) "/lib/dtbs/" + "rk3288-veyron-speedy.dtb") + "rk3288-veyron-speedy.dtb") + (chmod "rk3288-veyron-speedy.dtb" #o644) + (copy-file #$initrd "initrd") + (chmod "initrd" #o644) + + (invoke (string-append #$u-boot-tools "/bin/mkimage") + "-D" "-I dts -O dtb -p 2048" + "-f" "auto" + "-A" "arm" + "-O" "linux" + "-T" "kernel" + "-C" "None" + "-d" "zImage" + "-a" "0" + "-b" "rk3288-veyron-speedy.dtb" + "-i" "initrd" + "image.itb") + (call-with-output-file "bootloader.bin" + (lambda (port) + (put-bytevector port (make-bytevector 512 0)))) + (with-output-to-file "kernel-arguments" + (lambda () + (display (string-join (list #$@kernel-arguments))))) + (invoke (string-append #$vboot-utils "/bin/vbutil_kernel") + "--pack" #$output + "--version" "1" + "--vmlinuz" "image.itb" + "--arch" "arm" + "--keyblock" (string-append #$vboot-utils + "/share/vboot-utils/devkeys/" + "kernel.keyblock") + "--signprivate" (string-append #$vboot-utils + "/share/vboot-utils/devkeys/" + "kernel_data_key.vbprivk") + "--config" "kernel-arguments" + "--bootloader" "bootloader.bin")))) + (computed-file "vmlinux.kpart" builder)) + +(define* (depthcharge-configuration-file config entries + #:key + (system (%current-system)) + (old-entries '())) + (match entries + ((entry) + (let ((kernel (menu-entry-linux entry)) + (kernel-arguments (menu-entry-linux-arguments entry)) + (initrd (menu-entry-initrd entry))) + ;; XXX: Make this a symlink. + (signed-kernel kernel kernel-arguments initrd))) + (_ (error "Too many bootloader menu entries!")))) + +(define install-depthcharge + #~(lambda (bootloader device mount-point) + (let ((kpart (string-append mount-point + "/boot/depthcharge/vmlinux.kpart"))) + (write-file-on-device kpart (stat:size (stat kpart)) device 0)))) + +(define depthcharge-bootloader + (bootloader + (name 'depthcharge) + (package #f) + (installer install-depthcharge) + (configuration-file "/boot/depthcharge/vmlinux.kpart") + (configuration-file-generator depthcharge-configuration-file))) diff --git a/gnu/local.mk b/gnu/local.mk index 45598d4e14..6c925f2328 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -46,6 +46,7 @@ GNU_SYSTEM_MODULES = \ %D%/bootloader/grub.scm \ %D%/bootloader/extlinux.scm \ %D%/bootloader/u-boot.scm \ + %D%/bootloader/depthcharge.scm \ %D%/ci.scm \ %D%/packages.scm \ %D%/packages/abduco.scm \ -- cgit v1.2.3 From 6d01a7f4c45716e72bab1231c4cb8c07e4e3fbd7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 2 Apr 2019 14:49:47 -0400 Subject: gnu: ntfs-3g: Fix CVE-2019-9755. * gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/linux.scm (ntfs-3g)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/linux.scm | 1 + gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch | 72 ++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 6c925f2328..586be80eb7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1086,6 +1086,7 @@ dist_patch_DATA = \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ + %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-db4.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d547fb37b6..06bf8095be 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3641,6 +3641,7 @@ from userspace.") (method url-fetch) (uri (string-append "https://tuxera.com/opensource/" "ntfs-3g_ntfsprogs-" version ".tgz")) + (patches (search-patches "ntfs-3g-CVE-2019-9755.patch")) (sha256 (base32 "1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy")) diff --git a/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch b/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch new file mode 100644 index 0000000000..a7794aed47 --- /dev/null +++ b/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch @@ -0,0 +1,72 @@ +Fix CVE-2019-9755: + +https://security-tracker.debian.org/tracker/CVE-2019-9755 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9755 + +Patch copied from upstream source repository: + +https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/85c1634a26faa572d3c558d4cf8aaaca5202d4e9/ + +From 85c1634a26faa572d3c558d4cf8aaaca5202d4e9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= +Date: Wed, 19 Dec 2018 15:57:50 +0100 +Subject: [PATCH] Fixed reporting an error when failed to build the mountpoint + +The size check was inefficient because getcwd() uses an unsigned int +argument. +--- + src/lowntfs-3g.c | 6 +++++- + src/ntfs-3g.c | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c +index 993867fa..0660439b 100644 +--- a/src/lowntfs-3g.c ++++ b/src/lowntfs-3g.c +@@ -4411,7 +4411,8 @@ int main(int argc, char *argv[]) + else { + ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX); + if (ctx->abs_mnt_point) { +- if (getcwd(ctx->abs_mnt_point, ++ if ((strlen(opts.mnt_point) < PATH_MAX) ++ && getcwd(ctx->abs_mnt_point, + PATH_MAX - strlen(opts.mnt_point) - 1)) { + strcat(ctx->abs_mnt_point, "/"); + strcat(ctx->abs_mnt_point, opts.mnt_point); +@@ -4419,6 +4420,9 @@ int main(int argc, char *argv[]) + /* Solaris also wants the absolute mount point */ + opts.mnt_point = ctx->abs_mnt_point; + #endif /* defined(__sun) && defined (__SVR4) */ ++ } else { ++ free(ctx->abs_mnt_point); ++ ctx->abs_mnt_point = (char*)NULL; + } + } + } +diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c +index 6ce89fef..4e0912ae 100644 +--- a/src/ntfs-3g.c ++++ b/src/ntfs-3g.c +@@ -4148,7 +4148,8 @@ int main(int argc, char *argv[]) + else { + ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX); + if (ctx->abs_mnt_point) { +- if (getcwd(ctx->abs_mnt_point, ++ if ((strlen(opts.mnt_point) < PATH_MAX) ++ && getcwd(ctx->abs_mnt_point, + PATH_MAX - strlen(opts.mnt_point) - 1)) { + strcat(ctx->abs_mnt_point, "/"); + strcat(ctx->abs_mnt_point, opts.mnt_point); +@@ -4156,6 +4157,9 @@ int main(int argc, char *argv[]) + /* Solaris also wants the absolute mount point */ + opts.mnt_point = ctx->abs_mnt_point; + #endif /* defined(__sun) && defined (__SVR4) */ ++ } else { ++ free(ctx->abs_mnt_point); ++ ctx->abs_mnt_point = (char*)NULL; + } + } + } +-- +2.21.0 + -- cgit v1.2.3 From a7ad4505b7a09f32e2727a333e11716739efb713 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 4 Apr 2019 13:23:08 +0200 Subject: build: Always ship the (gnu installer …) modules. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by Jonathan Brielmaier . * gnu/local.mk (INSTALLER_MODULES): New variable. (GNU_SYSTEM_MODULES, MODULES_NOT_COMPILED): Append $(INSTALLER_MODULES) conditionally. --- gnu/local.mk | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 586be80eb7..ecb7f9c8d0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -584,9 +584,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/virtualization.scm \ %D%/tests/web.scm -if ENABLE_INSTALLER - -GNU_SYSTEM_MODULES += \ +INSTALLER_MODULES = \ %D%/installer.scm \ %D%/installer/connman.scm \ %D%/installer/final.scm \ @@ -618,13 +616,19 @@ GNU_SYSTEM_MODULES += \ %D%/installer/newt/welcome.scm \ %D%/installer/newt/wifi.scm +# Always ship the installer modules but compile them only when +# ENABLE_INSTALLER is true. +if ENABLE_INSTALLER +GNU_SYSTEM_MODULES += $(INSTALLER_MODULES) +elif !ENABLE_INSTALLER +MODULES_NOT_COMPILED += $(INSTALLER_MODULES) +endif + installerdir = $(guilemoduledir)/%D%/installer dist_installer_DATA = \ %D%/installer/aux-files/logo.txt \ %D%/installer/aux-files/SUPPORTED -endif ENABLE_INSTALLER - # Modules that do not need to be compiled. MODULES_NOT_COMPILED += \ %D%/build/shepherd.scm \ -- cgit v1.2.3 From 804744b338455b0ab8775351f757427047314139 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 4 Apr 2019 14:27:28 +0200 Subject: gnu: Add (gnu packages haskell-apps). * gnu/packages/version-control.scm (darcs, git-annex): Move to... * gnu/packages/haskell-apps.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/haskell-apps.scm | 265 +++++++++++++++++++++++++++++++++++++++ gnu/packages/version-control.scm | 231 ---------------------------------- 3 files changed, 266 insertions(+), 231 deletions(-) create mode 100644 gnu/packages/haskell-apps.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ecb7f9c8d0..4f23c7f9ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -231,6 +231,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gxmessage.scm \ %D%/packages/hardware.scm \ %D%/packages/haskell.scm \ + %D%/packages/haskell-apps.scm \ %D%/packages/haskell-check.scm \ %D%/packages/haskell-crypto.scm \ %D%/packages/haskell-web.scm \ diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm new file mode 100644 index 0000000000..7085c83161 --- /dev/null +++ b/gnu/packages/haskell-apps.scm @@ -0,0 +1,265 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018 ng0 +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018 Timothy Sample +;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2016, 2017 Leo Famulari +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages haskell-apps) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system haskell) + #:use-module (gnu packages base) + #:use-module (gnu packages curl) + #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-crypto) + #:use-module (gnu packages haskell-web) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages rsync) + #:use-module (gnu packages version-control)) + +;; Darcs has no https support: http://irclog.perlgeek.de/darcs/2016-09-17 +;; http://darcs.net/manual/Configuring_darcs.html#SECTION00440070000000000000 +;; and results of search engines will show that if the protocol is http, https +;; is never mentioned. +(define-public darcs + (package + (name "darcs") + (version "2.14.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/darcs/" + "darcs-" version ".tar.gz")) + (sha256 + (base32 + "0zm2486gyhiga1amclbg92cd09bvki6vgh0ll75hv5kl72j61lb5")) + (modules '((guix build utils))) + ;; Remove time-dependent code for reproducibility. + (snippet + '(begin + (substitute* "darcs/darcs.hs" + (("__DATE__") "\"1970-01-01\"") + (("__TIME__") "\"00:00:00\"")) + #t)))) + (build-system haskell-build-system) + (arguments + `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" + "-fnetwork-uri" "-fhttp" "--flag=executable" + "--flag=library") + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-sh + (lambda _ + (substitute* "tests/issue538.sh" + (("/bin/sh") (which "sh"))) + #t))))) + (inputs + `(("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-split" ,ghc-split) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-findbin" ,ghc-findbin) + ("ghc-hunit" ,ghc-hunit) + ("ghc-async" ,ghc-async) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-base16-bytestring" ,ghc-base16-bytestring) + ("ghc-bytestring-builder" ,ghc-bytestring-builder) + ("ghc-cryptohash" ,ghc-cryptohash) + ("ghc-data-ordlist" ,ghc-data-ordlist) + ("ghc-fgl" ,ghc-fgl) + ("ghc-system-filepath" ,ghc-system-filepath) + ("ghc-graphviz" ,ghc-graphviz) + ("ghc-hashable" ,ghc-hashable) + ("ghc-html" ,ghc-html) + ("ghc-mmap" ,ghc-mmap) + ("ghc-old-time" ,ghc-old-time) + ("ghc-parsec" ,ghc-parsec) + ("ghc-random" ,ghc-random) + ("ghc-regex-applicative" ,ghc-regex-applicative) + ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) + ("ghc-sandi" ,ghc-sandi) + ("ghc-shelly" ,ghc-shelly) + ("ghc-tar" ,ghc-tar) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-vector" ,ghc-vector) + ("ghc-zip-archive" ,ghc-zip-archive) + ("ghc-zlib" ,ghc-zlib) + ("ghc-http" ,ghc-http) + ("curl" ,curl) + ("ghc" ,ghc) + ("ncurses" ,ncurses) + ("perl" ,perl) + ("libiconv" ,libiconv) + ("ghc-network" ,ghc-network) + ("ghc-network-uri" ,ghc-network-uri))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://darcs.net") + (synopsis "Distributed Revision Control System") + (description + "Darcs is a revision control system. It is: + +@enumerate +@item Distributed: Every user has access to the full command set, removing boundaries +between server and client or committer and non-committers. +@item Interactive: Darcs is easy to learn and efficient to use because it asks you +questions in response to simple commands, giving you choices in your work flow. +You can choose to record one change in a file, while ignoring another. As you update +from upstream, you can review each patch name, even the full diff for interesting +patches. +@item Smart: Originally developed by physicist David Roundy, darcs is based on a +unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. +@end enumerate") + (license license:gpl2))) + +(define-public git-annex + (package + (name "git-annex") + (version "6.20180926") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "git-annex/git-annex-" version ".tar.gz")) + (sha256 + (base32 + "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d")))) + (build-system haskell-build-system) + (arguments + `(#:configure-flags + '("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-shell + (lambda _ + (substitute* "Utility/Shell.hs" + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'configure 'factor-setup + (lambda _ + ;; Factor out necessary build logic from the provided + ;; `Setup.hs' script. The script as-is does not work because + ;; it cannot find its dependencies, and there is no obvious way + ;; to tell it where to look. Note that we do not preserve the + ;; code that installs man pages here. + (call-with-output-file "PreConf.hs" + (lambda (out) + (format out "import qualified Build.Configure as Configure~%") + (format out "main = Configure.run Configure.tests~%"))) + (call-with-output-file "Setup.hs" + (lambda (out) + (format out "import Distribution.Simple~%") + (format out "main = defaultMain~%"))) + #t)) + (add-before 'configure 'pre-configure + (lambda _ + (invoke "runhaskell" "PreConf.hs") + #t)) + (replace 'check + (lambda _ + ;; We need to set the path so that Git recognizes + ;; `git annex' as a custom command. + (setenv "PATH" (string-append (getenv "PATH") ":" + (getcwd) "/dist/build/git-annex")) + (with-directory-excursion "dist/build/git-annex" + (symlink "git-annex" "git-annex-shell")) + (invoke "git-annex" "test") + #t)) + (add-after 'install 'install-symlinks + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (symlink (string-append bin "/git-annex") + (string-append bin "/git-annex-shell")) + (symlink (string-append bin "/git-annex") + (string-append bin "/git-remote-tor-annex")) + #t)))))) + (inputs + `(("curl" ,curl) + ("ghc-aeson" ,ghc-aeson) + ("ghc-async" ,ghc-async) + ("ghc-bloomfilter" ,ghc-bloomfilter) + ("ghc-byteable" ,ghc-byteable) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-crypto-api" ,ghc-crypto-api) + ("ghc-cryptonite" ,ghc-cryptonite) + ("ghc-data-default" ,ghc-data-default) + ("ghc-disk-free-space" ,ghc-disk-free-space) + ("ghc-dlist" ,ghc-dlist) + ("ghc-edit-distance" ,ghc-edit-distance) + ("ghc-esqueleto" ,ghc-esqueleto) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-feed" ,ghc-feed) + ("ghc-free" ,ghc-free) + ("ghc-hslogger" ,ghc-hslogger) + ("ghc-http-client" ,ghc-http-client) + ("ghc-http-conduit" ,ghc-http-conduit) + ("ghc-http-types" ,ghc-http-types) + ("ghc-ifelse" ,ghc-ifelse) + ("ghc-memory" ,ghc-memory) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-network" ,ghc-network) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-persistent" ,ghc-persistent) + ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-random" ,ghc-random) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-safesemaphore" ,ghc-safesemaphore) + ("ghc-sandi" ,ghc-sandi) + ("ghc-securemem" ,ghc-securemem) + ("ghc-socks" ,ghc-socks) + ("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) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-uuid" ,ghc-uuid) + ("git" ,git) + ("rsync" ,rsync))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-tasty-rerun" ,ghc-tasty-rerun))) + (home-page "https://git-annex.branchable.com/") + (synopsis "Manage files with Git, without checking in their contents") + (description "This package allows managing files with Git, without +checking the file contents into Git. It can store files in many places, +such as local hard drives and cloud storage services. It can also be +used to keep a folder in sync between computers.") + ;; The web app is released under the AGPLv3+. + (license (list license:gpl3+ + license:agpl3+)))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index db096d8587..56d631fb2d 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -48,7 +48,6 @@ #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) - #:use-module (guix build-system haskell) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages apr) @@ -69,10 +68,6 @@ #:use-module (gnu packages gl) #:use-module (gnu packages groff) #:use-module (gnu packages guile) - #:use-module (gnu packages haskell) - #:use-module (gnu packages haskell-check) - #:use-module (gnu packages haskell-crypto) - #:use-module (gnu packages haskell-web) #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages linux) @@ -1959,105 +1954,6 @@ a built-in wiki, built-in file browsing, built-in tickets system, etc.") be served with a HTTP file server of your choice.") (license license:expat))) -;; Darcs has no https support: http://irclog.perlgeek.de/darcs/2016-09-17 -;; http://darcs.net/manual/Configuring_darcs.html#SECTION00440070000000000000 -;; and results of search engines will show that if the protocol is http, https -;; is never mentioned. -(define-public darcs - (package - (name "darcs") - (version "2.14.2") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/darcs/" - "darcs-" version ".tar.gz")) - (sha256 - (base32 - "0zm2486gyhiga1amclbg92cd09bvki6vgh0ll75hv5kl72j61lb5")) - (modules '((guix build utils))) - ;; Remove time-dependent code for reproducibility. - (snippet - '(begin - (substitute* "darcs/darcs.hs" - (("__DATE__") "\"1970-01-01\"") - (("__TIME__") "\"00:00:00\"")) - #t)))) - (build-system haskell-build-system) - (arguments - `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" - "-fnetwork-uri" "-fhttp" "--flag=executable" - "--flag=library") - #:phases - (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'patch-sh - (lambda _ - (substitute* "tests/issue538.sh" - (("/bin/sh") (which "sh"))) - #t))))) - (inputs - `(("ghc-cmdargs" ,ghc-cmdargs) - ("ghc-split" ,ghc-split) - ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) - ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) - ("ghc-test-framework" ,ghc-test-framework) - ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-findbin" ,ghc-findbin) - ("ghc-hunit" ,ghc-hunit) - ("ghc-async" ,ghc-async) - ("ghc-attoparsec" ,ghc-attoparsec) - ("ghc-base16-bytestring" ,ghc-base16-bytestring) - ("ghc-bytestring-builder" ,ghc-bytestring-builder) - ("ghc-cryptohash" ,ghc-cryptohash) - ("ghc-data-ordlist" ,ghc-data-ordlist) - ("ghc-fgl" ,ghc-fgl) - ("ghc-system-filepath" ,ghc-system-filepath) - ("ghc-graphviz" ,ghc-graphviz) - ("ghc-hashable" ,ghc-hashable) - ("ghc-html" ,ghc-html) - ("ghc-mmap" ,ghc-mmap) - ("ghc-old-time" ,ghc-old-time) - ("ghc-parsec" ,ghc-parsec) - ("ghc-random" ,ghc-random) - ("ghc-regex-applicative" ,ghc-regex-applicative) - ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) - ("ghc-sandi" ,ghc-sandi) - ("ghc-shelly" ,ghc-shelly) - ("ghc-tar" ,ghc-tar) - ("ghc-transformers-compat" ,ghc-transformers-compat) - ("ghc-unix-compat" ,ghc-unix-compat) - ("ghc-utf8-string" ,ghc-utf8-string) - ("ghc-vector" ,ghc-vector) - ("ghc-zip-archive" ,ghc-zip-archive) - ("ghc-zlib" ,ghc-zlib) - ("ghc-http" ,ghc-http) - ("curl" ,curl) - ("ghc" ,ghc) - ("ncurses" ,ncurses) - ("perl" ,perl) - ("libiconv" ,libiconv) - ("ghc-network" ,ghc-network) - ("ghc-network-uri" ,ghc-network-uri))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://darcs.net") - (synopsis "Distributed Revision Control System") - (description - "Darcs is a revision control system. It is: - -@enumerate -@item Distributed: Every user has access to the full command set, removing boundaries -between server and client or committer and non-committers. -@item Interactive: Darcs is easy to learn and efficient to use because it asks you -questions in response to simple commands, giving you choices in your work flow. -You can choose to record one change in a file, while ignoring another. As you update -from upstream, you can review each patch name, even the full diff for interesting -patches. -@item Smart: Originally developed by physicist David Roundy, darcs is based on a -unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. -@end enumerate") - (license license:gpl2))) - (define-public java-jgit (package (name "java-jgit") @@ -2221,133 +2117,6 @@ cases like all those little scripts in your @file{~/bin} directory, or a directory full of HOWTOs.") (license license:bsd-2))) -(define-public git-annex - (package - (name "git-annex") - (version "6.20180926") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "git-annex/git-annex-" version ".tar.gz")) - (sha256 - (base32 - "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d")))) - (build-system haskell-build-system) - (arguments - `(#:configure-flags - '("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-shell - (lambda _ - (substitute* "Utility/Shell.hs" - (("/bin/sh") (which "sh"))) - #t)) - (add-before 'configure 'factor-setup - (lambda _ - ;; Factor out necessary build logic from the provided - ;; `Setup.hs' script. The script as-is does not work because - ;; it cannot find its dependencies, and there is no obvious way - ;; to tell it where to look. Note that we do not preserve the - ;; code that installs man pages here. - (call-with-output-file "PreConf.hs" - (lambda (out) - (format out "import qualified Build.Configure as Configure~%") - (format out "main = Configure.run Configure.tests~%"))) - (call-with-output-file "Setup.hs" - (lambda (out) - (format out "import Distribution.Simple~%") - (format out "main = defaultMain~%"))) - #t)) - (add-before 'configure 'pre-configure - (lambda _ - (invoke "runhaskell" "PreConf.hs") - #t)) - (replace 'check - (lambda _ - ;; We need to set the path so that Git recognizes - ;; `git annex' as a custom command. - (setenv "PATH" (string-append (getenv "PATH") ":" - (getcwd) "/dist/build/git-annex")) - (with-directory-excursion "dist/build/git-annex" - (symlink "git-annex" "git-annex-shell")) - (invoke "git-annex" "test") - #t)) - (add-after 'install 'install-symlinks - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (symlink (string-append bin "/git-annex") - (string-append bin "/git-annex-shell")) - (symlink (string-append bin "/git-annex") - (string-append bin "/git-remote-tor-annex")) - #t)))))) - (inputs - `(("curl" ,curl) - ("ghc-aeson" ,ghc-aeson) - ("ghc-async" ,ghc-async) - ("ghc-bloomfilter" ,ghc-bloomfilter) - ("ghc-byteable" ,ghc-byteable) - ("ghc-case-insensitive" ,ghc-case-insensitive) - ("ghc-crypto-api" ,ghc-crypto-api) - ("ghc-cryptonite" ,ghc-cryptonite) - ("ghc-data-default" ,ghc-data-default) - ("ghc-disk-free-space" ,ghc-disk-free-space) - ("ghc-dlist" ,ghc-dlist) - ("ghc-edit-distance" ,ghc-edit-distance) - ("ghc-esqueleto" ,ghc-esqueleto) - ("ghc-exceptions" ,ghc-exceptions) - ("ghc-feed" ,ghc-feed) - ("ghc-free" ,ghc-free) - ("ghc-hslogger" ,ghc-hslogger) - ("ghc-http-client" ,ghc-http-client) - ("ghc-http-conduit" ,ghc-http-conduit) - ("ghc-http-types" ,ghc-http-types) - ("ghc-ifelse" ,ghc-ifelse) - ("ghc-memory" ,ghc-memory) - ("ghc-monad-control" ,ghc-monad-control) - ("ghc-monad-logger" ,ghc-monad-logger) - ("ghc-network" ,ghc-network) - ("ghc-old-locale" ,ghc-old-locale) - ("ghc-optparse-applicative" ,ghc-optparse-applicative) - ("ghc-persistent" ,ghc-persistent) - ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) - ("ghc-persistent-template" ,ghc-persistent-template) - ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-random" ,ghc-random) - ("ghc-regex-tdfa" ,ghc-regex-tdfa) - ("ghc-resourcet" ,ghc-resourcet) - ("ghc-safesemaphore" ,ghc-safesemaphore) - ("ghc-sandi" ,ghc-sandi) - ("ghc-securemem" ,ghc-securemem) - ("ghc-socks" ,ghc-socks) - ("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) - ("ghc-utf8-string" ,ghc-utf8-string) - ("ghc-uuid" ,ghc-uuid) - ("git" ,git) - ("rsync" ,rsync))) - (native-inputs - `(("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-hunit" ,ghc-tasty-hunit) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) - ("ghc-tasty-rerun" ,ghc-tasty-rerun))) - (home-page "https://git-annex.branchable.com/") - (synopsis "Manage files with Git, without checking in their contents") - (description "This package allows managing files with Git, without -checking the file contents into Git. It can store files in many places, -such as local hard drives and cloud storage services. It can also be -used to keep a folder in sync between computers.") - ;; The web app is released under the AGPLv3+. - (license (list license:gpl3+ - license:agpl3+)))) - (define-public git-when-merged ;; Use an unreleased version to get a PY3 compatibility fix. (let ((commit "ab6af7865a0ba55ba364a6c507e0be6f84f31c6d")) -- cgit v1.2.3 From aff0cce9175aaf836dd78941eb17549e3bfa7188 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 4 Apr 2019 15:14:57 +0200 Subject: gnu: Move nss & co. to nss.scm. * gnu/packages/gnuzilla.scm (nspr, nss): Move to... * gnu/packages/nss.scm: ... here. New file. * gnu/packages/chromium.scm, gnu/packages/disk.scm, gnu/packages/freedesktop.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/java.scm, gnu/packages/libreoffice.scm, gnu/packages/linux.scm, gnu/packages/mate.scm, gnu/packages/openldap.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/polkit.scm, gnu/packages/qt.scm, gnu/packages/sssd.scm, gnu/packages/storage.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/xml.scm: Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Add nss.scm. --- gnu/local.mk | 1 + gnu/packages/chromium.scm | 2 +- gnu/packages/disk.scm | 2 +- gnu/packages/freedesktop.scm | 4 +- gnu/packages/gnome.scm | 1 + gnu/packages/gnunet.scm | 4 +- gnu/packages/gnuzilla.scm | 156 +----------------------------- gnu/packages/java.scm | 2 +- gnu/packages/libreoffice.scm | 4 +- gnu/packages/linux.scm | 2 +- gnu/packages/mate.scm | 2 +- gnu/packages/nss.scm | 184 ++++++++++++++++++++++++++++++++++++ gnu/packages/openldap.scm | 4 +- gnu/packages/package-management.scm | 2 +- gnu/packages/password-utils.scm | 2 +- gnu/packages/polkit.scm | 1 + gnu/packages/qt.scm | 2 +- gnu/packages/sssd.scm | 4 +- gnu/packages/storage.scm | 2 +- gnu/packages/vpn.scm | 4 +- gnu/packages/web.scm | 4 +- gnu/packages/xml.scm | 2 +- 22 files changed, 213 insertions(+), 178 deletions(-) create mode 100644 gnu/packages/nss.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 4f23c7f9ee..f9fd5d8fbc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -343,6 +343,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ninja.scm \ %D%/packages/node.scm \ %D%/packages/noweb.scm \ + %D%/packages/nss.scm \ %D%/packages/ntp.scm \ %D%/packages/nutrition.scm \ %D%/packages/nvi.scm \ diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 2678e49ca7..033d0ded5b 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -40,7 +40,6 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) @@ -51,6 +50,7 @@ #:use-module (gnu packages kerberos) #:use-module (gnu packages ninja) #:use-module (gnu packages node) + #:use-module (gnu packages nss) #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 006a381e26..e52c4614c1 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -46,11 +46,11 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 56aeca0478..46971e03cb 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015, 2017 Andy Wingo -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015 David Hashe ;;; Copyright © 2016, 2017 Efraim Flashner @@ -57,7 +57,6 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) ;intltool #:use-module (gnu packages gnome) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) @@ -66,6 +65,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages m4) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 60d64c18b2..63062183ac 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -110,6 +110,7 @@ #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 19e99644dd..09fad6a268 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014 Sree Harsha Totakura -;;; Copyright © 2015, 2017, 2018 Ludovic Courtès +;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2015, 2017, 2019 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Mark H Weaver @@ -35,7 +35,6 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages groff) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -48,6 +47,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages music) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nss) #:use-module (gnu packages package-management) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 9b6e713d41..56b9310343 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016, 2017, 2018 Efraim Flashner @@ -45,7 +45,6 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) - #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -70,6 +69,7 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages rust) #:use-module (gnu packages llvm) + #:use-module (gnu packages nss) #:use-module (gnu packages icu4c) #:use-module (gnu packages video) #:use-module (gnu packages xiph) @@ -404,158 +404,6 @@ in C/C++.") ("pkg-config" ,pkg-config) ("python" ,python-2))))) -(define-public nspr - (package - (name "nspr") - (version "4.20") - (source (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v" - version "/src/nspr-" version ".tar.gz")) - (sha256 - (base32 - "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c")))) - (build-system gnu-build-system) - (native-inputs - `(("perl" ,perl))) - (arguments - `(#:tests? #f ; no check target - #:configure-flags (list "--enable-64bit" - (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")) - ;; Use fixed timestamps for reproducibility. - #:make-flags '("SH_DATE='1970-01-01 00:00:01'" - ;; This is epoch 1 in microseconds. - "SH_NOW=100000") - #:phases (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ (chdir "nspr") #t))))) - (home-page - "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR") - (synopsis "Netscape API for system level and libc-like functions") - (description "Netscape Portable Runtime (@dfn{NSPR}) provides a -platform-neutral API for system level and libc-like functions. It is used -in the Mozilla clients.") - (license license:mpl2.0))) - -(define-public nss - (package - (name "nss") - (version "3.41") - (source (origin - (method url-fetch) - (uri (let ((version-with-underscores - (string-join (string-split version #\.) "_"))) - (string-append - "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" - "releases/NSS_" version-with-underscores "_RTM/src/" - "nss-" version ".tar.gz"))) - (sha256 - (base32 - "0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb")) - ;; Create nss.pc and nss-config. - (patches (search-patches "nss-pkgconfig.patch" - "nss-increase-test-timeout.patch")))) - (build-system gnu-build-system) - (outputs '("out" "bin")) - (arguments - `(#:parallel-build? #f ; not supported - #:make-flags - (let* ((out (assoc-ref %outputs "out")) - (nspr (string-append (assoc-ref %build-inputs "nspr"))) - (rpath (string-append "-Wl,-rpath=" out "/lib/nss"))) - (list "-C" "nss" (string-append "PREFIX=" out) - "NSDISTMODE=copy" - "NSS_USE_SYSTEM_SQLITE=1" - (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr") - ;; Add $out/lib/nss to RPATH. - (string-append "RPATH=" rpath) - (string-append "LDFLAGS=" rpath))) - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 ftw) - (ice-9 match) - (srfi srfi-26)) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (setenv "CC" "gcc") - ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. - ,@(match (%current-system) - ((or "x86_64-linux" "aarch64-linux") - `((setenv "USE_64" "1"))) - (_ - '())) - #t)) - (replace 'check - (lambda _ - ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. - ;; The later requires a working DNS or /etc/hosts. - (setenv "DOMSUF" "localdomain") - (setenv "USE_IP" "TRUE") - (setenv "IP_ADDRESS" "127.0.0.1") - - ;; The "PayPalEE.cert" certificate expires every six months, - ;; leading to test failures: - ;; . To - ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2018-12-01" "./nss/tests/all.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append (assoc-ref outputs "bin") "/bin")) - (inc (string-append out "/include/nss")) - (lib (string-append out "/lib/nss")) - (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) - ((obj) (string-append "dist/" obj))))) - ;; Install nss-config to $out/bin. - (install-file (string-append obj "/bin/nss-config") - (string-append out "/bin")) - (delete-file (string-append obj "/bin/nss-config")) - ;; Install nss.pc to $out/lib/pkgconfig. - (install-file (string-append obj "/lib/pkgconfig/nss.pc") - (string-append out "/lib/pkgconfig")) - (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) - (rmdir (string-append obj "/lib/pkgconfig")) - ;; Install other files. - (copy-recursively "dist/public/nss" inc) - (copy-recursively (string-append obj "/bin") bin) - (copy-recursively (string-append obj "/lib") lib) - - ;; FIXME: libgtest1.so is installed in the above step, and it's - ;; (unnecessarily) linked with several NSS libraries, but - ;; without the needed rpaths, causing the 'validate-runpath' - ;; phase to fail. Here we simply delete libgtest1.so, since it - ;; seems to be used only during the tests. - (delete-file (string-append lib "/libgtest1.so")) - (delete-file (string-append lib "/libgtestutil.so")) - - #t)))))) - (inputs - `(("sqlite" ,sqlite) - ("zlib" ,zlib))) - (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc. - (native-inputs `(("perl" ,perl) - ("libfaketime" ,libfaketime))) ;for tests - - ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when - ;; another build is happening concurrently on the same machine. - (properties '((timeout . 216000))) ; 60 hours - - (home-page - "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") - (synopsis "Network Security Services") - (description - "Network Security Services (@dfn{NSS}) is a set of libraries designed to -support cross-platform development of security-enabled client and server -applications. Applications built with NSS can support SSL v2 and v3, TLS, -PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other -security standards.") - (license license:mpl2.0))) - (define (mozilla-patch file-name changeset hash) "Return an origin for CHANGESET from the mozilla-esr60 repository." (origin diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 69b4c9b684..51c21b68cc 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -52,7 +52,6 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) - #:use-module (gnu packages gnuzilla) ;nss #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -64,6 +63,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages linux) ;alsa #:use-module (gnu packages maths) + #:use-module (gnu packages nss) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages web) #:use-module (gnu packages wget) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 588b2f15c7..3b8fa514d1 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Andy Wingo -;;; Copyright © 2017, 2018 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018, 2019 Ricardo Wurmus @@ -59,7 +59,6 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) @@ -67,6 +66,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages maths) + #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 06bf8095be..e8ee4df4f3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -77,7 +77,6 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libunwind) @@ -90,6 +89,7 @@ #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index cf8392a78b..6d157e6ec3 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -47,7 +47,6 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) @@ -57,6 +56,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages messaging) #:use-module (gnu packages nettle) + #:use-module (gnu packages nss) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pdf) #:use-module (gnu packages photo) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm new file mode 100644 index 0000000000..5c75d3d163 --- /dev/null +++ b/gnu/packages/nss.scm @@ -0,0 +1,184 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver +;;; Copyright © 2016, 2017, 2018 Efraim Flashner +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages nss) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages perl) + #:use-module (gnu packages sqlite) + #:use-module (ice-9 match)) + +(define-public nspr + (package + (name "nspr") + (version "4.20") + (source (origin + (method url-fetch) + (uri (string-append + "https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v" + version "/src/nspr-" version ".tar.gz")) + (sha256 + (base32 + "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (arguments + `(#:tests? #f ; no check target + #:configure-flags (list "--enable-64bit" + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib")) + ;; Use fixed timestamps for reproducibility. + #:make-flags '("SH_DATE='1970-01-01 00:00:01'" + ;; This is epoch 1 in microseconds. + "SH_NOW=100000") + #:phases (modify-phases %standard-phases + (add-before 'configure 'chdir + (lambda _ (chdir "nspr") #t))))) + (home-page + "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR") + (synopsis "Netscape API for system level and libc-like functions") + (description "Netscape Portable Runtime (@dfn{NSPR}) provides a +platform-neutral API for system level and libc-like functions. It is used +in the Mozilla clients.") + (license license:mpl2.0))) + +(define-public nss + (package + (name "nss") + (version "3.41") + (source (origin + (method url-fetch) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append + "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" + "releases/NSS_" version-with-underscores "_RTM/src/" + "nss-" version ".tar.gz"))) + (sha256 + (base32 + "0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb")) + ;; Create nss.pc and nss-config. + (patches (search-patches "nss-pkgconfig.patch" + "nss-increase-test-timeout.patch")))) + (build-system gnu-build-system) + (outputs '("out" "bin")) + (arguments + `(#:parallel-build? #f ; not supported + #:make-flags + (let* ((out (assoc-ref %outputs "out")) + (nspr (string-append (assoc-ref %build-inputs "nspr"))) + (rpath (string-append "-Wl,-rpath=" out "/lib/nss"))) + (list "-C" "nss" (string-append "PREFIX=" out) + "NSDISTMODE=copy" + "NSS_USE_SYSTEM_SQLITE=1" + (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr") + ;; Add $out/lib/nss to RPATH. + (string-append "RPATH=" rpath) + (string-append "LDFLAGS=" rpath))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (ice-9 match) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "CC" "gcc") + ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. + ,@(match (%current-system) + ((or "x86_64-linux" "aarch64-linux") + `((setenv "USE_64" "1"))) + (_ + '())) + #t)) + (replace 'check + (lambda _ + ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. + ;; The later requires a working DNS or /etc/hosts. + (setenv "DOMSUF" "localdomain") + (setenv "USE_IP" "TRUE") + (setenv "IP_ADDRESS" "127.0.0.1") + + ;; The "PayPalEE.cert" certificate expires every six months, + ;; leading to test failures: + ;; . To + ;; work around that, set the time to roughly the release date. + (invoke "faketime" "2018-12-01" "./nss/tests/all.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append (assoc-ref outputs "bin") "/bin")) + (inc (string-append out "/include/nss")) + (lib (string-append out "/lib/nss")) + (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) + ((obj) (string-append "dist/" obj))))) + ;; Install nss-config to $out/bin. + (install-file (string-append obj "/bin/nss-config") + (string-append out "/bin")) + (delete-file (string-append obj "/bin/nss-config")) + ;; Install nss.pc to $out/lib/pkgconfig. + (install-file (string-append obj "/lib/pkgconfig/nss.pc") + (string-append out "/lib/pkgconfig")) + (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) + (rmdir (string-append obj "/lib/pkgconfig")) + ;; Install other files. + (copy-recursively "dist/public/nss" inc) + (copy-recursively (string-append obj "/bin") bin) + (copy-recursively (string-append obj "/lib") lib) + + ;; FIXME: libgtest1.so is installed in the above step, and it's + ;; (unnecessarily) linked with several NSS libraries, but + ;; without the needed rpaths, causing the 'validate-runpath' + ;; phase to fail. Here we simply delete libgtest1.so, since it + ;; seems to be used only during the tests. + (delete-file (string-append lib "/libgtest1.so")) + (delete-file (string-append lib "/libgtestutil.so")) + + #t)))))) + (inputs + `(("sqlite" ,sqlite) + ("zlib" ,zlib))) + (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc. + (native-inputs `(("perl" ,perl) + ("libfaketime" ,libfaketime))) ;for tests + + ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when + ;; another build is happening concurrently on the same machine. + (properties '((timeout . 216000))) ; 60 hours + + (home-page + "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") + (synopsis "Network Security Services") + (description + "Network Security Services (@dfn{NSS}) is a set of libraries designed to +support cross-platform development of security-enabled client and server +applications. Applications built with NSS can support SSL v2 and v3, TLS, +PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other +security standards.") + (license license:mpl2.0))) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index e0190d2c0e..b84a417ff5 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus @@ -29,13 +29,13 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages groff) #:use-module (gnu packages icu4c) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages networking) + #:use-module (gnu packages nss) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 274a4785fb..ad0b8f06f8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -50,7 +50,6 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -59,6 +58,7 @@ #:use-module (gnu packages lisp) #:use-module (gnu packages man) #:use-module (gnu packages nettle) + #:use-module (gnu packages nss) #:use-module (gnu packages patchutils) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index ad89cee5a8..5c11d8c437 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -58,7 +58,6 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages kerberos) @@ -67,6 +66,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nss) #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index ba74a5c905..ccb8ebf8f8 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages gnuzilla) #:use-module (gnu packages linux) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5b463f510f..afc4d8dc06 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -48,7 +48,6 @@ #:use-module (gnu packages freedesktop) #:use-module (gnu packages gl) #:use-module (gnu packages glib) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -56,6 +55,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages maths) + #:use-module (gnu packages nss) #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 75ce7c854b..6d6caab0ad 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -35,10 +35,10 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages glib) - #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) - #:use-module (gnu packages kerberos) + #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages tls) #:use-module (gnu packages pcre) diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index bd15fcc26c..9e7cd10918 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -37,11 +37,11 @@ #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages gcc) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 6155c008fa..99edf3df01 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2013, 2016, 2018 Ludovic Courtès +;;; Copyright © 2013, 2016, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Jeff Mickey ;;; Copyright © 2016, 2017 Efraim Flashner @@ -42,9 +42,9 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e23537847f..e84b42358c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Aljosha Papsch -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal @@ -85,7 +85,6 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnu-doc) #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -102,6 +101,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nss) #:use-module (gnu packages openstack) #:use-module (gnu packages base) #:use-module (gnu packages package-management) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 874be97bd1..f739f207e7 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -44,7 +44,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages gnupg) #:use-module (gnu packages java) - #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages nss) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) -- cgit v1.2.3 From c531fad7a0b528be68c8bd1b5749a4d01c5bfdd1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Apr 2019 22:15:04 +0300 Subject: gnu: flac: Fix CVE-2017-6888. * gnu/packages/xiph.scm (flac)[replacement]: New field. (flac/fixed): New variable. * gnu/packages/patches/flac-CVE-2017-6888.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/patches/flac-CVE-2017-6888.patch | 29 +++++++++++++++++++++++++++ gnu/packages/xiph.scm | 11 +++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/flac-CVE-2017-6888.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 1332efdcff..ac7531af03 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -771,6 +771,7 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-makedev.patch \ %D%/packages/patches/findutils-test-xargs.patch \ + %D%/packages/patches/flac-CVE-2017-6888.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ diff --git a/gnu/packages/patches/flac-CVE-2017-6888.patch b/gnu/packages/patches/flac-CVE-2017-6888.patch new file mode 100644 index 0000000000..d2583201b4 --- /dev/null +++ b/gnu/packages/patches/flac-CVE-2017-6888.patch @@ -0,0 +1,29 @@ +https://git.xiph.org/?p=flac.git;a=patch;h=4f47b63e9c971e6391590caf00a0f2a5ed612e67 + +From 4f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17 00:00:00 2001 +From: Erik de Castro Lopo +Date: Sat, 8 Apr 2017 18:34:49 +1000 +Subject: [PATCH] stream_decoder.c: Fix a memory leak + +Leak reported by Secunia Research. +--- + src/libFLAC/stream_decoder.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c +index 14d5fe7f..a5527511 100644 +--- a/src/libFLAC/stream_decoder.c ++++ b/src/libFLAC/stream_decoder.c +@@ -1753,6 +1753,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre + } + memset (obj->comments[i].entry, 0, obj->comments[i].length) ; + if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) { ++ /* Current i-th entry is bad, so we delete it. */ ++ free (obj->comments[i].entry) ; ++ obj->comments[i].entry = NULL ; + obj->num_comments = i; + goto skip; + } +-- +2.11.0 + diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 43b0d2723a..49d23bf6d5 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari @@ -235,6 +235,7 @@ It currently supports: (define flac (package (name "flac") + (replacement flac/fixed) (version "1.3.2") (source (origin (method url-fetch) @@ -256,6 +257,14 @@ meaning that audio is compressed in FLAC without any loss in quality.") "See COPYING in the distribution.")) ; and LGPL and GPL (home-page "https://xiph.org/flac/"))) +(define flac/fixed + (package + (inherit flac) + (source + (origin + (inherit (package-source flac)) + (patches (search-patches "flac-CVE-2017-6888.patch")))))) + (define libkate (package (name "libkate") -- cgit v1.2.3 From 9859800f5df8827ad7dba6acf32888fa5dc41442 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Apr 2019 05:48:19 +0200 Subject: gnu: ledger: Update to 3.1.3. The patch applies but has been unnecessary since 3.1.2. * gnu/packages/finance.scm (ledger): Update to 3.1.3. [source]: Remove obsolete patch. * gnu/packages/patches/ledger-fix-uninitialized.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/finance.scm | 7 +++--- .../patches/ledger-fix-uninitialized.patch | 27 ---------------------- 3 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/ledger-fix-uninitialized.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f9fd5d8fbc..31e07deef4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -957,7 +957,6 @@ dist_patch_DATA = \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ - %D%/packages/patches/ledger-fix-uninitialized.patch \ %D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-set-soname.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 3fe0f92849..575569d3aa 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Vasile Dumitrascu -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2018 Adriano Peluso ;;; Copyright © 2018, 2019 Nicolas Goaziou @@ -139,7 +139,7 @@ line client and a client based on Qt.") (define-public ledger (package (name "ledger") - (version "3.1.2") + (version "3.1.3") (source (origin (method git-fetch) @@ -148,8 +148,7 @@ line client and a client based on Qt.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hwnipj2m9p95hhyv6kyq54m27g14r58gnsy2my883kxhpcyb2vc")) - (patches (search-patches "ledger-fix-uninitialized.patch")))) + (base32 "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/ledger-fix-uninitialized.patch b/gnu/packages/patches/ledger-fix-uninitialized.patch deleted file mode 100644 index 128c90ec13..0000000000 --- a/gnu/packages/patches/ledger-fix-uninitialized.patch +++ /dev/null @@ -1,27 +0,0 @@ -This fixes failures of tests "BaseLine_opt-datetime-format" and -"BaseLine_opt-time-report", which were printing an unexpected trailing '*' on -the last line of output, e.g.: - - @@ -5,4 +5,4 @@ - 04/05/13 12:00 PM 04/05/13 01:30 PM 1.50h Lunch - 04/05/13 11:30 AM 04/05/13 12:00 PM 30.0m Walk - -------------------------------------------------- - - - + * - -Reported upstream at -https://groups.google.com/d/msg/ledger-cli/EeJUrUk8YDc/pIR-LOTVEAAJ - -diff --git a/src/account.h b/src/account.h -index 1b97463d..f2555593 100644 ---- a/src/account.h -+++ b/src/account.h -@@ -187,7 +187,7 @@ public: - - datetime_t earliest_checkin; - datetime_t latest_checkout; -- bool latest_checkout_cleared; -+ bool latest_checkout_cleared = false; - - std::set filenames; - std::set accounts_referenced; -- cgit v1.2.3 From 2beca2a55c76ed56bcc6b718bd807126e904dee1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Apr 2019 22:15:04 +0300 Subject: gnu: flac: Fix CVE-2017-6888. * gnu/packages/xiph.scm (flac)[replacement]: New field. (flac/fixed): New variable. * gnu/packages/patches/flac-CVE-2017-6888.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/patches/flac-CVE-2017-6888.patch | 29 +++++++++++++++++++++++++++ gnu/packages/xiph.scm | 11 +++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/flac-CVE-2017-6888.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 31e07deef4..cafea31e2f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -777,6 +777,7 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-makedev.patch \ %D%/packages/patches/findutils-test-xargs.patch \ + %D%/packages/patches/flac-CVE-2017-6888.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ diff --git a/gnu/packages/patches/flac-CVE-2017-6888.patch b/gnu/packages/patches/flac-CVE-2017-6888.patch new file mode 100644 index 0000000000..d2583201b4 --- /dev/null +++ b/gnu/packages/patches/flac-CVE-2017-6888.patch @@ -0,0 +1,29 @@ +https://git.xiph.org/?p=flac.git;a=patch;h=4f47b63e9c971e6391590caf00a0f2a5ed612e67 + +From 4f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17 00:00:00 2001 +From: Erik de Castro Lopo +Date: Sat, 8 Apr 2017 18:34:49 +1000 +Subject: [PATCH] stream_decoder.c: Fix a memory leak + +Leak reported by Secunia Research. +--- + src/libFLAC/stream_decoder.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c +index 14d5fe7f..a5527511 100644 +--- a/src/libFLAC/stream_decoder.c ++++ b/src/libFLAC/stream_decoder.c +@@ -1753,6 +1753,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre + } + memset (obj->comments[i].entry, 0, obj->comments[i].length) ; + if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) { ++ /* Current i-th entry is bad, so we delete it. */ ++ free (obj->comments[i].entry) ; ++ obj->comments[i].entry = NULL ; + obj->num_comments = i; + goto skip; + } +-- +2.11.0 + diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 43b0d2723a..49d23bf6d5 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari @@ -235,6 +235,7 @@ It currently supports: (define flac (package (name "flac") + (replacement flac/fixed) (version "1.3.2") (source (origin (method url-fetch) @@ -256,6 +257,14 @@ meaning that audio is compressed in FLAC without any loss in quality.") "See COPYING in the distribution.")) ; and LGPL and GPL (home-page "https://xiph.org/flac/"))) +(define flac/fixed + (package + (inherit flac) + (source + (origin + (inherit (package-source flac)) + (patches (search-patches "flac-CVE-2017-6888.patch")))))) + (define libkate (package (name "libkate") -- cgit v1.2.3 From f63861b5a61b2a9d2c17dbf88b24b5e8f0c5c111 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 2 Apr 2019 22:33:22 +0200 Subject: gnu: Add localed, extracted from systemd. * gnu/packages/freedesktop.scm (localed): New variable. * gnu/packages/patches/localed-xorg-keyboard.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/freedesktop.scm | 146 ++++++++++ gnu/packages/patches/localed-xorg-keyboard.patch | 322 +++++++++++++++++++++++ 3 files changed, 469 insertions(+) create mode 100644 gnu/packages/patches/localed-xorg-keyboard.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index cafea31e2f..54882b3571 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -937,6 +937,7 @@ dist_patch_DATA = \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ + %D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-makefile.patch \ %D%/packages/patches/kiki-missing-includes.patch \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 46971e03cb..e3cf88b2f8 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -307,6 +307,152 @@ the org.freedesktop.login1 interface over the system bus, allowing other parts of a the system to know what users are logged in, and where.") (license license:lgpl2.1+))) +(define-public localed + ;; XXX: This package is extracted from systemd but we retain so little of it + ;; that it would make more sense to maintain a fork of the bits we need. + (package + (name "localed") + (version "241") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/systemd/systemd") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0sy91flzbhpq58k7v0294pa2gxpr0bk27rcnxlbhk2fi6nc51d28")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Connect to the right location for our D-Bus daemon. + (substitute* '("src/basic/def.h" + "src/libsystemd/sd-bus/sd-bus.c" + "src/stdio-bridge/stdio-bridge.c") + (("/run/dbus/system_bus_socket") + "/var/run/dbus/system_bus_socket")) + + ;; Don't insist on having systemd as PID 1 (otherwise + ;; 'localectl' would exit without doing anything.) + (substitute* "src/shared/bus-util.c" + (("sd_booted\\(\\)") + "(1)")) + #t)) + (patches (search-patches "localed-xorg-keyboard.patch")))) + (build-system meson-build-system) + (arguments + ;; Try to build as little as possible (list of components taken from the + ;; top-level 'meson.build' file.) + (let ((components '("utmp" + "hibernate" + "environment-d" + "binfmt" + "coredump" + "resolve" + "logind" + "hostnamed" + "localed" + "machined" + "portabled" + "networkd" + "timedated" + "timesyncd" + "firstboot" + "randomseed" + "backlight" + "vconsole" + "quotacheck" + "sysusers" + "tmpfiles" + "hwdb" + "rfkill" + "ldconfig" + "efi" + "tpm" + "ima" + "smack" + "gshadow" + "idn" + "nss-myhostname" + "nss-systemd"))) + `(#:configure-flags ',(map (lambda (component) + (string-append "-D" component "=false")) + (delete "localed" components)) + + ;; It doesn't make sense to test all of systemd. + #:tests? #f + + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-xkeyboard-config-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Set the file name to xkeyboard-config and kbd. + ;; This is used by 'localectl list-x11-keymap-layouts' + ;; and similar functions. + (let ((xkb (assoc-ref inputs "xkeyboard-config")) + (kbd (assoc-ref inputs "kbd"))) + (substitute* "src/locale/localectl.c" + (("/usr/share/X11/xkb/rules") + (string-append xkb "/share/X11/xkb/rules"))) + (substitute* "src/basic/def.h" + (("/usr/share/keymaps") + (string-append kbd "/share/keymaps"))) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install 'localed', the D-Bus and polkit files, and + ;; 'localectl'. + (let* ((out (assoc-ref outputs "out")) + (libexec (string-append out "/libexec/localed")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (dbus (string-append out + "/share/dbus-1/system-services")) + (conf (string-append out + "/etc/dbus-1/system.d/")) + (polkit (string-append out + "/share/polkit-1/actions")) + (data (string-append out "/share/systemd"))) + (define (source-file regexp) + (car (find-files ".." regexp))) + + (mkdir-p libexec) + (copy-file "systemd-localed" + (string-append libexec "/localed")) + (install-file "localectl" bin) + + (let ((service-file (source-file + "\\.locale1\\.service$"))) + (substitute* service-file + (("^Exec=.*$") + (string-append "Exec=" libexec "/localed\n"))) + (install-file service-file dbus)) + (install-file (source-file "\\.locale1\\.policy$") + polkit) + (install-file (source-file "\\.locale1\\.conf$") + conf) + (for-each (lambda (file) + (install-file file lib)) + (find-files "src/shared" + "libsystemd-shared.*\\.so")) + + (for-each (lambda (map) + (install-file map data)) + (find-files ".." "^(kbd-model-map|language-fallback-map)$")) + #t))))))) + (native-inputs (package-native-inputs elogind)) + (inputs `(("libmount" ,util-linux) + ("xkeyboard-config" ,xkeyboard-config) + ("kbd" ,kbd) + ,@(package-inputs elogind))) + (home-page "https://www.freedesktop.org/wiki/Software/systemd/localed/") + (synopsis "Control the system locale and keyboard layout") + (description + "Localed is a tiny daemon that can be used to control the system locale +and keyboard mapping from user programs. It is used among other things by the +GNOME Shell. The @command{localectl} command-line tool allows you to interact +with localed. This package is extracted from the broader systemd package.") + (license license:lgpl2.1+))) + (define-public packagekit (package (name "packagekit") diff --git a/gnu/packages/patches/localed-xorg-keyboard.patch b/gnu/packages/patches/localed-xorg-keyboard.patch new file mode 100644 index 0000000000..9a9071ba0a --- /dev/null +++ b/gnu/packages/patches/localed-xorg-keyboard.patch @@ -0,0 +1,322 @@ +Normally localed would do an approximate parsing of the Xorg config file +to determine the XKB keyboard layout. This doesn't make sense on Guix +where there's no such file in /etc, and where the keyboard layout is +known statically at configuration time. + +This patch removes the XOrg configuration parsing and expects to read the +configuration from environment variables instead. It also removes the +stateful bits that would write configuration to /etc/vconsole.conf +and /etc/X11, which are unused in Guix anyway. + +Patch by Ludovic Courtès . + +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c +index 6b6b32a591..46aab472b0 100644 +--- a/src/locale/keymap-util.c ++++ b/src/locale/keymap-util.c +@@ -174,32 +174,16 @@ int vconsole_read_data(Context *c, sd_bus_message *m) { + c->vc_cache = sd_bus_message_ref(m); + } + +- if (stat("/etc/vconsole.conf", &st) < 0) { +- if (errno != ENOENT) +- return -errno; +- +- c->vc_mtime = USEC_INFINITY; +- context_free_vconsole(c); +- return 0; +- } +- +- /* If mtime is not changed, then we do not need to re-read */ +- t = timespec_load(&st.st_mtim); +- if (c->vc_mtime != USEC_INFINITY && t == c->vc_mtime) +- return 0; +- +- c->vc_mtime = t; ++ c->vc_mtime = USEC_INFINITY; + context_free_vconsole(c); +- +- r = parse_env_file(NULL, "/etc/vconsole.conf", +- "KEYMAP", &c->vc_keymap, +- "KEYMAP_TOGGLE", &c->vc_keymap_toggle); +- if (r < 0) +- return r; +- + return 0; + } + ++static char *getenv_strdup(const char *variable) { ++ const char *value = getenv(variable); ++ return value == NULL ? NULL : strdup(value); ++} ++ + int x11_read_data(Context *c, sd_bus_message *m) { + _cleanup_fclose_ FILE *f = NULL; + bool in_section = false; +@@ -216,258 +200,27 @@ int x11_read_data(Context *c, sd_bus_message *m) { + c->x11_cache = sd_bus_message_ref(m); + } + +- if (stat("/etc/X11/xorg.conf.d/00-keyboard.conf", &st) < 0) { +- if (errno != ENOENT) +- return -errno; +- +- c->x11_mtime = USEC_INFINITY; +- context_free_x11(c); +- return 0; +- } +- +- /* If mtime is not changed, then we do not need to re-read */ +- t = timespec_load(&st.st_mtim); +- if (c->x11_mtime != USEC_INFINITY && t == c->x11_mtime) +- return 0; +- +- c->x11_mtime = t; ++ c->x11_mtime = 0; + context_free_x11(c); + +- f = fopen("/etc/X11/xorg.conf.d/00-keyboard.conf", "re"); +- if (!f) +- return -errno; +- +- for (;;) { +- _cleanup_free_ char *line = NULL; +- char *l; +- +- r = read_line(f, LONG_LINE_MAX, &line); +- if (r < 0) +- return r; +- if (r == 0) +- break; +- +- l = strstrip(line); +- if (IN_SET(l[0], 0, '#')) +- continue; +- +- if (in_section && first_word(l, "Option")) { +- _cleanup_strv_free_ char **a = NULL; +- +- r = strv_split_extract(&a, l, WHITESPACE, EXTRACT_QUOTES); +- if (r < 0) +- return r; +- +- if (strv_length(a) == 3) { +- char **p = NULL; +- +- if (streq(a[1], "XkbLayout")) +- p = &c->x11_layout; +- else if (streq(a[1], "XkbModel")) +- p = &c->x11_model; +- else if (streq(a[1], "XkbVariant")) +- p = &c->x11_variant; +- else if (streq(a[1], "XkbOptions")) +- p = &c->x11_options; +- +- if (p) { +- free_and_replace(*p, a[2]); +- } +- } +- +- } else if (!in_section && first_word(l, "Section")) { +- _cleanup_strv_free_ char **a = NULL; +- +- r = strv_split_extract(&a, l, WHITESPACE, EXTRACT_QUOTES); +- if (r < 0) +- return -ENOMEM; +- +- if (strv_length(a) == 2 && streq(a[1], "InputClass")) +- in_section = true; +- +- } else if (in_section && first_word(l, "EndSection")) +- in_section = false; +- } ++ c->x11_layout = getenv_strdup("GUIX_XKB_LAYOUT"); ++ c->x11_model = getenv_strdup("GUIX_XKB_MODEL"); ++ c->x11_variant = getenv_strdup("GUIX_XKB_VARIANT"); ++ c->x11_options = getenv_strdup("GUIX_XKB_OPTIONS"); + + return 0; + } + + int locale_write_data(Context *c, char ***settings) { +- _cleanup_strv_free_ char **l = NULL; +- struct stat st; +- int r, p; +- +- /* Set values will be returned as strv in *settings on success. */ +- +- for (p = 0; p < _VARIABLE_LC_MAX; p++) { +- _cleanup_free_ char *t = NULL; +- char **u; +- const char *name; +- +- name = locale_variable_to_string(p); +- assert(name); +- +- if (isempty(c->locale[p])) +- continue; +- +- if (asprintf(&t, "%s=%s", name, c->locale[p]) < 0) +- return -ENOMEM; +- +- u = strv_env_set(l, t); +- if (!u) +- return -ENOMEM; +- +- strv_free_and_replace(l, u); +- } +- +- if (strv_isempty(l)) { +- if (unlink("/etc/locale.conf") < 0) +- return errno == ENOENT ? 0 : -errno; +- +- c->locale_mtime = USEC_INFINITY; +- return 0; +- } +- +- r = write_env_file_label("/etc/locale.conf", l); +- if (r < 0) +- return r; +- +- *settings = TAKE_PTR(l); +- +- if (stat("/etc/locale.conf", &st) >= 0) +- c->locale_mtime = timespec_load(&st.st_mtim); +- +- return 0; ++ return -ENOSYS; + } + + int vconsole_write_data(Context *c) { +- _cleanup_strv_free_ char **l = NULL; +- struct stat st; +- int r; +- +- r = load_env_file(NULL, "/etc/vconsole.conf", &l); +- if (r < 0 && r != -ENOENT) +- return r; +- +- if (isempty(c->vc_keymap)) +- l = strv_env_unset(l, "KEYMAP"); +- else { +- _cleanup_free_ char *s = NULL; +- char **u; +- +- s = strappend("KEYMAP=", c->vc_keymap); +- if (!s) +- return -ENOMEM; +- +- u = strv_env_set(l, s); +- if (!u) +- return -ENOMEM; +- +- strv_free_and_replace(l, u); +- } +- +- if (isempty(c->vc_keymap_toggle)) +- l = strv_env_unset(l, "KEYMAP_TOGGLE"); +- else { +- _cleanup_free_ char *s = NULL; +- char **u; +- +- s = strappend("KEYMAP_TOGGLE=", c->vc_keymap_toggle); +- if (!s) +- return -ENOMEM; +- +- u = strv_env_set(l, s); +- if (!u) +- return -ENOMEM; +- +- strv_free_and_replace(l, u); +- } +- +- if (strv_isempty(l)) { +- if (unlink("/etc/vconsole.conf") < 0) +- return errno == ENOENT ? 0 : -errno; +- +- c->vc_mtime = USEC_INFINITY; +- return 0; +- } +- +- r = write_env_file_label("/etc/vconsole.conf", l); +- if (r < 0) +- return r; +- +- if (stat("/etc/vconsole.conf", &st) >= 0) +- c->vc_mtime = timespec_load(&st.st_mtim); +- +- return 0; ++ return -ENOSYS; + } + + int x11_write_data(Context *c) { +- _cleanup_fclose_ FILE *f = NULL; +- _cleanup_free_ char *temp_path = NULL; +- struct stat st; +- int r; +- +- if (isempty(c->x11_layout) && +- isempty(c->x11_model) && +- isempty(c->x11_variant) && +- isempty(c->x11_options)) { +- +- if (unlink("/etc/X11/xorg.conf.d/00-keyboard.conf") < 0) +- return errno == ENOENT ? 0 : -errno; +- +- c->vc_mtime = USEC_INFINITY; +- return 0; +- } +- +- mkdir_p_label("/etc/X11/xorg.conf.d", 0755); +- +- r = fopen_temporary("/etc/X11/xorg.conf.d/00-keyboard.conf", &f, &temp_path); +- if (r < 0) +- return r; +- +- (void) __fsetlocking(f, FSETLOCKING_BYCALLER); +- (void) fchmod(fileno(f), 0644); +- +- fputs("# Written by systemd-localed(8), read by systemd-localed and Xorg. It's\n" +- "# probably wise not to edit this file manually. Use localectl(1) to\n" +- "# instruct systemd-localed to update it.\n" +- "Section \"InputClass\"\n" +- " Identifier \"system-keyboard\"\n" +- " MatchIsKeyboard \"on\"\n", f); +- +- if (!isempty(c->x11_layout)) +- fprintf(f, " Option \"XkbLayout\" \"%s\"\n", c->x11_layout); +- +- if (!isempty(c->x11_model)) +- fprintf(f, " Option \"XkbModel\" \"%s\"\n", c->x11_model); +- +- if (!isempty(c->x11_variant)) +- fprintf(f, " Option \"XkbVariant\" \"%s\"\n", c->x11_variant); +- +- if (!isempty(c->x11_options)) +- fprintf(f, " Option \"XkbOptions\" \"%s\"\n", c->x11_options); +- +- fputs("EndSection\n", f); +- +- r = fflush_sync_and_check(f); +- if (r < 0) +- goto fail; +- +- if (rename(temp_path, "/etc/X11/xorg.conf.d/00-keyboard.conf") < 0) { +- r = -errno; +- goto fail; +- } +- +- if (stat("/etc/X11/xorg.conf.d/00-keyboard.conf", &st) >= 0) +- c->x11_mtime = timespec_load(&st.st_mtim); +- +- return 0; +- +-fail: +- if (temp_path) +- (void) unlink(temp_path); +- +- return r; ++ return -ENOSYS; + } + + static int read_next_mapping(const char* filename, -- cgit v1.2.3 From 3dbd240937a7fb4322db21bc1bf6189a1a512223 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 28 Mar 2019 05:30:06 +0100 Subject: gnu: Add emacs-undohist-el. * gnu/packages/patches/emacs-undohist-ignored.patch: New file. * gnu/local.mk (dist_patch_DATA): Add this. * gnu/packages/emacs-xyz.scm (emacs-undohist-el): New variable. Signed-off-by: Oleg Pykhalov --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++ gnu/packages/patches/emacs-undohist-ignored.patch | 27 +++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 gnu/packages/patches/emacs-undohist-ignored.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 54882b3571..cec746bcb1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -751,6 +751,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-realgud-fix-configure-ac.patch \ + %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-zones-called-interactively.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 17cbbf4166..6de4fc4d20 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4535,6 +4535,29 @@ Emacs default configuration in uncontroversial ways that nearly everyone can agree upon.") (license license:gpl3+))) +(define-public emacs-undohist-el + (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0") + (revision "1")) + (package + (name "emacs-undohist-el") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/m2ym/undohist-el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx")))) + (build-system emacs-build-system) + (home-page "https://github.com/m2ym/undohist-el") + (synopsis "Save undo history between sessions") + (description "This package allows persistent use of undo history for +individual file buffers.") + (license license:gpl3+)))) + (define-public emacs-eprime (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f")) (package diff --git a/gnu/packages/patches/emacs-undohist-ignored.patch b/gnu/packages/patches/emacs-undohist-ignored.patch new file mode 100644 index 0000000000..c1ad827a26 --- /dev/null +++ b/gnu/packages/patches/emacs-undohist-ignored.patch @@ -0,0 +1,27 @@ +From 52bfd419bf9022726048f818d955b8ea10a16d5c Mon Sep 17 00:00:00 2001 +From: Patrick Mosby +Date: Mon, 7 Sep 2015 09:05:56 +0200 +Subject: [PATCH] Don't save undo file for ignored files. + +This fixes #4. +--- + undohist.el | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/undohist.el b/undohist.el +index b184a26..de60356 100644 +--- a/undohist.el ++++ b/undohist.el +@@ -164,7 +164,8 @@ To use undohist, you just call this function." + undohist-ignored-files))) + + (defun undohist-save-1 () +- (when (consp buffer-undo-list) ++ (when (and (consp buffer-undo-list) ++ (undohist-recover-file-p (buffer-file-name (current-buffer)))) + (let ((file (make-undohist-file-name (buffer-file-name))) + (contents `((digest . ,(md5 (current-buffer))) + (undo-list . ,(undohist-encode buffer-undo-list))))) +-- +2.21.0 + -- cgit v1.2.3 From 8a3bb34c5e9aa4bc2042da8541e6cb74de7066f7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 7 Apr 2019 21:10:26 +0300 Subject: gnu: lcms: Fix CVE-2018-16435. * gnu/packages/ghostscript.scm (lcms)[replacement]: New field. (lcms/fixed): New variable. * gnu/packages/patches/lcms-CVE-2018-16435.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 11 +- gnu/packages/patches/lcms-CVE-2018-16435.patch | 171 +++++++++++++++++++++++++ 3 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/lcms-CVE-2018-16435.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index cec746bcb1..bab2a9bbc2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -958,6 +958,7 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ + %D%/packages/patches/lcms-CVE-2018-16435.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/liba52-enable-pic.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index d8c0050513..53a9b60fdb 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Alex Vong -;;; Copyright © 2017, 2018 Efraim Flashner +;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Marius Bakke @@ -47,6 +47,7 @@ (define-public lcms (package (name "lcms") + (replacement lcms/fixed) (version "2.9") (source (origin (method url-fetch) @@ -67,6 +68,14 @@ Consortium standard (ICC), approved as ISO 15076-1.") (home-page "http://www.littlecms.com/") (properties '((cpe-name . "little_cms_color_engine"))))) +(define lcms/fixed + (package + (inherit lcms) + (source + (origin + (inherit (package-source lcms)) + (patches (search-patches "lcms-CVE-2018-16435.patch")))))) + (define-public libpaper (package (name "libpaper") diff --git a/gnu/packages/patches/lcms-CVE-2018-16435.patch b/gnu/packages/patches/lcms-CVE-2018-16435.patch new file mode 100644 index 0000000000..60228e73af --- /dev/null +++ b/gnu/packages/patches/lcms-CVE-2018-16435.patch @@ -0,0 +1,171 @@ +https://github.com/mm2/Little-CMS/commit/768f70ca405cd3159d990e962d54456773bb8cf8.patch + +From 768f70ca405cd3159d990e962d54456773bb8cf8 Mon Sep 17 00:00:00 2001 +From: Marti Maria +Date: Wed, 15 Aug 2018 20:07:56 +0200 +Subject: [PATCH] Upgrade Visual studio 2017 15.8 + +- Upgrade to 15.8 +- Add check on CGATS memory allocation (thanks to Quang Nguyen for +pointing out this) +--- + Projects/VC2017/jpegicc/jpegicc.vcxproj | 1 + + Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj | 2 +- + Projects/VC2017/lcms2_static/lcms2_static.vcxproj | 2 +- + Projects/VC2017/linkicc/linkicc.vcxproj | 2 +- + Projects/VC2017/psicc/psicc.vcxproj | 2 +- + Projects/VC2017/testbed/testbed.vcxproj | 2 +- + Projects/VC2017/tiffdiff/tiffdiff.vcxproj | 2 +- + Projects/VC2017/tifficc/tifficc.vcxproj | 2 +- + Projects/VC2017/transicc/transicc.vcxproj | 1 + + src/cmscgats.c | 14 ++++++++++---- + 10 files changed, 19 insertions(+), 11 deletions(-) + +diff --git a/Projects/VC2017/jpegicc/jpegicc.vcxproj b/Projects/VC2017/jpegicc/jpegicc.vcxproj +index ab26a53..39cfd00 100644 +--- a/Projects/VC2017/jpegicc/jpegicc.vcxproj ++++ b/Projects/VC2017/jpegicc/jpegicc.vcxproj +@@ -22,6 +22,7 @@ + {62812507-F926-4968-96A9-17678460AD90} + jpegicc + Win32Proj ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj +index 4c8aa3f..d1bf3eb 100644 +--- a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj ++++ b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj +@@ -22,7 +22,7 @@ + {8C51BE48-ADB8-4089-A9EC-F6BF993A0548} + lcms2_DLL + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj +index 2a9988a..9fc05ce 100644 +--- a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj ++++ b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj +@@ -22,7 +22,7 @@ + {71DEDE59-3F1E-486B-A899-4283000F76B5} + lcms2_static + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/linkicc/linkicc.vcxproj b/Projects/VC2017/linkicc/linkicc.vcxproj +index 30c2b4e..51586dd 100644 +--- a/Projects/VC2017/linkicc/linkicc.vcxproj ++++ b/Projects/VC2017/linkicc/linkicc.vcxproj +@@ -22,7 +22,7 @@ + {FBFBE1DC-DB84-4BA1-9552-B4780F457849} + linkicc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/psicc/psicc.vcxproj b/Projects/VC2017/psicc/psicc.vcxproj +index 9dcf89a..8f26e12 100644 +--- a/Projects/VC2017/psicc/psicc.vcxproj ++++ b/Projects/VC2017/psicc/psicc.vcxproj +@@ -22,7 +22,7 @@ + {EF6A8851-65FE-46F5-B9EF-14F0B671F693} + psicc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/testbed/testbed.vcxproj b/Projects/VC2017/testbed/testbed.vcxproj +index 0af3762..3f6aea3 100644 +--- a/Projects/VC2017/testbed/testbed.vcxproj ++++ b/Projects/VC2017/testbed/testbed.vcxproj +@@ -22,7 +22,7 @@ + {928A3A2B-46EF-4279-959C-513B3652FF0E} + testbed + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj +index 7edfe28..3a6d837 100644 +--- a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj ++++ b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj +@@ -22,7 +22,7 @@ + {75B91835-CCD7-48BE-A606-A9C997D5DBEE} + tiffdiff + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/tifficc/tifficc.vcxproj b/Projects/VC2017/tifficc/tifficc.vcxproj +index cd9f04c..5ef954f 100644 +--- a/Projects/VC2017/tifficc/tifficc.vcxproj ++++ b/Projects/VC2017/tifficc/tifficc.vcxproj +@@ -22,7 +22,7 @@ + {2256DE16-ED92-4A6F-9C54-F65BB61E64A2} + tifficc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/transicc/transicc.vcxproj b/Projects/VC2017/transicc/transicc.vcxproj +index d9b77c6..b3173d8 100644 +--- a/Projects/VC2017/transicc/transicc.vcxproj ++++ b/Projects/VC2017/transicc/transicc.vcxproj +@@ -22,6 +22,7 @@ + {9EE22D66-C849-474C-9ED5-C3E141DAB160} + transicc + Win32Proj ++ 10.0.17134.0 + + + +diff --git a/src/cmscgats.c b/src/cmscgats.c +index 1a87613..8c3e96d 100644 +--- a/src/cmscgats.c ++++ b/src/cmscgats.c +@@ -1,7 +1,7 @@ + //--------------------------------------------------------------------------------- + // + // Little Color Management System +-// Copyright (c) 1998-2017 Marti Maria Saguer ++// Copyright (c) 1998-2018 Marti Maria Saguer + // + // Permission is hereby granted, free of charge, to any person obtaining + // a copy of this software and associated documentation files (the "Software"), +@@ -1506,10 +1506,16 @@ void AllocateDataSet(cmsIT8* it8) + t-> nSamples = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS")); + t-> nPatches = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS")); + +- t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*)); +- if (t->Data == NULL) { ++ if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe) ++ { ++ SynError(it8, "AllocateDataSet: too much data"); ++ } ++ else { ++ t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*)); ++ if (t->Data == NULL) { + +- SynError(it8, "AllocateDataSet: Unable to allocate data array"); ++ SynError(it8, "AllocateDataSet: Unable to allocate data array"); ++ } + } + + } -- cgit v1.2.3 From 4994174fa0234ecb35b181d1d0cca209be1c4323 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 8 Apr 2019 13:52:39 +0300 Subject: gnu: libopenshot: Update to 0.2.3. * gnu/packages/video.scm (libopenshot): Update to 0.2.3. --- gnu/local.mk | 2 - gnu/packages/patches/libopenshot-fixup-tests.patch | 148 --------------------- .../libopenshot-tests-with-system-libs.patch | 95 ------------- gnu/packages/video.scm | 8 +- 4 files changed, 3 insertions(+), 250 deletions(-) delete mode 100644 gnu/packages/patches/libopenshot-fixup-tests.patch delete mode 100644 gnu/packages/patches/libopenshot-tests-with-system-libs.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index bab2a9bbc2..6c39c3fef5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -996,8 +996,6 @@ dist_patch_DATA = \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ - %D%/packages/patches/libopenshot-fixup-tests.patch \ - %D%/packages/patches/libopenshot-tests-with-system-libs.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ diff --git a/gnu/packages/patches/libopenshot-fixup-tests.patch b/gnu/packages/patches/libopenshot-fixup-tests.patch deleted file mode 100644 index 9a0bcc5e8f..0000000000 --- a/gnu/packages/patches/libopenshot-fixup-tests.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 691536f2f8a9ed7322fedb24d489db08c70705b9 Mon Sep 17 00:00:00 2001 -From: "Dr. Tobias Quathamer" -Date: Sat, 18 Nov 2017 13:54:22 +0100 -Subject: [PATCH] This the combination of two patches: - https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0003-Fix-failing-tests-by-using-a-fault-tolerance.patch - https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0004-Add-some-more-fault-tolerance-for-arm64.patch - -Together they should fix the test suite on all architectures ---- - tests/FFmpegReader_Tests.cpp | 9 ++++----- - tests/ImageWriter_Tests.cpp | 8 ++++---- - tests/Timeline_Tests.cpp | 28 ++++++++++++++-------------- - 3 files changed, 22 insertions(+), 23 deletions(-) - -diff --git a/tests/FFmpegReader_Tests.cpp b/tests/FFmpegReader_Tests.cpp -index 53563ca..07fc41e 100644 ---- a/tests/FFmpegReader_Tests.cpp -+++ b/tests/FFmpegReader_Tests.cpp -@@ -95,8 +95,8 @@ TEST(FFmpegReader_Check_Video_File) - int pixel_index = 112 * 4; // pixel 112 (4 bytes per pixel) - - // Check image properties on scanline 10, pixel 112 -- CHECK_EQUAL(21, (int)pixels[pixel_index]); -- CHECK_EQUAL(191, (int)pixels[pixel_index + 1]); -+ CHECK_CLOSE(21, (int)pixels[pixel_index], 1); -+ CHECK_CLOSE(191, (int)pixels[pixel_index + 1], 2); - CHECK_EQUAL(0, (int)pixels[pixel_index + 2]); - CHECK_EQUAL(255, (int)pixels[pixel_index + 3]); - -@@ -109,8 +109,8 @@ TEST(FFmpegReader_Check_Video_File) - - // Check image properties on scanline 10, pixel 112 - CHECK_EQUAL(0, (int)pixels[pixel_index]); -- CHECK_EQUAL(96, (int)pixels[pixel_index + 1]); -- CHECK_EQUAL(188, (int)pixels[pixel_index + 2]); -+ CHECK_CLOSE(96, (int)pixels[pixel_index + 1], 1); -+ CHECK_CLOSE(188, (int)pixels[pixel_index + 2], 1); - CHECK_EQUAL(255, (int)pixels[pixel_index + 3]); - - // Close reader -@@ -209,4 +209,3 @@ TEST(FFmpegReader_Multiple_Open_and_Close) - // Close reader - r.Close(); - } -- -diff --git a/tests/ImageWriter_Tests.cpp b/tests/ImageWriter_Tests.cpp -index 107ee39..d10c8bd 100644 ---- a/tests/ImageWriter_Tests.cpp -+++ b/tests/ImageWriter_Tests.cpp -@@ -73,9 +73,9 @@ TEST(ImageWriter_Test_Gif) - int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel) - - // Check image properties -- CHECK_EQUAL(20, (int)pixels[pixel_index]); -- CHECK_EQUAL(18, (int)pixels[pixel_index + 1]); -- CHECK_EQUAL(11, (int)pixels[pixel_index + 2]); -+ CHECK_CLOSE(20, (int)pixels[pixel_index], 5); -+ CHECK_CLOSE(18, (int)pixels[pixel_index + 1], 2); -+ CHECK_CLOSE(11, (int)pixels[pixel_index + 2], 2); - CHECK_EQUAL(255, (int)pixels[pixel_index + 3]); - } --#endif -\ No newline at end of file -+#endif -diff --git a/tests/Timeline_Tests.cpp b/tests/Timeline_Tests.cpp -index 8c81579..4d861a6 100644 ---- a/tests/Timeline_Tests.cpp -+++ b/tests/Timeline_Tests.cpp -@@ -119,8 +119,8 @@ TEST(Timeline_Check_Two_Track_Video) - int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel) - - // Check image properties -- CHECK_EQUAL(21, (int)f->GetPixels(pixel_row)[pixel_index]); -- CHECK_EQUAL(191, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -+ CHECK_CLOSE(21, (int)f->GetPixels(pixel_row)[pixel_index], 2); -+ CHECK_CLOSE(191, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - -@@ -128,17 +128,17 @@ TEST(Timeline_Check_Two_Track_Video) - f = t.GetFrame(2); - - // Check image properties -- CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]); -+ CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]); -+ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - - // Get frame - f = t.GetFrame(3); - - // Check image properties -- CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]); -- CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -+ CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1); -+ CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - -@@ -146,8 +146,8 @@ TEST(Timeline_Check_Two_Track_Video) - f = t.GetFrame(24); - - // Check image properties -- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index]); -- CHECK_EQUAL(106, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -+ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index], 1); -+ CHECK_CLOSE(106, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - -@@ -155,8 +155,8 @@ TEST(Timeline_Check_Two_Track_Video) - f = t.GetFrame(5); - - // Check image properties -- CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]); -- CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -+ CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1); -+ CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - -@@ -165,17 +165,17 @@ TEST(Timeline_Check_Two_Track_Video) - - // Check image properties - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index]); -- CHECK_EQUAL(94, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]); -+ CHECK_CLOSE(94, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1); -+ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - - // Get frame - f = t.GetFrame(4); - - // Check image properties -- CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]); -+ CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1); - CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]); -- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]); -+ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1); - CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]); - - // Close reader --- -2.21.0 - diff --git a/gnu/packages/patches/libopenshot-tests-with-system-libs.patch b/gnu/packages/patches/libopenshot-tests-with-system-libs.patch deleted file mode 100644 index a18c4b8bba..0000000000 --- a/gnu/packages/patches/libopenshot-tests-with-system-libs.patch +++ /dev/null @@ -1,95 +0,0 @@ -Combination of two patches that fix libopenshot tests when built with -system-provided ffmpeg and jsoncpp. See - - https://github.com/OpenShot/libopenshot/pull/163 - -From 0d7691ab53433e1583f6a66ea96683b0f7af8a57 Mon Sep 17 00:00:00 2001 -From: "FeRD (Frank Dana)" -Date: Mon, 17 Sep 2018 14:04:40 -0400 -Subject: [PATCH] tests/CMakeFiles: Use FFMpeg like src/ - ---- - tests/CMakeLists.txt | 32 +++++++++++++++++++++++++++++++- - 1 file changed, 31 insertions(+), 1 deletion(-) - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 2c45550..4df8464 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -79,7 +79,37 @@ ENDIF (ImageMagick_FOUND) - FIND_PACKAGE(FFmpeg REQUIRED) - - # Include FFmpeg headers (needed for compile) --include_directories(${FFMPEG_INCLUDE_DIR}) -+message('AVCODEC_FOUND: ${AVCODEC_FOUND}') -+message('AVCODEC_INCLUDE_DIRS: ${AVCODEC_INCLUDE_DIRS}') -+message('AVCODEC_LIBRARIES: ${AVCODEC_LIBRARIES}') -+ -+IF (AVCODEC_FOUND) -+ include_directories(${AVCODEC_INCLUDE_DIRS}) -+ENDIF (AVCODEC_FOUND) -+IF (AVDEVICE_FOUND) -+ include_directories(${AVDEVICE_INCLUDE_DIRS}) -+ENDIF (AVDEVICE_FOUND) -+IF (AVFORMAT_FOUND) -+ include_directories(${AVFORMAT_INCLUDE_DIRS}) -+ENDIF (AVFORMAT_FOUND) -+IF (AVFILTER_FOUND) -+ include_directories(${AVFILTER_INCLUDE_DIRS}) -+ENDIF (AVFILTER_FOUND) -+IF (AVUTIL_FOUND) -+ include_directories(${AVUTIL_INCLUDE_DIRS}) -+ENDIF (AVUTIL_FOUND) -+IF (POSTPROC_FOUND) -+ include_directories(${POSTPROC_INCLUDE_DIRS}) -+ENDIF (POSTPROC_FOUND) -+IF (SWSCALE_FOUND) -+ include_directories(${SWSCALE_INCLUDE_DIRS}) -+ENDIF (SWSCALE_FOUND) -+IF (SWRESAMPLE_FOUND) -+ include_directories(${SWRESAMPLE_INCLUDE_DIRS}) -+ENDIF (SWRESAMPLE_FOUND) -+IF (AVRESAMPLE_FOUND) -+ include_directories(${AVRESAMPLE_INCLUDE_DIRS}) -+ENDIF (AVRESAMPLE_FOUND) - - ################# LIBOPENSHOT-AUDIO ################### - # Find JUCE-based openshot Audio libraries - - -From e9e85cdfd036587adb86341f7f81619dc69f102c Mon Sep 17 00:00:00 2001 -From: "FeRD (Frank Dana)" -Date: Mon, 17 Sep 2018 19:23:25 -0400 -Subject: [PATCH] Use system jsoncpp in tests, too - -The tests/ build needs to use the same jsoncpp as the src/ build, -or tests in Clip_Tests.cpp can fail. ---- - tests/CMakeLists.txt | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 4df8464..a1a0356 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -180,12 +180,18 @@ endif(OPENMP_FOUND) - # Find ZeroMQ library (used for socket communication & logging) - FIND_PACKAGE(ZMQ REQUIRED) - --# Include FFmpeg headers (needed for compile) -+# Include ZeroMQ headers (needed for compile) - include_directories(${ZMQ_INCLUDE_DIRS}) - - ################### JSONCPP ##################### - # Include jsoncpp headers (needed for JSON parsing) --include_directories("../thirdparty/jsoncpp/include") -+if (USE_SYSTEM_JSONCPP) -+ find_package(JsonCpp REQUIRED) -+ include_directories(${JSONCPP_INCLUDE_DIRS}) -+else() -+ message("Using embedded JsonCpp") -+ include_directories("../thirdparty/jsoncpp/include") -+endif(USE_SYSTEM_JSONCPP) - - IF (NOT DISABLE_TESTS) - ############### SET TEST SOURCE FILES ################# diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8aedc1c2f5..27a9a423cc 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3300,7 +3300,7 @@ create smoother and stable videos.") (define-public libopenshot (package (name "libopenshot") - (version "0.2.2") + (version "0.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -3309,7 +3309,7 @@ create smoother and stable videos.") (file-name (git-file-name name version)) (sha256 (base32 - "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd")) + "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k")) (modules '((guix build utils))) (snippet '(begin ;; Allow overriding of the python installation dir @@ -3318,9 +3318,7 @@ create smoother and stable videos.") (string-append set " CACHE PATH " "\"Python bindings directory\")"))) (delete-file-recursively "thirdparty") - #t)) - (patches (search-patches "libopenshot-fixup-tests.patch" - "libopenshot-tests-with-system-libs.patch")))) + #t)))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 3e4e74c10ec1bf57ffcaed987b75127382908697 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Tue, 2 Apr 2019 22:36:57 +1100 Subject: gnu: kodi: Allow connecting to HTTPS sources. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/kodi.scm (kodi)[patches]: Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/kodi.scm | 3 ++- .../patches/kodi-set-libcurl-ssl-parameters.patch | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 6c39c3fef5..a835388b64 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -956,6 +956,7 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \ %D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ + %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/lcms-CVE-2018-16435.patch \ diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 3929909d10..58073b6170 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -281,7 +281,8 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (sha256 (base32 "1w26aqvzxv4c70gcd1vw1pldapsc2xcacwq9b7dqx5m44j0zx1dc")) - (patches (search-patches "kodi-skip-test-449.patch")) + (patches (search-patches "kodi-skip-test-449.patch" + "kodi-set-libcurl-ssl-parameters.patch")) (snippet '(begin (use-modules (guix build utils)) diff --git a/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch b/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch new file mode 100644 index 0000000000..f977c6dd98 --- /dev/null +++ b/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch @@ -0,0 +1,16 @@ +Kodi doesn't set the CAPATH and CAINFO parameters for libcurl. To make HTTPS +connections work we can set them based on SSL_CERT_DIR and SSL_CERT_FILE. + +--- a/xbmc/filesystem/CurlFile.cpp ++++ b/xbmc/filesystem/CurlFile.cpp +@@ -626,5 +626,9 @@ + // Setup allowed TLS/SSL ciphers. New versions of cURL may deprecate things that are still in use. + if (!m_cipherlist.empty()) + g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str()); ++ ++ // Load certificate data from environment paths ++ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR")); ++ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + } + + void CCurlFile::SetRequestHeaders(CReadState* state) \ No newline at end of file -- cgit v1.2.3 From ec9d9325628e0df0a43045194d5e1fc8b17d5e44 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 3 Apr 2019 23:58:19 +0200 Subject: gnu: Add ocaml-dose3. * gnu/packages/ocaml.scm (ocaml-dose3): New variable. * gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch: New file. * gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: New file. * gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: New file. * gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them. --- gnu/local.mk | 4 + gnu/packages/ocaml.scm | 52 ++++++++ ...-as-dependency-to-dose3.common-in-META.in.patch | 25 ++++ .../patches/ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ++++++++ .../patches/ocaml-dose3-Install-mli-cmx-etc.patch | 133 +++++++++++++++++++++ .../patches/ocaml-dose3-dont-make-printconf.patch | 9 ++ 6 files changed, 275 insertions(+) create mode 100644 gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch create mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch create mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch create mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a835388b64..6815fa8482 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1105,6 +1105,10 @@ dist_patch_DATA = \ %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-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch \ + %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ + %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ + %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 04d5a84d1a..0613bc29c6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) @@ -391,6 +392,57 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.") ;; With static-linking exception license:lgpl2.1+)))) +(define-public ocaml-dose3 + (package + (name "ocaml-dose3") + (version "5.0.1") + (source (origin + (method url-fetch) + (uri "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz") + (sha256 + (base32 + "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm")) + (patches + (search-patches + "ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch" + "ocaml-dose3-Fix-for-ocaml-4.06.patch" + "ocaml-dose3-dont-make-printconf.patch" + "ocaml-dose3-Install-mli-cmx-etc.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:configure-flags + (list (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:make-flags + (list (string-append "LIBDIR=" + (assoc-ref %outputs "out") + "/lib/ocaml/site-lib")))) + (propagated-inputs + `(("ocaml-graph" ,ocaml-graph) + ("ocaml-cudf" ,ocaml-cudf) + ("ocaml-extlib" ,ocaml-extlib) + ("ocaml-re" ,ocaml-re))) + (native-inputs + `(("perl" ,perl) + ("python" ,python-2) ; for a test script + ("python2-pyyaml" ,python2-pyyaml) ; for a test script + ("ocaml-extlib" ,ocaml-extlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-cppo" ,ocaml-cppo))) + (home-page "http://www.mancoosi.org/software/") + (synopsis "Package distribution management framework") + (description "Dose3 is a framework made of several OCaml libraries for +managing distribution packages and their dependencies. Though not tied to +any particular distribution, dose3 constitutes a pool of libraries which +enable analyzing packages coming from various distributions. Besides basic +functionalities for querying and setting package properties, dose3 also +implements algorithms for solving more complex problems such as monitoring +package evolutions, correct and complete dependency resolution and +repository-wide uninstallability checks.") + ;; with static-linking exception + (license license:lgpl2.1+))) + (define-public ocaml-opam-file-format (package (name "ocaml-opam-file-format") diff --git a/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch b/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch new file mode 100644 index 0000000000..d2cc44c784 --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch @@ -0,0 +1,25 @@ +From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001 +From: Louis Gesbert +Date: Tue, 6 Feb 2018 10:15:45 +0100 +Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in + +--- + META.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/META.in b/META.in +index aa2cd8d..0f9d337 100644 +--- a/META.in ++++ b/META.in +@@ -8,7 +8,7 @@ package "common" ( + version = "@PACKAGE_VERSION@" + archive(byte) = "common.cma" + archive(native) = "common.cmxa" +-requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@" ++requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@" + ) + + package "algo" ( +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch new file mode 100644 index 0000000000..2c344af821 --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch @@ -0,0 +1,52 @@ +From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001 +From: Louis Gesbert +Date: Sat, 2 Dec 2017 12:51:01 +0100 +Subject: [PATCH] Fix for ocaml 4.06 + +--- + common/criteria_lexer.mll | 8 ++++---- + common/util.ml | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll +index 71f9178..fc4eae3 100644 +--- a/common/criteria_lexer.mll ++++ b/common/criteria_lexer.mll +@@ -18,7 +18,7 @@ + let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *) + (* find the terminating delimiter *) + let endpos = +- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with ++ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with + |Invalid_argument _ -> + raise (Format822.Syntax_error ( + Format822.error lexbuf "String too short")) +@@ -27,9 +27,9 @@ + Format822.error lexbuf (Printf.sprintf "cannot find: %c" c))) + in + let len = endpos - (lexbuf.lex_start_pos + 3) in +- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in +- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4); +- s ++ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in ++ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4); ++ Bytes.to_string s + + } + +diff --git a/common/util.ml b/common/util.ml +index 598f266..36ca3d1 100644 +--- a/common/util.ml ++++ b/common/util.ml +@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct + let clean label = + try + let s = Filename.chop_extension (Filename.basename label) in +- String.capitalize s ++ String.capitalize_ascii s + with Invalid_argument _ -> label + + let create ?(enabled=false) label = +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch new file mode 100644 index 0000000000..41494e7b3c --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch @@ -0,0 +1,133 @@ +From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001 +From: Louis Gesbert +Date: Thu, 2 Mar 2017 12:19:56 +0100 +Subject: [PATCH] Install mli, cmx, etc. + +--- + Makefile | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 09464ff..5044d7f 100644 +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%: + @for i in _build/cudf/cudf.*; do \ + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \ ++ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \ + fi ; \ + done + +@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ;\ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\ ++ rm -f $(DOSELIBS)/*.mlpack ;\ + fi ; \ + done + +@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi) + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs) + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a) +-#INSTALL_STUFF_ += $(wildcard _build/*/*.mli) ++INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx) + INSTALL_STUFF_ += $(wildcard _build/rpm/*.so) + + exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*) +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch new file mode 100644 index 0000000000..84b6a3b81b --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch @@ -0,0 +1,9 @@ +--- a/configure ++++ b/configure +@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi +- +- +-make printconf -- cgit v1.2.3 From 89647ff1d4abc4674973392cb7e08d14898e3ac9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 11 Apr 2019 19:30:39 -0500 Subject: gnu: idris: Run tests. * gnu/packages/patches/idris-test-no-node.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/idris.scm (idris)[origin]: Use it. [native-inputs]: New field. [arguments]: Remove "#:tests? #f". Add custom 'check' phase after 'install'. --- gnu/local.mk | 1 + gnu/packages/idris.scm | 23 ++++++++-- gnu/packages/patches/idris-test-no-node.patch | 61 +++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/idris-test-no-node.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 6815fa8482..a618516142 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -919,6 +919,7 @@ dist_patch_DATA = \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ + %D%/packages/patches/idris-test-no-node.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/inkscape-poppler-compat3.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 0f653d8dab..ec3eb15d63 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -20,12 +20,14 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages idris) + #:use-module (gnu packages) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (gnu packages libffi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix download) @@ -44,8 +46,14 @@ "idris-" version "/idris-" version ".tar.gz")) (sha256 (base32 - "0fn9h58l592j72njwma1ia48h8h87wi2rjqfxs7j2lfmvgfv18fi")))) + "0fn9h58l592j72njwma1ia48h8h87wi2rjqfxs7j2lfmvgfv18fi")) + (patches (search-patches "idris-test-no-node.patch")))) (build-system haskell-build-system) + (native-inputs ;For tests + `(("perl" ,perl) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-golden" ,ghc-tasty-golden) + ("ghc-tasty-rerun" ,ghc-tasty-rerun))) (inputs `(("gmp" ,gmp) ("ncurses" ,ncurses) @@ -78,8 +86,7 @@ ("ghc-vector-binary-instances" ,ghc-vector-binary-instances) ("ghc-zip-archive" ,ghc-zip-archive))) (arguments - `(#:tests? #f ; FIXME: Test suite doesn't run in a sandbox. - #:configure-flags + `(#:configure-flags (list (string-append "--datasubdir=" (assoc-ref %outputs "out") "/lib/idris") "-fFFI" "-fGMP") @@ -98,7 +105,15 @@ (lambda (module) (symlink (string-append modules "/" module) (string-append lib "/" module))) - '("prelude" "base" "contrib" "effects" "pruviloj")))))))) + '("prelude" "base" "contrib" "effects" "pruviloj"))))) + (delete 'check) ;Run check later + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((out (assoc-ref outputs "out"))) + (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count))) + (setenv "IDRIS_CC" "gcc") ;Needed for creating executables + (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) + (apply (assoc-ref %standard-phases 'check) args))))))) (native-search-paths (list (search-path-specification (variable "IDRIS_LIBRARY_PATH") diff --git a/gnu/packages/patches/idris-test-no-node.patch b/gnu/packages/patches/idris-test-no-node.patch new file mode 100644 index 0000000000..c04ad41a8e --- /dev/null +++ b/gnu/packages/patches/idris-test-no-node.patch @@ -0,0 +1,61 @@ +From 6c52e1b902b869c25e2fe39cff6364143a04da61 Mon Sep 17 00:00:00 2001 +From: Niklas Larsson +Date: Tue, 11 Dec 2018 19:56:22 +0100 +Subject: [PATCH] Only check for Node when required + +--- + test/TestRun.hs | 34 ++++++++++++++++++++-------------- + 1 file changed, 20 insertions(+), 14 deletions(-) + +diff --git a/test/TestRun.hs b/test/TestRun.hs +index c7db9fdcd..4809911f3 100644 +--- a/test/TestRun.hs ++++ b/test/TestRun.hs +@@ -11,6 +11,7 @@ import Data.Proxy + import Data.Typeable + import Options.Applicative + import System.Directory ++import System.Environment + import System.Exit + import System.FilePath (()) + import System.Info +@@ -103,20 +104,25 @@ runTest path flags = do + normalise (x : xs) = x : normalise xs + normalise [] = [] + ++checkNode :: IO () ++checkNode = do ++ nodePath <- findExecutable "node" ++ nodejsPath <- findExecutable "nodejs" ++ let node = nodePath <|> nodejsPath ++ case node of ++ Nothing -> do ++ putStrLn "For running the test suite against Node, node must be installed." ++ exitFailure ++ Just _ -> return () ++ + main :: IO () + main = do +- nodePath <- findExecutable "node" +- nodejsPath <- findExecutable "nodejs" +- let node = nodePath <|> nodejsPath +- case node of +- Nothing -> do +- putStrLn "For running the test suite against Node, node must be installed." +- exitFailure +- Just _ -> do +- defaultMainWithIngredients ingredients $ ++ args <- getArgs ++ when ("--node" `elem` args) checkNode ++ defaultMainWithIngredients ingredients $ + askOption $ \(NodeOpt node) -> +- let (codegen, flags) = if node then (JS, ["--codegen", "node"]) +- else (C , []) +- in +- mkGoldenTests (testFamiliesForCodegen codegen) +- (flags ++ idrisFlags) ++ let (codegen, flags) = if node then (JS, ["--codegen", "node"]) ++ else (C , []) ++ in ++ mkGoldenTests (testFamiliesForCodegen codegen) (flags ++ idrisFlags) ++ -- cgit v1.2.3 From c8e070dad70cbc13b6f77d4f20d7d21d3931a835 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 12 Apr 2019 17:37:20 +0200 Subject: build: Fix typo in Makefile.am conditional. Reported by Jonathan Brielmaier in . This is a followup to a7ad4505b7a09f32e2727a333e11716739efb713. * gnu/local.mk [!ENABLE_INSTALLER]: Use 'else', not 'elif'. --- gnu/local.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a618516142..b63afeee30 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -622,7 +622,7 @@ INSTALLER_MODULES = \ # ENABLE_INSTALLER is true. if ENABLE_INSTALLER GNU_SYSTEM_MODULES += $(INSTALLER_MODULES) -elif !ENABLE_INSTALLER +else !ENABLE_INSTALLER MODULES_NOT_COMPILED += $(INSTALLER_MODULES) endif -- cgit v1.2.3 From 05f6b03217bdb8d024b5d29b50fdec74413a312e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Apr 2019 04:12:04 +0200 Subject: gnu: synfig, synfigstudio: Update to 1.2.2. * gnu/packages/animation.scm (synfig-version): New variable. (etl)[version]: Use it. (synfig)[version]: Likewise. [source]: Update to 1.2.2. [native-inputs]: Add intltool. (synfigstudio)[version]: Use SYNFIG-VERSION. [source]: Update to 1.2.2. Remove obsolete patch. * gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/animation.scm | 21 +++++---- .../patches/synfigstudio-fix-ui-with-gtk3.patch | 55 ---------------------- 3 files changed, 11 insertions(+), 66 deletions(-) delete mode 100644 gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index b63afeee30..850444dfd4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1281,7 +1281,6 @@ dist_patch_DATA = \ %D%/packages/patches/swig-guile-gc.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ - %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 97c5e6c615..b46382c035 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -41,13 +41,15 @@ #:use-module (gnu packages qt) #:use-module (gnu packages video)) +;; ETL, synfig, and Synfig Studio are updated in tandem. +(define synfig-version "1.2.2") + (define-public etl (package (name "etl") - (version "1.2.2") + (version synfig-version) (source (origin (method url-fetch) - ;; Keep this synchronized with the synfig release version. (uri (string-append "mirror://sourceforge/synfig/releases/" version "/source/ETL-" version ".tar.gz")) (sha256 @@ -65,7 +67,7 @@ C++ @dfn{Standard Template Library} (STL).") (define-public synfig (package (name "synfig") - (version "1.2.0") + (version synfig-version) (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/synfig/releases/" @@ -73,7 +75,7 @@ C++ @dfn{Standard Template Library} (STL).") ".tar.gz")) (sha256 (base32 - "1gqx4gn4c73rqwhsgzx0a460gr9hadmi28csp75rx30qavqsj7k1")))) + "1vy27kl68sbg41sfasa58k3p2nc1xfalvzk3k9gich9h90rpnpsz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -131,7 +133,8 @@ C++ @dfn{Standard Template Library} (STL).") ("openexr" ,openexr) ("pango" ,pango))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (home-page "https://www.synfig.org") (synopsis "Vector-based 2D animation renderer") (description @@ -143,7 +146,7 @@ for tweening, preventing the need to hand-draw each frame.") (define-public synfigstudio (package (name "synfigstudio") - (version "1.2.0") + (version synfig-version) (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/synfig/releases/" @@ -151,16 +154,14 @@ for tweening, preventing the need to hand-draw each frame.") ".tar.gz")) (sha256 (base32 - "0fbckfbw8dzf0m2wv7vlmw492k1dqa3zf510z019d0as3zpnp6qm")) + "1ql92kh9z8w2j9yi3pr7hn7wh2r2j35xynwv9xlwyd7niackgykn")) (modules '((guix build utils))) (snippet '(begin (substitute* "src/synfigapp/pluginmanager.cpp" (("xmlpp::Node\\* n =") "const xmlpp::Node* n =") (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList")) - #t)) - (patches - (search-patches "synfigstudio-fix-ui-with-gtk3.patch")))) + #t)))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch deleted file mode 100644 index d7b3e92507..0000000000 --- a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch +++ /dev/null @@ -1,55 +0,0 @@ -Downloaded from -https://github.com/synfig/synfig/commit/b9c3b73ee35b83c4d9183c800809040cef98b2f2.patch - -Without this patch the UI of Synfig Studio (when built with the latest version -of GTK) displays very large buttons in the header of every frame. - -This patch can be removed with the next release. - - -From b9c3b73ee35b83c4d9183c800809040cef98b2f2 Mon Sep 17 00:00:00 2001 -From: caryoscelus -Date: Wed, 25 Jan 2017 18:34:39 +0300 -Subject: [PATCH] Fix dock drop area size - -Fixes #227 - -By using Frame instead of Button we avoid intrusive Gtk themes -from forcing huge drop area size. ---- - synfig-studio/src/gui/docks/dockdroparea.cpp | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/src/gui/docks/dockdroparea.cpp b/synfig-studio/src/gui/docks/dockdroparea.cpp -index 0f8936fdb..e012282f0 100644 ---- a/src/gui/docks/dockdroparea.cpp -+++ b/src/gui/docks/dockdroparea.cpp -@@ -35,7 +35,7 @@ - #include "app.h" - #include "docks/dockdroparea.h" - #include "docks/dockmanager.h" --#include -+#include - - #endif - -@@ -61,10 +61,15 @@ DockDropArea::DockDropArea(Gtk::Widget *target): - std::vector listTargets; - listTargets.push_back( Gtk::TargetEntry("SYNFIG_DOCK") ); - -- Gtk::Button *button_left = manage(new Gtk::Button()); -- Gtk::Button *button_right = manage(new Gtk::Button()); -- Gtk::Button *button_top = manage(new Gtk::Button()); -- Gtk::Button *button_bottom = manage(new Gtk::Button()); -+ Gtk::Frame *button_left = manage(new Gtk::Frame()); -+ Gtk::Frame *button_right = manage(new Gtk::Frame()); -+ Gtk::Frame *button_top = manage(new Gtk::Frame()); -+ Gtk::Frame *button_bottom = manage(new Gtk::Frame()); -+ -+ button_left->set_size_request(20, 10); -+ button_right->set_size_request(20, 10); -+ button_top->set_size_request(20, 10); -+ button_bottom->set_size_request(20, 10); - - button_left->drag_dest_set(listTargets); - button_right->drag_dest_set(listTargets); -- cgit v1.2.3 From e41ddf7605922b3a30d4cc37fe700068d6ee0d70 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 15 Apr 2019 06:08:22 +0200 Subject: gnu: knot: Update to 2.8.1. * gnu/packages/dns.scm (knot): Update to 2.8.1. [source]: Remove patch. * gnu/packages/patches/knot-include-system-lmdb-header.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/dns.scm | 32 ++++++++++---------- .../patches/knot-include-system-lmdb-header.patch | 34 ---------------------- 3 files changed, 15 insertions(+), 52 deletions(-) delete mode 100644 gnu/packages/patches/knot-include-system-lmdb-header.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 850444dfd4..70ad61af5b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -949,7 +949,6 @@ dist_patch_DATA = \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \ - %D%/packages/patches/knot-include-system-lmdb-header.patch \ %D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 461d9f8c0c..9cffe3b822 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -569,23 +569,21 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.8.0") - (source (origin - (method url-fetch) - (uri (string-append "https://secure.nic.cz/files/knot-dns/" - "knot-" version ".tar.xz")) - (sha256 - (base32 - "1vw7xx7bm440jwrpvdd04vrp6ccz2b11swcn9msvs62hf0kdjjj9")) - (patches - (search-patches "knot-include-system-lmdb-header.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled libraries. - (with-directory-excursion "src/contrib" - (delete-file-recursively "lmdb")) - #t)))) + (version "2.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://secure.nic.cz/files/knot-dns/" + "knot-" version ".tar.xz")) + (sha256 + (base32 "1im2wb8hl394mzni1wavmvfqd7il8s28kcz8w3s4v05nbhzg06xj")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled libraries. + (with-directory-excursion "src/contrib" + (delete-file-recursively "lmdb")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/knot-include-system-lmdb-header.patch b/gnu/packages/patches/knot-include-system-lmdb-header.patch deleted file mode 100644 index 5c5c0beabc..0000000000 --- a/gnu/packages/patches/knot-include-system-lmdb-header.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Tobias Geerinckx-Rice -Date: Wed, 20 Mar 2019 00:08:00 +0100 -Subject: [PATCH] gnu: knot: Include system . - -Copied verbatim from Knot master[0]. - -[0]: https://gitlab.labs.nic.cz/knot/knot-dns/commit/b557430cffbb1c6b30617a394b02acc514e7e536 - -From b557430cffbb1c6b30617a394b02acc514e7e536 Mon Sep 17 00:00:00 2001 -From: Daniel Salzman -Date: Wed, 6 Mar 2019 17:35:44 +0100 -Subject: [PATCH] journal: include proper header - -fixes #638 ---- - src/knot/journal/knot_lmdb.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/knot/journal/knot_lmdb.h b/src/knot/journal/knot_lmdb.h -index 35a88845c..b1d09cbb4 100644 ---- a/src/knot/journal/knot_lmdb.h -+++ b/src/knot/journal/knot_lmdb.h -@@ -16,7 +16,7 @@ - - #pragma once - --#include "contrib/lmdb/lmdb.h" -+#include - - #include - #include --- -2.18.1 - -- cgit v1.2.3 From eea75c435ab7d7b4f44b1aa4e900e2abf5ba430f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 15 Apr 2019 07:48:41 +0200 Subject: gnu: quilt: Update to 0.66. * gnu/packages/patchutils.scm (quilt): Update to 0.66. [source]: Remove all patches. * gnu/packages/patches/quilt-test-fix-regex.patch, gnu/packages/patches/quilt-getopt-nondigit-param.patch, gnu/packages/patches/quilt-getopt-second-separator.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 3 -- .../patches/quilt-getopt-nondigit-param.patch | 45 ----------------- .../patches/quilt-getopt-second-separator.patch | 58 ---------------------- gnu/packages/patches/quilt-test-fix-regex.patch | 41 --------------- gnu/packages/patchutils.scm | 16 +++--- 5 files changed, 6 insertions(+), 157 deletions(-) delete mode 100644 gnu/packages/patches/quilt-getopt-nondigit-param.patch delete mode 100644 gnu/packages/patches/quilt-getopt-second-separator.patch delete mode 100644 gnu/packages/patches/quilt-test-fix-regex.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 70ad61af5b..df96b98f07 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1220,9 +1220,6 @@ dist_patch_DATA = \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ - %D%/packages/patches/quilt-test-fix-regex.patch \ - %D%/packages/patches/quilt-getopt-nondigit-param.patch \ - %D%/packages/patches/quilt-getopt-second-separator.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/randomjungle-disable-static-build.patch \ %D%/packages/patches/rapicorn-isnan.patch \ diff --git a/gnu/packages/patches/quilt-getopt-nondigit-param.patch b/gnu/packages/patches/quilt-getopt-nondigit-param.patch deleted file mode 100644 index 6bbec67e75..0000000000 --- a/gnu/packages/patches/quilt-getopt-nondigit-param.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jean Delvare -Subject: compat/getopt: Allow non-digit parameter embedded in short option - -The compatibility getopt script allows only digit parameters to be -embedded in short options. Util-linux's getopt implementation does -not have such a restriction and allows any parameter to be embedded -in short options. As a consequence, using the compatibility getopt -script would choke for example on "-pab", which is a legal option -of the "quilt refresh" command. - -Remove the limitation on digits so that the compatibility getopt -script allows what util-linux allows. This fixes the second half -of bug #54772: -https://savannah.nongnu.org/bugs/index.php?54772 - -As a side note, this feature of the compatibility script was broken -anyway, as it would output the digits in reverse order. - -Signed-off-by: Jean Delvare ---- - compat/getopt.in | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - ---- quilt.orig/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200 -+++ quilt/compat/getopt.in 2018-10-03 16:12:17.624841732 +0200 -@@ -108,15 +108,10 @@ foreach my $word (@words) { - if (scalar(@letters) == 0) { - $need_param = $letter; - } else { -- # short options can have numerical args -- # embedded in the short option list: -UO -- die "unexpected character after option $letter" -- if ($letters[$#letters] !~ /[0-9]/); -- my @digits; -- while (scalar(@letters) && ($letters[$#letters] =~ /[0-9]/)) { -- push @digits, pop @letters; -- } -- push @options, quote_word(join('', reverse @digits)); -+ # short options can have args -+ # embedded in the short option list -+ push @options, quote_word(join('', reverse @letters)); -+ @letters = (); - } - } - } diff --git a/gnu/packages/patches/quilt-getopt-second-separator.patch b/gnu/packages/patches/quilt-getopt-second-separator.patch deleted file mode 100644 index cde2c8d41c..0000000000 --- a/gnu/packages/patches/quilt-getopt-second-separator.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Jean Delvare -Subject: compat/getopt: Handle a second separator - -getopt can be passed 2 '--' separators. The first one tells that -getopt options are over and target program options start. The second -one tells that the target program's options are over and following -arguments should be treated as non-options even if they look like -options. - -This second separator was not handled, causing the compatibility -getopt script to treat the following arguments as options, eventually -failing one way or another. - -Properly detect and handle the second separator. This fixes the first -half of bug #54772: -https://savannah.nongnu.org/bugs/index.php?54772 - -Signed-off-by: Jean Delvare ---- - compat/getopt.in | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- quilt.orig/compat/getopt.in 2018-10-03 15:23:21.147620172 +0200 -+++ quilt/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200 -@@ -8,12 +8,12 @@ - - use strict; - --my $opts; -+my $opts = ''; - my @words; - my $found_sep = 0; - - foreach my $arg (@ARGV) { -- if ($arg eq '--') { -+ if (!$found_sep && $arg eq '--') { - $found_sep = 1; - } - else { -@@ -62,10 +62,17 @@ sub quote_word - return "'$word'"; - } - -+# there can be a second separator, to inhibit processing following arguments -+# as options -+$found_sep = 0; - foreach my $word (@words) { -+ if ($word eq '--') { -+ $found_sep = 1; -+ next; -+ } - - # allow '-' to be an option value -- if (!$need_param && $word !~ /^-./) { -+ if ($found_sep || (!$need_param && $word !~ /^-./)) { - push @barewords, quote_word($word); - next; - } diff --git a/gnu/packages/patches/quilt-test-fix-regex.patch b/gnu/packages/patches/quilt-test-fix-regex.patch deleted file mode 100644 index 2e249ac55b..0000000000 --- a/gnu/packages/patches/quilt-test-fix-regex.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 5193b137b5a9034ce79946edd40760df2f63a82a Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Tue, 25 Apr 2017 15:17:53 +0200 -Subject: test: Escape curly braces in regex - -Curly braces in perl regex are supposed to be escaped, recent -versions of perl complain when they aren't: - -Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (\w+)}/ at ./run line 114. -Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE \?}/ at ./run line 290. - -Signed-off-by: Jean Delvare ---- - test/run | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/run b/test/run -index 942014e..03afc7a 100755 ---- a/test/run -+++ b/test/run -@@ -112,7 +112,7 @@ sub flush_output() - sub substitute_vars($) - { - my ($line) = @_; -- $line =~ s[%{(\w+)}][defined $ENV{$1} ? $ENV{$1} : ""]eg; -+ $line =~ s[%\{(\w+)\}][defined $ENV{$1} ? $ENV{$1} : ""]eg; - return $line; - } - -@@ -288,7 +288,7 @@ while (defined(my $line = )) { - # Parse the next command - if ($line =~ s/^\s*\$ ?//) { - # Substitute %{?} with the last command's status -- $line =~ s[%{\?}][$last_status]eg; -+ $line =~ s[%\{\?\}][$last_status]eg; - - chomp($prog = substitute_vars($line)); - $prog_line = $lineno; --- -cgit v1.0-41-gc330 - diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 8859030129..f6197b98ee 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -98,18 +98,14 @@ listing the files modified by a patch.") (define-public quilt (package (name "quilt") - (version "0.65") + (version "0.66") (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/quilt/" - "quilt-" version ".tar.gz")) - (sha256 - (base32 - "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn")) - (patches (search-patches "quilt-test-fix-regex.patch" - "quilt-getopt-second-separator.patch" - "quilt-getopt-nondigit-param.patch")))) + (method url-fetch) + (uri (string-append "mirror://savannah/quilt/" + "quilt-" version ".tar.gz")) + (sha256 + (base32 "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gnu-gettext))) -- cgit v1.2.3 From bcfb110f6d91ec94fdb3d4700e7fde9c98bffceb Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 16 Apr 2019 22:29:31 +0200 Subject: gnu: Add poedit. * gnu/packages/poedit.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/poedit.scm | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 gnu/packages/poedit.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index df96b98f07..e9111ba8dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -374,6 +374,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/php.scm \ %D%/packages/pkg-config.scm \ %D%/packages/plotutils.scm \ + %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ %D%/packages/printers.scm \ diff --git a/gnu/packages/poedit.scm b/gnu/packages/poedit.scm new file mode 100644 index 0000000000..0b21a9eea7 --- /dev/null +++ b/gnu/packages/poedit.scm @@ -0,0 +1,80 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages poedit) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) + #:use-module (gnu packages enchant) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages rdf) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xml)) + +(define-public poedit + (package + (name "poedit") + (version "2.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vslavik/poedit") + (commit (string-append "v" version "-oss")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fxzmry4b23l90j03jdyvd4jprdpy4xcnhw7xrmmfnlbh2abf9x7")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "deps") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-boost-libdir=" + (assoc-ref %build-inputs "boost") + "/lib")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext-minimal" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("enchant" ,enchant) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("icu4c" ,icu4c) + ("lucene++" ,lucene++) + ("pugixml" ,pugixml) + ("wxwidgets" ,wxwidgets))) + (home-page "https://poedit.net/") + (synopsis "Gettext catalog editing tool") + (description "Poedit is a GUI frontend to the GNU gettext utilities and +a catalog editor/source code parser. It helps with translating applications +into other languages.") + (license license:expat))) -- cgit v1.2.3 From e28ff04108ae7506a21d451cc23d63937076e2a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 16 Apr 2019 22:18:58 +0200 Subject: gnu: webkitgtk: Fix build on i686. Fixes . * gnu/packages/patches/webkitgtk-sse2.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/webkit.scm (webkitgtk-2.24)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/patches/webkitgtk-sse2.patch | 202 ++++++++++++++++++++++++++++++ gnu/packages/webkit.scm | 3 +- 3 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/webkitgtk-sse2.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index e9111ba8dc..41924a7de5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1343,6 +1343,7 @@ dist_patch_DATA = \ %D%/packages/patches/wavpack-CVE-2018-6767.patch \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ + %D%/packages/patches/webkitgtk-sse2.patch \ %D%/packages/patches/weechat-python.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/patches/webkitgtk-sse2.patch b/gnu/packages/patches/webkitgtk-sse2.patch new file mode 100644 index 0000000000..df70e38919 --- /dev/null +++ b/gnu/packages/patches/webkitgtk-sse2.patch @@ -0,0 +1,202 @@ +Fix build on i686. + +This patch is taken from upstream, with ChangeLog entries omitted. + +From 5048338c5f21605441c6833907d1136ac9640b35 Mon Sep 17 00:00:00 2001 +From: "mcatanzaro@igalia.com" + +Date: Wed, 10 Apr 2019 18:27:25 +0000 +Subject: [PATCH] Unreviewed, rolling out r243989. + +Broke i686 builds + +Reverted changeset: + +"[CMake] Detect SSE2 at compile time" +https://bugs.webkit.org/show_bug.cgi?id=196488 +https://trac.webkit.org/changeset/243989 + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@244138 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + CMakeLists.txt | 10 --- + ChangeLog | 12 ++++ + Source/JavaScriptCore/ChangeLog | 12 ++++ + .../assembler/MacroAssemblerX86Common.cpp | 7 ++ + .../assembler/MacroAssemblerX86Common.h | 30 +++++++++ + Source/cmake/FindSSE2.cmake | 65 ------------------- + 6 files changed, 61 insertions(+), 75 deletions(-) + delete mode 100644 Source/cmake/FindSSE2.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index acd77f4b623..d3e8a23f9ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -114,16 +114,6 @@ else () + set(WTF_CPU_UNKNOWN 1) + endif () + +-#--------------------------- +-# Make sure SSE2 is present. +-#--------------------------- +-if (WTF_CPU_X86) +- include(FindSSE2) +- if (NOT SSE2_SUPPORT_FOUND) +- message(FATAL_ERROR "SSE2 support is required to compile WebKit") +- endif () +-endif () +- + # ----------------------------------------------------------------------------- + # Determine the operating system + # ----------------------------------------------------------------------------- +diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp +index 8c752c0d030..31753589df7 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp ++++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp +@@ -168,6 +168,11 @@ static_assert(PROBE_OFFSETOF_REG(cpu.fprs, X86Registers::xmm15) == PROBE_CPU_XMM + static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline"); + static_assert((PROBE_EXECUTOR_OFFSET + PTR_SIZE) <= (PROBE_SIZE + OUT_SIZE), "Must have room after ProbeContext to stash the probe handler"); + ++#if CPU(X86) ++// SSE2 is a hard requirement on x86. ++static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore"); ++#endif ++ + #undef PROBE_OFFSETOF + + #if CPU(X86) +@@ -787,6 +792,7 @@ void MacroAssemblerX86Common::collectCPUFeatures() + std::call_once(onceKey, [] { + { + CPUID cpuid = getCPUID(0x1); ++ s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_popcntCheckState = (cpuid[2] & (1 << 23)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; +@@ -803,6 +809,7 @@ void MacroAssemblerX86Common::collectCPUFeatures() + }); + } + ++MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_avxCheckState = CPUIDCheckState::NotChecked; +diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +index ff097290ef3..097bcb0bb86 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h ++++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +@@ -4197,11 +4197,41 @@ private: + } + #endif + ++#if CPU(X86) ++#if OS(MAC_OS_X) ++ ++ // All X86 Macs are guaranteed to support at least SSE2, ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#else // OS(MAC_OS_X) ++ static bool isSSE2Present() ++ { ++ if (s_sse2CheckState == CPUIDCheckState::NotChecked) ++ collectCPUFeatures(); ++ return s_sse2CheckState == CPUIDCheckState::Set; ++ } ++ ++#endif // OS(MAC_OS_X) ++#elif !defined(NDEBUG) // CPU(X86) ++ ++ // On x86-64 we should never be checking for SSE2 in a non-debug build, ++ // but non debug add this method to keep the asserts above happy. ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#endif ++ + using CPUID = std::array; + static CPUID getCPUID(unsigned level); + static CPUID getCPUIDEx(unsigned level, unsigned count); + JS_EXPORT_PRIVATE static void collectCPUFeatures(); + ++ JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_avxCheckState; +diff --git a/Source/cmake/FindSSE2.cmake b/Source/cmake/FindSSE2.cmake +deleted file mode 100644 +index 7a947feadd4..00000000000 +--- a/Source/cmake/FindSSE2.cmake ++++ /dev/null +@@ -1,65 +0,0 @@ +-################################# +-# Check for the presence of SSE2. +-# +-# Once done, this will define: +-# - SSE2_SUPPORT_FOUND - the system supports (at least) SSE2. +-# +-# Copyright (c) 2014, Pablo Fernandez Alcantarilla, Jesus Nuevo +-# Copyright (c) 2019, Igalia S.L. +-# +-# Redistribution and use in source and binary forms, with or without modification, +-# are permitted provided that the following conditions are met: +-# +-# * Redistributions of source code must retain the above copyright notice, +-# this list of conditions and the following disclaimer. +-# +-# * Redistributions in binary form must reproduce the above copyright notice, +-# this list of conditions and the following disclaimer in the documentation +-# and/or other materials provided with the distribution. +-# +-# * Neither the name of the copyright holders nor the names of its contributors +-# may be used to endorse or promote products derived from this software without +-# specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +-# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +-# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +-# WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- +-set(SSE2_SUPPORT_FOUND FALSE) +- +-macro(CHECK_FOR_SSE2) +- include(CheckCXXSourceRuns) +- +- check_cxx_source_runs(" +- #include +- int main () +- { +- __m128d a, b; +- double vals[2] = {0}; +- a = _mm_loadu_pd (vals); +- b = _mm_add_pd (a,a); +- _mm_storeu_pd (vals,b); +- return(0); +- }" +- HAVE_SSE2_EXTENSIONS) +- +- if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG) +- if (HAVE_SSE2_EXTENSIONS) +- set(SSE2_SUPPORT_FOUND TRUE) +- endif () +- elseif (MSVC AND NOT CMAKE_CL_64) +- if (HAVE_SSE2_EXTENSIONS) +- set(SSE2_SUPPORT_FOUND TRUE) +- message(STATUS "Found SSE2 extensions.") +- endif (HAVE_SSE2_EXTENSIONS) +- endif () +- +-endmacro(CHECK_FOR_SSE2) +- +-CHECK_FOR_SSE2() +-- +2.21.0 + diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index c807585fea..ce69d0a7d4 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -175,7 +175,8 @@ HTML/CSS applications to full-fledged web browsers.") name "-" version ".tar.xz")) (sha256 (base32 - "0v9riwrmwi9wxbb8hlvcbyyxa9zxhcdk6s1xcspalk6asam8xjsk")))) + "0v9riwrmwi9wxbb8hlvcbyyxa9zxhcdk6s1xcspalk6asam8xjsk")) + (patches (search-patches "webkitgtk-sse2.patch")))) (native-inputs `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer ,@(package-native-inputs webkitgtk))) -- cgit v1.2.3 From 30a6cd7cd0c458a05f0e38bbd7477785542ccc69 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 19 Apr 2019 16:58:52 +0200 Subject: gnu: ocaml-dose3: Shorten patch file name. This file name was too long for 'tar', as reported by 'guix lint'. * gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch: Rename to... * gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ocaml.scm (ocaml-dose3)[source]: Adjust accordingly. --- gnu/local.mk | 2 +- gnu/packages/ocaml.scm | 2 +- ...-as-dependency-to-dose3.common-in-META.in.patch | 25 ---------------------- .../patches/ocaml-dose3-add-unix-dependency.patch | 25 ++++++++++++++++++++++ 4 files changed, 27 insertions(+), 27 deletions(-) delete mode 100644 gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch create mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 41924a7de5..974a0875f3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1106,7 +1106,7 @@ dist_patch_DATA = \ %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-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch \ + %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \ %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 6bb15dc5e9..7b75c6bba6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -405,7 +405,7 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.") "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm")) (patches (search-patches - "ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch" + "ocaml-dose3-add-unix-dependency.patch" "ocaml-dose3-Fix-for-ocaml-4.06.patch" "ocaml-dose3-dont-make-printconf.patch" "ocaml-dose3-Install-mli-cmx-etc.patch")))) diff --git a/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch b/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch deleted file mode 100644 index d2cc44c784..0000000000 --- a/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001 -From: Louis Gesbert -Date: Tue, 6 Feb 2018 10:15:45 +0100 -Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in - ---- - META.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/META.in b/META.in -index aa2cd8d..0f9d337 100644 ---- a/META.in -+++ b/META.in -@@ -8,7 +8,7 @@ package "common" ( - version = "@PACKAGE_VERSION@" - archive(byte) = "common.cma" - archive(native) = "common.cmxa" --requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@" -+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@" - ) - - package "algo" ( --- -2.11.0 - diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch new file mode 100644 index 0000000000..d2cc44c784 --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch @@ -0,0 +1,25 @@ +From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001 +From: Louis Gesbert +Date: Tue, 6 Feb 2018 10:15:45 +0100 +Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in + +--- + META.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/META.in b/META.in +index aa2cd8d..0f9d337 100644 +--- a/META.in ++++ b/META.in +@@ -8,7 +8,7 @@ package "common" ( + version = "@PACKAGE_VERSION@" + archive(byte) = "common.cma" + archive(native) = "common.cmxa" +-requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@" ++requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@" + ) + + package "algo" ( +-- +2.11.0 + -- cgit v1.2.3 From 60ecacdeaae83164d0e876d81c4891d6a973fac0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 19 Apr 2019 17:02:28 +0200 Subject: gnu: linkchecker: Shorten patch file name. This file name was too long for 'tar', as reported by 'guix lint'. * gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch: Rename to... * gnu/packages/patches/linkchecker-tests-require-network.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/web.scm (linkchecker)[source]: Likewise. --- gnu/local.mk | 2 +- ...-mark-more-tests-that-require-the-network.patch | 182 --------------------- .../linkchecker-tests-require-network.patch | 182 +++++++++++++++++++++ gnu/packages/web.scm | 3 +- 4 files changed, 184 insertions(+), 185 deletions(-) delete mode 100644 gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch create mode 100644 gnu/packages/patches/linkchecker-tests-require-network.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 974a0875f3..04d11cf467 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1031,7 +1031,7 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-newer-libconfig.patch \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ - %D%/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch \ + %D%/packages/patches/linkchecker-tests-require-network.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ diff --git a/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch b/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch deleted file mode 100644 index f3e488cec2..0000000000 --- a/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch +++ /dev/null @@ -1,182 +0,0 @@ -From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001 -From: Christopher Baines -Date: Tue, 1 Jan 2019 22:36:29 +0000 -Subject: [PATCH] Mark more tests that require the network - -I believe all these tests require the network, at least they seem to -fail if it's I run them without connecting my computer to the web. - -I'm looking at this as part of packaging linkchecker for GNU Guix, -where the package is build and the tests are run in a isolated -environment, intentionally without network access, to avoid issues -with non-reproducible package builds. ---- - tests/checker/test_http.py | 2 ++ - tests/checker/test_http_misc.py | 2 ++ - tests/checker/test_http_redirect.py | 2 ++ - tests/checker/test_httpbin.py | 5 +++++ - tests/checker/test_misc.py | 4 ++++ - tests/checker/test_whitespace.py | 3 +++ - 6 files changed, 18 insertions(+) - -diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py -index e4c1e097..8a8af567 100644 ---- a/tests/checker/test_http.py -+++ b/tests/checker/test_http.py -@@ -20,6 +20,7 @@ - - import pytest - -+from tests import need_network - from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler - - class TestHttp (HttpServerTest): -@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'): - super(TestHttp, self).__init__(methodName=methodName) - self.handler = CookieRedirectHttpRequestHandler - -+ @need_network - def test_html (self): - confargs = dict(recursionlevel=1) - self.file_test("http.html", confargs=confargs) -diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py -index 9922d85f..c6b6afdb 100644 ---- a/tests/checker/test_http_misc.py -+++ b/tests/checker/test_http_misc.py -@@ -20,11 +20,13 @@ - import os - import sys - from .httpserver import HttpServerTest -+from tests import need_network - from linkcheck.network import iputil - - class TestHttpMisc (HttpServerTest): - """Test http:// misc link checking.""" - -+ @need_network - def test_html (self): - self.swf_test() - self.obfuscate_test() -diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py -index f212d98e..2253a70d 100644 ---- a/tests/checker/test_http_redirect.py -+++ b/tests/checker/test_http_redirect.py -@@ -17,6 +17,7 @@ - """ - Test http checking. - """ -+from tests import need_network - from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler - - class TestHttpRedirect (HttpServerTest): -@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'): - super(TestHttpRedirect, self).__init__(methodName=methodName) - self.handler = CookieRedirectHttpRequestHandler - -+ @need_network - def test_redirect (self): - self.redirect1() - self.redirect2() -diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py -index 0319c2f6..4c8fa846 100644 ---- a/tests/checker/test_httpbin.py -+++ b/tests/checker/test_httpbin.py -@@ -18,6 +18,7 @@ - Test http stuff with httpbin.org. - """ - import re -+from tests import need_network - from . import LinkCheckTest - - -@@ -30,6 +31,7 @@ def get_httpbin_url(path): - class TestHttpbin(LinkCheckTest): - """Test http:// link redirection checking.""" - -+ @need_network - def test_http_link(self): - linkurl = u"http://www.example.com" - nlinkurl = self.norm(linkurl) -@@ -48,6 +50,7 @@ def test_http_link(self): - ] - self.direct(url, resultlines, recursionlevel=1) - -+ @need_network - def test_basic_auth(self): - user = u"testuser" - password = u"testpassword" -@@ -67,6 +70,7 @@ def test_basic_auth(self): - ] - self.direct(url, resultlines, confargs=confargs) - -+ @need_network - def test_http_refresh_header(self): - linkurl = u"http://www.example.com" - nlinkurl = self.norm(linkurl) -@@ -85,6 +89,7 @@ def test_http_refresh_header(self): - ] - self.direct(url, resultlines, recursionlevel=1) - -+ @need_network - def test_http_content_location_header(self): - linkurl = u"http://www.example.com" - nlinkurl = self.norm(linkurl) -diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py -index 2e4cfd07..f9591f9d 100644 ---- a/tests/checker/test_misc.py -+++ b/tests/checker/test_misc.py -@@ -17,6 +17,7 @@ - """ - Test miscellaneous html tag parsing and URL types - """ -+from tests import need_network - from . import LinkCheckTest - - -@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest): - Test misc link types. - """ - -+ @need_network - def test_misc (self): - self.file_test("misc.html") - - def test_html5 (self): - self.file_test("html5.html") - -+ @need_network - def test_archive (self): - self.file_test("archive.html") - -+ @need_network - def test_itms_services(self): - url = u"itms-services:?action=download-manifest&url=http://www.example.com/" - resultlines = [ -diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py -index 609c108a..fc2727d6 100644 ---- a/tests/checker/test_whitespace.py -+++ b/tests/checker/test_whitespace.py -@@ -17,6 +17,7 @@ - """ - Test whitespace handling. - """ -+from tests import need_network - from . import LinkCheckTest - - -@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest): - Test whitespace in URLs. - """ - -+ @need_network - def test_leading_whitespace (self): - # Leading whitespace - url = u" http://www.example.org/" -@@ -50,6 +52,7 @@ def test_leading_whitespace (self): - ] - self.direct(url, resultlines) - -+ @need_network - def test_trailing_whitespace (self): - # Trailing whitespace - url = u"http://www.example.org/ " diff --git a/gnu/packages/patches/linkchecker-tests-require-network.patch b/gnu/packages/patches/linkchecker-tests-require-network.patch new file mode 100644 index 0000000000..f3e488cec2 --- /dev/null +++ b/gnu/packages/patches/linkchecker-tests-require-network.patch @@ -0,0 +1,182 @@ +From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001 +From: Christopher Baines +Date: Tue, 1 Jan 2019 22:36:29 +0000 +Subject: [PATCH] Mark more tests that require the network + +I believe all these tests require the network, at least they seem to +fail if it's I run them without connecting my computer to the web. + +I'm looking at this as part of packaging linkchecker for GNU Guix, +where the package is build and the tests are run in a isolated +environment, intentionally without network access, to avoid issues +with non-reproducible package builds. +--- + tests/checker/test_http.py | 2 ++ + tests/checker/test_http_misc.py | 2 ++ + tests/checker/test_http_redirect.py | 2 ++ + tests/checker/test_httpbin.py | 5 +++++ + tests/checker/test_misc.py | 4 ++++ + tests/checker/test_whitespace.py | 3 +++ + 6 files changed, 18 insertions(+) + +diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py +index e4c1e097..8a8af567 100644 +--- a/tests/checker/test_http.py ++++ b/tests/checker/test_http.py +@@ -20,6 +20,7 @@ + + import pytest + ++from tests import need_network + from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler + + class TestHttp (HttpServerTest): +@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'): + super(TestHttp, self).__init__(methodName=methodName) + self.handler = CookieRedirectHttpRequestHandler + ++ @need_network + def test_html (self): + confargs = dict(recursionlevel=1) + self.file_test("http.html", confargs=confargs) +diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py +index 9922d85f..c6b6afdb 100644 +--- a/tests/checker/test_http_misc.py ++++ b/tests/checker/test_http_misc.py +@@ -20,11 +20,13 @@ + import os + import sys + from .httpserver import HttpServerTest ++from tests import need_network + from linkcheck.network import iputil + + class TestHttpMisc (HttpServerTest): + """Test http:// misc link checking.""" + ++ @need_network + def test_html (self): + self.swf_test() + self.obfuscate_test() +diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py +index f212d98e..2253a70d 100644 +--- a/tests/checker/test_http_redirect.py ++++ b/tests/checker/test_http_redirect.py +@@ -17,6 +17,7 @@ + """ + Test http checking. + """ ++from tests import need_network + from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler + + class TestHttpRedirect (HttpServerTest): +@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'): + super(TestHttpRedirect, self).__init__(methodName=methodName) + self.handler = CookieRedirectHttpRequestHandler + ++ @need_network + def test_redirect (self): + self.redirect1() + self.redirect2() +diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py +index 0319c2f6..4c8fa846 100644 +--- a/tests/checker/test_httpbin.py ++++ b/tests/checker/test_httpbin.py +@@ -18,6 +18,7 @@ + Test http stuff with httpbin.org. + """ + import re ++from tests import need_network + from . import LinkCheckTest + + +@@ -30,6 +31,7 @@ def get_httpbin_url(path): + class TestHttpbin(LinkCheckTest): + """Test http:// link redirection checking.""" + ++ @need_network + def test_http_link(self): + linkurl = u"http://www.example.com" + nlinkurl = self.norm(linkurl) +@@ -48,6 +50,7 @@ def test_http_link(self): + ] + self.direct(url, resultlines, recursionlevel=1) + ++ @need_network + def test_basic_auth(self): + user = u"testuser" + password = u"testpassword" +@@ -67,6 +70,7 @@ def test_basic_auth(self): + ] + self.direct(url, resultlines, confargs=confargs) + ++ @need_network + def test_http_refresh_header(self): + linkurl = u"http://www.example.com" + nlinkurl = self.norm(linkurl) +@@ -85,6 +89,7 @@ def test_http_refresh_header(self): + ] + self.direct(url, resultlines, recursionlevel=1) + ++ @need_network + def test_http_content_location_header(self): + linkurl = u"http://www.example.com" + nlinkurl = self.norm(linkurl) +diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py +index 2e4cfd07..f9591f9d 100644 +--- a/tests/checker/test_misc.py ++++ b/tests/checker/test_misc.py +@@ -17,6 +17,7 @@ + """ + Test miscellaneous html tag parsing and URL types + """ ++from tests import need_network + from . import LinkCheckTest + + +@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest): + Test misc link types. + """ + ++ @need_network + def test_misc (self): + self.file_test("misc.html") + + def test_html5 (self): + self.file_test("html5.html") + ++ @need_network + def test_archive (self): + self.file_test("archive.html") + ++ @need_network + def test_itms_services(self): + url = u"itms-services:?action=download-manifest&url=http://www.example.com/" + resultlines = [ +diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py +index 609c108a..fc2727d6 100644 +--- a/tests/checker/test_whitespace.py ++++ b/tests/checker/test_whitespace.py +@@ -17,6 +17,7 @@ + """ + Test whitespace handling. + """ ++from tests import need_network + from . import LinkCheckTest + + +@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest): + Test whitespace in URLs. + """ + ++ @need_network + def test_leading_whitespace (self): + # Leading whitespace + url = u" http://www.example.org/" +@@ -50,6 +52,7 @@ def test_leading_whitespace (self): + ] + self.direct(url, resultlines) + ++ @need_network + def test_trailing_whitespace (self): + # Trailing whitespace + url = u"http://www.example.org/ " diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index fd6bfbab22..7d8e51b5af 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5435,8 +5435,7 @@ Instagram and YouTube.") (url "https://github.com/linkchecker/linkchecker") (commit (string-append "v" version)))) (patches - (search-patches - "linkchecker-mark-more-tests-that-require-the-network.patch")) + (search-patches "linkchecker-tests-require-network.patch")) (file-name (git-file-name name version)) (sha256 (base32 -- cgit v1.2.3 From b979028527add840175336b8f7b165caf60ec793 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 1 Apr 2019 22:39:45 -0400 Subject: gnu: Add python-robotframework. * gnu/packages/python-xyz.scm (python-robotframework): New variable. * gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + ...on-robotframework-honor-source-date-epoch.patch | 62 ++++++++++++++++++++++ gnu/packages/python-xyz.scm | 45 ++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a3cfee9649..5c03066853 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1206,6 +1206,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ + %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ diff --git a/gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch b/gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch new file mode 100644 index 0000000000..ccd87911d8 --- /dev/null +++ b/gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch @@ -0,0 +1,62 @@ +From 3cc41c05fad5601c0dd1832f64a6e9efca017727 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer +Date: Mon, 1 Apr 2019 11:36:04 -0400 +Subject: [PATCH] robottime: Honor the SOURCE_DATE_EPOCH environment variable. + +Honoring the SOURCE_DATE_EPOCH environment variable allows building +the documentation using libdoc reproducibly, by setting the generated +timestamp to a fixed value. + +For more background on reproducible builds and the SOURCE_DATE_EPOCH +environment variable, see: +https://reproducible-builds.org/specs/source-date-epoch/. + +* src/robot/utils/robottime.py: import `os'. +(TimestampCache._get_epoch): Retrieve date from SOURCE_DATE_EPOCH if +it is defined, otherwise from time.time(). +* utest/output/test_logger.py (TestLogger.test_write_to_one_logger): +Check for the existance of a timestamp attribute instead of checking +for its content as the later is easy to break when using the +SOURCE_DATE_EPOCH environment variable. +--- + src/robot/utils/robottime.py | 3 +++ + utest/output/test_logger.py | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/robot/utils/robottime.py b/src/robot/utils/robottime.py +index 06432a4a6..91526f826 100644 +--- a/src/robot/utils/robottime.py ++++ b/src/robot/utils/robottime.py +@@ -14,6 +14,7 @@ + # limitations under the License. + + import datetime ++import os + import time + import re + +@@ -395,6 +396,8 @@ class TimestampCache(object): + + # Seam for mocking + def _get_epoch(self): ++ if os.getenv('SOURCE_DATE_EPOCH'): ++ return float(os.getenv('SOURCE_DATE_EPOCH')) + return time.time() + + def _use_cache(self, secs, *separators): +diff --git a/utest/output/test_logger.py b/utest/output/test_logger.py +index 92fe6d77d..e980227aa 100644 +--- a/utest/output/test_logger.py ++++ b/utest/output/test_logger.py +@@ -46,7 +46,7 @@ class TestLogger(unittest.TestCase): + logger = LoggerMock(('Hello, world!', 'INFO')) + self.logger.register_logger(logger) + self.logger.write('Hello, world!', 'INFO') +- assert_true(logger.msg.timestamp.startswith('20')) ++ assert_true(hasattr(logger.msg, 'timestamp')) + + def test_write_to_one_logger_with_trace_level(self): + logger = LoggerMock(('expected message', 'TRACE')) +-- +2.20.1 + diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bebb7c5cb2..efc36662e0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2752,6 +2752,51 @@ designed to be used by Robot Framework and tools and libraries in its ecosystem, but can naturally be used also by other projects.") (license license:asl2.0))) +(define-public python-robotframework + (package + (name "python-robotframework") + (version "3.1.1") + ;; There are no tests in the PyPI archive. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robotframework/robotframework.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aaiamc9l35m5sf7xl2qc5q9308v7sz3p1qgzcslsjxzddphyn4v")) + (patches (search-patches + "python-robotframework-honor-source-date-epoch.patch")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'build 'build-and-install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((doc-output (assoc-ref outputs "doc")) + (doc (string-append doc-output "/share/" + ,name "-" ,version "/"))) + (invoke "invoke" "library-docs" "all") + (mkdir-p doc) + (copy-recursively "doc/libraries" + (string-append doc "/libraries")) + #t))) + (replace 'check + (lambda _ + (invoke "python" "utest/run.py")))))) + (native-inputs + `(("python-invoke" ,python-invoke) + ("python-rellu" ,python-rellu) + ("python:tk" ,python "tk"))) ;used when building the HTML doc + (outputs '("out" "doc")) + (home-page "https://robotframework.org") + (synopsis "Generic automation framework") + (description "Robot Framework is a generic automation framework for +acceptance testing, acceptance test driven development (ATDD), and robotic +process automation (RPA).") + (license license:asl2.0))) + (define-public python-scp (package (name "python-scp") -- cgit v1.2.3 From 52b5fe5bcf39ec54a7ff4f4230b4bd390b859a32 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 20 Apr 2019 23:52:09 +0200 Subject: gnu: grub: 'grub-mkrescue' honors 'GRUB_FAT_SERIAL_NUMBER'. * gnu/packages/patches/grub-efi-fat-serial-number.patch: New file. * gnu/packages/bootloaders.scm (grub)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 3 ++- .../patches/grub-efi-fat-serial-number.patch | 27 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/grub-efi-fat-serial-number.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 04d11cf467..c6f09df54d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -873,6 +873,7 @@ dist_patch_DATA = \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/grub-binutils-compat.patch \ %D%/packages/patches/grub-check-error-efibootmgr.patch \ + %D%/packages/patches/grub-efi-fat-serial-number.patch \ %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/gst-plugins-good-libvpx-compat.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d6ef7d52b5..b4eabaea48 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -90,7 +90,8 @@ (base32 "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1")) (patches (search-patches "grub-check-error-efibootmgr.patch" - "grub-binutils-compat.patch")))) + "grub-binutils-compat.patch" + "grub-efi-fat-serial-number.patch")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/patches/grub-efi-fat-serial-number.patch b/gnu/packages/patches/grub-efi-fat-serial-number.patch new file mode 100644 index 0000000000..ad92f9bc9e --- /dev/null +++ b/gnu/packages/patches/grub-efi-fat-serial-number.patch @@ -0,0 +1,27 @@ +Change 'grub-mkrescue' to honor the 'GRUB_FAT_SERIAL_NUMBER' +environment variable. That way, the caller can specify a fixed +serial number (instead of the randomly chosen one) to create EFI +images (the 'efi.img' file) that are reproducible bit-for-bit. + +Patch by Ludovic Courtès . + +--- grub-2.02/util/grub-mkrescue.c 2019-04-20 19:15:26.180242812 +0200 ++++ grub-2.02/util/grub-mkrescue.c 2019-04-20 21:56:34.672370849 +0200 +@@ -788,8 +788,15 @@ main (int argc, char *argv[]) + + efiimgfat = grub_util_path_concat (2, iso9660_dir, "efi.img"); + int rv; +- rv = grub_util_exec ((const char * []) { "mformat", "-C", "-f", "2880", "-L", "16", "-i", +- efiimgfat, "::", NULL }); ++ ++ const char *fat_serial_number = getenv ("GRUB_FAT_SERIAL_NUMBER"); ++ const char *mformat_args[] = ++ { "mformat", "-C", "-f", "2880", "-L", "16", ++ fat_serial_number != NULL ? "-N" : "-C", ++ fat_serial_number != NULL ? fat_serial_number : "-C", ++ "-i", efiimgfat, "::", NULL }; ++ ++ rv = grub_util_exec (mformat_args); + if (rv != 0) + grub_util_error ("`%s` invocation failed\n", "mformat"); + rv = grub_util_exec ((const char * []) { "mcopy", "-s", "-i", efiimgfat, efidir_efi, "::/", NULL }); -- cgit v1.2.3 From 1b0b1651b16bd67fa5a583cfe6ce98ac9df80e56 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Apr 2019 00:46:44 +0200 Subject: gnu: mtools: 'mformat' initializes boot sector before writing it. This is the last bit fixing . Previously, 'mformat' (used by 'grub-mkrescue') would pass uninitialized bytes to write(2), leading to non-deterministic FAT image contents. This patch fixes that. * gnu/packages/patches/mtools-mformat-uninitialized.patch: New file. * gnu/packages/mtools.scm (mtools)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/mtools.scm | 22 ++++++++++++---------- .../patches/mtools-mformat-uninitialized.patch | 20 ++++++++++++++++++++ 3 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/mtools-mformat-uninitialized.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c6f09df54d..b6b6259438 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1078,6 +1078,7 @@ dist_patch_DATA = \ %D%/packages/patches/mozjs38-tracelogger.patch \ %D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \ + %D%/packages/patches/mtools-mformat-uninitialized.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 \ diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index 5be3da0137..b93d5789b9 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 John Darrington -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2019 Ludovic Courtès ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Efraim Flashner ;;; @@ -23,20 +23,22 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages)) (define-public mtools (package (name "mtools") (version "4.0.23") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mtools/mtools-" - version ".tar.bz2")) - (sha256 - (base32 - "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")))) + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mtools/mtools-" + version ".tar.bz2")) + (sha256 + (base32 + "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")) + (patches + (search-patches "mtools-mformat-uninitialized.patch")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/mtools/") (synopsis "Access MS-DOS disks without mounting") diff --git a/gnu/packages/patches/mtools-mformat-uninitialized.patch b/gnu/packages/patches/mtools-mformat-uninitialized.patch new file mode 100644 index 0000000000..ae69d45c99 --- /dev/null +++ b/gnu/packages/patches/mtools-mformat-uninitialized.patch @@ -0,0 +1,20 @@ +Fix a bug whereby 'mformat' could end up passing uninitialized bytes +to write(2). This could be reproduced with: + + mformat -C -f 1440 -L 16 -N 77777777 -i /tmp/x :: + +where the output of /tmp/x would be non-deterministic. + +Patch by Ludovic Courtès . + +--- mtools-4.0.23/mformat.c 2019-04-21 00:12:01.496116195 +0200 ++++ mtools-4.0.23/mformat.c 2019-04-21 00:12:36.675967157 +0200 +@@ -927,6 +927,7 @@ void mformat(int argc, char **argv, int + + char *endptr; + ++ memset(&boot.bytes, '\0', sizeof boot); + hs = hs_set = 0; + argtracks = 0; + argheads = 0; + -- cgit v1.2.3 From fa61900705ced88b058e2b49d9a8cc3ae3ba907e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Apr 2019 00:19:39 -0400 Subject: gnu: openssh: Update to 8.0p1. * gnu/packages/ssh.scm (openssh): Update to 8.0p1. [source]: Remove patch. * gnu/packages/patches/openssh-CVE-2018-20685.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/openssh-CVE-2018-20685.patch | 44 ----------------------- gnu/packages/ssh.scm | 5 ++- 3 files changed, 2 insertions(+), 48 deletions(-) delete mode 100644 gnu/packages/patches/openssh-CVE-2018-20685.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index b6b6259438..7073181b1f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1121,7 +1121,6 @@ dist_patch_DATA = \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ - %D%/packages/patches/openssh-CVE-2018-20685.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ diff --git a/gnu/packages/patches/openssh-CVE-2018-20685.patch b/gnu/packages/patches/openssh-CVE-2018-20685.patch deleted file mode 100644 index 463c08a9d4..0000000000 --- a/gnu/packages/patches/openssh-CVE-2018-20685.patch +++ /dev/null @@ -1,44 +0,0 @@ -Fix CVE-2018-20685: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20685 - -Patch copied from upstream source repository: - -https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2 - -From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" -Date: Fri, 16 Nov 2018 03:03:10 +0000 -Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer - to the - -current directory; based on report/patch from Harry Sintonen - -OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 ---- - scp.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/scp.c b/scp.c -index 60682c68..4f3fdcd3 100644 ---- a/scp.c -+++ b/scp.c -#@@ -1,4 +1,4 @@ -#-/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ -#+/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */ -# /* -# * scp - secure remote copy. This is basically patched BSD rcp which -# * uses ssh to do the data transfer (instead of using rcmd). -@@ -1106,7 +1106,8 @@ sink(int argc, char **argv) - SCREWUP("size out of range"); - size = (off_t)ull; - -- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { -+ if (*cp == '\0' || strchr(cp, '/') != NULL || -+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { - run_err("error: unexpected filename: %s", cp); - exit(1); - } --- -2.20.1 - diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 83a831660d..e887cd7e70 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -164,15 +164,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.9p1") + (version "8.0p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" name "-" version ".tar.gz")) - (patches (search-patches "openssh-CVE-2018-20685.patch")) (sha256 (base32 - "1b8sy6v0b8v4ggmknwcqx3y1rjcpsll0f1f8f4vyv11x4ni3njvb")))) + "0s7xh4s0qcipnjh9ls5blxcpvhyd116z9dxn3q1yi64lwrwki55x")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 0406434baaf180af51c02c2cee02d972356047b3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Apr 2019 04:35:50 +0200 Subject: gnu: bind: Update to 9.12.4-P1 [fixes CVE-2018-5743, CVE-2019-6467]. * gnu/packages/dns.scm (isc-bind): Update to 9.12.4-P1. [source]: Add patch. [inputs]: Add python and python-ply. * packages/patches/bind-fix-unused-pk11-ecc-constants.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/dns.scm | 11 ++++-- .../bind-fix-unused-pk11-ecc-constants.patch | 43 ++++++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 7073181b1f..82a74c7db1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -682,6 +682,7 @@ dist_patch_DATA = \ %D%/packages/patches/beets-python-3.7-fix.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ + %D%/packages/patches/bind-fix-unused-pk11-ecc-constants.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 24b6384eab..6a8f49fbe8 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages swig) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -106,7 +107,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.12.3-P4") + (version "9.12.4-P1") (source (origin (method url-fetch) (uri (string-append @@ -114,7 +115,9 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.gz")) (sha256 (base32 - "01pj47z5582rd538dmbzf1msw4jc8j4zr0zx4ciy88r6qr9l80fi")))) + "1if7zc5gzrfd28csc63v9bjwrc0rgvm1x9yx058946hc5gp5lyp2")) + (patches + (search-patches "bind-fix-unused-pk11-ecc-constants.patch")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs @@ -122,7 +125,9 @@ and BOOTP/TFTP for network booting of diskless machines.") `(("libcap" ,libcap) ("libxml2" ,libxml2) ("openssl" ,openssl) - ("p11-kit" ,p11-kit))) + ("p11-kit" ,p11-kit) + ("python" ,python) + ("python-ply" ,python-ply))) (native-inputs `(("perl" ,perl) ("net-tools" ,net-tools))) (arguments diff --git a/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch b/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch new file mode 100644 index 0000000000..ab7cc83684 --- /dev/null +++ b/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch @@ -0,0 +1,43 @@ +From: Tobias Geerinckx-Rice +Date: Thu, 25 Apr 2019 04:36:52 +0200 +Subject: [PATCH] gnu: bind: Fix unused PKCS#11 ECC constants. + +Without this patch, the build fails: + + pkcs11-keygen.c: In function ‘main’: + pkcs11-keygen.c:424:32: error: ‘pk11_ecc_prime256v1’ undeclared (first use in this function) + public_template[4].pValue = pk11_ecc_prime256v1; + ^ + pkcs11-keygen.c:424:32: note: each undeclared identifier is reported only once for each function it appears in + pkcs11-keygen.c:428:32: error: ‘pk11_ecc_secp384r1’ undeclared (first use in this function) + public_template[4].pValue = pk11_ecc_secp384r1; + ^ + make[2]: *** [Makefile:217: pkcs11-keygen.o] Error 1 + +Fix copied verbatim from upstream[0]. + +[0]: https://gitlab.isc.org/isc-projects/bind9/issues/935 + +--- +--- orig-bind-9.11.6/bin/pkcs11/pkcs11-keygen.c 2019-02-27 15:28:15.000000000 -0800 ++++ bind-9.11.6/bin/pkcs11/pkcs11-keygen.c 2019-03-11 09:20:50.955257469 -0700 +@@ -403,6 +403,10 @@ + public_template[RSA_PUBLIC_EXPONENT].ulValueLen = expsize; + break; + case key_ecc: ++#if !defined(HAVE_PKCS11_ECDSA) ++ fprintf(stderr, "prime256v1 and secp3841r1 is not supported\n"); ++ usage(); ++#else + op_type = OP_EC; + if (bits == 0) + bits = 256; +@@ -429,7 +433,7 @@ + public_template[4].ulValueLen = + sizeof(pk11_ecc_secp384r1); + } +- ++#endif + break; + case key_ecx: + #if !defined(CKM_EDDSA_KEY_PAIR_GEN) -- cgit v1.2.3 From 968e86bd930936d9f9ed0db299164018882cd5c1 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 18 Apr 2019 00:40:21 -0700 Subject: gnu: Add python-pyfakefs and python2-pyfakefs. * gnu/packages/patches/python-pyfakefs-remove-bad-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add the patch. * gnu/packages/check.scm (python-pyfakefs, python2-pyfakefs): New variables. --- gnu/local.mk | 1 + gnu/packages/check.scm | 50 ++++++++++++++++++++++ .../patches/python-pyfakefs-remove-bad-test.patch | 23 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/patches/python-pyfakefs-remove-bad-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 82a74c7db1..18427de8c7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1203,6 +1203,7 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ + %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-flint-includes.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index a38abf0b5b..0be1102683 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2017, 2018 Ludovic Courtès ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2019 Pierre Langlois +;;; Copyright © 2019 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -2262,3 +2263,52 @@ record the properties and behaviour of particular devices, and to run a program or test suite under a test bed with the previously recorded devices loaded.") (license license:lgpl2.1+))) + +(define-public python-pyfakefs + (package + (name "python-pyfakefs") + (version "3.5.8") + (source (origin + (method url-fetch) + ;; We use the PyPI URL because there is no proper release + ;; available from GitHub. The GitHub project only provides + ;; autogenerated tarballs, which are known to change in place. + (uri (pypi-uri "pyfakefs" version)) + (sha256 + (base32 + "0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc")) + (patches (search-patches + "python-pyfakefs-remove-bad-test.patch")) + (file-name (string-append name "-" version ".tar.gz")))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The default test suite does not run these extra tests. + (add-after 'check 'check-pytest-plugin + (lambda _ + (invoke + "python" "-m" "pytest" + "pyfakefs/pytest_tests/pytest_plugin_test.py") + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (build-system python-build-system) + ;; Guix lint doesn't like that this is a permanent redirect to the GitHub + ;; page, but the pyfakefs documentation asks us to use this specific URL + ;; when linking to the project. Honor their request. + (home-page "http://pyfakefs.org/") + ;; TRANSLATORS: In the synopsis, "Mock" is a verb. + (synopsis "Mock file system interactions in tests") + (description + "This package provides a Python library intended for use in automated +tests. One difficulty when testing software is that the code under test might +need to read or write to files in the local file system. If the file system +is not set up in just the right way, it might cause a spurious error during +the test. The pyfakefs library provides a solution to problems like this by +mocking file system interactions. In other words, it arranges for the code +under test to interact with a fake file system instead of the real file +system. The code under test requires no modification to work with pyfakefs.") + (license license:asl2.0))) + +(define-public python2-pyfakefs + (package-with-python2 python-pyfakefs)) diff --git a/gnu/packages/patches/python-pyfakefs-remove-bad-test.patch b/gnu/packages/patches/python-pyfakefs-remove-bad-test.patch new file mode 100644 index 0000000000..a9488bbe43 --- /dev/null +++ b/gnu/packages/patches/python-pyfakefs-remove-bad-test.patch @@ -0,0 +1,23 @@ +This test incorrectly assumes that the root user is always available. +However, in the build environment, the root user is not available. +Note that because the original file distributed in the release on PyPi +has lines ending in CRLF, those are retained in the diff below. + +--- a/pyfakefs/tests/fake_filesystem_test.py 1969-12-31 16:00:00.000000000 -0800 ++++ b/pyfakefs/tests/fake_filesystem_test.py 1969-12-31 16:00:00.000000000 -0800 +@@ -1021,15 +1021,6 @@ + self.assertEqual(self.path.expanduser('~'), + self.os.environ['HOME'].replace('/', '!')) + +- @unittest.skipIf(TestCase.is_windows or TestCase.is_cygwin, +- 'only tested on unix systems') +- def test_expand_root(self): +- if sys.platform == 'darwin': +- roothome = '!var!root' +- else: +- roothome = '!root' +- self.assertEqual(self.path.expanduser('~root'), roothome) +- + def test_getsize_path_nonexistent(self): + file_path = 'foo!bar!baz' + self.assertRaises(os.error, self.path.getsize, file_path) -- cgit v1.2.3 From 55036ddc9a096c2bdf573b8cffb2605ecc7e30f9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Apr 2019 00:56:01 +0200 Subject: gnu: soundtouch: Update to 2.1.1. * gnu/packages/audio.scm (soundtouch): Update to 2.1.1. [source]: Use GIT-FETCH and GIT-FILE-NAME. Remove patches. * gnu/packages/patches/soundtouch-CVE-2018-1000223.patch, gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/audio.scm | 16 +-- .../patches/soundtouch-CVE-2018-1000223.patch | 143 --------------------- .../patches/soundtouch-CVE-2018-14044-14045.patch | 138 -------------------- 4 files changed, 7 insertions(+), 292 deletions(-) delete mode 100644 gnu/packages/patches/soundtouch-CVE-2018-1000223.patch delete mode 100644 gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 18427de8c7..f79bfd8b93 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1270,8 +1270,6 @@ dist_patch_DATA = \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/soundconverter-remove-gconf-dependency.patch \ - %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \ - %D%/packages/patches/soundtouch-CVE-2018-1000223.patch \ %D%/packages/patches/sssd-curl-compat.patch \ %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/streamlink-update-test.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7a79f4dcab..49fcc511e6 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2691,18 +2691,16 @@ Tracker 3 S3M and Impulse Tracker IT files.") (define-public soundtouch (package (name "soundtouch") - (version "2.0.0") + (version "2.1.1") (source (origin - (method url-fetch) - (uri - (string-append - "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz")) - (patches (search-patches "soundtouch-CVE-2018-14044-14045.patch" - "soundtouch-CVE-2018-1000223.patch")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/soundtouch/soundtouch.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j")))) + (base32 "0p6jzgfgqw061702dmd2b6r4arz48ac3mmx2qkvvzf8s5jjzykdh")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch b/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch deleted file mode 100644 index 961a183565..0000000000 --- a/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch +++ /dev/null @@ -1,143 +0,0 @@ -Fix CVE-2018-1000223: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000223 -https://gitlab.com/soundtouch/soundtouch/issues/6 - -Patches copied from upstream source repository: - -https://gitlab.com/soundtouch/soundtouch/commit/9e02d9b04fda6c1f44336ff00bb5af1e2ffc039e -https://gitlab.com/soundtouch/soundtouch/commit/e0240689056e4182fffdc2a16aa6e3425a15e275 -https://gitlab.com/soundtouch/soundtouch/commit/46531e5b92dd80dd9a7947463d6224fc7cb21967 - -From 9e02d9b04fda6c1f44336ff00bb5af1e2ffc039e Mon Sep 17 00:00:00 2001 -From: oparviainen -Date: Sun, 12 Aug 2018 20:24:37 +0300 -Subject: [PATCH] Added minimum size check for WAV header block lengh values - ---- - source/SoundStretch/WavFile.cpp | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp -index 7e7ade2..68818c9 100644 ---- a/source/SoundStretch/WavFile.cpp -+++ b/source/SoundStretch/WavFile.cpp -@@ -530,7 +530,11 @@ int WavInFile::readHeaderBlock() - // read length of the format field - if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; - // swap byte order if necessary -- _swap32(nLen); // int format_len; -+ _swap32(nLen); -+ -+ // verify that header length isn't smaller than expected -+ if (nLen < sizeof(header.format) - 8) return -1; -+ - header.format.format_len = nLen; - - // calculate how much length differs from expected -@@ -572,6 +576,10 @@ int WavInFile::readHeaderBlock() - if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; - // swap byte order if necessary - _swap32(nLen); // int fact_len; -+ -+ // verify that fact length isn't smaller than expected -+ if (nLen < sizeof(header.fact) - 8) return -1; -+ - header.fact.fact_len = nLen; - - // calculate how much length differs from expected --- -2.18.0 - -From e0240689056e4182fffdc2a16aa6e3425a15e275 Mon Sep 17 00:00:00 2001 -From: oparviainen -Date: Mon, 13 Aug 2018 19:16:16 +0300 -Subject: [PATCH] Fixed WavFile header/fact not-too-small check - ---- - source/SoundStretch/WavFile.cpp | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp -index 4af7a4c..3421bca 100644 ---- a/source/SoundStretch/WavFile.cpp -+++ b/source/SoundStretch/WavFile.cpp -@@ -518,13 +518,13 @@ int WavInFile::readHeaderBlock() - // swap byte order if necessary - _swap32(nLen); - -- // verify that header length isn't smaller than expected -- if (nLen < sizeof(header.format) - 8) return -1; -+ // calculate how much length differs from expected -+ nDump = nLen - ((int)sizeof(header.format) - 8); - -- header.format.format_len = nLen; -+ // verify that header length isn't smaller than expected structure -+ if (nDump < 0) return -1; - -- // calculate how much length differs from expected -- nDump = nLen - ((int)sizeof(header.format) - 8); -+ header.format.format_len = nLen; - - // if format_len is larger than expected, read only as much data as we've space for - if (nDump > 0) -@@ -561,16 +561,16 @@ int WavInFile::readHeaderBlock() - // read length of the fact field - if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; - // swap byte order if necessary -- _swap32(nLen); // int fact_len; -- -- // verify that fact length isn't smaller than expected -- if (nLen < sizeof(header.fact) - 8) return -1; -- -- header.fact.fact_len = nLen; -+ _swap32(nLen); - - // calculate how much length differs from expected - nDump = nLen - ((int)sizeof(header.fact) - 8); - -+ // verify that fact length isn't smaller than expected structure -+ if (nDump < 0) return -1; -+ -+ header.fact.fact_len = nLen; -+ - // if format_len is larger than expected, read only as much data as we've space for - if (nDump > 0) - { --- -2.18.0 - -From 46531e5b92dd80dd9a7947463d6224fc7cb21967 Mon Sep 17 00:00:00 2001 -From: olli -Date: Mon, 13 Aug 2018 19:42:58 +0300 -Subject: [PATCH] Improved WavFile header/fact not-too-small check - ---- - source/SoundStretch/WavFile.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp -index 3421bca..9d90b8a 100644 ---- a/source/SoundStretch/WavFile.cpp -+++ b/source/SoundStretch/WavFile.cpp -@@ -522,7 +522,7 @@ int WavInFile::readHeaderBlock() - nDump = nLen - ((int)sizeof(header.format) - 8); - - // verify that header length isn't smaller than expected structure -- if (nDump < 0) return -1; -+ if ((nLen < 0) || (nDump < 0)) return -1; - - header.format.format_len = nLen; - -@@ -567,7 +567,7 @@ int WavInFile::readHeaderBlock() - nDump = nLen - ((int)sizeof(header.fact) - 8); - - // verify that fact length isn't smaller than expected structure -- if (nDump < 0) return -1; -+ if ((nLen < 0) || (nDump < 0)) return -1; - - header.fact.fact_len = nLen; - --- -2.18.0 - diff --git a/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch b/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch deleted file mode 100644 index cc0282fc7b..0000000000 --- a/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch +++ /dev/null @@ -1,138 +0,0 @@ -Fix CVE-2018-14044 and CVE-2018-14045: - -https://gitlab.com/soundtouch/soundtouch/issues/7 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14044 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14045 - -Patch copied from upstream source repository: - -https://gitlab.com/soundtouch/soundtouch/commit/107f2c5d201a4dfea1b7f15c5957ff2ac9e5f260 - -From 107f2c5d201a4dfea1b7f15c5957ff2ac9e5f260 Mon Sep 17 00:00:00 2001 -From: oparviainen -Date: Sun, 12 Aug 2018 20:00:56 +0300 -Subject: [PATCH] Replaced illegal-number-of-channel assertions with run-time - exception - ---- - include/FIFOSamplePipe.h | 12 ++++++++++++ - include/STTypes.h | 3 +++ - source/SoundTouch/FIFOSampleBuffer.cpp | 3 ++- - source/SoundTouch/RateTransposer.cpp | 5 ++--- - source/SoundTouch/SoundTouch.cpp | 8 ++------ - source/SoundTouch/TDStretch.cpp | 5 ++--- - 6 files changed, 23 insertions(+), 13 deletions(-) - -diff --git a/include/FIFOSamplePipe.h b/include/FIFOSamplePipe.h -index 4ec9275..b08f836 100644 ---- a/include/FIFOSamplePipe.h -+++ b/include/FIFOSamplePipe.h -@@ -51,6 +51,18 @@ namespace soundtouch - /// Abstract base class for FIFO (first-in-first-out) sample processing classes. - class FIFOSamplePipe - { -+protected: -+ -+ bool verifyNumberOfChannels(int nChannels) const -+ { -+ if ((nChannels > 0) && (nChannels <= SOUNDTOUCH_MAX_CHANNELS)) -+ { -+ return true; -+ } -+ ST_THROW_RT_ERROR("Error: Illegal number of channels"); -+ return false; -+ } -+ - public: - // virtual default destructor - virtual ~FIFOSamplePipe() {} -diff --git a/include/STTypes.h b/include/STTypes.h -index 03e7e07..862505e 100644 ---- a/include/STTypes.h -+++ b/include/STTypes.h -@@ -56,6 +56,9 @@ typedef unsigned long ulong; - - namespace soundtouch - { -+ /// Max allowed number of channels -+ #define SOUNDTOUCH_MAX_CHANNELS 16 -+ - /// Activate these undef's to overrule the possible sampletype - /// setting inherited from some other header file: - //#undef SOUNDTOUCH_INTEGER_SAMPLES -diff --git a/source/SoundTouch/FIFOSampleBuffer.cpp b/source/SoundTouch/FIFOSampleBuffer.cpp -index f0d5e42..706e869 100644 ---- a/source/SoundTouch/FIFOSampleBuffer.cpp -+++ b/source/SoundTouch/FIFOSampleBuffer.cpp -@@ -73,7 +73,8 @@ void FIFOSampleBuffer::setChannels(int numChannels) - { - uint usedBytes; - -- assert(numChannels > 0); -+ if (!verifyNumberOfChannels(numChannels)) return; -+ - usedBytes = channels * samplesInBuffer; - channels = (uint)numChannels; - samplesInBuffer = usedBytes / channels; -diff --git a/source/SoundTouch/RateTransposer.cpp b/source/SoundTouch/RateTransposer.cpp -index 8b66be3..d115a4c 100644 ---- a/source/SoundTouch/RateTransposer.cpp -+++ b/source/SoundTouch/RateTransposer.cpp -@@ -179,11 +179,10 @@ void RateTransposer::processSamples(const SAMPLETYPE *src, uint nSamples) - // Sets the number of channels, 1 = mono, 2 = stereo - void RateTransposer::setChannels(int nChannels) - { -- assert(nChannels > 0); -+ if (!verifyNumberOfChannels(nChannels) || -+ (pTransposer->numChannels == nChannels)) return; - -- if (pTransposer->numChannels == nChannels) return; - pTransposer->setChannels(nChannels); -- - inputBuffer.setChannels(nChannels); - midBuffer.setChannels(nChannels); - outputBuffer.setChannels(nChannels); -diff --git a/source/SoundTouch/SoundTouch.cpp b/source/SoundTouch/SoundTouch.cpp -index 7b6756b..06bdd56 100644 ---- a/source/SoundTouch/SoundTouch.cpp -+++ b/source/SoundTouch/SoundTouch.cpp -@@ -139,18 +139,14 @@ uint SoundTouch::getVersionId() - // Sets the number of channels, 1 = mono, 2 = stereo - void SoundTouch::setChannels(uint numChannels) - { -- /*if (numChannels != 1 && numChannels != 2) -- { -- //ST_THROW_RT_ERROR("Illegal number of channels"); -- return; -- }*/ -+ if (!verifyNumberOfChannels(numChannels)) return; -+ - channels = numChannels; - pRateTransposer->setChannels((int)numChannels); - pTDStretch->setChannels((int)numChannels); - } - - -- - // Sets new rate control value. Normal rate = 1.0, smaller values - // represent slower rate, larger faster rates. - void SoundTouch::setRate(double newRate) -diff --git a/source/SoundTouch/TDStretch.cpp b/source/SoundTouch/TDStretch.cpp -index 149cdb9..be2dc88 100644 ---- a/source/SoundTouch/TDStretch.cpp -+++ b/source/SoundTouch/TDStretch.cpp -@@ -588,9 +588,8 @@ void TDStretch::setTempo(double newTempo) - // Sets the number of channels, 1 = mono, 2 = stereo - void TDStretch::setChannels(int numChannels) - { -- assert(numChannels > 0); -- if (channels == numChannels) return; --// assert(numChannels == 1 || numChannels == 2); -+ if (!verifyNumberOfChannels(numChannels) || -+ (channels == numChannels)) return; - - channels = numChannels; - inputBuffer.setChannels(channels); --- -2.18.0 - -- cgit v1.2.3 From 6b99afeef89233b71d113a63cf04a6b4b49a4679 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 15 Apr 2019 21:46:57 -0700 Subject: gnu: u-boot: Update to 2019.04. * gnu/packages/bootloaders.scm (u-boot): Update to 2019.04. [source]: Add patch. (u-boot-novena): Update dynamic patch to handle config key rename. (u-boot-am335x-evm): New variable. (u-boot-am335x-boneblack): Build with modified am335x-evm config. (u-boot-novena): Fix typo in description. * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Use u-boot-am335x-boneblack. * gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. Signed-off-by: Danny Milosavljevic --- gnu/bootloader/u-boot.scm | 2 +- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 39 ++++++++++++--- .../u-boot-fix-mkimage-header-verification.patch | 57 ++++++++++++++++++++++ 4 files changed, 92 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch (limited to 'gnu/local.mk') diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 1c6f322bc4..54abfe1c69 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -106,7 +106,7 @@ (define u-boot-beaglebone-black-bootloader (bootloader (inherit u-boot-bootloader) - (package u-boot-beagle-bone-black) + (package u-boot-am335x-boneblack) (installer install-beaglebone-black-u-boot))) (define u-boot-allwinner-bootloader diff --git a/gnu/local.mk b/gnu/local.mk index 15db537098..a0f40d13ae 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1309,6 +1309,7 @@ dist_patch_DATA = \ %D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-include-qregexpvalidator.patch \ + %D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ %D%/packages/patches/unzip-CVE-2014-8141.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index b4eabaea48..e1d91b136c 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -379,7 +379,7 @@ tree binary files. These are board description files used by Linux and BSD.") (define u-boot (package (name "u-boot") - (version "2019.01") + (version "2019.04") (source (origin (method url-fetch) (uri (string-append @@ -387,7 +387,10 @@ tree binary files. These are board description files used by Linux and BSD.") "u-boot-" version ".tar.bz2")) (sha256 (base32 - "08hwsmh5xsb1gcxsv8gvx00bai938dm5y3889n8jif3a8rd7xgah")))) + "1vwv4bgbl7fjcm073zrphn17hnz5h5h778f88ivdsgbb2lnpgdvn")) + (patches + (search-patches + "u-boot-fix-mkimage-header-verification.patch")))) (native-inputs `(("bc" ,bc) ("bison" ,bison) @@ -578,8 +581,32 @@ board-independent tools."))) (define-public u-boot-malta (make-u-boot-package "malta" "mips64el-linux-gnuabi64")) -(define-public u-boot-beagle-bone-black - (make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf")) +(define-public u-boot-am335x-boneblack + (let ((base (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))) + (package + (inherit base) + (name "u-boot-am335x-boneblack") + (description "U-Boot is a bootloader used mostly for ARM boards. It +also initializes the boards (RAM etc). + +This U-Boot is built for the BeagleBone Black, which was removed upstream, +adjusted from the am335x_evm build with several device trees removed so that +it fits within common partitioning schemes.") + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-defconfig + ;; Patch out other devicetrees to build image small enough to + ;; fit within typical partitioning schemes where the first + ;; partition begins at sector 2048. + (lambda _ + (substitute* "configs/am335x_evm_defconfig" + (("CONFIG_OF_LIST=.*$") "CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"\n")) + #t))))))))) + +(define-public u-boot-am335x-evm + (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf")) (define-public (make-u-boot-sunxi64-package board triplet) (let ((base (make-u-boot-package board triplet))) @@ -638,7 +665,7 @@ board-independent tools."))) also initializes the boards (RAM etc). This U-Boot is built for Novena. Be advised that this version, contrary -to Novena upstream, does not load u-boot.img from the first patition.") +to Novena upstream, does not load u-boot.img from the first partition.") (arguments (substitute-keyword-arguments (package-arguments base) ((#:phases phases) @@ -648,7 +675,7 @@ to Novena upstream, does not load u-boot.img from the first patition.") ;; allowing it to be installed at a device offset. (lambda _ (substitute* "configs/novena_defconfig" - (("CONFIG_SPL_FAT_SUPPORT=y") "# CONFIG_SPL_FAT_SUPPORT is not set")) + (("CONFIG_SPL_FS_FAT=y") "# CONFIG_SPL_FS_FAT is not set")) #t))))))))) (define-public u-boot-cubieboard diff --git a/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch new file mode 100644 index 0000000000..063677db4a --- /dev/null +++ b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch @@ -0,0 +1,57 @@ +From 48b52117235928cfd7ef1ec5c3f2cff5d7b03862 Mon Sep 17 00:00:00 2001 +From: Jordan Hand +Date: Wed, 10 Apr 2019 09:46:32 -0700 +Subject: [PATCH,v2] fdt: Fix mkimage list to try every header type +Origin: https://patchwork.ozlabs.org/patch/1083495/ + +Image type is not supplied to `mkimage -l`. For this reason, we cannot +use imagetool_verify_print_header_by_type. Instead, this patch uses +imagetool_verify_print_header to look through all header types to find +one where image validation succeeds. + +This patch fixes failures in test/image/test-imagetools.sh + +Signed-off-by: Jordan Hand +Tested-by: Alex Kiernan +Tested-by: Vagrant Cascadian +--- + tools/mkimage.c | 23 +++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) + +diff --git a/tools/mkimage.c b/tools/mkimage.c +index 2899adff81..76c3406d37 100644 +--- a/tools/mkimage.c ++++ b/tools/mkimage.c +@@ -403,14 +403,21 @@ int main(int argc, char **argv) + exit (EXIT_FAILURE); + } + +- /* +- * scan through mkimage registry for all supported image types +- * and verify the input image file header for match +- * Print the image information for matched image type +- * Returns the error code if not matched +- */ +- retval = imagetool_verify_print_header_by_type(ptr, &sbuf, +- tparams, ¶ms); ++ if (params.fflag) { ++ /* ++ * Verifies the header format based on the expected header for ++ * image type in tparams ++ */ ++ retval = imagetool_verify_print_header_by_type(ptr, &sbuf, ++ tparams, ¶ms); ++ } else { ++ /** ++ * When listing the image, we are not given the image type. Simply check all ++ * image types to find one that matches our header ++ */ ++ retval = imagetool_verify_print_header(ptr, &sbuf, ++ tparams, ¶ms); ++ } + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close (ifd); +-- +2.20.1 + -- cgit v1.2.3