From 711670c04faec02f1c4cccf78a66c90bc7cdfa6e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 24 Aug 2016 22:59:16 +0200 Subject: gnu: gtk+-2: Add patch to support GUIX_GTK2_IM_MODULE_FILE. * gnu/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch: New file. * gnu/packages/gtk.scm (gtk+-2)[source]: Add it. * gnu/local.mk (dist_patch_DATA): 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 98c8848135..a67b00ccdf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -550,6 +550,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %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-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ -- cgit 1.4.1 From 234e7980b54ef37e9a24440ec7219c81d6288a71 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 24 Aug 2016 23:01:11 +0200 Subject: gnu: gtk+: Add patch to support GUIX_GTK3_IM_MODULE_FILE. * gnu/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch: New file. * gnu/packages/gtk.scm (gtk+)[source]: Add it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 3 ++- .../patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a67b00ccdf..a41ade7c4f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -553,6 +553,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.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 \ %D%/packages/patches/hdf5-config-date.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e1d9cf9d6d..396ff1f1d0 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -625,7 +625,8 @@ application suites.") (sha256 (base32 "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q")) - (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch")))) + (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" + "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) diff --git a/gnu/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch new file mode 100644 index 0000000000..aa63a54402 --- /dev/null +++ b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch @@ -0,0 +1,15 @@ +This patch replaces the environment variable "GTK_IM_MODULE" with +"GUIX_GTK3_IM_MODULE_FILE" to prevent this version of GTK+ from loading input +method modules for other major versions of GTK+. + +--- gtk+-3.20.3/gtk/deprecated/gtkrc.c 2016-08-21 22:40:48.168437905 +0200 ++++ gtk+-3.20.3/gtk/deprecated/gtkrc.c 2016-08-23 10:12:09.097070097 +0200 +@@ -768,7 +768,7 @@ + gchar * + gtk_rc_get_im_module_file (void) + { +- const gchar *var = g_getenv ("GTK_IM_MODULE_FILE"); ++ const gchar *var = g_getenv ("GUIX_GTK3_IM_MODULE_FILE"); + gchar *result = NULL; + + if (var) -- cgit 1.4.1 From 8cfdd64c3797bd014ad742bd4bd994d647ced985 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 4 Sep 2016 12:50:09 +0200 Subject: gnu: dtc: Update to 1.4.2. * gnu/packages/u-boot.scm (dtc): Update to 1.4.2. Delete patch. * gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch: Delete patch. * gnu/local.mk (dist_patch_DATA): Delete patch. Signed-off-by: David Craven --- gnu/local.mk | 1 - .../patches/dtc-add-missing-symbols-to-lds.patch | 59 ---------------------- gnu/packages/u-boot.scm | 6 +-- 3 files changed, 2 insertions(+), 64 deletions(-) delete mode 100644 gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 2b5e5419ad..d2e94e8d42 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -483,7 +483,6 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doxygen-test.patch \ - %D%/packages/patches/dtc-add-missing-symbols-to-lds.patch \ %D%/packages/patches/duplicity-piped-password.patch \ %D%/packages/patches/duplicity-test_selection-tmp.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ diff --git a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch b/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch deleted file mode 100644 index ccece0f466..0000000000 --- a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch +++ /dev/null @@ -1,59 +0,0 @@ -From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001 -From: Julien Grall -Date: Tue, 17 Mar 2015 16:00:34 +0000 -Subject: [PATCH] libfdt: Add missing functions to shared library - -The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy -subnode iteration" adds new functions (fdt_{first,next}_subnode) but -forgot to mark them as 'global' in the shared library. - -Signed-off-by: Julien Grall ---- - libfdt/version.lds | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libfdt/version.lds b/libfdt/version.lds -index 80b322b..941208e 100644 ---- a/libfdt/version.lds -+++ b/libfdt/version.lds -@@ -54,6 +54,8 @@ LIBFDT_1.2 { - fdt_get_property_by_offset; - fdt_getprop_by_offset; - fdt_next_property_offset; -+ fdt_first_subnode; -+ fdt_next_subnode; - - local: - *; -From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Tue, 1 Dec 2015 12:55:21 +1100 -Subject: [PATCH] libfdt: Add some missing symbols to version.lds - -Several functions in the header file were missing from the version.lds -script, meaning that they couldn't be used from a libfdt shared library. - -Reported by Ken Aaker, via github issue tracker. - -Signed-off-by: David Gibson ---- - libfdt/version.lds | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/libfdt/version.lds b/libfdt/version.lds -index f19f157..1f4e1ea 100644 ---- a/libfdt/version.lds -+++ b/libfdt/version.lds -@@ -57,6 +57,10 @@ LIBFDT_1.2 { - fdt_next_property_offset; - fdt_first_subnode; - fdt_next_subnode; -+ fdt_address_cells; -+ fdt_size_cells; -+ fdt_stringlist_contains; -+ fdt_resize; - - local: - *; --- -2.8.1 diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm index 15b24a6056..e9a4b90941 100644 --- a/gnu/packages/u-boot.scm +++ b/gnu/packages/u-boot.scm @@ -32,7 +32,7 @@ (define-public dtc (package (name "dtc") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append @@ -40,9 +40,7 @@ "dtc-" version ".tar.xz")) (sha256 (base32 - "155v52palf5fwfcnq696s41whjk0a5dqx98b7maqzdn7xbc2m6bp")) - (patches - (search-patches "dtc-add-missing-symbols-to-lds.patch")))) + "1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) -- cgit 1.4.1 From adbd7faf412297e48931ba4f7ad9a062d852ab8a Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 27 Aug 2016 06:33:26 -0400 Subject: gnu: Add p7zip. * gnu/packages/compression.scm (p7zip): New variable. * gnu/packages/patches/remove-unused-p7zip-code.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/compression.scm | 67 ++ .../patches/p7zip-remove-unused-code.patch | 959 +++++++++++++++++++++ 3 files changed, 1027 insertions(+) create mode 100644 gnu/packages/patches/p7zip-remove-unused-code.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d2e94e8d42..9132c94717 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -705,6 +705,7 @@ dist_patch_DATA = \ %D%/packages/patches/openssl-CVE-2016-2178.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/ots-no-include-missing-file.patch \ + %D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/patchelf-page-size.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c239d16638..0040e45892 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright © 2016 David Craven +;;; Copyright © 2016 Kei Kebreau ;;; ;;; This file is part of GNU Guix. ;;; @@ -895,3 +896,69 @@ compared to the fastest mode of zlib, Snappy is an order of magnitude faster for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger.") (license license:asl2.0))) + +(define-public p7zip + (package + (name "p7zip") + (version "16.02") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + version "/" name "_" version + "_src_all.tar.bz2")) + (sha256 + (base32 + "07rlwbbgszq8i7m8jh3x6j2w2hc9a72dc7fmqawnqkwlwb00mcjy")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove non-free source files + (for-each delete-file + (append + (find-files "CPP/7zip/Compress" "Rar.*") + (find-files "CPP/7zip/Crypto" "Rar.*") + (find-files "DOC/unRarLicense.txt") + (find-files "Utils/file_Codecs_Rar_so.py"))) + (delete-file-recursively "CPP/7zip/Archive/Rar") + (delete-file-recursively "CPP/7zip/Compress/Rar") + #t)) + (patches (search-patches "p7zip-remove-unused-code.patch")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "DEST_HOME=" (assoc-ref %outputs "out")) "all3") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key system outputs #:allow-other-keys) + (zero? (system* "cp" + (let ((system ,(or (%current-target-system) + (%current-system)))) + (cond + ((string-prefix? "x86_64" system) + "makefile.linux_amd64_asm") + ((string-prefix? "i686" system) + "makefile.linux_x86_asm_gcc_4.X") + (else + "makefile.linux_any_cpu_gcc_4.X"))) + "makefile.machine")))) + (replace 'check + (lambda _ + (and (zero? (system* "make" "test")) + (zero? (system* "make" "test_7z")) + (zero? (system* "make" "test_7zr")))))))) + (inputs + (let ((system (or (%current-target-system) + (%current-system)))) + `(,@(cond ((string-prefix? "x86_64" system) + `(("yasm" ,yasm))) + ((string-prefix? "i686" system) + `(("nasm" ,nasm))) + (else '()))))) + (home-page "http://p7zip.sourceforge.net/") + (synopsis "Command-line file archiver with high compression ratio") + (description "p7zip is a command-line port of 7-Zip, a file archiver that +handles the 7z format which features very high compression ratios.") + (license (list license:lgpl2.1+ + license:gpl2+ + license:public-domain)))) diff --git a/gnu/packages/patches/p7zip-remove-unused-code.patch b/gnu/packages/patches/p7zip-remove-unused-code.patch new file mode 100644 index 0000000000..f9c782b93e --- /dev/null +++ b/gnu/packages/patches/p7zip-remove-unused-code.patch @@ -0,0 +1,959 @@ +diff --git a/C/Sha1.c b/C/Sha1.c +index 55c1c63..48b4c5d 100644 +--- a/C/Sha1.c ++++ b/C/Sha1.c +@@ -104,39 +104,6 @@ void Sha1_GetBlockDigest(CSha1 *p, const UInt32 *data, UInt32 *destDigest) + destDigest[4] = p->state[4] + e; + } + +-void Sha1_UpdateBlock_Rar(CSha1 *p, UInt32 *data, int returnRes) +-{ +- UInt32 a, b, c, d, e; +- UInt32 W[kNumW]; +- +- a = p->state[0]; +- b = p->state[1]; +- c = p->state[2]; +- d = p->state[3]; +- e = p->state[4]; +- +- RX_15 +- +- RX_1_4(R0, R1, 15); +- +- RX_20(R2, 20); +- RX_20(R3, 40); +- RX_20(R4, 60); +- +- p->state[0] += a; +- p->state[1] += b; +- p->state[2] += c; +- p->state[3] += d; +- p->state[4] += e; +- +- if (returnRes) +- { +- unsigned i; +- for (i = 0 ; i < SHA1_NUM_BLOCK_WORDS; i++) +- data[i] = W[kNumW - SHA1_NUM_BLOCK_WORDS + i]; +- } +-} +- + #define Sha1_UpdateBlock(p) Sha1_GetBlockDigest(p, p->buffer, p->state) + + void Sha1_Update(CSha1 *p, const Byte *data, size_t size) +@@ -212,46 +179,6 @@ void Sha1_Update(CSha1 *p, const Byte *data, size_t size) + } + } + +-void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size /* , int rar350Mode */) +-{ +- int returnRes = False; +- +- unsigned pos = (unsigned)p->count & 0x3F; +- p->count += size; +- +- while (size--) +- { +- unsigned pos2 = (pos & 3); +- UInt32 v = ((UInt32)*data++) << (8 * (3 - pos2)); +- UInt32 *ref = &(p->buffer[pos >> 2]); +- pos++; +- if (pos2 == 0) +- { +- *ref = v; +- continue; +- } +- *ref |= v; +- +- if (pos == SHA1_BLOCK_SIZE) +- { +- pos = 0; +- Sha1_UpdateBlock_Rar(p, p->buffer, returnRes); +- if (returnRes) +- { +- unsigned i; +- for (i = 0; i < SHA1_NUM_BLOCK_WORDS; i++) +- { +- UInt32 d = p->buffer[i]; +- Byte *prev = data + i * 4 - SHA1_BLOCK_SIZE; +- SetUi32(prev, d); +- } +- } +- // returnRes = rar350Mode; +- returnRes = True; +- } +- } +-} +- + void Sha1_Final(CSha1 *p, Byte *digest) + { + unsigned pos = (unsigned)p->count & 0x3F; +diff --git a/C/Sha1.h b/C/Sha1.h +index aa22ec3..9c45653 100644 +--- a/C/Sha1.h ++++ b/C/Sha1.h +@@ -27,8 +27,6 @@ void Sha1_GetBlockDigest(CSha1 *p, const UInt32 *data, UInt32 *destDigest); + void Sha1_Update(CSha1 *p, const Byte *data, size_t size); + void Sha1_Final(CSha1 *p, Byte *digest); + +-void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size /* , int rar350Mode */); +- + void Sha1_32_PrepareBlock(const CSha1 *p, UInt32 *block, unsigned size); + void Sha1_32_Update(CSha1 *p, const UInt32 *data, size_t size); + void Sha1_32_Final(CSha1 *p, UInt32 *digest); +diff --git a/CPP/7zip/Archive/7z/7zUpdate.cpp b/CPP/7zip/Archive/7z/7zUpdate.cpp +index a0571e7..43ad3e9 100644 +--- a/CPP/7zip/Archive/7z/7zUpdate.cpp ++++ b/CPP/7zip/Archive/7z/7zUpdate.cpp +@@ -562,7 +562,7 @@ static int CompareEmptyItems(const unsigned *p1, const unsigned *p2, void *param + } + + static const char *g_Exts = +- " 7z xz lzma ace arc arj bz tbz bz2 tbz2 cab deb gz tgz ha lha lzh lzo lzx pak rar rpm sit zoo" ++ " 7z xz lzma ace arc arj bz tbz bz2 tbz2 cab deb gz tgz ha lha lzh lzo lzx pak rpm sit zoo" + " zip jar ear war msi" + " 3gp avi mov mpeg mpg mpe wmv" + " aac ape fla flac la mp3 m4a mp4 ofr ogg pac ra rm rka shn swa tta wv wma wav" +diff --git a/CPP/7zip/Bundles/Format7zFree/makefile.list b/CPP/7zip/Bundles/Format7zFree/makefile.list +index da2056b..1dcf1a5 100644 +--- a/CPP/7zip/Bundles/Format7zFree/makefile.list ++++ b/CPP/7zip/Bundles/Format7zFree/makefile.list +@@ -87,8 +87,6 @@ SRCS=\ + ../../../../CPP/7zip/Archive/PeHandler.cpp \ + ../../../../CPP/7zip/Archive/PpmdHandler.cpp \ + ../../../../CPP/7zip/Archive/QcowHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp \ + ../../../../CPP/7zip/Archive/RpmHandler.cpp \ + ../../../../CPP/7zip/Archive/SplitHandler.cpp \ + ../../../../CPP/7zip/Archive/SquashfsHandler.cpp \ +@@ -191,9 +189,6 @@ SRCS=\ + ../../../../CPP/7zip/Crypto/MyAesReg.cpp \ + ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp \ + ../../../../CPP/7zip/Crypto/RandGen.cpp \ +- ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp \ +- ../../../../CPP/7zip/Crypto/Rar5Aes.cpp \ +- ../../../../CPP/7zip/Crypto/RarAes.cpp \ + ../../../../CPP/7zip/Crypto/WzAes.cpp \ + ../../../../CPP/7zip/Crypto/ZipCrypto.cpp \ + ../../../../CPP/7zip/Crypto/ZipStrong.cpp \ +@@ -485,10 +480,6 @@ PpmdHandler.o : ../../../../CPP/7zip/Archive/PpmdHandler.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/PpmdHandler.cpp + QcowHandler.o : ../../../../CPP/7zip/Archive/QcowHandler.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/QcowHandler.cpp +-RarHandler.o : ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp +- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp +-Rar5Handler.o : ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp +- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp + RpmHandler.o : ../../../../CPP/7zip/Archive/RpmHandler.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/RpmHandler.cpp + SplitHandler.o : ../../../../CPP/7zip/Archive/SplitHandler.cpp +@@ -693,12 +684,6 @@ Pbkdf2HmacSha1.o : ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp + RandGen.o : ../../../../CPP/7zip/Crypto/RandGen.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/RandGen.cpp +-Rar20Crypto.o : ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp +- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp +-Rar5Aes.o : ../../../../CPP/7zip/Crypto/Rar5Aes.cpp +- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Rar5Aes.cpp +-RarAes.o : ../../../../CPP/7zip/Crypto/RarAes.cpp +- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/RarAes.cpp + WzAes.o : ../../../../CPP/7zip/Crypto/WzAes.cpp + $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/WzAes.cpp + ZipCrypto.o : ../../../../CPP/7zip/Crypto/ZipCrypto.cpp +@@ -869,8 +854,6 @@ OBJS=\ + PeHandler.o \ + PpmdHandler.o \ + QcowHandler.o \ +- RarHandler.o \ +- Rar5Handler.o \ + RpmHandler.o \ + SplitHandler.o \ + SquashfsHandler.o \ +@@ -973,9 +956,6 @@ OBJS=\ + MyAesReg.o \ + Pbkdf2HmacSha1.o \ + RandGen.o \ +- Rar20Crypto.o \ +- Rar5Aes.o \ +- RarAes.o \ + WzAes.o \ + ZipCrypto.o \ + ZipStrong.o \ +diff --git a/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt b/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt +index 61f41f9..adc7117 100644 +--- a/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt ++++ b/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt +@@ -126,8 +126,6 @@ add_library(7z MODULE + "../../../../CPP/7zip/Archive/PeHandler.cpp" + "../../../../CPP/7zip/Archive/PpmdHandler.cpp" + "../../../../CPP/7zip/Archive/QcowHandler.cpp" +- "../../../../CPP/7zip/Archive/Rar/RarHandler.cpp" +- "../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp" + "../../../../CPP/7zip/Archive/RpmHandler.cpp" + "../../../../CPP/7zip/Archive/SplitHandler.cpp" + "../../../../CPP/7zip/Archive/SquashfsHandler.cpp" +@@ -230,9 +228,6 @@ add_library(7z MODULE + "../../../../CPP/7zip/Crypto/MyAesReg.cpp" + "../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp" + "../../../../CPP/7zip/Crypto/RandGen.cpp" +- "../../../../CPP/7zip/Crypto/Rar20Crypto.cpp" +- "../../../../CPP/7zip/Crypto/Rar5Aes.cpp" +- "../../../../CPP/7zip/Crypto/RarAes.cpp" + "../../../../CPP/7zip/Crypto/WzAes.cpp" + "../../../../CPP/7zip/Crypto/ZipCrypto.cpp" + "../../../../CPP/7zip/Crypto/ZipStrong.cpp" +diff --git a/CPP/7zip/Crypto/Sha1Cls.h b/CPP/7zip/Crypto/Sha1Cls.h +index 71acbde..cde4a57 100644 +--- a/CPP/7zip/Crypto/Sha1Cls.h ++++ b/CPP/7zip/Crypto/Sha1Cls.h +@@ -28,7 +28,6 @@ class CContext: public CContextBase + { + public: + void Update(const Byte *data, size_t size) throw() { Sha1_Update(&_s, data, size); } +- void UpdateRar(Byte *data, size_t size /* , bool rar350Mode */) throw() { Sha1_Update_Rar(&_s, data, size /* , rar350Mode ? 1 : 0 */); } + void Final(Byte *digest) throw() { Sha1_Final(&_s, digest); } + }; + +diff --git a/CPP/7zip/Guid.txt b/CPP/7zip/Guid.txt +index 7edab6e..cc22992 100644 +--- a/CPP/7zip/Guid.txt ++++ b/CPP/7zip/Guid.txt +@@ -151,7 +151,6 @@ Handler GUIDs: + + 01 Zip + 02 BZip2 +- 03 Rar + 04 Arj + 05 Z + 06 Lzh +@@ -168,7 +167,6 @@ Handler GUIDs: + C9 VDI + CA Qcow + CB GPT +- CC Rar5 + CD IHex + CE Hxs + CF TE +diff --git a/CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro b/CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro +index afa36d4..93c45c7 100644 +--- a/CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro ++++ b/CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro +@@ -137,8 +137,6 @@ SOURCES += \ + ../../../../CPP/7zip/Archive/PeHandler.cpp \ + ../../../../CPP/7zip/Archive/PpmdHandler.cpp \ + ../../../../CPP/7zip/Archive/QcowHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp \ + ../../../../CPP/7zip/Archive/RpmHandler.cpp \ + ../../../../CPP/7zip/Archive/SplitHandler.cpp \ + ../../../../CPP/7zip/Archive/SquashfsHandler.cpp \ +@@ -241,9 +239,6 @@ SOURCES += \ + ../../../../CPP/7zip/Crypto/MyAesReg.cpp \ + ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp \ + ../../../../CPP/7zip/Crypto/RandGen.cpp \ +- ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp \ +- ../../../../CPP/7zip/Crypto/Rar5Aes.cpp \ +- ../../../../CPP/7zip/Crypto/RarAes.cpp \ + ../../../../CPP/7zip/Crypto/WzAes.cpp \ + ../../../../CPP/7zip/Crypto/ZipCrypto.cpp \ + ../../../../CPP/7zip/Crypto/ZipStrong.cpp \ +diff --git a/CPP/7zip/QMAKE/all.pro b/CPP/7zip/QMAKE/all.pro +index a565ba8..6668619 100644 +--- a/CPP/7zip/QMAKE/all.pro ++++ b/CPP/7zip/QMAKE/all.pro +@@ -4,7 +4,6 @@ SUBDIRS = 7za \ + 7zr \ + 7z_ \ + Format7zFree \ +- Rar \ + Lzham \ + test_lib + +diff --git a/CPP/7zip/UI/Client7z/Client7z.cpp b/CPP/7zip/UI/Client7z/Client7z.cpp +index d0eca6d..7f4e6e2 100644 +--- a/CPP/7zip/UI/Client7z/Client7z.cpp ++++ b/CPP/7zip/UI/Client7z/Client7z.cpp +@@ -32,7 +32,7 @@ HINSTANCE g_hInstance = 0; + #endif + + // Tou can find the list of all GUIDs in Guid.txt file. +-// use another CLSIDs, if you want to support other formats (zip, rar, ...). ++// use another CLSIDs, if you want to support other formats (zip, ...). + // {23170F69-40C1-278A-1000-000110070000} + + DEFINE_GUID(CLSID_CFormat7z, +diff --git a/CPP/7zip/UI/Common/LoadCodecs.h b/CPP/7zip/UI/Common/LoadCodecs.h +index ac9eeac..076bd1c 100644 +--- a/CPP/7zip/UI/Common/LoadCodecs.h ++++ b/CPP/7zip/UI/Common/LoadCodecs.h +@@ -158,7 +158,6 @@ struct CArcInfoEx + void AddExts(const UString &ext, const UString &addExt); + + bool IsSplit() const { return StringsAreEqualNoCase_Ascii(Name, "Split"); } +- // bool IsRar() const { return StringsAreEqualNoCase_Ascii(Name, "Rar"); } + + CArcInfoEx(): + Flags(0), +diff --git a/CPP/7zip/UI/Common/OpenArchive.cpp b/CPP/7zip/UI/Common/OpenArchive.cpp +index 7d5b0c4..88ea5ab 100644 +--- a/CPP/7zip/UI/Common/OpenArchive.cpp ++++ b/CPP/7zip/UI/Common/OpenArchive.cpp +@@ -1063,7 +1063,6 @@ static const char * const k_Formats_with_simple_signuature[] = + { + "7z" + , "xz" +- , "rar" + , "bzip2" + , "gzip" + , "cab" +@@ -1720,29 +1719,6 @@ HRESULT CArc::OpenStream2(const COpenOptions &op) + { + // signature search was here + } +- else if (extension.IsEqualTo("000") || extension.IsEqualTo("001")) +- { +- int i = FindFormatForArchiveType(op.codecs, orderIndices, "rar"); +- if (i >= 0) +- { +- const size_t kBufSize = (1 << 10); +- byteBuffer.Alloc(kBufSize); +- size_t processedSize = kBufSize; +- RINOK(ReadStream(op.stream, byteBuffer, &processedSize)); +- if (processedSize >= 16) +- { +- const Byte *buf = byteBuffer; +- const Byte kRarHeader[] = { 0x52 , 0x61, 0x72, 0x21, 0x1a, 0x07, 0x00 }; +- if (TestSignature(buf, kRarHeader, 7) && buf[9] == 0x73 && (buf[10] & 1) != 0) +- { +- orderIndices2.Add(orderIndices[i]); +- orderIndices[i] = -1; +- if (i >= (int)numFinded) +- numFinded++; +- } +- } +- } +- } + else + { + const size_t kBufSize = (1 << 10); +diff --git a/CPP/7zip/UI/FileManager/FM_rc.cpp b/CPP/7zip/UI/FileManager/FM_rc.cpp +index 83578ed..034feed 100644 +--- a/CPP/7zip/UI/FileManager/FM_rc.cpp ++++ b/CPP/7zip/UI/FileManager/FM_rc.cpp +@@ -821,8 +821,6 @@ REGISTER_STRINGTABLE(g_stringTable) + + ///////////////////////////////////////////////////// + +-#include "res/ParentFolder.h" +- + SevenZipPanel::SevenZipPanel(MyFrame *frame, wxWindow *parent,int id,int panelIndex) : + wxPanel(parent,id) , m_frame(frame), _wList(0) + { +@@ -840,7 +838,7 @@ REGISTER_STRINGTABLE(g_stringTable) + int sizes[] = {150, 250, 350, -1}; + wxArrayString pathArray; + wxBoxSizer *pPathSizer = new wxBoxSizer(wxHORIZONTAL); +- m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxGetBitmapFromMemory(PARENT_FOLDER), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); ++ m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxArtProvider::GetBitmap(wxART_GO_DIR_UP, wxART_TOOLBAR, wxDefaultSize), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); + m_pComboBoxPath = new wxComboBox(this, _comboBoxID, wxEmptyString, wxDefaultPosition, wxSize(300,-1), pathArray, wxCB_DROPDOWN | wxCB_SORT ); + pPathSizer->Add(m_pBmpButtonParentFolder, 0, wxALL|wxEXPAND, 0); + pPathSizer->Add(m_pComboBoxPath, 1, wxALL|wxEXPAND, 5); +diff --git a/CPP/ANDROID/Format7zFree/jni/Android.mk b/CPP/ANDROID/Format7zFree/jni/Android.mk +index 7c74e73..48cb4fa 100644 +--- a/CPP/ANDROID/Format7zFree/jni/Android.mk ++++ b/CPP/ANDROID/Format7zFree/jni/Android.mk +@@ -91,8 +91,6 @@ LOCAL_SRC_FILES := \ + ../../../../CPP/7zip/Archive/PeHandler.cpp \ + ../../../../CPP/7zip/Archive/PpmdHandler.cpp \ + ../../../../CPP/7zip/Archive/QcowHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp \ +- ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp \ + ../../../../CPP/7zip/Archive/RpmHandler.cpp \ + ../../../../CPP/7zip/Archive/SplitHandler.cpp \ + ../../../../CPP/7zip/Archive/SquashfsHandler.cpp \ +@@ -195,9 +193,6 @@ LOCAL_SRC_FILES := \ + ../../../../CPP/7zip/Crypto/MyAesReg.cpp \ + ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp \ + ../../../../CPP/7zip/Crypto/RandGen.cpp \ +- ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp \ +- ../../../../CPP/7zip/Crypto/Rar5Aes.cpp \ +- ../../../../CPP/7zip/Crypto/RarAes.cpp \ + ../../../../CPP/7zip/Crypto/WzAes.cpp \ + ../../../../CPP/7zip/Crypto/ZipCrypto.cpp \ + ../../../../CPP/7zip/Crypto/ZipStrong.cpp \ +diff --git a/ChangeLog b/ChangeLog +index daabd8e..f2a01d6 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -28,7 +28,6 @@ Version 16.00 (never published) + - 7z update bcj bugs were fixed. + - split (aaa.001) fixed + - iso loop fix +- - rar4 multivol -stdin kpidSize + - drag and drop 1<2.txt + - memory access violation fix + +@@ -80,11 +79,6 @@ Version 15.12 (never published) + - "There are no errors" string after "Test" operation inside archive. + - The bugs in LZMA SDK were fixed (but these bugs are not related directly to 7-Zip's code). + +- +- - From Windows version of 7-Zip 15.11 : +- - Some bugs were fixed. +- - 7-Zip 15.10 showed incorrect error message about missing volume for multivolume RAR archives. +- + - ..../LZHAM added + + +@@ -104,9 +98,6 @@ Version 15.10 beta + version (-m switch). + - Some bugs were fixed. + - extracting from solid wim archives worked incorrectly in some cases, +- - Also there are some minor changes. +- - 7-Zip can show the name of missing volume for multivolume RAR and VMDK archives. +- - Some internal changes with 7-Zip Benchmark. + + Version 15.09 beta + ================== +@@ -128,8 +119,6 @@ Version 15.08 beta + Version 15.07 beta + ================== + +- - "bin/Codecs/Rar29.so" renamed to "bin/Codecs/Rar.so" +- + - support for cygwin 64 bits + + - support for cygwin 64 bits with asm +@@ -153,15 +142,12 @@ Version 15.07 beta + + - From Windows version of 7-zip 15.06 beta: + +- - 7-Zip now can extract RAR5 archives. + - 7-Zip now doesn't sort files by type while adding to solid 7z archive. + new -mqs switch to sort files by type while adding to solid 7z archive. + - The BUG in 7-Zip File Manager was fixed: + The "Move" operation to open 7z archive didn't delete empty files. + - The BUG in 15.05 was fixed: + console version added some text to the end of stdout stream, is -so switch was used. +- - The BUG in 9.30 - 15.05 was fixed: +- 7-Zip could not open multivolume sfx RAR archive. + - Some bugs were fixed. + + - From Windows version of 7-zip 15.05 beta: +@@ -214,9 +200,6 @@ Version 9.38 + - bug #139 "password from commanline is visible in processes list" + Now the characters of the password are replaced with *. + +- - From Windows version of 7-zip +- - bug#138 If you extract the password with # program crashes +- 7z now supports long password in RAR 3 and 4. + + + +@@ -247,12 +230,6 @@ Version 9.22 + - #3283518 : Asm/x{32,64}/7zCrcT8U.asm introduces executable stack + + +-Version 9.20.1 +-============== +- +- - #3211479 "p7zip 9.20 - "unsupported method" with RAR files - " fixed +- "install.sh" installs again "bin/Codecs/Rar29.so" +- + Version 9.20 + ============ + +@@ -325,8 +302,6 @@ Version 9.13 + - Some bugs were fixed. + + +- - #2863580 "Crash in Rar decoder on a corrupted file" fixed +- + - #2860898 "Dereferencing a zero pointer in cab handler" fixed + + - #2860679 "Division by zero in cab decoder" fixed +@@ -455,7 +430,7 @@ Version 4.59 (never published) + - It's allowed to use -t switch for "list" and "extract" commands. + - Some bugs were fixed. + +- - Bug : wrong timestamp for files extracted from .zip or .rar archives ++ - Bug : wrong timestamp for files extracted from .zip archives + + + Version 4.58 +@@ -468,8 +443,6 @@ Version 4.58 + 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols. + 3) -mcl switch: 7-Zip uses local code page. + - Now it's possible to store file creation time in 7z and ZIP archives (-mtc switch). +- - 7-Zip now can unpack multivolume RAR archives created with +- "old style volume names" scheme and names *.001, *.002, ... + - Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on + - Some bugs were fixed. + +@@ -685,7 +658,7 @@ Version 4.44 + + - From Windows version of 7-zip 4.44 : + - 7za : Cab support +- - Speed optimizations for LZMA, Deflate, BZip2 and unRAR. ++ - Speed optimizations for LZMA, Deflate and BZip2. + - fix : now, updating a crypted header archive keeps the crypted header + + - fixes in the help displayed by 7za/7z/7zr. +@@ -805,8 +778,6 @@ Version 4.38 + + - patch #1465026 - Patch for install.sh for packagers + +- - DosDateTimeToFileTime fixed (rar format) +- + - contrib/VirtualFileSystemForMidnightCommander/u7z updated + (thank sgh_punk) + +@@ -923,8 +894,6 @@ Version 4.25 + - Some bugs were fixed + - DOCS/MANUAL/exit_codes.htm added + +- - new plugin for 7z : RAR format support (extracting only) +- + - better dependencies in makefile + + Version 4.23 +@@ -1112,9 +1081,6 @@ Version 4.10 + - new port of 7za from the source of 7za 4.10Beta for Windows + => p7zip now work on big endian CPU. + +- - 7z for Unix is not maintain anymore (because as the source of unrar plugin for 7z +- is not available, 7z is unless on Unix). +- + Version 0.91 + ============ + - add support for FreeBSD 5.2.1 +diff --git a/DOC/License.txt b/DOC/License.txt +index 0bcbe26..5b0dfaa 100644 +--- a/DOC/License.txt ++++ b/DOC/License.txt +@@ -5,15 +5,6 @@ + + 7-Zip Copyright (C) 1999-2016 Igor Pavlov. + +- Licenses for files are: +- +- 1) CPP/7zip/Compress/Rar* files: GNU LGPL + unRAR restriction +- 2) All other files: GNU LGPL +- +- The GNU LGPL + unRAR restriction means that you must follow both +- GNU LGPL rules and unRAR restriction rules. +- +- + GNU LGPL information + -------------------- + +@@ -33,21 +24,5 @@ + USA + + +- unRAR restriction +- ----------------- +- +- The decompression engine for RAR archives was developed using source +- code of unRAR program. +- All copyrights to original unRAR code are owned by Alexander Roshal. +- +- The license for original unRAR code has the following restriction: +- +- The unRAR sources cannot be used to re-create the RAR compression algorithm, +- which is proprietary. Distribution of modified unRAR sources in separate form +- or as a part of other software is permitted, provided that it is clearly +- stated in the documentation and source comments that the code may +- not be used to develop a RAR (WinRAR) compatible archiver. +- +- + -- + Igor Pavlov +diff --git a/DOC/MANUAL/cmdline/switches/update.htm b/DOC/MANUAL/cmdline/switches/update.htm +index 27385b1..0190fc1 100644 +--- a/DOC/MANUAL/cmdline/switches/update.htm ++++ b/DOC/MANUAL/cmdline/switches/update.htm +@@ -139,7 +139,7 @@ someone in another time zone.

+
  • UTC file systems: NTFS +
  • UTC archive formats: .zip with -mtc switch, 7z, tar, gzip2, iso, wim +
  • Local time file systems : FAT, FAT32 +-
  • Local time archive formats : rar, zip, cab ++
  • Local time archive formats : zip, cab + + +

    Examples

    +diff --git a/DOC/MANUAL/general/formats.htm b/DOC/MANUAL/general/formats.htm +index 7996c5c..cd01bd6 100644 +--- a/DOC/MANUAL/general/formats.htm ++++ b/DOC/MANUAL/general/formats.htm +@@ -47,7 +47,6 @@ + NSIS nsis + NTFS ntfs img + MBR mbr +- RAR rar r00 + RPM rpm + PPMD ppmd + QCOW2 qcow qcow2 qcow2c +diff --git a/DOC/Methods.txt b/DOC/Methods.txt +index 1a1c54c..daa94e2 100644 +--- a/DOC/Methods.txt ++++ b/DOC/Methods.txt +@@ -97,12 +97,6 @@ List of defined IDs + 02 - + 02 - BZip2 + +- 03 - [Rar] +- 01 - Rar1 +- 02 - Rar2 +- 03 - Rar3 +- 05 - Rar5 +- + 04 - [Arj] + 01 - Arj(1,2,3) + 02 - Arj4 +@@ -146,10 +140,6 @@ List of defined IDs + 01 - [Zip] + 01 - ZipCrypto (Main Zip crypto algo) + +- 03 - [RAR] +- 02 - +- 03 - Rar29AES (AES-128 + modified SHA-1) +- + 07 - [7z] + 01 - 7zAES (AES-256 + SHA-256) + +diff --git a/DOC/readme.txt b/DOC/readme.txt +index 4a6998c..00591d4 100644 +--- a/DOC/readme.txt ++++ b/DOC/readme.txt +@@ -9,30 +9,9 @@ + License Info + ------------ + +-7-Zip is free software distributed under the GNU LGPL +-(except for unRar code). ++7-Zip is free software distributed under the GNU LGPL. + read License.txt for more infomation about license. + +-Notes about unRAR license: +- +-Please check main restriction from unRar license: +- +- 2. The unRAR sources may be used in any software to handle RAR +- archives without limitations free of charge, but cannot be used +- to re-create the RAR compression algorithm, which is proprietary. +- Distribution of modified unRAR sources in separate form or as a +- part of other software is permitted, provided that it is clearly +- stated in the documentation and source comments that the code may +- not be used to develop a RAR (WinRAR) compatible archiver. +- +-In brief it means: +-1) You can compile and use compiled files under GNU LGPL rules, since +- unRAR license almost has no restrictions for compiled files. +- You can link these compiled files to LGPL programs. +-2) You can fix bugs in source code and use compiled fixed version. +-3) You can not use unRAR sources to re-create the RAR compression algorithm. +- +- + LZMA SDK + -------- + +@@ -96,7 +75,6 @@ DOC Documentation + --- + 7zFormat.txt - 7z format description + copying.txt - GNU LGPL license +- unRarLicense.txt - License for unRAR part of source code + src-history.txt - Sources history + Methods.txt - Compression method IDs + readme.txt - Readme file +diff --git a/DOC/src-history.txt b/DOC/src-history.txt +index 6b48c80..dda8057 100644 +--- a/DOC/src-history.txt ++++ b/DOC/src-history.txt +@@ -188,8 +188,6 @@ HISTORY of the 7-Zip source code + - 7-Zip now has 128 MB dictionary limit for 32-bit version: + It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2; + - TAR: 'D' link flag support. +-- 7-Zip now can unpack multivolume RAR archives created with +- "old style volume names" scheme (-vn switch) and names *.001, *.002, ... + - Fixed bugs: + - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\ + In case of move it removed original files. +@@ -200,8 +198,6 @@ HISTORY of the 7-Zip source code + 7-zip tries to delete all extra fileds (except for WzAES). + And that code could hang. + - 7-Zip GUI didn't suggest BZip2 dictionary size used in previous run. +- - If creation time stamp was included in .RAR archive, 7-zip used creation time stamp +- as modification time stamp. + + 4.58 alpha 2 2007-12-31 + ------------------------- +@@ -251,7 +247,6 @@ HISTORY of the 7-Zip source code + stratup code, or you must add CPP/Common/CRC.cpp to your project. + - Method ID in .7z now is 63-bit integer (UInt64). + - Open error messages +-- unRar 1.5 fixed + - unShrink fixed + - BUG of 4.43 beta and 4.44 beta was fixed. + 7-Zip compressing to .zip in multi-threading mode didn't work in some cases. +@@ -433,11 +428,6 @@ HISTORY of the 7-Zip source code + contains common resurces + + +-2.30 Beta 19 2002-04-11 +-------------------------- +-- SDK/Archive/Rar/Handler.cpp +- supporting RAR29 +- + 2.30 Beta 18 2002-03-25 + ------------------------- + - SDK/Archive/Cab/MSZipDecoder.cpp +diff --git a/GUI/Contents/Info.plist b/GUI/Contents/Info.plist +index 71650e1..d60b262 100644 +--- a/GUI/Contents/Info.plist ++++ b/GUI/Contents/Info.plist +@@ -311,24 +311,6 @@ + + CFBundleTypeExtensions + +- rar +- RAR +- .r00 +- +- CFBundleTypeIconFile +- p7zip +- CFBundleTypeName +- Rar +- CFBundleTypeRole +- Viewer +- LSTypeIsPackage +- +- NSPersistentStoreTypeKey +- XML +- +- +- CFBundleTypeExtensions +- + ace + ACE + .c00 +diff --git a/README b/README +index b76407f..c03917b 100644 +--- a/README ++++ b/README +@@ -8,7 +8,7 @@ p7zip is a port of the Windows programs 7z.exe and 7za.exe provided by 7-zip. + 7-zip is a file archiver with the highest compression ratio. + Homepage : www.7-zip.org + +- 7z uses plugins (7z.so and Codecs/Rar.so) to handle archives. ++ 7z uses plugins (7z.so) to handle archives. + 7za is a stand-alone executable (7za handles less archive formats than 7z). + 7zr is a light stand-alone executable that supports only 7z/LZMA/BCJ/BCJ2. + +@@ -63,7 +63,6 @@ BUILD : + make sfx : to build bin/7zCon.sfx (7za can now create SFX archive) + make 7z : to build bin/7z and its plugins : + - "bin/7z.so" (GNU LGPL + AES code license) +- - "bin/Codecs/Rar.so" (GNU LGPL + unRAR restriction) + make 7zr : to build bin/7zr + make all : to build bin/7za and bin/7zCon.sfx + make all2 : to build bin/7za, bin/7z (with its plugins) and bin/7zCon.sfx +@@ -74,7 +73,6 @@ BUILD : + + make 7zG : to build bin/7zG and its plugins : + - "bin/7z.so" (GNU LGPL + AES code license) +- - "bin/Codecs/Rar.so" (GNU LGPL + unRAR restriction) + make test_7zG : to test bin/7zG (extracting, archiving, ...) + + +diff --git a/Utils/bin_to_sources.py b/Utils/bin_to_sources.py +index 1be72ec..7da359a 100644 +--- a/Utils/bin_to_sources.py ++++ b/Utils/bin_to_sources.py +@@ -13,9 +13,6 @@ file0='Utils/file_7zCon_sfx.py' + dir0='CPP/7zip/UI/Console' + file0='Utils/file_7z.py' + +-dir0='CPP/7zip/Compress/Rar' +-file0='Utils/file_Codecs_Rar_so.py' +- + dir0='CPP/7zip/Bundles/Format7zFree' + file0='Utils/file_7z_so.py' + +diff --git a/Utils/file_7z_so.py b/Utils/file_7z_so.py +index 7ca9fff..43edb87 100644 +--- a/Utils/file_7z_so.py ++++ b/Utils/file_7z_so.py +@@ -111,8 +111,6 @@ files_cpp=[ + 'CPP/7zip/Archive/PeHandler.cpp', + 'CPP/7zip/Archive/PpmdHandler.cpp', + 'CPP/7zip/Archive/QcowHandler.cpp', +- 'CPP/7zip/Archive/Rar/RarHandler.cpp', +- 'CPP/7zip/Archive/Rar/Rar5Handler.cpp', + 'CPP/7zip/Archive/RpmHandler.cpp', + 'CPP/7zip/Archive/SplitHandler.cpp', + 'CPP/7zip/Archive/SquashfsHandler.cpp', +@@ -215,9 +213,6 @@ files_cpp=[ + 'CPP/7zip/Crypto/MyAesReg.cpp', + 'CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp', + 'CPP/7zip/Crypto/RandGen.cpp', +- 'CPP/7zip/Crypto/Rar20Crypto.cpp', +- 'CPP/7zip/Crypto/Rar5Aes.cpp', +- 'CPP/7zip/Crypto/RarAes.cpp', + 'CPP/7zip/Crypto/WzAes.cpp', + 'CPP/7zip/Crypto/ZipCrypto.cpp', + 'CPP/7zip/Crypto/ZipStrong.cpp', +diff --git a/Utils/generate.py b/Utils/generate.py +index 132024a..62c0456 100755 +--- a/Utils/generate.py ++++ b/Utils/generate.py +@@ -281,7 +281,6 @@ import file_7zr + import file_7zG + import file_7zFM + import file_7z_so +-import file_Codecs_Rar_so + import file_Codecs_Lzham_so + import file_LzmaCon + import file_Client7z +@@ -440,43 +439,6 @@ LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ + -I../../../include_windows + ''') + +-project_Codecs_Rar=Structure(name="Rar",name2="Rar", +- type=TYPE_DLL, +- need_AES=False, +- includedirs=includedirs_7za, +- defines=[ "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], +- files_c=file_Codecs_Rar_so.files_c, +- files_cpp=file_Codecs_Rar_so.files_cpp, +- cmake_end=''' +- +-find_library(DL_LIB dl) +- +-link_directories(${DL_LIB_PATH}) +- +-IF(APPLE) +- TARGET_LINK_LIBRARIES(Rar ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) +-ELSE(APPLE) +- IF(HAVE_PTHREADS) +- TARGET_LINK_LIBRARIES(Rar ${CMAKE_THREAD_LIBS_INIT} dl) +- ENDIF(HAVE_PTHREADS) +-ENDIF(APPLE) +- +-''', +-android_header=r''' +-LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ +- -DNDEBUG -D_REENTRANT -DENV_UNIX \ +- -DEXTERNAL_CODECS \ +- -DBREAK_HANDLER \ +- -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ +- -I../../../Windows \ +- -I../../../Common \ +- -I../../../../C \ +--I../../../myWindows \ +--I../../../ \ +--I../../../include_windows +-''') +- +- + + project_Codecs_Lzham=Structure(name="Lzham",name2="Lzham", + type=TYPE_DLL, +@@ -762,7 +724,6 @@ generate_makefile_list('../CPP/7zip/Bundles/Alone/makefile.list',project_7za) + generate_makefile_list('../CPP/7zip/Bundles/Alone7z/makefile.list',project_7zr) + generate_makefile_list('../CPP/7zip/UI/Console/makefile.list',project_7z) + generate_makefile_list('../CPP/7zip/Bundles/Format7zFree/makefile.list',project_Format7zFree) +-generate_makefile_list('../CPP/7zip/Compress/Rar/makefile.list',project_Codecs_Rar,'../../../../bin/Codecs') + generate_makefile_list('../CPP/7zip/Compress/Lzham/makefile.list',project_Codecs_Lzham,'../../../../bin/Codecs') + generate_makefile_list('../CPP/7zip/Bundles/SFXCon/makefile.list',project_7zCon_sfx) + generate_makefile_list('../CPP/7zip/UI/GUI/makefile.list',project_7zG) +@@ -776,7 +737,6 @@ generate_pro('../CPP/7zip/QMAKE/7za/7za.pro',project_7za) + generate_pro('../CPP/7zip/QMAKE/7zr/7zr.pro',project_7zr) + generate_pro('../CPP/7zip/QMAKE/7z_/7z_.pro',project_7z) + generate_pro('../CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro',project_Format7zFree) +-generate_pro('../CPP/7zip/QMAKE/Rar/Rar.pro',project_Codecs_Rar) + generate_pro('../CPP/7zip/QMAKE/Lzham/Lzham.pro',project_Codecs_Lzham) + + generate_premake4('../CPP/7zip/PREMAKE/premake4.lua',project_7za) +diff --git a/contrib/qnx630sp3/qnx630sp3-shared b/contrib/qnx630sp3/qnx630sp3-shared +index 6f5481f..ea07114 100644 +--- a/contrib/qnx630sp3/qnx630sp3-shared ++++ b/contrib/qnx630sp3/qnx630sp3-shared +@@ -8,7 +8,7 @@ mv ./bin/7z ../${BIN} && mv ./bin/7za ../${BIN} && mv ./bin/7zr ../${BIN} && mv + make clean && \ + cp makefile.qnx_shared.so makefile.machine && \ + make 7z && \ +-mv ./bin/7z.so ../${BIN} && mv ./bin/Codecs/Rar.so ../${BIN}/Codecs && \ ++mv ./bin/7z.so ../${BIN} && \ + make clean && \ + mv makefile.machine.bak makefile.machine + echo "All done - look for binaries in ../${BIN}" +diff --git a/makefile b/makefile +index 745c8ed..f8e8e33 100644 +--- a/makefile ++++ b/makefile +@@ -31,7 +31,6 @@ depend: + $(MAKE) -C CPP/7zip/UI/Client7z depend + $(MAKE) -C CPP/7zip/UI/Console depend + $(MAKE) -C CPP/7zip/Bundles/Format7zFree depend +- $(MAKE) -C CPP/7zip/Compress/Rar depend + $(MAKE) -C CPP/7zip/UI/GUI depend + $(MAKE) -C CPP/7zip/UI/FileManager depend + +@@ -42,7 +41,6 @@ sfx: common + common7z:common + $(MKDIR) bin/Codecs + $(MAKE) -C CPP/7zip/Bundles/Format7zFree all +- $(MAKE) -C CPP/7zip/Compress/Rar all + + lzham:common + $(MKDIR) bin/Codecs +@@ -67,7 +65,6 @@ clean_C: + $(MAKE) -C CPP/7zip/UI/FileManager clean + $(MAKE) -C CPP/7zip/UI/GUI clean + $(MAKE) -C CPP/7zip/Bundles/Format7zFree clean +- $(MAKE) -C CPP/7zip/Compress/Rar clean + $(MAKE) -C CPP/7zip/Compress/Lzham clean + $(MAKE) -C CPP/7zip/Bundles/LzmaCon clean2 + $(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean +diff --git a/makefile.oldmake b/makefile.oldmake +index afc681c..690af08 100644 +--- a/makefile.oldmake ++++ b/makefile.oldmake +@@ -31,7 +31,6 @@ depend: + cd CPP/7zip/UI/Client7z ; $(MAKE) depend + cd CPP/7zip/UI/Console ; $(MAKE) depend + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) depend +- cd CPP/7zip/Compress/Rar ; $(MAKE) depend + cd CPP/7zip/UI/GUI ; $(MAKE) depend + cd CPP/7zip/UI/FileManager ; $(MAKE) depend + +@@ -42,7 +41,6 @@ sfx: common + common7z:common + $(MKDIR) bin/Codecs + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) all +- cd CPP/7zip/Compress/Rar ; $(MAKE) all + + lzham:common + $(MKDIR) bin/Codecs +@@ -67,7 +65,6 @@ clean_C: + cd CPP/7zip/UI/FileManager ; $(MAKE) clean + cd CPP/7zip/UI/GUI ; $(MAKE) clean + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) clean +- cd CPP/7zip/Compress/Rar ; $(MAKE) clean + cd CPP/7zip/Compress/Lzham ; $(MAKE) clean + cd CPP/7zip/Bundles/LzmaCon ; $(MAKE) clean2 + cd CPP/7zip/Bundles/AloneGCOV ; $(MAKE) clean +diff --git a/makefile.qnx_shared.so b/makefile.qnx_shared.so +index abd1caf..cff5485 100644 +--- a/makefile.qnx_shared.so ++++ b/makefile.qnx_shared.so +@@ -1,5 +1,5 @@ + ################################################### +-# makefile.machine for "7z.so , Codecs/Rar.so" : ++# makefile.machine for "7z.so" : + # tested with p7zip-4.47_beta on qnx-6.3.0 sp3 x86 target + + OPTFLAGS=-O -s -- cgit 1.4.1 From 818db70872312c128b1a69466919b6dd8ec890b1 Mon Sep 17 00:00:00 2001 From: "John J. Foerch" Date: Wed, 3 Aug 2016 21:36:52 -0500 Subject: gnu: Add ola. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ola.scm (ola): New variable. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/lighting.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 gnu/packages/lighting.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 9132c94717..50363ef026 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libusb.scm \ %D%/packages/libunwind.scm \ %D%/packages/libupnp.scm \ + %D%/packages/lighting.scm \ %D%/packages/links.scm \ %D%/packages/linux.scm \ %D%/packages/lirc.scm \ diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm new file mode 100644 index 0000000000..5101fba208 --- /dev/null +++ b/gnu/packages/lighting.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 John J. Foerch +;;; +;;; 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 lighting) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages bison) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages gnunet) + #:use-module (gnu packages flex) + #:use-module (gnu packages libftdi) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf)) + +(define-public ola + (package + (name "ola") + (version "0.10.2") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/OpenLightingProject/ola/releases/download/" + version "/ola-" version ".tar.gz")) + (sha256 + (base32 + "09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq")))) + (build-system gnu-build-system) + (native-inputs + `(("bison" ,bison) + ("cppunit" ,cppunit) + ("flex" ,flex) + ("pkg-config" ,pkg-config))) + (inputs + `(("libftdi" ,libftdi) + ("libmicrohttpd" ,libmicrohttpd) + ("libusb" ,libusb) + ("libuuid" ,util-linux) + ("zlib" ,zlib))) + (propagated-inputs + `(("protobuf" ,protobuf))) ;; for pkg-config --libs libola + (arguments + `(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing + ;; build to fail on low memory systems. We disable that with the + ;; following configure flags. + #:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0"))) + (synopsis "Framework for controlling entertainment lighting equipment") + (description "The Open Lighting Architecture is a framework for lighting +control information. It supports a range of protocols and over a dozen USB +devices. It can run as a standalone service, which is useful for converting +signals between protocols, or alternatively using the OLA API, it can be used +as the backend for lighting control software. OLA runs on many different +platforms including ARM, which makes it a perfect fit for low cost Ethernet to +DMX gateways.") + (home-page "https://www.openlighting.org/ola") + (license license:lgpl2.1+))) -- cgit 1.4.1 From 935644c01ade149f33e1eeea9ed8647f229aa4d6 Mon Sep 17 00:00:00 2001 From: David Craven Date: Wed, 20 Jul 2016 13:17:48 +0200 Subject: services: Add sddm service. * gnu/services/sddm.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (@deftp, @deffn): Add documentation. --- doc/guix.texi | 103 ++++++++++++++++ gnu/local.mk | 1 + gnu/services/sddm.scm | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 422 insertions(+) create mode 100644 gnu/services/sddm.scm (limited to 'gnu/local.mk') diff --git a/doc/guix.texi b/doc/guix.texi index 2abb7b231a..59bc5d8ee0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8226,6 +8226,109 @@ Xorg---is provided by the @code{(gnu services xorg)} module. Note that there is no @code{xorg-service} procedure. Instead, the X server is started by the @dfn{login manager}, currently SLiM. +@deftp {Data Type} sddm-configuration +This is the data type representing the sddm service configuration. + +@table @asis +@item @code{display-server} (default: "x11") +Select display server to use for the greeter. Valid values are "x11" +or "wayland". + +@item @code{numlock} (default: "on") +Valid values are "on", "off" or "none". + +@item @code{halt-command} (default @code{#~(string-apppend #$shepherd "/sbin/halt")}) +Command to run when halting. + +@item @code{reboot-command} (default @code{#~(string-append #$shepherd "/sbin/reboot")}) +Command to run when rebooting. + +@item @code{theme} (default "maldives") +Theme to use. Default themes provided by SDDM are "elarun" or "maldives". + +@item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes") +Directory to look for themes. + +@item @code{faces-directory} (default "/run/current-system/profile/share/sddm/faces") +Directory to look for faces. + +@item @code{default-path} (default "/run/current-system/profile/bin") +Default PATH to use. + +@item @code{minimum-uid} (default 1000) +Minimum UID to display in SDDM. + +@item @code{maximum-uid} (default 2000) +Maximum UID to display in SDDM + +@item @code{remember-last-user?} (default #t) +Remember last user. + +@item @code{remember-last-session?} (default #t) +Remember last session. + +@item @code{hide-users} (default "") +Usernames to hide from SDDM greeter. + +@item @code{hide-shells} (default @code{#~(string-append #$shadow "/sbin/nologin")}) +Users with shells listed will be hidden from the SDDM greeter. + +@item @code{session-command} (default @code{#~(string-append #$sddm "/share/sddm/scripts/wayland-session")}) +Script to run before starting a wayland session. + +@item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions") +Directory to look for desktop files starting wayland sessions. + +@item @code{xorg-server-path} (default @code{xorg-start-command}) +Path to xorg-server. + +@item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")}) +Path to xauth. + +@item @code{xephyr-path} (default @code{#~(string-append #$xorg-server "/bin/Xephyr")}) +Path to Xephyr. + +@item @code{xdisplay-start} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xsetup")}) +Script to run after starting xorg-server. + +@item @code{xdisplay-stop} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xstop")}) +Script to run before stopping xorg-server. + +@item @code{xsession-command} (default: @code{xinitr }) +Script to run before starting a X session. + +@item @code{xsessions-directory} (default: "/run/current-system/profile/share/xsessions") +Directory to look for desktop files starting X sessions. + +@item @code{minimum-vt} (default: 7) +Minimum VT to use. + +@item @code{xserver-arguments} (default "-nolisten tcp") +Arguments to pass to xorg-server. + +@item @code{auto-login-user} (default "") +User to use for auto-login. + +@item @code{auto-login-session} (default "") +Desktop file to use for auto-login. + +@item @code{relogin?} (default #f) +Relogin after logout. + +@end table +@end deftp + +@deffn {Scheme Procedure} sddm-service config +Return a service that spawns the SDDM graphical login manager for config of +type @code{}. + +@example + (sddm-service (sddm-configuration + (auto-login-user "Alice") + (auto-login-session "xfce.desktop"))) +@end example +@end deffn + @deffn {Scheme Procedure} slim-service [#:allow-empty-passwords? #f] @ [#:auto-login? #f] [#:default-user ""] [#:startx] @ [#:theme @var{%default-slim-theme}] @ diff --git a/gnu/local.mk b/gnu/local.mk index 50363ef026..0a9b831aa1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -391,6 +391,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/networking.scm \ %D%/services/shepherd.scm \ %D%/services/herd.scm \ + %D%/services/sddm.scm \ %D%/services/spice.scm \ %D%/services/ssh.scm \ %D%/services/web.scm \ diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm new file mode 100644 index 0000000000..ab6672b0e5 --- /dev/null +++ b/gnu/services/sddm.scm @@ -0,0 +1,318 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 David Craven +;;; +;;; 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 services sddm) + #:use-module (gnu packages admin) + #:use-module (gnu packages display-managers) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages xorg) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu services xorg) + #:use-module (gnu system pam) + #:use-module (gnu system shadow) + #:use-module (guix gexp) + #:use-module (guix records) + #:export (sddm-configuration + sddm-confiugration? + sddm-service-type + sddm-service)) + +(define-record-type* + sddm-configuration make-sddm-configuration + sddm-configuration? + (sddm sddm-configuration-sddm + (default sddm)) + + ;; [General] + ;; valid values are x11 and wayland + ;; currently doesn't do anything is enabled by wayland greeter PR + (display-server sddm-configuration-display-server + (default "x11")) + ;; valid values are on, off or none + (numlock sddm-configuration-numlock + (default "on")) + (halt-command sddm-configuration-halt-command + (default #~(string-append #$shepherd "/sbin/halt"))) + (reboot-command sddm-configuration-reboot-command + (default #~(string-append #$shepherd "/sbin/reboot"))) + + ;; [Theme] + ;; valid values are elarun or maldives + (theme sddm-configuration-theme + (default "maldives")) + (themes-directory sddm-configuration-themes-directory + (default "/run/current-system/profile/share/sddm/themes")) + (faces-directory sddm-configuration-faces-directory + (default "/run/current-system/profile/share/sddm/faces")) + + ;; [Users] + (default-path sddm-configuration-default-path + (default "/run/current-system/profile/bin")) + (minimum-uid sddm-configuration-minimum-uid + (default 1000)) + (maximum-uid sddm-configuration-maximum-uid + (default 2000)) + (remember-last-user? sddm-configuration-remember-last-user? + (default #t)) + (remember-last-session? sddm-configuration-remember-last-session? + (default #t)) + (hide-users sddm-configuration-hide-users + (default "")) + (hide-shells sddm-configuration-hide-shells + (default #~(string-append #$shadow "/sbin/nologin"))) + + ;; [Wayland] + (session-command sddm-configuration-session-command + (default #~(string-append #$sddm "/share/sddm/scripts/wayland-session"))) + (sessions-directory sddm-configuration-sessions-directory + (default "/run/current-system/profile/share/wayland-sessions")) + ;; [X11] + (xorg-server-path sddm-configuration-xorg-server-path + (default (xorg-start-command))) + (xauth-path sddm-configuration-xauth-path + (default #~(string-append #$xauth "/bin/xauth"))) + (xephyr-path sddm-configuration-xephyr-path + (default #~(string-append #$xorg-server "/bin/Xephyr"))) + (xdisplay-start sddm-configuration-xdisplay-start + (default #~(string-append #$sddm "/share/sddm/scripts/Xsetup"))) + (xdisplay-stop sddm-configuration-xdisplay-stop + (default #~(string-append #$sddm "/share/sddm/scripts/Xstop"))) + (xsession-command sddm-configuration-xsession-command + (default (xinitrc))) + (xsessions-directory sddm-configuration-xsessions-directory + (default "/run/current-system/profile/share/xsessions")) + (minimum-vt sddm-configuration-minimum-vt + (default 7)) + (xserver-arguments sddm-configuration-xserver-arguments + (default "-nolisten tcp")) + + ;; [Autologin] + (auto-login-user sddm-configuration-auto-login-user + (default "")) + ;; valid values are xfce.desktop gnome.desktop weston.desktop hawaii.desktop + (auto-login-session sddm-configuration-auto-login-session + (default "")) + (relogin? sddm-configuration-relogin? + (default #f))) + +(define (sddm-configuration-file config) + (mixed-text-file "sddm.conf" " +[General] +DisplayServer=" (sddm-configuration-display-server config) " +Numlock=" (sddm-configuration-numlock config) " +HaltCommand=" (sddm-configuration-halt-command config) " +RebootCommand=" (sddm-configuration-reboot-command config) " + +[Users] +DefaultPath=" (sddm-configuration-default-path config) " +MinimumUid=" (number->string (sddm-configuration-minimum-uid config))" +MaximumUid=" (number->string (sddm-configuration-maximum-uid config))" +RememberLastUser=" (if (sddm-configuration-remember-last-user? config) + "true" "false") " +RememberLastSession=" (if (sddm-configuration-remember-last-session? config) + "true" "false") " +HideUsers=" (sddm-configuration-hide-users config) " +Hideshells=" (sddm-configuration-hide-shells config) " + +[Theme] +Current=" (sddm-configuration-theme config) " +ThemeDir=" (sddm-configuration-themes-directory config) " +FacesDir=" (sddm-configuration-faces-directory config) " + +[Wayland] +SessionCommand=" (sddm-configuration-session-command config) " +SessionDir=" (sddm-configuration-sessions-directory config) " + +[X11] +ServerPath=" (sddm-configuration-xorg-server-path config) " +XauthPath=" (sddm-configuration-xauth-path config) " +XephyrPath=" (sddm-configuration-xephyr-path config) " +DisplayCommand=" (sddm-configuration-xdisplay-start config) " +DisplayStopCommand=" (sddm-configuration-xdisplay-stop config) " +SessionCommand=" (sddm-configuration-xsession-command config) " +SessionDir=" (sddm-configuration-xsessions-directory config) " +MinimumVT=" (number->string (sddm-configuration-minimum-vt config)) " +ServerArguments=" (sddm-configuration-xserver-arguments config) " + +[Autologin] +User=" (sddm-configuration-auto-login-user config) " +Session=" (sddm-configuration-auto-login-session config) " +Relogin=" (if (sddm-configuration-relogin? config) + "true" "false") " +")) + +(define (sddm-shepherd-service config) + "Return a for sddm with CONFIG." + + (define sddm-command + #~(list (string-append #$(sddm-configuration-sddm config) "/bin/sddm"))) + + (list (shepherd-service + (documentation "SDDM display manager.") + (requirement '(user-processes)) + (provision '(display-manager)) + (start #~(make-forkexec-constructor #$sddm-command)) + (stop #~(make-kill-destructor))))) + +(define (sddm-etc-service config) + (list `("sddm.conf" ,(sddm-configuration-file config)))) + +(define (sddm-pam-service) + "Return a PAM service for @command{sddm}." + (pam-service + (name "sddm") + (auth + (list + (pam-entry + (control "requisite") + (module "pam_nologin.so")) + (pam-entry + (control "required") + (module "pam_env.so")) + (pam-entry + (control "required") + (module "pam_succeed_if.so") + (arguments (list "uid >= 1000" "quiet"))) + ;; should be factored out into system-auth + (pam-entry + (control "required") + (module "pam_unix.so")))) + (account + (list + ;; should be factored out into system-account + (pam-entry + (control "required") + (module "pam_unix.so")))) + (password + (list + ;; should be factored out into system-password + (pam-entry + (control "required") + (module "pam_unix.so") + (arguments (list "sha512" "shadow" "try_first_pass"))))) + (session + (list + ;; lfs has a required pam_limits.so + ;; should be factored out into system-session + (pam-entry + (control "required") + (module "pam_unix.so")))))) + +(define (sddm-greeter-pam-service) + "Return a PAM service for @command{sddm-greeter}." + (pam-service + (name "sddm-greeter") + (auth + (list + ;; Load environment form /etc/environment and ~/.pam_environment + (pam-entry + (control "required") + (module "pam_env.so")) + ;; Always let the greeter start without authentication + (pam-entry + (control "required") + (module "pam_permit.so")))) + (account + (list + ;; No action required for account management + (pam-entry + (control "required") + (module "pam_permit.so")))) + (password + (list + ;; Can't change password + (pam-entry + (control "required") + (module "pam_deny.so")))) + (session + (list + ;; Setup session + (pam-entry + (control "required") + (module "pam_unix.so")))))) + +(define (sddm-autologin-pam-service) + "Return a PAM service for @command{sddm-autologin}" + (pam-service + (name "sddm-autologin") + (auth + (list + (pam-entry + (control "requisite") + (module "pam_nologin.so")) + (pam-entry + (control "required") + (module "pam_succeed_if.so") + (arguments (list "uid >= 1000" "quiet"))) + (pam-entry + (control "required") + (module "pam_permit.so")))) + (account + (list + (pam-entry + (control "include") + (module "sddm")))) + (password + (list + (pam-entry + (control "required") + (module "pam_deny.so")))) + (session + (list + (pam-entry + (control "include") + (module "sddm")))))) + +(define (sddm-pam-services config) + (list (sddm-pam-service) + (sddm-greeter-pam-service) + (sddm-autologin-pam-service))) + +(define %sddm-accounts + (list (user-group (name "sddm") (system? #t)) + (user-account + (name "sddm") + (group "sddm") + (system? #t) + (comment "SDDM user") + (home-directory "/var/lib/sddm") + (shell #~(string-append #$shadow "/sbin/nologin"))))) + +;; Add default themes to profile +(define sddm-profile-service + (compose list sddm-configuration-sddm)) + +(define sddm-service-type + (service-type (name 'sddm) + (extensions + (list (service-extension shepherd-root-service-type + sddm-shepherd-service) + (service-extension etc-service-type + sddm-etc-service) + (service-extension pam-root-service-type + sddm-pam-services) + (service-extension account-service-type + (const %sddm-accounts)) + (service-extension profile-service-type + sddm-profile-service))))) + +(define* (sddm-service #:optional (config (sddm-configuration))) + "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} +with the given @var{config}, a @code{} object." + (service sddm-service-type config)) -- cgit 1.4.1 From 763899f0db923478c8b1b068fd61e06ae856c1fb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 2 Sep 2016 16:07:29 -0400 Subject: gnu: Add openssl-next. * gnu/packages/tls.scm (openssl-next): New variable. * gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../patches/openssl-1.1.0-c-rehash-in.patch | 19 ++++++++++++ gnu/packages/tls.scm | 35 ++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 0a9b831aa1..bcd96ae0d6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -702,6 +702,7 @@ dist_patch_DATA = \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \ %D%/packages/patches/openssl-runpath.patch \ + %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-CVE-2016-2177.patch \ %D%/packages/patches/openssl-CVE-2016-2178.patch \ diff --git a/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch b/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch new file mode 100644 index 0000000000..e3a982b7a8 --- /dev/null +++ b/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch @@ -0,0 +1,19 @@ +This patch removes the explicit reference to the 'perl' binary, +such that OpenSSL does not retain a reference to Perl. + +The 'c_rehash' program is seldom used, but it is used nonetheless +to create symbolic links to certificates, for instance in the 'nss-certs' +package. + +diff --git a/tools/c_rehash.in b/tools/c_rehash.in +index 2fef627..9d40eae 100644 +--- a/tools/c_rehash.in ++++ b/tools/c_rehash.in +@@ -1,4 +1,6 @@ +-#!{- $config{hashbangperl} -} ++eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' ++ & eval 'exec perl -wS "$0" $argv:q' ++ if 0; + + # {- join("\n# ", @autowarntext) -} + # Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 4b87150615..efc1190980 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -323,6 +323,41 @@ required structures.") (license license:openssl) (home-page "http://www.openssl.org/"))) +(define-public openssl-next + (package + (inherit openssl) + (name "openssl") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (list (string-append "ftp://ftp.openssl.org/source/" + name "-" version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/" name "-" version ".tar.gz"))) + (patches (search-patches "openssl-1.1.0-c-rehash-in.patch")) + (sha256 + (base32 + "10lcpmnxap9nw8ymdglys93cgkwd1lf1rz4fhq5whwhlmkwrzipm")))) + (outputs '("out" + "doc" ;1.3MiB of man3 pages + "static")) ; 5.5MiB of .a files + (arguments + (substitute-keyword-arguments (package-arguments openssl) + ((#:phases phases) + `(modify-phases ,phases + (delete 'patch-tests) ; These two phases are not needed by + (delete 'patch-Makefile.org) ; OpenSSL 1.1.0. + + (add-after 'configure 'patch-runpath + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (substitute* "Makefile.shared" + (("\\$\\$\\{SHAREDCMD\\} \\$\\$\\{SHAREDFLAGS\\}") + (string-append "$${SHAREDCMD} $${SHAREDFLAGS}" + " -Wl,-rpath," lib))) + #t))))))))) + (define-public libressl (package (name "libressl") -- cgit 1.4.1 From 3ed3c105e3aef11f21d2e50a529389c0e5aa5555 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 6 Sep 2016 14:02:20 -0400 Subject: gnu: slock: Fix CVE-2016-6866. * gnu/packages/patches/slock-CVE-2016-6866.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/suckless.scm (slock): Use it. --- gnu/local.mk | 1 + gnu/packages/patches/slock-CVE-2016-6866.patch | 51 ++++++++++++++++++++++++++ gnu/packages/suckless.scm | 1 + 3 files changed, 53 insertions(+) create mode 100644 gnu/packages/patches/slock-CVE-2016-6866.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index bcd96ae0d6..69e516cea3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -790,6 +790,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ %D%/packages/patches/slim-sigusr1.patch \ + %D%/packages/patches/slock-CVE-2016-6866.patch \ %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \ %D%/packages/patches/soprano-find-clucene.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ diff --git a/gnu/packages/patches/slock-CVE-2016-6866.patch b/gnu/packages/patches/slock-CVE-2016-6866.patch new file mode 100644 index 0000000000..2f94b8c1a9 --- /dev/null +++ b/gnu/packages/patches/slock-CVE-2016-6866.patch @@ -0,0 +1,51 @@ +Fix CVE-2016-6866. + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6866 +https://security-tracker.debian.org/tracker/CVE-2016-6866 + +Copied from upstream source repository: +http://git.suckless.org/slock/commit/?id=d8bec0f6fdc8a246d78cb488a0068954b46fcb29 + +From d8bec0f6fdc8a246d78cb488a0068954b46fcb29 Mon Sep 17 00:00:00 2001 +From: Markus Teich +Date: Tue, 30 Aug 2016 22:59:06 +0000 +Subject: fix CVE-2016-6866 + +--- +diff --git a/slock.c b/slock.c +index 847b328..8ed59ca 100644 +--- a/slock.c ++++ b/slock.c +@@ -123,7 +123,7 @@ readpw(Display *dpy) + readpw(Display *dpy, const char *pws) + #endif + { +- char buf[32], passwd[256]; ++ char buf[32], passwd[256], *encrypted; + int num, screen; + unsigned int len, color; + KeySym ksym; +@@ -159,7 +159,11 @@ readpw(Display *dpy, const char *pws) + #ifdef HAVE_BSD_AUTH + running = !auth_userokay(getlogin(), NULL, "auth-slock", passwd); + #else +- running = !!strcmp(crypt(passwd, pws), pws); ++ errno = 0; ++ if (!(encrypted = crypt(passwd, pws))) ++ fprintf(stderr, "slock: crypt: %s\n", strerror(errno)); ++ else ++ running = !!strcmp(encrypted, pws); + #endif + if (running) { + XBell(dpy, 100); +@@ -312,6 +316,8 @@ main(int argc, char **argv) { + + #ifndef HAVE_BSD_AUTH + pws = getpw(); ++ if (strlen(pws) < 2) ++ die("slock: failed to get user password hash.\n"); + #endif + + if (!(dpy = XOpenDisplay(NULL))) +-- +cgit v0.9.0.3-65-g4555 diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 7efa502d8f..820d550d6e 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -111,6 +111,7 @@ numbers of user-defined menu items efficiently.") (method url-fetch) (uri (string-append "http://dl.suckless.org/tools/slock-" version ".tar.gz")) + (patches (search-patches "slock-CVE-2016-6866.patch")) (sha256 (base32 "065xa9hl7zn0lv2f7yjxphqsa35rg6dn9hv10gys0sh4ljpa7d5s")))) -- cgit 1.4.1 From a287fafef283de47fcc39338b1d343e221220ac7 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 16 Aug 2016 20:05:12 +0200 Subject: gnu: lua-5.1: install pkg-config file. * gnu/packages/patches/lua51-pkgconfig.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/lua.scm (lua-5.1)[source]: Add it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 + gnu/packages/lua.scm | 3 +- gnu/packages/patches/lua51-pkgconfig.patch | 101 +++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/lua51-pkgconfig.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 69e516cea3..12578cad64 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -660,6 +660,7 @@ dist_patch_DATA = \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ %D%/packages/patches/lua51-liblua-so.patch \ + %D%/packages/patches/lua51-pkgconfig.patch \ %D%/packages/patches/lua52-liblua-so.patch \ %D%/packages/patches/luajit-no_ldconfig.patch \ %D%/packages/patches/luajit-symlinks.patch \ diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 8bd67c594d..274330fd3d 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -84,7 +84,8 @@ for configuration, scripting, and rapid prototyping.") (sha256 (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16")) (patches (search-patches "lua51-liblua-so.patch" - "lua-CVE-2014-5461.patch")))))) + "lua-CVE-2014-5461.patch" + "lua51-pkgconfig.patch")))))) (define-public luajit (package diff --git a/gnu/packages/patches/lua51-pkgconfig.patch b/gnu/packages/patches/lua51-pkgconfig.patch new file mode 100644 index 0000000000..5b03adaaaa --- /dev/null +++ b/gnu/packages/patches/lua51-pkgconfig.patch @@ -0,0 +1,101 @@ +Enables generating Lua's pkg-config file. + +http://lua-users.org/lists/lua-l/2015-03/msg00338.html + +--- a/Makefile 2016-08-16 19:44:27.363614964 +0200 ++++ b/Makefile 2016-08-16 19:49:22.623070005 +0200 +@@ -13,6 +13,7 @@ + INSTALL_BIN= $(INSTALL_TOP)/bin + INSTALL_INC= $(INSTALL_TOP)/include + INSTALL_LIB= $(INSTALL_TOP)/lib ++INSTALL_PC= $(INSTALL_LIB)/pkgconfig + INSTALL_MAN= $(INSTALL_TOP)/man/man1 + # + # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with +@@ -41,9 +42,12 @@ + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + + # What to install. +-TO_BIN= lua luac ++INTERPRETER= lua ++COMPILER= luac ++TO_BIN= $(INTERPRETER) $(COMPILER) + TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp + TO_LIB= liblua.a liblua.so liblua.so.${V} ++TO_PC= lua-$(V).pc + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -52,17 +56,22 @@ + + all: $(PLAT) + +-$(PLATS) clean: ++$(PLATS): + cd src && $(MAKE) $@ V=$(V) R=$(R) + ++clean: ++ cd src && $(MAKE) $@ ++ $(RM) $(TO_PC) ++ + test: dummy + src/lua test/hello.lua + +-install: dummy +- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) ++install: dummy $(TO_PC) ++ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) ++ cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) + + ranlib: +@@ -95,6 +104,7 @@ + @echo "INSTALL_BIN = $(INSTALL_BIN)" + @echo "INSTALL_INC = $(INSTALL_INC)" + @echo "INSTALL_LIB = $(INSTALL_LIB)" ++ @echo "INSTALL_PC = $(INSTALL_PC)" + @echo "INSTALL_MAN = $(INSTALL_MAN)" + @echo "INSTALL_LMOD = $(INSTALL_LMOD)" + @echo "INSTALL_CMOD = $(INSTALL_CMOD)" +@@ -111,6 +121,7 @@ + @echo "TO_BIN = $(TO_BIN)" + @echo "TO_INC = $(TO_INC)" + @echo "TO_LIB = $(TO_LIB)" ++ @echo "TO_PC = $(TO_PC)" + @echo "TO_MAN = $(TO_MAN)" + + # echo config parameters as Lua code +@@ -122,7 +133,29 @@ + @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/' + @echo "-- EOF" + ++pc: ++ @echo 'prefix=$(INSTALL_TOP)' ++ @echo 'libdir=$(INSTALL_LIB)' ++ @echo 'includedir=$(INSTALL_INC)' ++ @echo 'bindir=$(INSTALL_BIN)' ++ @echo ++ @echo 'INSTALL_LMOD=$(INSTALL_LMOD)' ++ @echo 'INSTALL_CMOD=$(INSTALL_CMOD)' ++ @echo 'INTERPRETER=$${bindir}/$(INTERPRETER)' ++ @echo 'COMPILER=$${bindir}/$(COMPILER)' ++ @echo ++ @echo 'Name: Lua' ++ @echo 'Description: A powerful, fast, lightweight, embeddable scripting language' ++ @echo 'Version: $(R)' ++ @echo ++ @echo 'Libs: -L$${libdir} -llua -lm' ++ @echo 'Cflags: -I$${includedir}' ++ ++pkg-config: $(TO_PC) ++$(TO_PC): ++ @$(MAKE) -s pc > $@ ++ + # list targets that do not create files (but not all makes understand .PHONY) +-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho ++.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho pkg-config + + # (end of Makefile) -- cgit 1.4.1 From d6a07ee6751cdd414d702194dbeb0fd71f0781c9 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 3 Sep 2016 08:26:05 +0200 Subject: gnu: Add rpc-daemon service * gnu/services/nfs.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- doc/guix.texi | 26 +++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/services/nfs.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 gnu/services/nfs.scm (limited to 'gnu/local.mk') diff --git a/doc/guix.texi b/doc/guix.texi index 655dcfa277..fb7284eb2f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25,6 +25,7 @@ Copyright @copyright{} 2015, 2016 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Chris Marusich@* Copyright @copyright{} 2016 Efraim Flashner@* +Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016 ng0 Permission is granted to copy, distribute and/or modify this document @@ -10093,6 +10094,31 @@ directories are created when the service is activated. @node Various Services @subsubsection Various Services + +@subsubheading RPC Bind Service +@cindex rpcbind + +The @code{(gnu services nfs)} module provides the following: + +@defvr {Scheme Variable} rpcbind-service-type +A service type for the RPC portmapper daemon. +@end defvr + + +@deftp {Data Type} rpcbind-configuration +Data type representing the configuration of the RPC Bind Service. +This type has the following parameters: +@table @asis +@item @code{rpcbind} (default: @code{rpcbind}) +The rpcbind package to use. + +@item @code{warm-start?} (default: @code{#t}) +If this parameter is @code{#t}, then the daemon will read a +state file on startup thus reloading state information saved by a previous +instance. +@end table +@end deftp + @cindex lirc @subsubheading Lirc Service diff --git a/gnu/local.mk b/gnu/local.mk index 12578cad64..8b042d5971 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -389,6 +389,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/mail.scm \ %D%/services/mcron.scm \ %D%/services/networking.scm \ + %D%/services/nfs.scm \ %D%/services/shepherd.scm \ %D%/services/herd.scm \ %D%/services/sddm.scm \ diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm new file mode 100644 index 0000000000..82713d8133 --- /dev/null +++ b/gnu/services/nfs.scm @@ -0,0 +1,54 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 John Darrington +;;; +;;; 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 services nfs) + #:use-module (gnu) + #:use-module (gnu services shepherd) + #:use-module (gnu packages onc-rpc) + #:use-module (guix) + #:use-module (guix records) + #:export (rpcbind-service-type + rpcbind-configuration + rpcbind-configuration?)) + +(define-record-type* + rpcbind-configuration make-rpcbind-configuration + rpcbind-configuration? + (rpcbind rpcbind-configuration-rpcbind + (default rpcbind)) + (warm-start? rpcbind-configuration-warm-start? + (default #t))) + +(define rpcbind-service-type + (shepherd-service-type + 'rpcbind + (lambda (config) + (define pkg + (rpcbind-configuration-rpcbind config)) + + (define rpcbind-command + #~(list (string-append #$pkg "/bin/rpcbind") "-f" + #$@(if (rpcbind-configuration-warm-start? config) '("-w") '()))) + + (shepherd-service + (documentation "Start the RPC bind daemon.") + (requirement '(networking)) + (provision '(rpcbind-daemon)) + + (start #~(make-forkexec-constructor #$rpcbind-command)) + (stop #~(make-kill-destructor)))))) -- cgit 1.4.1 From 1fa3e33604f859a760c6b7605ff2cd725b609c30 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 May 2016 21:23:21 -0500 Subject: gnu: Add steghide. * gnu/packages/image.scm (steghide): New variable. * gnu/packages/patches/steghide-fixes.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/image.scm | 36 ++++++++++++++++ gnu/packages/patches/steghide-fixes.patch | 71 +++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 gnu/packages/patches/steghide-fixes.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8b042d5971..45a4009859 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -795,6 +795,7 @@ dist_patch_DATA = \ %D%/packages/patches/slock-CVE-2016-6866.patch \ %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \ %D%/packages/patches/soprano-find-clucene.patch \ + %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/synfig-build-fix.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index a65bf3912d..2a2a77eb77 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,10 +34,12 @@ #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages graphics) #:use-module (gnu packages maths) + #:use-module (gnu packages mcrypt) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -882,3 +885,36 @@ whether they look alike. It uses a computational model of the human visual system to detect similarities. This allows it too see beyond irrelevant differences in file encoding, image quality, and other small variations.") (license license:gpl2+))) + +(define-public steghide + (package + (name "steghide") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/steghide/steghide/" + version "/steghide-" version ".tar.bz2")) + (sha256 + (base32 + "18bxlhbdc3zsmxj84i417xjh0q28kv26q449k23n0a72ldwziix2")) + (patches (list (search-patch "steghide-fixes.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("perl" ,perl))) ;for tests + (inputs + `(("libmhash" ,libmhash) + ("libmcrypt" ,libmcrypt) + ("libjpeg" ,libjpeg) + ("zlib" ,zlib))) + (arguments + `(#:make-flags '("CXXFLAGS=-fpermissive"))) ;required for MHashPP.cc + (home-page "http://steghide.sourceforge.net") + (synopsis "Image and audio steganography") + (description + "Steghide is a steganography program that is able to hide data in various +kinds of image- and audio-files. The color- respectivly sample-frequencies +are not changed thus making the embedding resistant against first-order +statistical tests.") + (license license:gpl2+))) diff --git a/gnu/packages/patches/steghide-fixes.patch b/gnu/packages/patches/steghide-fixes.patch new file mode 100644 index 0000000000..4e7f447f9a --- /dev/null +++ b/gnu/packages/patches/steghide-fixes.patch @@ -0,0 +1,71 @@ +--- steghide-0.5.1/src/AuData.h ++++ steghide-0.5.1/src/AuData.h +@@ -26,22 +26,22 @@ + + // AuMuLawAudioData + typedef AudioDataImpl AuMuLawAudioData ; +-inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; } +-inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; } ++template<> inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; } ++template<> inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; } + + // AuPCM8AudioData + typedef AudioDataImpl AuPCM8AudioData ; +-inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; } +-inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; } ++template<> inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; } ++template<> inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; } + + // AuPCM16AudioData + typedef AudioDataImpl AuPCM16AudioData ; +-inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; } +-inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; } ++template<> inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; } ++template<> inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; } + + // AuPCM32AudioData + typedef AudioDataImpl AuPCM32AudioData ; +-inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; } +-inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; } ++template<> inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; } ++template<> inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; } + + #endif // ndef SH_AUDATA_H +--- steghide-0.5.1/src/AuSampleValues.cc ++++ steghide-0.5.1/src/AuSampleValues.cc +@@ -21,17 +21,17 @@ + #include "AuSampleValues.h" + + // AuMuLawSampleValue +-const BYTE AuMuLawSampleValue::MinValue = 0 ; +-const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; ++template<> const BYTE AuMuLawSampleValue::MinValue = 0 ; ++template<> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; + + // AuPCM8SampleValue +-const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; +-const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; ++template<> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; ++template<> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; + + // AuPCM16SampleValue +-const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; +-const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; ++template<> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; ++template<> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; + + // AuPCM32SampleValue +-const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; +-const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; ++template<> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; ++template<> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; +--- steghide-0.5.1/src/Graph.cc ++++ steghide-0.5.1/src/Graph.cc +@@ -18,6 +18,7 @@ + * + */ + ++#include + #include + #include + #include -- cgit 1.4.1 From a2319d2c8f4507b48e40e13ab56dbcfae3b2c533 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 18 May 2016 01:02:02 -0500 Subject: gnu: Add Swish-e. * gnu/packages/search.scm (swish-e): New variable. * gnu/packages/patches/swish-e-search.patch, gnu/packages/patches/swish-e-format-security.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. --- gnu/local.mk | 2 + gnu/packages/patches/swish-e-format-security.patch | 33 +++++++++++ gnu/packages/patches/swish-e-search.patch | 43 ++++++++++++++ gnu/packages/search.scm | 67 +++++++++++++++++++++- 4 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/swish-e-format-security.patch create mode 100644 gnu/packages/patches/swish-e-search.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 45a4009859..7d14f8c842 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -797,6 +797,8 @@ dist_patch_DATA = \ %D%/packages/patches/soprano-find-clucene.patch \ %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ + %D%/packages/patches/swish-e-search.patch \ + %D%/packages/patches/swish-e-format-security.patch \ %D%/packages/patches/synfig-build-fix.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ diff --git a/gnu/packages/patches/swish-e-format-security.patch b/gnu/packages/patches/swish-e-format-security.patch new file mode 100644 index 0000000000..be9d7cb8a9 --- /dev/null +++ b/gnu/packages/patches/swish-e-format-security.patch @@ -0,0 +1,33 @@ +Borrowed from Debian. + +--- swish-e-2.4.7/src/parser.c 2009-04-05 03:58:32.000000000 +0200 ++++ swish-e-2.4.7/src/parser.c 2013-06-11 13:53:08.196559035 +0200 +@@ -1760,7 +1760,7 @@ + va_start(args, msg); + vsnprintf(str, 1000, msg, args ); + va_end(args); +- xmlParserError(parse_data->ctxt, str); ++ xmlParserError(parse_data->ctxt, "%s", str); + } + + static void warning(void *data, const char *msg, ...) +@@ -1772,7 +1772,7 @@ + va_start(args, msg); + vsnprintf(str, 1000, msg, args ); + va_end(args); +- xmlParserWarning(parse_data->ctxt, str); ++ xmlParserWarning(parse_data->ctxt, "%s", str); + } + + +--- swish-e-2.4.7/src/result_output.c 2009-04-05 03:58:32.000000000 +0200 ++++ swish-e-2.4.7/src/result_output.c 2013-06-11 13:53:38.593550825 +0200 +@@ -752,7 +752,7 @@ + s = (char *) emalloc(MAXWORDLEN + 1); + n = strftime(s, (size_t) MAXWORDLEN, fmt, localtime(&(pv->value.v_date))); + if (n && f) +- fprintf(f, s); ++ fprintf(f, "%s", s); + efree(s); + } + break; diff --git a/gnu/packages/patches/swish-e-search.patch b/gnu/packages/patches/swish-e-search.patch new file mode 100644 index 0000000000..2a57a31a08 --- /dev/null +++ b/gnu/packages/patches/swish-e-search.patch @@ -0,0 +1,43 @@ +From http://swish-e.org/archive/2015-09/13295.html + +--- a/src/compress.c ++++ a/src/compress.c +@@ -995,7 +995,7 @@ void remove_worddata_longs(unsigned char *worddata,int *sz_worddata) + progerr("Internal error in remove_worddata_longs"); + + /* dst may be smaller than src. So move the data */ +- memcpy(dst,src,data_len); ++ memmove(dst,src,data_len); + + /* Increase pointers */ + src += data_len; +--- a/src/headers.c ++++ a/src/headers.c +@@ -280,7 +280,7 @@ static SWISH_HEADER_VALUE fetch_single_header( IndexFILE *indexf, HEADER_MAP *he + + case SWISH_NUMBER: + case SWISH_BOOL: +- value.number = *(unsigned long *) data_pointer; ++ value.number = *(unsigned int *) data_pointer; + + /* $$$ Ugly hack alert! */ + /* correct for removed files */ +--- a/src/swishspider ++++ a/src/swishspider +@@ -27,6 +27,7 @@ use LWP::UserAgent; + use HTTP::Status; + use HTML::Parser 3.00; + use HTML::LinkExtor; ++use Encode; + + if (scalar(@ARGV) != 2) { + print STDERR "Usage: $0 localpath url\n"; +@@ -94,7 +95,7 @@ use HTML::LinkExtor; + # Don't allow links above the base + $URI::ABS_REMOTE_LEADING_DOTS = 1; + +- $p->parse( $$content_ref ); ++ $p->parse( decode_utf8 $$content_ref ); + close( LINKS ); + + exit; diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 9a7bc76463..60f902f96a 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -23,10 +23,14 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages databases) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages perl) + #:use-module (gnu packages web) + #:use-module (gnu packages xml)) (define-public xapian (package @@ -171,4 +175,65 @@ with slocate, and attempts to be compatible to GNU locate when it does not conflict with slocate compatibility.") (license gpl2))) +(define-public swish-e + (package + (name "swish-e") + (version "2.4.7") + (source (origin + (method url-fetch) + (uri (list (string-append "http://swish-e.org/distribution/" + "swish-e-" version ".tar.gz") + ;; The upstream swish-e.org appears to be down... so + ;; use debian's copy as a fallback. + (string-append "http://http.debian.net/debian/pool/" + "main/s/swish-e/swish-e_" version + ".orig.tar.gz"))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qkrk7z25yp9hynj21vxkyn7yi8gcagcfxnass5cgczcz0gm9pax")) + (patches (search-patches "swish-e-search.patch" + "swish-e-format-security.patch")))) + (build-system gnu-build-system) + ;; Several other packages and perl modules may be installed alongside + ;; swish-e to extend its features at runtime, but are not required for + ;; building: xpdf, catdoc, MP3::Tag, Spreadsheet::ParseExcel, + ;; HTML::Entities. + (inputs + `(("libxml" ,libxml2) + ("zlib" ,zlib) + ("perl" ,perl) + ("perl-uri" ,perl-uri) + ("perl-html-parser" ,perl-html-parser) + ("perl-html-tagset" ,perl-html-tagset) + ("perl-mime-types" ,perl-mime-types))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (for-each + (lambda (program) + (wrap-program program + `("PERL5LIB" ":" prefix + ,(map (lambda (i) + (string-append (assoc-ref inputs i) + "/lib/perl5/site_perl")) + ;; These perl modules have no propagated + ;; inputs, so no further analysis needed. + '("perl-uri" + "perl-html-parser" + "perl-html-tagset" + "perl-mime-types"))))) + (list (string-append out "/lib/swish-e/swishspider") + (string-append out "/bin/swish-filter-test"))) + #t)))))) + (home-page "http://swish-e.org") + (synopsis "Web indexing system") + (description + "Swish-e is Simple Web Indexing System for Humans - Enhanced. Swish-e +can quickly and easily index directories of files or remote web sites and +search the generated indexes.") + (license gpl2+))) ;with exception + ;;; search.scm ends here -- cgit 1.4.1 From 0f97e7e5cdd4cbe75cdec99305a689a5f357a83a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 9 Sep 2016 01:48:50 -0400 Subject: gnu: openjpeg-2.*: Fix CVE-2016-7163. * gnu/packages/patches/openjpeg-CVE-2016-7163.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/image.scm (openjpeg, openjpeg-2.0): Use it. --- gnu/local.mk | 1 + gnu/packages/image.scm | 6 +- gnu/packages/patches/openjpeg-CVE-2016-7163.patch | 71 +++++++++++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/openjpeg-CVE-2016-7163.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 7d14f8c842..bce0d6947b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -702,6 +702,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-findlib-make-install.patch \ %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ + %D%/packages/patches/openjpeg-CVE-2016-7163.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index aafe705d59..be0bb6feac 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -390,7 +390,8 @@ work.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1anv0rjkbxw9kx91wvlfpb3dhppibda6kb1papny46bjzi3pzhl2")))) + "1anv0rjkbxw9kx91wvlfpb3dhppibda6kb1papny46bjzi3pzhl2")) + (patches (search-patches "openjpeg-CVE-2016-7163.patch")))) (build-system cmake-build-system) (arguments ;; Trying to run `$ make check' results in a no rule fault. @@ -427,7 +428,8 @@ error-resilience, a Java-viewer for j2k-images, ...") (sha256 (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")) (patches (search-patches "openjpeg-use-after-free-fix.patch" - "openjpeg-CVE-2015-6581.patch")))))) + "openjpeg-CVE-2015-6581.patch" + "openjpeg-CVE-2016-7163.patch")))))) (define-public openjpeg-1 (package (inherit openjpeg) diff --git a/gnu/packages/patches/openjpeg-CVE-2016-7163.patch b/gnu/packages/patches/openjpeg-CVE-2016-7163.patch new file mode 100644 index 0000000000..a4a24e4ff5 --- /dev/null +++ b/gnu/packages/patches/openjpeg-CVE-2016-7163.patch @@ -0,0 +1,71 @@ +Fix CVE-2016-7613 (Integer overflow in opj_pi_create_decode allowing execution +of arbitrary code): + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7163 +https://github.com/uclouvain/openjpeg/issues/826 +http://seclists.org/oss-sec/2016/q3/442 + +Copied from upstream repository: + +https://github.com/uclouvain/openjpeg/commit/c16bc057ba3f125051c9966cf1f5b68a05681de4 +https://github.com/uclouvain/openjpeg/commit/ef01f18dfc6780b776d0674ed3e7415c6ef54d24 + +From c16bc057ba3f125051c9966cf1f5b68a05681de4 Mon Sep 17 00:00:00 2001 +From: trylab +Date: Tue, 6 Sep 2016 13:55:49 +0800 +Subject: [PATCH] Fix an integer overflow issue (#809) + +Prevent an integer overflow issue in function opj_pi_create_decode of +pi.c. +--- + src/lib/openjp2/pi.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c +index cffad66..36e2ff0 100644 +--- a/src/lib/openjp2/pi.c ++++ b/src/lib/openjp2/pi.c +@@ -1237,7 +1237,13 @@ opj_pi_iterator_t *opj_pi_create_decode(opj_image_t *p_image, + l_current_pi = l_pi; + + /* memory allocation for include */ +- l_current_pi->include = (OPJ_INT16*) opj_calloc((l_tcp->numlayers +1) * l_step_l, sizeof(OPJ_INT16)); ++ /* prevent an integer overflow issue */ ++ l_current_pi->include = 00; ++ if (l_step_l <= (SIZE_MAX / (l_tcp->numlayers + 1U))) ++ { ++ l_current_pi->include = (OPJ_INT16*) opj_calloc((l_tcp->numlayers +1) * l_step_l, sizeof(OPJ_INT16)); ++ } ++ + if + (!l_current_pi->include) + { +-- +2.10.0 + +From ef01f18dfc6780b776d0674ed3e7415c6ef54d24 Mon Sep 17 00:00:00 2001 +From: Matthieu Darbois +Date: Thu, 8 Sep 2016 07:34:46 +0200 +Subject: [PATCH] Cast to size_t before multiplication + +Need to cast to size_t before multiplication otherwise overflow check is useless. +--- + src/lib/openjp2/pi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c +index 36e2ff0..809b33d 100644 +--- a/src/lib/openjp2/pi.c ++++ b/src/lib/openjp2/pi.c +@@ -1241,7 +1241,7 @@ opj_pi_iterator_t *opj_pi_create_decode(opj_image_t *p_image, + l_current_pi->include = 00; + if (l_step_l <= (SIZE_MAX / (l_tcp->numlayers + 1U))) + { +- l_current_pi->include = (OPJ_INT16*) opj_calloc((l_tcp->numlayers +1) * l_step_l, sizeof(OPJ_INT16)); ++ l_current_pi->include = (OPJ_INT16*) opj_calloc((size_t)(l_tcp->numlayers + 1U) * l_step_l, sizeof(OPJ_INT16)); + } + + if +-- +2.10.0 + -- cgit 1.4.1 From 4ce01773f3fe4c600785e38ba2e94033e66a72ef Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 9 Sep 2016 01:59:35 -0400 Subject: gnu: openjpeg: Fix CVE-2016-5157. * gnu/packages/patches/openjpeg-CVE-2016-5157.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/image.scm (openjpeg): Use it. --- gnu/local.mk | 1 + gnu/packages/image.scm | 3 +- gnu/packages/patches/openjpeg-CVE-2016-5157.patch | 96 +++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openjpeg-CVE-2016-5157.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index bce0d6947b..eab58f6223 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -702,6 +702,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-findlib-make-install.patch \ %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ + %D%/packages/patches/openjpeg-CVE-2016-5157.patch \ %D%/packages/patches/openjpeg-CVE-2016-7163.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index be0bb6feac..fe21d23d93 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -391,7 +391,8 @@ work.") (sha256 (base32 "1anv0rjkbxw9kx91wvlfpb3dhppibda6kb1papny46bjzi3pzhl2")) - (patches (search-patches "openjpeg-CVE-2016-7163.patch")))) + (patches (search-patches "openjpeg-CVE-2016-5157.patch" + "openjpeg-CVE-2016-7163.patch")))) (build-system cmake-build-system) (arguments ;; Trying to run `$ make check' results in a no rule fault. diff --git a/gnu/packages/patches/openjpeg-CVE-2016-5157.patch b/gnu/packages/patches/openjpeg-CVE-2016-5157.patch new file mode 100644 index 0000000000..f83bd9b511 --- /dev/null +++ b/gnu/packages/patches/openjpeg-CVE-2016-5157.patch @@ -0,0 +1,96 @@ +Fix CVE-2016-5157 (heap overflow in opj_dwt_interleave_v() allowing execution of +arbitrary code): + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5157 +https://pdfium.googlesource.com/pdfium/+/b6befb2ed2485a3805cddea86dc7574510178ea9 +http://seclists.org/oss-sec/2016/q3/441 + +Adapted from upstream source repository: + +https://github.com/uclouvain/openjpeg/commit/e078172b1c3f98d2219c37076b238fb759c751ea + +The final hunk of the patch, affecting +'tests/nonregression/test_suite.ctest.in', had to be adjusted, since it referred +to some context that is not yet provided by a tagged release. + +From c80286a4d573ad07ccc3c8b53289c38bb8256b30 Mon Sep 17 00:00:00 2001 +From: Leo Famulari +Date: Fri, 9 Sep 2016 04:37:40 -0400 +Subject: [PATCH] CVE-2016-5157 adjusted to apply to 2.1.0. + +--- + src/lib/openjp2/tcd.c | 11 +++++++++++ + tests/compare_dump_files.c | 14 +++++++------- + tests/nonregression/test_suite.ctest.in | 2 ++ + 3 files changed, 20 insertions(+), 7 deletions(-) + +diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c +index 12da05c..7a29c49 100644 +--- a/src/lib/openjp2/tcd.c ++++ b/src/lib/openjp2/tcd.c +@@ -696,9 +696,20 @@ static INLINE OPJ_BOOL opj_tcd_init_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, + l_tx0 = l_cp->tx0 + p * l_cp->tdx; /* can't be greater than l_image->x1 so won't overflow */ + l_tile->x0 = (OPJ_INT32)opj_uint_max(l_tx0, l_image->x0); + l_tile->x1 = (OPJ_INT32)opj_uint_min(opj_uint_adds(l_tx0, l_cp->tdx), l_image->x1); ++ /* all those OPJ_UINT32 are casted to OPJ_INT32, let's do some sanity check */ ++ if ((l_tile->x0 < 0) || (l_tile->x1 <= l_tile->x0)) { ++ opj_event_msg(manager, EVT_ERROR, "Tile X coordinates are not supported\n"); ++ return OPJ_FALSE; ++ } + l_ty0 = l_cp->ty0 + q * l_cp->tdy; /* can't be greater than l_image->y1 so won't overflow */ + l_tile->y0 = (OPJ_INT32)opj_uint_max(l_ty0, l_image->y0); + l_tile->y1 = (OPJ_INT32)opj_uint_min(opj_uint_adds(l_ty0, l_cp->tdy), l_image->y1); ++ /* all those OPJ_UINT32 are casted to OPJ_INT32, let's do some sanity check */ ++ if ((l_tile->y0 < 0) || (l_tile->y1 <= l_tile->y0)) { ++ opj_event_msg(manager, EVT_ERROR, "Tile Y coordinates are not supported\n"); ++ return OPJ_FALSE; ++ } ++ + + /* testcase 1888.pdf.asan.35.988 */ + if (l_tccp->numresolutions == 0) { +diff --git a/tests/compare_dump_files.c b/tests/compare_dump_files.c +index 946c92a..7d22270 100644 +--- a/tests/compare_dump_files.c ++++ b/tests/compare_dump_files.c +@@ -118,10 +118,10 @@ int main(int argc, char **argv) + test_cmp_parameters inParam; + FILE *fbase=NULL, *ftest=NULL; + int same = 0; +- char lbase[256]; +- char strbase[256]; +- char ltest[256]; +- char strtest[256]; ++ char lbase[512]; ++ char strbase[512]; ++ char ltest[512]; ++ char strtest[512]; + + if( parse_cmdline_cmp(argc, argv, &inParam) == 1 ) + { +@@ -154,9 +154,9 @@ int main(int argc, char **argv) + + while (fgets(lbase, sizeof(lbase), fbase) && fgets(ltest,sizeof(ltest),ftest)) + { +- int nbase = sscanf(lbase, "%255[^\r\n]", strbase); +- int ntest = sscanf(ltest, "%255[^\r\n]", strtest); +- assert( nbase != 255 && ntest != 255 ); ++ int nbase = sscanf(lbase, "%511[^\r\n]", strbase); ++ int ntest = sscanf(ltest, "%511[^\r\n]", strtest); ++ assert( nbase != 511 && ntest != 511 ); + if( nbase != 1 || ntest != 1 ) + { + fprintf(stderr, "could not parse line from files\n" ); +diff --git a/tests/nonregression/test_suite.ctest.in b/tests/nonregression/test_suite.ctest.in +index d393e6c..90cfa43 100644 +--- a/tests/nonregression/test_suite.ctest.in ++++ b/tests/nonregression/test_suite.ctest.in +@@ -564,3 +564,5 @@ opj_decompress -i @INPUT_NR_PATH@/issue726.j2k -o @TEMP_PATH@/issue726.png + # issue 775 + !opj_decompress -i @INPUT_NR_PATH@/issue775.j2k -o @TEMP_PATH@/issue775.png + !opj_decompress -i @INPUT_NR_PATH@/issue775-2.j2k -o @TEMP_PATH@/issue775-2.png ++# issue 823 (yes, not a typo, test image is issue822) ++!opj_decompress -i @INPUT_NR_PATH@/issue822.jp2 -o @TEMP_PATH@/issue822.png +-- +2.10.0 + -- cgit 1.4.1 From c41d97bed6ee1765e0845567444d4d2af1a4d373 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 9 Sep 2016 16:08:02 -0400 Subject: gnu: mupdf: Update to 1.9a. * gnu/packages/pdf.scm (mupdf): Update to 1.9a. [source]: Use "mupdf-build-with-openjpeg-2.1.patch". Adjust snippet to preserve bundled 'thirdparty/mujs'. [inputs]: Add harfbuzz. Replace openjpeg-2.0 with openjpeg. * gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../patches/mupdf-build-with-openjpeg-2.1.patch | 38 ++++++++++++++++++++++ gnu/packages/pdf.scm | 26 +++++++++++---- 3 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index eab58f6223..515ca352a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -681,6 +681,7 @@ dist_patch_DATA = \ %D%/packages/patches/mplayer2-theora-fix.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ + %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ %D%/packages/patches/mupdf-CVE-2016-6265.patch \ %D%/packages/patches/mupdf-CVE-2016-6525.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ diff --git a/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch b/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch new file mode 100644 index 0000000000..cd8136b701 --- /dev/null +++ b/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch @@ -0,0 +1,38 @@ +Make it possible to build MuPDF with OpenJPEG 2.1, which is the latest +release series and contains many important bug fixes. + +Patch adapted from Debian: + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745246 + +And related to this upstream commit: + +http://git.ghostscript.com/?p=mupdf.git;a=commit;h=f88bfe2e62dbadb96d4f52d7aa025f0a516078da + +diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c +index 6b92e5c..72dea50 100644 +--- a/source/fitz/load-jpx.c ++++ b/source/fitz/load-jpx.c +@@ -1,13 +1,5 @@ + #include "mupdf/fitz.h" + +-/* Without the definition of OPJ_STATIC, compilation fails on windows +- * due to the use of __stdcall. We believe it is required on some +- * linux toolchains too. */ +-#define OPJ_STATIC +-#ifndef _MSC_VER +-#define OPJ_HAVE_STDINT_H +-#endif +- + #include + + static void fz_opj_error_callback(const char *msg, void *client_data) +@@ -117,7 +109,7 @@ fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs + opj_stream_set_read_function(stream, fz_opj_stream_read); + opj_stream_set_skip_function(stream, fz_opj_stream_skip); + opj_stream_set_seek_function(stream, fz_opj_stream_seek); +- opj_stream_set_user_data(stream, &sb); ++ opj_stream_set_user_data(stream, &sb, NULL); + /* Set the length to avoid an assert */ + opj_stream_set_user_data_length(stream, size); + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 74e89070b8..98cc92e5a8 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages tls) + #:use-module (gnu packages javascript) #:use-module (srfi srfi-1)) (define-public poppler @@ -466,29 +467,42 @@ extracting content or merging files.") (define-public mupdf (package (name "mupdf") - (version "1.8") + (version "1.9a") (source (origin (method url-fetch) (uri (string-append "http://mupdf.com/downloads/archive/" name "-" version "-source.tar.gz")) (sha256 - (base32 "01n26cy41lc2fjri63s4js23ixxb4nd37aafry3hz4i4id6wd8x2")) - (patches (search-patches "mupdf-CVE-2016-6265.patch" + (base32 + "1k64pdapyj8a336jw3j61fhn0rp4q6az7d0dqp9r5n3d9rgwa5c0")) + (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch" + "mupdf-CVE-2016-6265.patch" "mupdf-CVE-2016-6525.patch")) (modules '((guix build utils))) (snippet - ;; Don't build the bundled-in third party libraries. - '(delete-file-recursively "thirdparty")))) + ;; Delete all the bundled libraries except for mujs, which is + ;; developed by the same team as mupdf and has no releases. + ;; TODO Package mujs and don't use the bundled copy. + '(for-each delete-file-recursively + '("thirdparty/curl" + "thirdparty/freetype" + "thirdparty/glfw" + "thirdparty/harfbuzz" + "thirdparty/jbig2dec" + "thirdparty/jpeg" + "thirdparty/openjpeg" + "thirdparty/zlib"))))) (build-system gnu-build-system) (inputs `(("curl" ,curl) ("freetype" ,freetype) + ("harfbuzz" ,harfbuzz) ("jbig2dec" ,jbig2dec) ("libjpeg" ,libjpeg) ("libx11" ,libx11) ("libxext" ,libxext) - ("openjpeg" ,openjpeg-2.0) + ("openjpeg" ,openjpeg) ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs -- cgit 1.4.1 From d18197af7844151e38322605b11e0c75b18b55bf Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 22 Aug 2016 13:31:36 +0200 Subject: gnu: Add python-django. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/django.scm: New file. * gnu/packages/patches/python-django-fix-testcase.patch: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add django.scm. (dist_patch_DATA): Add python-django-fix-testcase.patch. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 4 +- gnu/packages/django.scm | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/django.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 515ca352a8..c504b067fe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -97,6 +97,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/dillo.scm \ %D%/packages/disk.scm \ %D%/packages/display-managers.scm \ + %D%/packages/django.scm \ %D%/packages/djvu.scm \ %D%/packages/dns.scm \ %D%/packages/docbook.scm \ @@ -481,8 +482,8 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/devil-CVE-2009-3994.patch \ %D%/packages/patches/devil-fix-libpng.patch \ - %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ + %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doxygen-test.patch \ @@ -764,6 +765,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \ %D%/packages/patches/python-disable-ssl-test.patch \ + %D%/packages/patches/python-django-fix-testcase.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-ipython-inputhook-ctype.patch \ %D%/packages/patches/python-rarfile-fix-tests.patch \ diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm new file mode 100644 index 0000000000..6acaae2485 --- /dev/null +++ b/gnu/packages/django.scm @@ -0,0 +1,98 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Hartmut Goebel +;;; +;;; 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 django) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages python)) + +(define-public python-django + (package + (name "python-django") + (version "1.10") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26")) + (patches (search-patches "python-django-fix-testcase.patch")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-tzdir + (lambda* (#:key inputs #:allow-other-keys) + ;; The test-suite tests timezone-dependent functions, thus tzdata + ;; needs to be available. + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t)) + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append ".:" (getenv "PYTHONPATH"))) + (zero? (system* "python" "tests/runtests.py"))))))) + ;; TODO: Install extras/django_bash_completion. + (native-inputs + ;; Django uses 'pkg_resources' (part of setuptools) to locate templates + ;; at run-time. + `(("python-setuptools" ,python-setuptools) + ("tzdata", tzdata))) + (propagated-inputs + `( ;; bcrypt and argon2-cffi are extra requirements not yet in guix + ;;("python-argon2-cffi" ,python-argon2-cffi) ; >= 16.1.0 + ;;("python-bcrypt" ,python-bcrypt) ; not py-bcrypt! + ;; Taken from tests/requirements/py3.txt. + ("python-docutils" ,python-docutils) + ;; optional for tests: ("python-geoip2" ,python-geoip2) + ("python-jinja2" ,python-jinja2) ; >= 2.7 + ;; optional for tests: ("python-memcached" ,python-memcached) + ("python-numpy" ,python-numpy) + ("python-pillow" ,python-pillow) + ("python-pyyaml" ,python-pyyaml) + ("python-pytz" ,python-pytz) + ;; optional for tests: ("python-selenium" ,python-selenium) + ("python-sqlparse" ,python-sqlparse) + ("python-tblib" ,python-tblib))) + (home-page "http://www.djangoproject.com/") + (synopsis "High-level Python Web framework") + (description + "Django is a high-level Python Web framework that encourages rapid +development and clean, pragmatic design. It provides many tools for building +any Web site. Django focuses on automating as much as possible and adhering +to the @dfn{don't repeat yourself} (DRY) principle.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-django)))))) + +(define-public python2-django + (let ((base (package-with-python2 (strip-python2-variant python-django)))) + (package + (inherit base) + (propagated-inputs + `(;; Required for Python 2: enum34 and mock. + ("python2-enum34" ,python2-enum34) + ("python2-mock" ,python2-mock) + ;; When adding memcached mind: for Python 2 memcached <= 1.53 is + ;; required. + ,@(package-inputs base)))))) -- cgit 1.4.1 From ac8a6428867086b1091d8a1f4b21b1e321531256 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 17 Aug 2016 16:10:15 +0100 Subject: gnu: tre: Move to (gnu packages regex). * gnu/packages/tre.scm: Remove. Move 'tre' to... * gnu/packages/regex.scm (tre): ... here. New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Signed-off-by: Alex Kost --- gnu/local.mk | 1 - gnu/packages/regex.scm | 32 ++++++++++++++++++++++++++++ gnu/packages/tre.scm | 57 -------------------------------------------------- 3 files changed, 32 insertions(+), 58 deletions(-) delete mode 100644 gnu/packages/tre.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c504b067fe..9b350131dd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -345,7 +345,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/tls.scm \ %D%/packages/tmux.scm \ %D%/packages/tor.scm \ - %D%/packages/tre.scm \ %D%/packages/tv.scm \ %D%/packages/unrtf.scm \ %D%/packages/upnp.scm \ diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index cea9db8379..e685a17d28 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -1,4 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 John Darrington +;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -55,3 +57,33 @@ backtracking regular expression engines like those used in PCRE, Perl and Python. It is a C++ library.") (license license:bsd-3))) + +(define-public tre + (package + (name "tre") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://laurikari.net/tre/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild")))) + (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-before + 'check 'install-locales + (lambda _ + ;; The tests require the availability of the + ;; 'en_US.ISO-8859-1' locale. + (setenv "LOCPATH" (getcwd)) + (zero? (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "ISO-8859-1" "./en_US.ISO-8859-1"))) + %standard-phases))) + (synopsis "Approximate regex matching library and agrep utility") + (description "Superset of the POSIX regex API, enabling approximate +matching. Also ships a version of the agrep utility which behaves similar to +grep but features inexact matching.") + (home-page "http://laurikari.net/tre") + (license license:bsd-2))) diff --git a/gnu/packages/tre.scm b/gnu/packages/tre.scm deleted file mode 100644 index 721a350cf0..0000000000 --- a/gnu/packages/tre.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 John Darrington -;;; Copyright © 2015 Mark H Weaver -;;; -;;; 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 tre) - #:use-module (gnu packages) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses)) - -(define-public tre - (package - (name "tre") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri - (string-append "http://laurikari.net/tre/" name "-" version - ".tar.bz2")) - (sha256 - (base32 "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild")))) - - (build-system gnu-build-system) - (arguments - `(#:phases (alist-cons-before - 'check 'install-locales - (lambda _ - ;; The tests require the availability of the - ;; 'en_US.ISO-8859-1' locale. - (setenv "LOCPATH" (getcwd)) - (zero? (system* "localedef" "--no-archive" - "--prefix" (getcwd) "-i" "en_US" - "-f" "ISO-8859-1" "./en_US.ISO-8859-1"))) - %standard-phases))) - (synopsis "Approximate regex matching library and agrep utility") - (description "Superset of the POSIX regex API, enabling approximate -matching. Also ships a version of the agrep utility which behaves similar to -grep but features inexact matching.") - (home-page "http://laurikari.net/tre") - (license bsd-2))) -- cgit 1.4.1 From e9aba1ea338d9e311c005ee294992297f19b8ca5 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Mon, 12 Sep 2016 18:06:03 +0200 Subject: gnu: Add nfs-utils * gnu/packages/nfs.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/nfs.scm | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 gnu/packages/nfs.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 9b350131dd..571400989b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -257,6 +257,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/netpbm.scm \ %D%/packages/nettle.scm \ %D%/packages/networking.scm \ + %D%/packages/nfs.scm \ %D%/packages/ninja.scm \ %D%/packages/node.scm \ %D%/packages/noweb.scm \ diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm new file mode 100644 index 0000000000..650a2af0d6 --- /dev/null +++ b/gnu/packages/nfs.scm @@ -0,0 +1,118 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 John Darrington +;;; +;;; 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 nfs) + #:use-module (gnu packages) + #:use-module (gnu packages linux) + #:use-module (gnu packages databases) + #:use-module (gnu packages gsasl) + #:use-module (gnu packages libevent) + #:use-module (gnu packages mit-krb5) + #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages pkg-config) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match)) + +(define-public nfs-utils + (package + (name "nfs-utils") + (version "1.3.4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/linux/utils/nfs-utils/" version + "/nfs-utils-" version ".tar.xz")) + (sha256 + (base32 + "0xarqhwy757vazv9gqhyrgxsrx083yhvkkih01jh83fqm305naml")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + `("--without-tcp-wrappers" + ,(string-append "--with-start-statd=" + (assoc-ref %outputs "out") "/sbin/start-statd") + ,(string-append "--with-krb5=" (assoc-ref %build-inputs "mit-krb5"))) + #:phases (modify-phases %standard-phases + (add-before + 'configure 'adjust-command-file-names + (lambda _ + ;; Remove assumptions of FHS from start-statd script + (substitute* `("utils/statd/start-statd") + (("^PATH=.*") "") + (("^flock") + (string-append + (assoc-ref %build-inputs "util-linux") + "/bin/flock")) + (("^exec rpc.statd") + (string-append "exec " + (assoc-ref %outputs "out") "/sbin/rpc.statd"))) + + ;; This hook tries to write to /var + ;; That needs to be done by a service too. + (substitute* `("Makefile.in") + (("^install-data-hook:") + "install-data-hook-disabled-for-guix:")) + + ;; Replace some hard coded paths. + (substitute* `("utils/nfsd/nfssvc.c") + (("/bin/mount") + (string-append + (assoc-ref %build-inputs "util-linux") + "/bin/mount"))) + (substitute* `("utils/statd/statd.c") + (("/usr/sbin/") + (string-append (assoc-ref %outputs "out") "/sbin/"))) + (substitute* `("utils/osd_login/Makefile.in" + "utils/mount/Makefile.in" + "utils/nfsdcltrack/Makefile.in") + (("^sbindir = /sbin") + (string-append "sbindir = " + (assoc-ref %outputs "out") "/sbin"))) + #t))))) + (inputs `(("libevent" ,libevent) + ("libnfsidmap" ,libnfsidmap) + ("sqlite" ,sqlite) + ("lvm2" ,lvm2) + ("gss" ,gss) + ("util-linux" ,util-linux) + ("mit-krb5" ,mit-krb5) + ("libtirpc" ,libtirpc))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.kernel.org/pub/linux/utils/nfs-utils/") + (synopsis "Tools for loading and managing Linux NFS mounts") + (description "The Network File System (NFS) was developed to allow +machines to mount a disk partition on a remote machine as if it were a local +disk. It allows for fast, seamless sharing of files across a network.") + ;; It is hard to be sure what the licence is. Most of the source files + ;; contain no licence notice at all. A few have a licence notice for a 3 + ;; clause non-copyleft licence. However the tarball has a COPYING file + ;; with the text of GPLv2 -- It seems then that GLPv2 is the most + ;; restrictive licence, and until advice to the contrary we must assume + ;; that is what is intended. + (license license:gpl2))) -- cgit 1.4.1 From f26dd9b2cc6ef2c3856fe991a04adf17d7361475 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 11 Sep 2016 18:53:50 +0200 Subject: gnu: Add microcom * gnu/packages/microcom.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/microcom.scm | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 gnu/packages/microcom.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 571400989b..550897e75f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -240,6 +240,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/mcrypt.scm \ %D%/packages/messaging.scm \ %D%/packages/mg.scm \ + %D%/packages/microcom.scm \ %D%/packages/mit-krb5.scm \ %D%/packages/moe.scm \ %D%/packages/mono.scm \ diff --git a/gnu/packages/microcom.scm b/gnu/packages/microcom.scm new file mode 100644 index 0000000000..cfa2518f18 --- /dev/null +++ b/gnu/packages/microcom.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 John Darrington +;;; +;;; 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 microcom) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix git-download) + #:use-module (guix download) + #:use-module (gnu packages autotools) + #:use-module (gnu packages readline) + #:use-module (guix build-system gnu)) + +(define-public microcom + (package + (name "microcom") + (version "2016.01.09") + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.pengutronix.de/git/tools/microcom.git") + (commit "v2016.01.0"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "080ci5589bpyy5kcl51csmvpw9zysify189hw6awx69pi3cjnxly")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-i"))))))) + (inputs `(("readline" ,readline))) + (native-inputs `(("automake" ,automake) + ("autoconf" ,autoconf))) + (home-page "http://git.pengutronix.de/?p=tools/microcom.git") + (synopsis "Minimalistic serial line terminal program") + (description "Microcom is a minimalistic terminal program for accessing +devices via a serial connection. It features connection via RS232 serial +interfaces (including setting of transfer rates) as well as in `telnetmode' +as specified in rfc2217 and a (Linux specific) CAN mode.") + (license gpl2+))) -- cgit 1.4.1 From 362bc747a25b912111788db3612fa36ff85a6866 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Sep 2016 13:37:58 -0400 Subject: gnu: mysql: Update to 5.7.15 [fixes CVE-2016-6662]. * gnu/packages/databases.scm (mysql): Update to 5.7.15. [source]: Remove obsolete 'mysql-fix-failing-test.patch'. * gnu/packages/patches/mysql-fix-failing-test.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/databases.scm | 5 +- gnu/packages/patches/mysql-fix-failing-test.patch | 57 ----------------------- 3 files changed, 2 insertions(+), 61 deletions(-) delete mode 100644 gnu/packages/patches/mysql-fix-failing-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 550897e75f..d65b50897d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -688,7 +688,6 @@ dist_patch_DATA = \ %D%/packages/patches/mupdf-CVE-2016-6525.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mutt-store-references.patch \ - %D%/packages/patches/mysql-fix-failing-test.patch \ %D%/packages/patches/nasm-no-ps-pdf.patch \ %D%/packages/patches/net-tools-bitrot.patch \ %D%/packages/patches/netcdf-config-date.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fc31653871..efd0adb05d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -205,7 +205,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (define-public mysql (package (name "mysql") - (version "5.7.13") + (version "5.7.15") (source (origin (method url-fetch) (uri (list (string-append @@ -215,10 +215,9 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (string-append "http://downloads.mysql.com/archives/get/file/" name "-" version ".tar.gz"))) - (patches (search-patches "mysql-fix-failing-test.patch")) (sha256 (base32 - "11qbib1xpy0zkki7j9ip17hks5kp5zgpcj7x8gy3a4m66lb1mgsh")))) + "0mlrxcvkn6bf869hjw9fb6m24ak26ndffnd91b4mknmz8cqkb1ch")))) (build-system cmake-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/patches/mysql-fix-failing-test.patch b/gnu/packages/patches/mysql-fix-failing-test.patch deleted file mode 100644 index 730d138c18..0000000000 --- a/gnu/packages/patches/mysql-fix-failing-test.patch +++ /dev/null @@ -1,57 +0,0 @@ -Fix spurious test failure: -https://bugs.mysql.com/bug.php?id=81868 - -Copied from Fedora: -https://pkgs.fedoraproject.org/cgit/rpms/community-mysql.git/diff/community-mysql-5.7.13-pfs-oom-unittest.patch?id=a51381c6f98b9cd6855bc89ba93398a949ef7098 - -commit 6c23035b52284c2575f297311dfd0278bcbb0dd1 -Author: Christopher Powers -Date: Mon May 2 19:43:31 2016 +0100 - - Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY - - Two test cases pass on Windows but crash on Linux due to different init paths. - Now pass on both. - -diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc -index db74c9c..b6bc818 100644 ---- a/storage/perfschema/unittest/pfs_instr-oom-t.cc -+++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc -@@ -232,12 +232,14 @@ void test_oom() - ok(cond_2 == NULL, "oom (create cond)"); - - /* Create file. */ -- stub_alloc_always_fails = false; - PFS_thread fake_thread; -+ rc = init_instruments(¶m); - fake_thread.m_filename_hash_pins= NULL; - init_file_hash(¶m); -- rc = init_instruments(¶m); -- ok(rc == 0, "instances init"); -+ -+ stub_alloc_always_fails = true; -+ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -+ ok(file_2 == NULL, "oom (create file)"); - - stub_alloc_always_fails= false; - file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -@@ -245,10 +247,6 @@ void test_oom() - release_file(file_1); - cleanup_instruments(); - -- stub_alloc_always_fails= true; -- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -- ok(file_2 == NULL, "oom (create file)"); -- - /* Create socket. */ - stub_alloc_always_fails = false; - rc = init_instruments(¶m); -@@ -422,7 +420,7 @@ void do_all_tests() - - int main(int, char **) - { -- plan(28); -+ plan(32); - MY_INIT("pfs_instr-oom-t"); - do_all_tests(); - return 0; -- cgit 1.4.1 From 253745d75695faf23bd0ff68bc18f5bbc2f29580 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 13 Sep 2016 18:59:41 +0200 Subject: gnu: hydra: Update to 20151030.1ff48da. * gnu/packages/ci.scm (hydra): Update to 20151030.1ff48da (fixes building with nix-1.11.x). [source]: Remove 'hydra-automake-1.15.patch'. [inputs]: Add libpqxx and perl-net-statsd. * gnu/packages/patches/hydra-automake-1.15.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 - gnu/packages/ci.scm | 17 +++---- gnu/packages/patches/hydra-automake-1.15.patch | 63 -------------------------- 3 files changed, 9 insertions(+), 72 deletions(-) delete mode 100644 gnu/packages/patches/hydra-automake-1.15.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d65b50897d..a7006cb45f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -565,7 +565,6 @@ dist_patch_DATA = \ %D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/hop-bigloo-4.0b.patch \ %D%/packages/patches/hop-linker-flags.patch \ - %D%/packages/patches/hydra-automake-1.15.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hypre-doc-tables.patch \ %D%/packages/patches/hypre-ldflags.patch \ diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index e0ff873b3e..3f54ff1298 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -39,23 +39,22 @@ #:use-module (guix build-system gnu)) (define-public hydra - (let ((commit "4c0e3e47034545ad3e9e86dd069138bcebb8ccee")) + (let ((commit "1ff48da3d3d4a425063f5b7dd0b89d35270f8932")) (package (name "hydra") - (version (string-append "20150407." (string-take commit 7))) + (version (string-append "20151030." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/NixOS/hydra") (commit commit))) (file-name (string-append name "-" version)) - (sha256 - (base32 - "08vc76xb7f42hh65j7qvjf58hw36aki5ml343170pq94vk75b1nh")) (patches (search-patches - "hydra-automake-1.15.patch" ;; TODO: Remove once we have a darcs input - "hydra-disable-darcs-test.patch")))) + "hydra-disable-darcs-test.patch")) + (sha256 + (base32 + "0ni8i8v1nxxfr51rz8m6znwpbm77vr7i05k506hmgmg32r938lap")))) (build-system gnu-build-system) (native-inputs `(("unzip" ,unzip) @@ -74,7 +73,8 @@ ("mercurial" ,mercurial) ("bazaar" ,bazaar))) (inputs - `(("perl" ,perl) + `(("libpqxx" ,libpqxx) + ("perl" ,perl) ("guile" ,guile-2.0) ("openssl" ,openssl) ("bzip2" ,bzip2) @@ -125,6 +125,7 @@ ("perl-libwww" ,perl-libwww) ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) ("perl-net-amazon-s3" ,perl-net-amazon-s3) + ("perl-net-statsd" ,perl-net-statsd) ("perl-padwalker" ,perl-padwalker) ("perl-readonly" ,perl-readonly) ("perl-set-scalar" ,perl-set-scalar) diff --git a/gnu/packages/patches/hydra-automake-1.15.patch b/gnu/packages/patches/hydra-automake-1.15.patch deleted file mode 100644 index 91c7b9202b..0000000000 --- a/gnu/packages/patches/hydra-automake-1.15.patch +++ /dev/null @@ -1,63 +0,0 @@ -This patch takes a slightly different approach to solving the issue reported -at https://github.com/NixOS/hydra/issues/200. This fix allows us to use -Automake's parallel test harness. - ---- source/configure.ac.orig 1969-12-31 18:00:01.000000000 -0600 -+++ source/configure.ac 2015-04-15 10:58:15.974679278 -0500 -@@ -33,7 +33,7 @@ - fi - ]) - --NEED_PROG(perl, perl) -+NEED_PROG([PERL], perl) - - NEED_PROG([NIX_STORE_PROGRAM], [nix-store]) - ---- source/tests/Makefile.am.orig 1969-12-31 18:00:01.000000000 -0600 -+++ source/tests/Makefile.am 2015-04-15 11:00:35.846682904 -0500 -@@ -1,19 +1,20 @@ --TESTS_ENVIRONMENT = \ -- BZR_HOME="$(abs_builddir)/data" \ -- HYDRA_DBI="dbi:SQLite:db.sqlite" \ -- HYDRA_DATA="$(abs_builddir)/data" \ -- HYDRA_HOME="$(top_srcdir)/src" \ -- HYDRA_CONFIG= \ -- NIX_REMOTE= \ -- GUIX_CONFIGURATION_DIRECTORY="$(abs_builddir)/nix/etc/nix" \ -- NIX_STATE_DIR="$(abs_builddir)/nix/var/nix" \ -- NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests" \ -- NIX_STORE_DIR="$(abs_builddir)/nix/store" \ -- NIX_LOG_DIR="$(abs_builddir)/nix/var/log/nix" \ -- NIX_BUILD_HOOK= \ -- PERL5LIB="$(srcdir):$(top_srcdir)/src/lib:$$PERL5LIB" \ -- PATH=$(abs_top_srcdir)/src/script:$(abs_top_srcdir)/src/c:$$PATH \ -- perl -w -+AM_TESTS_ENVIRONMENT = \ -+ BZR_HOME="$(abs_builddir)/data"; export BZR_HOME; \ -+ HYDRA_DBI="dbi:SQLite:db.sqlite"; export HYDRA_DBI; \ -+ HYDRA_DATA="$(abs_builddir)/data"; export HYDRA_DATA; \ -+ HYDRA_HOME="$(top_srcdir)/src"; export HYDRA_HOME; \ -+ HYDRA_CONFIG=; export HYDRA_CONFIG; \ -+ NIX_REMOTE=; export NIX_REMOTE; \ -+ GUIX_CONFIGURATION_DIRECTORY="$(abs_builddir)/nix/etc/nix"; export GUIX_CONFIGURATION_DIRECTORY; \ -+ NIX_STATE_DIR="$(abs_builddir)/nix/var/nix"; export NIX_STATE_DIR; \ -+ NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests"; export NIX_MANIFESTS_DIR; \ -+ NIX_STORE_DIR="$(abs_builddir)/nix/store"; export NIX_STORE_DIR; \ -+ NIX_LOG_DIR="$(abs_builddir)/nix/var/log/nix"; export NIX_LOG_DIR; \ -+ NIX_BUILD_HOOK=; export NIX_BUILD_HOOK; \ -+ PERL5LIB="$(srcdir):$(top_srcdir)/src/lib:$$PERL5LIB"; export PERL5LIB; \ -+ PATH=$(abs_top_srcdir)/src/script:$(abs_top_srcdir)/src/c:$$PATH; export PATH; -+LOG_COMPILER = $(PERL) -+AM_LOG_FLAGS = -w - - EXTRA_DIST = \ - $(wildcard *.pm) \ -@@ -33,7 +34,7 @@ - check_SCRIPTS = db.sqlite repos - - db.sqlite: $(top_srcdir)/src/sql/hydra-sqlite.sql -- $(TESTS_ENVIRONMENT) $(top_srcdir)/src/script/hydra-init -+ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) $(top_srcdir)/src/script/hydra-init - - repos: dirs - -- cgit 1.4.1 From 921cb13a96abd6c69d11fbdeaf0c3c370b173c1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 14 Sep 2016 11:25:29 +0200 Subject: gnu: Add llvm-for-extempore. * gnu/packages/llvm.scm (llvm-for-extempore): New variable. * gnu/packages/patches/llvm-for-extempore.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/llvm.scm | 8 ++ gnu/packages/patches/llvm-for-extempore.patch | 118 ++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 gnu/packages/patches/llvm-for-extempore.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a7006cb45f..e2cf40d4ae 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -658,6 +658,7 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/lirc-localstatedir.patch \ + %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a9eba798e0..b55a200bc5 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2016 Dennis Mungai +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -267,3 +268,10 @@ code analysis tools.") (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) + +(define-public llvm-for-extempore + (package (inherit llvm-3.7) + (source + (origin + (inherit (package-source llvm-3.7)) + (patches (list (search-patch "llvm-for-extempore.patch"))))))) diff --git a/gnu/packages/patches/llvm-for-extempore.patch b/gnu/packages/patches/llvm-for-extempore.patch new file mode 100644 index 0000000000..614682c6cb --- /dev/null +++ b/gnu/packages/patches/llvm-for-extempore.patch @@ -0,0 +1,118 @@ +This patch to LLVM is required by the developers of the Extempore language. +The following explanation was posted to the extemporelang@googlegroups.com +mailing list: + +"There is an assumption in the parser that all definitions occur within the +same compilation unit - i.e. the parser has local state about what has been +parsed in this unit of work. Extempore obviously does lots of little units +rather than one big unit and this causes problems for named types that were +defined in another unit - which they always are. The patch simply checks the +current module to see if the type has been previously defined, and intervenes +appropriately if it has." + +Message-ID: + +--- llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-04-11 12:11:45.000000000 +1000 ++++ llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-09-14 09:22:56.000000000 +1000 +@@ -16,7 +16,6 @@ + + #include "llvm/ADT/StringRef.h" + #include "llvm/MC/MCSection.h" +-#include "llvm/Support/COFF.h" + + namespace llvm { + class MCSymbol; + +--- llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-07-11 20:30:36.000000000 +1000 ++++ llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-09-14 09:20:57.000000000 +1000 +@@ -1754,8 +1754,14 @@ + // If the type hasn't been defined yet, create a forward definition and + // remember where that forward def'n was seen (in case it never is defined). + if (!Entry.first) { +- Entry.first = StructType::create(Context, Lex.getStrVal()); +- Entry.second = Lex.getLoc(); ++ // this here for extempore ++ if (M->getTypeByName(Lex.getStrVal())) { ++ Entry.first = M->getTypeByName(Lex.getStrVal()); ++ Entry.second = SMLoc(); ++ } else { ++ Entry.first = StructType::create(Context, Lex.getStrVal()); ++ Entry.second = Lex.getLoc(); ++ } + } + Result = Entry.first; + Lex.Lex(); + +--- llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-07-01 05:10:31.000000000 +1000 ++++ llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-09-14 09:23:40.000000000 +1000 +@@ -32,6 +32,7 @@ + #include "llvm/MC/MCStreamer.h" + #include "llvm/MC/MCSymbolELF.h" + #include "llvm/MC/MCValue.h" ++#include "llvm/Support/COFF.h" + #include "llvm/Support/Dwarf.h" + #include "llvm/Support/ELF.h" + #include "llvm/Support/ErrorHandling.h" + +--- llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-07-31 02:31:16.000000000 +1000 ++++ llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-09-14 09:21:28.000000000 +1000 +@@ -524,6 +524,17 @@ + rv.IntVal = APInt(32, PF(ArgValues[0].IntVal.getZExtValue())); + return rv; + } ++ if (FTy->getNumParams() == 1 && ++ RetTy->isVoidTy() && ++ FTy->getParamType(0)->isPointerTy()) { ++ GenericValue rv; ++ //void (*PF)(char *) = (void(*)(char *))(intptr_t)FPtr; ++ //printf("are symbols available: %d\n",isSymbolSearchingDisabled()); ++ void (*PF)(char *) = (void(*)(char *))FPtr; ++ char* mzone = (char*) GVTOP(ArgValues[0]); ++ PF(mzone); ++ return rv; ++ } + break; + } + } + +--- llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-06-23 21:31:32.000000000 +1000 ++++ llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-09-14 09:24:01.000000000 +1000 +@@ -23,6 +23,7 @@ + #include "llvm/MC/MCSymbolCOFF.h" + #include "llvm/MC/MCSymbolELF.h" + #include "llvm/MC/MCSymbolMachO.h" ++#include "llvm/Support/COFF.h" + #include "llvm/Support/ELF.h" + #include "llvm/Support/ErrorHandling.h" + #include "llvm/Support/FileSystem.h" + +--- llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-06-25 10:28:42.000000000 +1000 ++++ llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-09-14 09:24:17.000000000 +1000 +@@ -16,6 +16,7 @@ + #include "llvm/MC/MCSectionCOFF.h" + #include "llvm/MC/MCSectionELF.h" + #include "llvm/MC/MCSectionMachO.h" ++#include "llvm/Support/COFF.h" + using namespace llvm; + + static bool useCompactUnwind(const Triple &T) { + +--- llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-06-09 10:31:39.000000000 +1000 ++++ llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-09-14 09:24:25.000000000 +1000 +@@ -11,6 +11,7 @@ + #include "llvm/MC/MCAsmInfo.h" + #include "llvm/MC/MCContext.h" + #include "llvm/MC/MCSymbol.h" ++#include "llvm/Support/COFF.h" + #include "llvm/Support/raw_ostream.h" + using namespace llvm; + +--- llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-06-27 04:55:48.000000000 +1000 ++++ llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-09-14 09:25:03.000000000 +1000 +@@ -16,6 +16,7 @@ + #include "llvm/MC/MCSectionCOFF.h" + #include "llvm/MC/MCSectionELF.h" + #include "llvm/MC/MCValue.h" ++#include "llvm/Support/COFF.h" + #include "llvm/Support/Dwarf.h" + #include "llvm/Target/TargetLowering.h" -- cgit 1.4.1 From b8ea5204ab1d9eb9464753fa6b1af9f5705a1084 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 11 Sep 2016 21:43:06 +0300 Subject: gnu: Add onionshare. * gnu/packages/tor.scm (onionshare): New variable. * gnu/packages/patches/onionshare-fix-install-paths.patch: New variable. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../patches/onionshare-fix-install-paths.patch | 39 ++++++++ gnu/packages/tor.scm | 100 +++++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 gnu/packages/patches/onionshare-fix-install-paths.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index e2cf40d4ae..407612155f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -702,6 +702,7 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-findlib-make-install.patch \ + %D%/packages/patches/onionshare-fix-install-paths.patch \ %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ %D%/packages/patches/openjpeg-CVE-2016-5157.patch \ diff --git a/gnu/packages/patches/onionshare-fix-install-paths.patch b/gnu/packages/patches/onionshare-fix-install-paths.patch new file mode 100644 index 0000000000..721b89f04b --- /dev/null +++ b/gnu/packages/patches/onionshare-fix-install-paths.patch @@ -0,0 +1,39 @@ +From 7afdd3366711a0c508bfb9323af8f4268ab77c9b Mon Sep 17 00:00:00 2001 +From: Efraim Flashner +Date: Thu, 21 Jul 2016 13:22:45 +0300 +Subject: [PATCH] patch + +--- + setup.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/setup.py b/setup.py +index 8ae56fe..8b245c9 100644 +--- a/setup.py ++++ b/setup.py +@@ -91,15 +91,15 @@ setup( + include_package_data=True, + scripts=['install/scripts/onionshare', 'install/scripts/onionshare-gui'], + data_files=[ +- (os.path.join(sys.prefix, 'share/applications'), ['install/onionshare.desktop']), +- (os.path.join(sys.prefix, 'share/appdata'), ['install/onionshare.appdata.xml']), +- (os.path.join(sys.prefix, 'share/pixmaps'), ['install/onionshare80.xpm']), +- (os.path.join(sys.prefix, 'share/onionshare'), [ ++ ('share/applications', ['install/onionshare.desktop']), ++ ('share/appdata', ['install/onionshare.appdata.xml']), ++ ('share/pixmaps', ['install/onionshare80.xpm']), ++ ('share/onionshare', [ + 'resources/version.txt', + 'resources/wordlist.txt' + ]), +- (os.path.join(sys.prefix, 'share/onionshare/images'), images), +- (os.path.join(sys.prefix, 'share/onionshare/locale'), locale), +- (os.path.join(sys.prefix, 'share/onionshare/html'), html) ++ ('share/onionshare/images', images), ++ ('share/onionshare/locale', locale), ++ ('share/onionshare/html', html) + ] + ) +-- +2.9.1 + diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 951b8f680b..fe74c3c972 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages autotools) #:use-module (gnu packages tls) #:use-module (gnu packages w3m)) @@ -145,3 +146,102 @@ flexible configuration and can be customized to suit individual needs and tastes. It has application for both stand-alone systems and multi-user networks.") (license gpl2+))) + +(define-public onionshare + (package + (name "onionshare") + (version "0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/micahflee/onionshare/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pc3xbq379415s0i0y6rz02hay20zbvgra1jmg4mgrl9vbdr8zmw")) + (patches (search-patches "onionshare-fix-install-paths.patch")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-install-path + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (onionshare (string-append out "/share/onionshare"))) + (substitute* + "install/pyinstaller.spec" + ;; inform onionshare where the 'resources' files are installed + (("../resources") onionshare)) + (substitute* + "onionshare/strings.py" + ;; correct the locale directory + (("helpers.get_resource_path\\('locale'\\)") + (string-append "'" onionshare "/locale'"))) + (substitute* + "onionshare/helpers.py" + ;; correct the location of version.txt + (("/usr") out) + (("get_resource_path\\('version.txt'\\)") + (string-append "'" onionshare "/version.txt'")) + (("get_resource_path\\('wordlist.txt'\\)") + (string-append "'" onionshare "/wordlist.txt'"))) + (substitute* + "onionshare/web.py" + ;; fix the location of the html files + (("helpers.get_resource_path\\('html/denied.html'\\)") + (string-append "'" onionshare "/html/denied.html'")) + (("helpers.get_resource_path\\('html/404.html'\\)") + (string-append "'" onionshare "/html/404.html'")) + (("helpers.get_resource_path\\('html/index.html'\\)") + (string-append "'" onionshare "/html/index.html'"))) + (substitute* + "onionshare_gui/file_selection.py" + (("helpers.get_resource_path\\('images/drop_files.png'\\)") + (string-append "'" onionshare "/images/drop_files.png'"))) + (substitute* + "onionshare_gui/server_status.py" + (("helpers.get_resource_path\\('images/server_stopped.png'\\)") + (string-append "'" onionshare "/images/server_stopped.png'")) + (("helpers.get_resource_path\\('images/server_working.png'\\)") + (string-append "'" onionshare "/images/server_working.png'")) + (("helpers.get_resource_path\\('images/server_started.png'\\)") + (string-append "'" onionshare "/images/server_started.png'"))) + (substitute* + "onionshare_gui/onionshare_gui.py" + (("helpers.get_resource_path\\('images/logo.png'\\)") + (string-append "'" onionshare "/images/logo.png'"))) + (substitute* + "install/onionshare.desktop" + (("/usr") out)) + #t))) + (delete 'check) + (add-before 'strip 'tests + ;; After all the patching we run the tests after installing. + ;; This is also a known issue: + ;; https://github.com/micahflee/onionshare/issues/284 + (lambda _ (zero? (system* "nosetests" "test"))))) + ;; can't compress the egg because it expects to find all the resources + ;; inside the egg as though it were a folder. + #:configure-flags '("--single-version-externally-managed" "--root=/") + )) + (native-inputs + `(("python-nose" ,python-nose))) + (inputs + `(("python-flask" ,python-flask) + ("python-nautilus" ,python-nautilus) + ("python-sip" ,python-sip) + ("python-stem" ,python-stem) + ("python-pyqt" ,python-pyqt))) + (home-page "https://onionshare.org/") + (synopsis "Securely and anonymously share files") + (description "OnionShare lets you securely and anonymously share files of +any size. It works by starting a web server, making it accessible as a Tor +hidden service, and generating an unguessable URL to access and download the +files. It doesn't require setting up a server on the internet somewhere or +using a third party filesharing service. You host the file on your own computer +and use a Tor hidden service to make it temporarily accessible over the +internet. The other user just needs to use Tor Browser to download the file +from you.") + (license (list license:gpl3+ + license:bsd-3)))) ; onionshare/socks.py -- cgit 1.4.1 From d404a6f9711c8dcc1cc6cf55d8c07901aa450192 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 18 Sep 2016 21:47:29 -0400 Subject: gnu: gnupg: Fix test failure. * gnu/packages/patches/gnupg-fix-expired-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnupg.scm (gnupg): Use it. --- gnu/local.mk | 1 + gnu/packages/gnupg.scm | 1 + gnu/packages/patches/gnupg-fix-expired-test.patch | 78 +++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 gnu/packages/patches/gnupg-fix-expired-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 407612155f..a7566382dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -541,6 +541,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ %D%/packages/patches/gnucash-price-quotes-perl.patch \ + %D%/packages/patches/gnupg-fix-expired-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c78e9d87ec..0eaeb45bb9 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -243,6 +243,7 @@ compatible to GNU Pth.") (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) + (patches (search-patches "gnupg-fix-expired-test.patch")) (sha256 (base32 "0xcn46vcb5x5qx0bc803vpzhzhnn6wfhp7x71w9n1ahx4ak877ag")))) diff --git a/gnu/packages/patches/gnupg-fix-expired-test.patch b/gnu/packages/patches/gnupg-fix-expired-test.patch new file mode 100644 index 0000000000..ac2564f50c --- /dev/null +++ b/gnu/packages/patches/gnupg-fix-expired-test.patch @@ -0,0 +1,78 @@ +Fix a test that has an expiration date of 2016-09-17: + +https://bugs.gnupg.org/gnupg/issue2393 + +Patch adapted from upstream source repository: + +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=e584d6468a2e72cd01e55f46104f9f96b56c0b66 + +The patch has been altered by commenting out a diff that does not apply +to the version of GnuPG that we are applying it to, 2.1.13. This is +what the patch author refers to below with "This commit includes changes +to the old test as well, for those who need to backport it." We keep the +old test and comment out the new test. + +From e584d6468a2e72cd01e55f46104f9f96b56c0b66 Mon Sep 17 00:00:00 2001 +From: Justus Winter +Date: Thu, 23 Jun 2016 17:24:23 +0200 +Subject: [PATCH] tests/openpgp: Fake the system time for the tofu test. + +The keys in the tofu test are set to expire on 2016-09-17. Fake the +system time for this test. + +This commit includes changes to the old test as well, for those who +need to backport it. + +* tests/openpgp/gpg-agent.conf.tmpl: Drop trailing newlines. +* tests/openpgp/tofu.scm: Fake system time. +* tests/openpgp/tofu.test: Likewise. + +GnuPG-bug-id: 2393 +Signed-off-by: Justus Winter +--- + tests/openpgp/gpg-agent.conf.tmpl | 2 -- + tests/openpgp/tofu.scm | 4 +++- + tests/openpgp/tofu.test | 3 +++ + 3 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/tests/openpgp/gpg-agent.conf.tmpl b/tests/openpgp/gpg-agent.conf.tmpl +index b3cb54f..70e1633 100644 +--- a/tests/openpgp/gpg-agent.conf.tmpl ++++ b/tests/openpgp/gpg-agent.conf.tmpl +@@ -1,4 +1,2 @@ + allow-preset-passphrase + no-grab +- +- +#diff --git a/tests/openpgp/tofu.scm b/tests/openpgp/tofu.scm +#index 24fa9df..38b6a0f 100755 +#--- a/tests/openpgp/tofu.scm +#+++ b/tests/openpgp/tofu.scm +#@@ -19,7 +19,9 @@ +# +# (load (with-path "defs.scm")) +# +#-(define GPG `(,(tool 'gpg) --no-permission-warning)) ;; w/o --always-trust +#+ ;; Redefine GPG without --always-trust and a fixed time. +#+(define GPG `(,(tool 'gpg) --no-permission-warning +#+ --faked-system-time=1466684990)) +# (define GNUPGHOME (getenv "GNUPGHOME")) +# (if (string=? "" GNUPGHOME) +# (error "GNUPGHOME not set")) +diff --git a/tests/openpgp/tofu.test b/tests/openpgp/tofu.test +index 18c1756..0d34af4 100755 +--- a/tests/openpgp/tofu.test ++++ b/tests/openpgp/tofu.test +@@ -4,6 +4,9 @@ + + # set -x + ++# Redefine GPG with a fixed time. ++GPG="$GPG --faked-system-time=1466684990" ++ + KEYS="2183839A BC15C85A EE37CF96" + + # Make sure $srcdir is set. +-- +2.10.0 + -- cgit 1.4.1 From 0dbb7ac2df86787cfcb7ae35915a0bfe88a500f9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Sep 2016 20:30:36 +0300 Subject: gnu: plink: Set endian-ness on more architectures. * gnu/packages/patches/plink-endian-detection.patch: New file. * gnu/packages/bioinformatics.scm (plink)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 3 ++- gnu/packages/patches/plink-endian-detection.patch | 30 +++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/plink-endian-detection.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a7566382dc..d71d1c4efc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -745,6 +745,7 @@ dist_patch_DATA = \ %D%/packages/patches/pinball-system-ltdl.patch \ %D%/packages/patches/pingus-sdl-libs-config.patch \ %D%/packages/patches/plink-1.07-unclobber-i.patch \ + %D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/polkit-drop-test.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 28d138855d..7da6f5546b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4279,7 +4279,8 @@ accessed/downloaded on demand across HTTP.") version "-src.zip")) (sha256 (base32 "0as8gxm4pjyc8dxmm1sl873rrd7wn5qs0l29nqfnl31x8i467xaa")) - (patches (search-patches "plink-1.07-unclobber-i.patch")))) + (patches (search-patches "plink-1.07-unclobber-i.patch" + "plink-endian-detection.patch")))) (build-system gnu-build-system) (arguments '(#:tests? #f ;no "check" target diff --git a/gnu/packages/patches/plink-endian-detection.patch b/gnu/packages/patches/plink-endian-detection.patch new file mode 100644 index 0000000000..4d6185512f --- /dev/null +++ b/gnu/packages/patches/plink-endian-detection.patch @@ -0,0 +1,30 @@ +This patch is borrowed from Debian's patches for plink + +Author: Peter Green +Puropose: Fallback to endian.h if all else fails on 64bit machines +Closes: #528659 +Forwarded: Shaun Purcell +License: same as plink itself. +=================================================================== +--- plink-1.06.orig/Rsrv.h 2009-05-15 03:35:29.000000000 +0100 ++++ plink-1.06/Rsrv.h 2009-05-15 03:35:41.000000000 +0100 +@@ -313,7 +313,18 @@ + #define __BIG_ENDIAN__ 1 + #define SWAPEND 1 + #elif ! defined Win32 /* Windows is little-endian is most cases, anywhere else we're stuck */ +-#error "Cannot determine endianness. Make sure config.h is included or __{BIG|LITTLE}_ENDIAN__ is defined ." ++ //try endian.h before we finally bail out ++ #include ++ #if __BYTE_ORDER == __LITTLE_ENDIAN ++ #warning using little endian based on information from endian.h ++ #define __LITTLE_ENDIAN__ 1 ++ #elif __BYTE_ORDER == __BIG_ENDIAN ++ #warning using big endian based on information from endian.h ++ #define __BIG_ENDIAN__ 1 ++ #define SWAPEND 1 ++ #else ++ #error "Cannot determine endianness. Make sure config.h is included or __{BIG|LITTLE}_ENDIAN__ is defined ." ++ #endif + #endif + + /* FIXME: all the mess below needs more efficient implementation - the current one is so messy to work around alignment problems on some platforms like Sun and HP 9000 */ -- cgit 1.4.1 From 0f5de84e983bdb65db261ecf5963d4208a8474e4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 19 Sep 2016 18:10:15 +0000 Subject: gnu: Add nickle. * gnu/packages/nickle.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/nickle.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/nickle.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d71d1c4efc..3d494ba9a3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -259,6 +259,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/nettle.scm \ %D%/packages/networking.scm \ %D%/packages/nfs.scm \ + %D%/packages/nickle.scm \ %D%/packages/ninja.scm \ %D%/packages/node.scm \ %D%/packages/noweb.scm \ diff --git a/gnu/packages/nickle.scm b/gnu/packages/nickle.scm new file mode 100644 index 0000000000..1312aecbbd --- /dev/null +++ b/gnu/packages/nickle.scm @@ -0,0 +1,54 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 ng0 +;;; +;;; 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 nickle) + #:use-module (gnu packages) + #:use-module (gnu packages readline) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public nickle + (package + (name "nickle") + (version "2.77") + (source (origin + (method url-fetch) + (uri (string-append "https://nickle.org/release/nickle-" + version ".tar.gz")) + (sha256 + (base32 + "0rhij7cn1zkn8wzxyjkamz9fs262zyg80p6v6i864hdalg4plpm3")))) + (build-system gnu-build-system) + (native-inputs + `(("readline" ,readline))) + (synopsis "Numeric oriented programming language") + (description + "Nickle is a programming language based prototyping environment with +powerful programming and scripting capabilities. Nickle supports a variety of +datatypes, especially arbitrary precision numbers. The programming language +vaguely resembles C. Some things in C which do not translate easily are +different, some design choices have been made differently, and a very few +features are simply missing. Nickle provides the functionality of Unix bc, dc +and expr in a different form. It is also an ideal environment for prototyping +complex algorithms. Nickle's scripting capabilities make it a replacement for +spreadsheets in some applications, and its numeric features complement the +limited numeric functionality of text-oriented languages such as AWK and Perl.") + (home-page "https://nickle.org/") + (license license:expat))) -- cgit 1.4.1 From 03ddad84bae4c862c728f617ff70734df709bf63 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 14 Sep 2016 22:09:06 +0200 Subject: gnu: flashrom: Update to 0.9.9 * gnu/packages/flashing-tools.scm (flashrom): Update to 0.9.9. [source]: Use HTTPS URL. Remove "flashrom-use-libftdi1.patch". [aruments]: Add 'CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no' to #:make-flags. * gnu/packages/patches/flashrom-use-libftdi1.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 - gnu/packages/flashing-tools.scm | 11 ++-- gnu/packages/patches/flashrom-use-libftdi1.patch | 70 ------------------------ 3 files changed, 6 insertions(+), 76 deletions(-) delete mode 100644 gnu/packages/patches/flashrom-use-libftdi1.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 3d494ba9a3..9ebe99ac8c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -512,7 +512,6 @@ dist_patch_DATA = \ %D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-test-xargs.patch \ - %D%/packages/patches/flashrom-use-libftdi1.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/fltk-shared-lib-defines.patch \ %D%/packages/patches/fltk-xfont-on-demand.patch \ diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index d0c164eff4..a55ed96edd 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -38,16 +38,15 @@ (define-public flashrom (package (name "flashrom") - (version "0.9.7") + (version "0.9.9") (source (origin (method url-fetch) (uri (string-append - "http://download.flashrom.org/releases/flashrom-" + "https://download.flashrom.org/releases/flashrom-" version ".tar.bz2")) (sha256 (base32 - "1s9pc4yls2s1gcg2ar4q75nym2z5v6lxq36bl6lq26br00nj2mas")) - (patches (search-patches "flashrom-use-libftdi1.patch")))) + "0i9wg1lyfg99bld7d00zqjm9f0lk6m0q3h3n9c195c9yysq5ccfb")))) (build-system gnu-build-system) (inputs `(("dmidecode" ,dmidecode) ("pciutils" ,pciutils) @@ -55,7 +54,9 @@ ("libftdi" ,libftdi))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + '(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output) + "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") #:tests? #f ; no 'check' target #:phases (alist-delete diff --git a/gnu/packages/patches/flashrom-use-libftdi1.patch b/gnu/packages/patches/flashrom-use-libftdi1.patch deleted file mode 100644 index a6051df30a..0000000000 --- a/gnu/packages/patches/flashrom-use-libftdi1.patch +++ /dev/null @@ -1,70 +0,0 @@ -Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi, -running on top of libusb-1.0. This also removes indirect dependency to -libusb-0.1. - -Patch by Kyösti Mälkki . -See . - ---- flashrom/Makefile.orig 2013-08-13 18:00:00.000000000 -0400 -+++ flashrom/Makefile 2014-08-05 03:10:40.217145375 -0400 -@@ -492,19 +492,21 @@ - ifeq ($(CONFIG_FT2232_SPI), yes) - # This is a totally ugly hack. - FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'") --NEED_FTDI := yes -+NEED_FTDI1 := yes - PROGRAMMER_OBJS += ft2232_spi.o - endif - - ifeq ($(CONFIG_USBBLASTER_SPI), yes) - # This is a totally ugly hack. - FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'") --NEED_FTDI := yes -+NEED_LIBUSB1 := yes -+NEED_FTDI1 := yes - PROGRAMMER_OBJS += usbblaster_spi.o - endif - --ifeq ($(NEED_FTDI), yes) --FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb") -+ifeq ($(NEED_FTDI1), yes) -+FTDILIBS := $(shell pkg-config --libs libftdi1 2>/dev/null || printf "%s" "-lftdi1 -lusb-1.0") -+FEATURE_CFLAGS += $(shell pkg-config --cflags libftdi1 2>/dev/null) - FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'") - FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") - # We can't set NEED_USB here because that would transform libftdi auto-enabling -@@ -781,6 +783,7 @@ - endif - - define FTDI_TEST -+#include - #include - struct ftdi_context *ftdic = NULL; - int main(int argc, char **argv) -@@ -793,6 +796,7 @@ - export FTDI_TEST - - define FTDI_232H_TEST -+#include - #include - enum ftdi_chip_type type = TYPE_232H; - endef -@@ -826,15 +830,15 @@ - - features: compiler - @echo "FEATURES := yes" > .features.tmp --ifeq ($(NEED_FTDI), yes) -+ifeq ($(NEED_FTDI1), yes) - @printf "Checking for FTDI support... " - @echo "$$FTDI_TEST" > .featuretest.c -- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ -+ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ - ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \ - ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp ) - @printf "Checking for FT232H support in libftdi... " - @echo "$$FTDI_232H_TEST" >> .featuretest.c -- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ -+ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ - ( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \ - ( echo "not found."; echo "FT232H := no" >> .features.tmp ) - endif -- cgit 1.4.1 From 6fc48c2ee2475b004b090b9cb047d4c1ccbb5175 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 17 Sep 2016 20:23:34 +0000 Subject: gnu: Add gforth. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gforth.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: 宋文武 --- gnu/local.mk | 1 + gnu/packages/gforth.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 gnu/packages/gforth.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 9ebe99ac8c..2f06ec46f6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -142,6 +142,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/geo.scm \ %D%/packages/geeqie.scm \ %D%/packages/gettext.scm \ + %D%/packages/gforth.scm \ %D%/packages/ghostscript.scm \ %D%/packages/gimp.scm \ %D%/packages/gkrellm.scm \ diff --git a/gnu/packages/gforth.scm b/gnu/packages/gforth.scm new file mode 100644 index 0000000000..b2a67ce58c --- /dev/null +++ b/gnu/packages/gforth.scm @@ -0,0 +1,60 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 ng0 +;;; Copyright © 2016 Sou Bunnbu +;;; +;;; 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 gforth) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages m4)) + +(define-public gforth + (package + (name "gforth") + (version "0.7.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gforth/gforth-" + version ".tar.gz")) + (sha256 + (base32 + "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig")))) + (build-system gnu-build-system) + (arguments + '(#:parallel-build? #f ; XXX: parallel build fails + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-gforth.el + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (emacs-sitedir (string-append + out "/share/emacs/site-lisp"))) + ;; TODO: compile and autoload it. + (install-file "gforth.el" emacs-sitedir) + #t)))))) + (native-inputs + `(("m4" ,m4))) + (synopsis "Forth interpreter") + (description + "Gforth is a fast and portable implementation of the ANSI Forth language. +It includes an editing mode for Emacs and an interpreter featuring completion +and history. A generic virtual machine environment, vmgen, is also +included.") + (home-page "https://www.gnu.org/software/gforth/") + (license license:gpl3+))) -- cgit 1.4.1 From 204adc301785073bc07a936d4f3c494876f68449 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Sep 2016 10:47:58 +0200 Subject: gnu: azr3: Fix libsigc++ build errors. * gnu/packages/audio.scm (azr3)[arguments]: Add "-std=gnu++11" flag. [source]: Add patch. * gnu/packages/patches/azr3.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/audio.scm | 5 +- gnu/packages/patches/azr3.patch | 151 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/azr3.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 2f06ec46f6..c2cdf8b448 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -458,6 +458,7 @@ dist_patch_DATA = \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ + %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bigloo-gc-shebangs.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d818216047..9699a55030 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -266,12 +266,15 @@ engineers, musicians, soundtrack editors and composers.") ".tar.bz2")) (sha256 (base32 - "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")))) + "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")) + (patches (search-patches "azr3.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:make-flags (list "LV2PEG=ttl2c" + "CXXFLAGS=-std=gnu++11" + "CFLAGS=-std=gnu++11" (string-append "prefix=" %output) (string-append "pkgdatadir=" %output "/share/azr3-jack")))) (inputs diff --git a/gnu/packages/patches/azr3.patch b/gnu/packages/patches/azr3.patch new file mode 100644 index 0000000000..5849383c5b --- /dev/null +++ b/gnu/packages/patches/azr3.patch @@ -0,0 +1,151 @@ +This patch adds the "sigc" and "std" namespace prefixes where needed. It also +replaces a double single-argument "bind" with a single two-argument "bind", +because the former would confuse the compiler. + +The patch has been sent to the developer on 2016-09-26. + +--- azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:27.653375902 +0200 ++++ azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:38.693430647 +0200 +@@ -44,7 +44,7 @@ + set_size_request(44, 44); + add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK | + BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Knob::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Knob::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:40.632845216 +0200 ++++ azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:48.952886473 +0200 +@@ -37,7 +37,7 @@ + set_size_request(22, 150); + add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK | + BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Drawbar::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Drawbar::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:48.169180111 +0200 ++++ azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:55.713217520 +0200 +@@ -49,7 +49,7 @@ + } + set_size_request(m_width, m_height); + add_events(EXPOSURE_MASK | BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Switch::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Switch::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 09:05:10.106963561 +0200 ++++ azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 10:26:47.480581648 +0200 +@@ -73,19 +73,19 @@ + m_tbox = add_textbox(m_fbox, pixmap, 391, 19, 3, 140, 39); + m_tbox->add_events(SCROLL_MASK); + m_tbox->signal_scroll_display. +- connect(mem_fun(*this, &AZR3GUI::display_scroll)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::display_scroll)); + m_splitpoint_adj = new Adjustment(0, 0, 1); + m_adj[n_splitpoint] = m_splitpoint_adj; + m_splitpoint_adj->signal_value_changed(). +- connect(mem_fun(*this, &AZR3GUI::splitpoint_changed)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::splitpoint_changed)); + Menu* menu = create_menu(); + m_tbox->signal_button_press_event(). +- connect(bind(mem_fun(*this, &AZR3GUI::popup_menu), menu)); ++ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::popup_menu), menu)); + + // keyboard split switch + m_splitswitch = add_switch(m_fbox, -1, 537, 49, Switch::Mini); + m_splitswitch->get_adjustment().signal_value_changed(). +- connect(mem_fun(*this, &AZR3GUI::splitbox_clicked)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::splitbox_clicked)); + + // upper knobs + add_switch(m_fbox, n_mono, 61, 105, Switch::Mini); +@@ -141,8 +141,8 @@ + // mode switcher + Widget* eb = add_clickbox(m_fbox, 14, 319, 14, 44); + eb->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), false))); ++ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode), ++ false, std::ref(m_fbox)))); + m_fx_widgets.push_back(eb); + + // Mr Valve controls +@@ -182,8 +182,8 @@ + // mode switcher 2 + Widget* eb2 = add_clickbox(m_vbox, 14, 53, 14, 44); + eb2->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), true))); ++ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode), ++ true, std::ref(m_fbox)))); + + // vibrato controls + add_switch(m_vbox, n_1_vibrato, 39, 17, Switch::Green); +@@ -352,9 +352,9 @@ + knob->set_style(s); + if (port >= 0 && port < m_adj.size()) { + knob->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), +- mem_fun(knob->get_adjustment(), +- &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port), ++ sigc::mem_fun(knob->get_adjustment(), ++ &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &knob->get_adjustment(); + } +@@ -382,8 +382,8 @@ + db->set_style(s); + if (port >= 0 && port < m_adj.size()) { + db->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), +- mem_fun(db->get_adjustment(), &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port), ++ sigc::mem_fun(db->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &db->get_adjustment(); + } +@@ -397,8 +397,8 @@ + fbox.put(*sw, xoffset, yoffset); + if (port >= 0 && port < m_adj.size()) { + sw->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port), +- mem_fun(sw->get_adjustment(), &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed),port), ++ sigc::mem_fun(sw->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &sw->get_adjustment(); + } +@@ -489,7 +489,7 @@ + oss<first<<' '<second.substr(0, 23); + MenuItem* item = manage(new MenuItem(oss.str())); + item->signal_activate(). +- connect(bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first)); ++ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::program_changed), iter->first)); + m_program_menu->items().push_back(*item); + item->show(); + item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg); +@@ -503,8 +503,8 @@ + for (int i = 0; i < 128; ++i) { + MenuItem* item = manage(new MenuItem(note2str(i))); + item->signal_activate(). +- connect(bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value), +- i / 128.0)); ++ connect(sigc::bind(sigc::mem_fun(*m_splitpoint_adj, &Adjustment::set_value), ++ i / 128.0)); + m_split_menu->items().push_back(*item); + item->show(); + item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg); +@@ -533,7 +533,7 @@ + + MenuItem* save_item = manage(new MenuItem("Save program")); + save_item->signal_activate(). +- connect(mem_fun(*this, &AZR3GUI::save_program)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::save_program)); + save_item->show(); + save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_bg); + save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_fg); -- cgit 1.4.1 From c8105e811b1f3a1f01d6942bd9ddeb8004ce30f3 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 27 Sep 2016 14:25:56 +0200 Subject: gnu: Add libnet6. * gnu/packages/gobby.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. --- gnu/local.mk | 1 + gnu/packages/gobby.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/gobby.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c2cdf8b448..a690b6e25d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -156,6 +156,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gnustep.scm \ %D%/packages/gnuzilla.scm \ %D%/packages/gnu-pw-mgr.scm \ + %D%/packages/gobby.scm \ %D%/packages/golang.scm \ %D%/packages/gperf.scm \ %D%/packages/gprolog.scm \ diff --git a/gnu/packages/gobby.scm b/gnu/packages/gobby.scm new file mode 100644 index 0000000000..f1df9b4d15 --- /dev/null +++ b/gnu/packages/gobby.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Andy Wingo +;;; +;;; 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 gobby) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml)) + +(define-public libnet6 + (package + (name "libnet6") + (version "1.3.14") + (source (origin + (method url-fetch) + (uri (string-append "http://releases.0x539.de/net6/net6-" + version ".tar.gz")) + (sha256 + (base32 + "088yqq60wjx3jqjlhl12893p15gl9asjpavrbhh590qzpqndhp8m")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + '("CXXFLAGS=-std=c++11") ; required by libsigc++ + #:phases + (modify-phases %standard-phases + (add-before 'configure 'update-gnutls-api + (lambda _ + (substitute* "src/encrypt.cpp" + ;; The GnuTLS API to set authentication and other parameters + ;; and priorities changed in 3.4; update to allow ANON_DH via + ;; the new API. + (("gnutls_kx_set_priority\\(session, kx_prio\\)") + (string-append "gnutls_priority_set_direct" + "(session, \"NORMAL:+ANON-DH\", NULL)")))))))) + (inputs + `(("libsigc++" ,libsigc++) + ("gnutls" ,gnutls))) + (home-page "https://gobby.github.io/") + (synopsis "Network access framework for IPv4/IPv6") + (description + "Library which that provides a TCP protocol abstraction for C++.") + (license license:lgpl2.1))) -- cgit 1.4.1 From b9bc6e842066b066ebdf9eaf75d41753598d75b5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 12 Sep 2016 16:54:45 -0400 Subject: gnu: expat: Fix regression caused by fix for CVE-2016-0718. * gnu/packages/xml.scm (expat)[replacement]: New field. (expat/fixed): New variable. * gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + .../expat-CVE-2016-0718-fix-regression.patch | 35 ++++++++++++++++++++++ gnu/packages/xml.scm | 12 ++++++++ 3 files changed, 48 insertions(+) create mode 100644 gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a690b6e25d..e8bae66d40 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -506,6 +506,7 @@ dist_patch_DATA = \ %D%/packages/patches/expat-CVE-2012-6702-and-CVE-2016-5300.patch \ %D%/packages/patches/expat-CVE-2015-1283-refix.patch \ %D%/packages/patches/expat-CVE-2016-0718.patch \ + %D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \ %D%/packages/patches/fastcap-mulGlobal.patch \ %D%/packages/patches/fastcap-mulSetup.patch \ %D%/packages/patches/fasthenry-spAllocate.patch \ diff --git a/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch b/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch new file mode 100644 index 0000000000..b489401fea --- /dev/null +++ b/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch @@ -0,0 +1,35 @@ +Fix regression caused by fix for CVE-2016-0718 when building with -DXML_UNICODE. + +Discussion: + +https://sourceforge.net/p/expat/bugs/539/ + +Patch copied from upstream source repository: + +https://sourceforge.net/p/expat/code_git/ci/af507cef2c93cb8d40062a0abe43a4f4e9158fb2/ + +From af507cef2c93cb8d40062a0abe43a4f4e9158fb2 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping +Date: Sun, 17 Jul 2016 20:22:29 +0200 +Subject: [PATCH 1/2] Fix regression bug #539 (needs -DXML_UNICODE) + +Thanks to Andy Wang and Karl Waclawek! +--- + expat/lib/xmlparse.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c +index b308e67..0d5dd7b 100644 +--- a/lib/xmlparse.c ++++ b/lib/xmlparse.c +@@ -2468,7 +2468,7 @@ doContent(XML_Parser parser, + &fromPtr, rawNameEnd, + (ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1); + convLen = (int)(toPtr - (XML_Char *)tag->buf); +- if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) { ++ if ((fromPtr >= rawNameEnd) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) { + tag->name.strLen = convLen; + break; + } +-- +2.10.0 diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index cd3426b55f..879b37a337 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -52,6 +52,7 @@ (define-public expat (package (name "expat") + (replacement expat/fixed) (version "2.1.1") (source (origin (method url-fetch) @@ -72,6 +73,17 @@ stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).") (license license:expat))) +(define expat/fixed + (package + (inherit expat) + (source (origin + (inherit (package-source expat)) + (patches (search-patches + "expat-CVE-2012-6702-and-CVE-2016-5300.patch" + "expat-CVE-2015-1283-refix.patch" + "expat-CVE-2016-0718.patch" + "expat-CVE-2016-0718-fix-regression.patch")))))) + (define-public libxml2 (package (name "libxml2") -- cgit 1.4.1 From 33619c3ae00f25af7fac325914fc47ee734d8f16 Mon Sep 17 00:00:00 2001 From: David Craven Date: Tue, 27 Sep 2016 19:39:26 +0200 Subject: gnu: Add sdcc. * gnu/packages/sdcc.scm (sdcc): New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/sdcc.scm | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 gnu/packages/sdcc.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index e8bae66d40..b864ea9020 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -318,6 +318,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/screen.scm \ %D%/packages/scribus.scm \ %D%/packages/scsi.scm \ + %D%/packages/sdcc.scm \ %D%/packages/sdl.scm \ %D%/packages/search.scm \ %D%/packages/serialization.scm \ diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm new file mode 100644 index 0000000000..c3d4bced26 --- /dev/null +++ b/gnu/packages/sdcc.scm @@ -0,0 +1,69 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 David Craven +;;; +;;; 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 sdcc) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) + #:use-module (gnu packages flex) + #:use-module (gnu packages python) + #:use-module (gnu packages texinfo) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public sdcc + (package + (name "sdcc") + (version "3.6.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/sdcc/sdcc" + "/" version "/sdcc-src-" version ".tar.bz2")) + (sha256 + (base32 + "0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8")))) + (build-system gnu-build-system) + (native-inputs + `(("bison" ,bison) + ("boost" ,boost) + ("flex" ,flex) + ("python-2" ,python-2) + ("texinfo" ,texinfo))) + (arguments + `(;; gputils is required for PIC ports + #:configure-flags + '("--disable-pic14-port" "--disable-pic16-port") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* (find-files "." "(\\.mk$|\\.in$)") + (("/bin/sh") (which "sh"))) + #t))))) + (home-page "http://sdcc.sourceforge.net") + (synopsis "Small devices C compiler") + (description "SDCC is a retargettable, optimizing Standard C compiler suite +that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, ...), +Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) +HC08 based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit +2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. +Work is in progress on supporting the Microchip PIC16 and PIC18 targets. +It can be retargeted for other microprocessors.") + (license license:gpl2+))) -- cgit 1.4.1