From b333d00c3566a8a6b058a35426da96200ebf2c6d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 17 Oct 2016 23:47:14 +0300 Subject: gnu: jasper: Update to 1.900.5. * gnu/packages/image.scm (jasper): Update to 1.900.5. [source]: Remove patches. [native-inputs]: Remove unzip. * gnu/packages/patches/jasper-CVE-2007-2721.patch, gnu/packages/patches/jasper-CVE-2008-3520.patch, gnu/packages/patches/jasper-CVE-2008-3522.patch, gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch, gnu/packages/patches/jasper-CVE-2014-8137.patch, gnu/packages/patches/jasper-CVE-2014-8138.patch, gnu/packages/patches/jasper-CVE-2014-8157.patch, gnu/packages/patches/jasper-CVE-2014-8158.patch, gnu/packages/patches/jasper-CVE-2014-9029.patch, gnu/packages/patches/jasper-CVE-2016-1577.patch, gnu/packages/patches/jasper-CVE-2016-1867.patch, gnu/packages/patches/jasper-CVE-2016-2089.patch, gnu/packages/patches/jasper-CVE-2016-2116.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c80b213078..5226b49def 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -605,19 +605,6 @@ dist_patch_DATA = \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/inkscape-drop-wait-for-targets.patch \ %D%/packages/patches/jansson-CVE-2016-4425.patch \ - %D%/packages/patches/jasper-CVE-2007-2721.patch \ - %D%/packages/patches/jasper-CVE-2008-3520.patch \ - %D%/packages/patches/jasper-CVE-2008-3522.patch \ - %D%/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch \ - %D%/packages/patches/jasper-CVE-2014-8137.patch \ - %D%/packages/patches/jasper-CVE-2014-8138.patch \ - %D%/packages/patches/jasper-CVE-2014-8157.patch \ - %D%/packages/patches/jasper-CVE-2014-8158.patch \ - %D%/packages/patches/jasper-CVE-2014-9029.patch \ - %D%/packages/patches/jasper-CVE-2016-1577.patch \ - %D%/packages/patches/jasper-CVE-2016-1867.patch \ - %D%/packages/patches/jasper-CVE-2016-2089.patch \ - %D%/packages/patches/jasper-CVE-2016-2116.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jq-CVE-2015-8863.patch \ %D%/packages/patches/khmer-use-libraries.patch \ -- cgit 1.4.1 From 15ca49b220b531864b9ac4d3dcbb218279ca0db3 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 18 Oct 2016 21:15:43 +0200 Subject: gnu: hdf4: Really fix non-x86 architectures. This is a follow-up to commit 60da9fb1100787c49ed4910eacf50e83c6462dcc. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/maths.scm (hdf4)[source]: Add patch. --- gnu/local.mk | 3 ++- gnu/packages/maths.scm | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 5226b49def..73221b870c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -584,8 +584,9 @@ dist_patch_DATA = \ %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/hdf4-shared-fortran.patch \ + %D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-reproducibility.patch \ + %D%/packages/patches/hdf4-shared-fortran.patch \ %D%/packages/patches/hdf5-config-date.patch \ %D%/packages/patches/hdf-eos5-build-shared.patch \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 07934e3114..d41a3f11bf 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -456,7 +456,8 @@ computations.") version "/src/hdf-" version ".tar.bz2")) (sha256 (base32 "16yr50j845zlfx20skmw3y75ww77akk9gg0affjqkg66ih5r03mv")) - (patches (search-patches "hdf4-reproducibility.patch" + (patches (search-patches "hdf4-architectures.patch" + "hdf4-reproducibility.patch" "hdf4-shared-fortran.patch")))) (build-system gnu-build-system) -- cgit 1.4.1 From 91988aee126376ea9e111882afb511e3a555936d Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 18 Oct 2016 18:15:55 +0000 Subject: gnu: torsocks: Update to 2.2.0. * gnu/packages/patches/torsocks-dns-test.patch: Delete file. * gnu/local.mk: Remove it. * gnu/packages/tor.scm (torsocks): Update to 2.2.0. [source]: Remove patch. Change method from 'git-fetch' to 'url-fetch'. Remove 'file-name'. [arguments]: Remove 'bootstrap' phase. [native-inputs]: Remove autoconf, automake and libtool. Also remove obsoleted perl-test-harness. [home-page]: Use https URL. (define-module): Don't import perl. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 - gnu/packages/patches/torsocks-dns-test.patch | 18 ------------------ gnu/packages/tor.scm | 25 ++++++------------------- 3 files changed, 6 insertions(+), 38 deletions(-) delete mode 100644 gnu/packages/patches/torsocks-dns-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 73221b870c..a492716eb7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -845,7 +845,6 @@ dist_patch_DATA = \ %D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/tophat-build-with-later-seqan.patch \ - %D%/packages/patches/torsocks-dns-test.patch \ %D%/packages/patches/totem-debug-format-fix.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ diff --git a/gnu/packages/patches/torsocks-dns-test.patch b/gnu/packages/patches/torsocks-dns-test.patch deleted file mode 100644 index ba70ba5933..0000000000 --- a/gnu/packages/patches/torsocks-dns-test.patch +++ /dev/null @@ -1,18 +0,0 @@ -Skip DNS tests that rely on the ability to look up arbitary -host names. - ---- torsocks/tests/test_dns.c 2015-11-10 18:30:53.955941984 +0100 -+++ torsocks/tests/test_dns.c 2015-11-10 18:31:02.199941892 +0100 -@@ -134,11 +134,8 @@ static void test_getaddrinfo(const struc - int main(int argc, char **argv) - { - /* Libtap call for the number of tests planned. */ -- plan_tests(NUM_TESTS); -+ plan_tests(1); - -- test_getaddrinfo(&tor_check); -- test_gethostbyname(&tor_dir_auth1); -- test_gethostbyaddr(&tor_dir_auth2); - test_getaddrinfo(&tor_localhost); - - return 0; diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 0812b575ce..e6fbf6e005 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -30,7 +30,6 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages compression) #: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) @@ -73,28 +72,16 @@ applications based on the TCP protocol.") (define-public torsocks (package (name "torsocks") - (version "2.0.0") + (version "2.2.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.torproject.org/torsocks.git") - (commit (string-append "v" version)))) + (method url-fetch) + (uri (string-append "https://people.torproject.org/~dgoulet/" + name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0an2q5ail9z414riyjbkjkm29504hy778j914baz2gn5hlv2cfak")) - (file-name (string-append name "-" version "-checkout")) - (patches (search-patches "torsocks-dns-test.patch")))) + "0byr9ga9w79qz4vp0m11sbmspad7fsal9wm67r4znzb7zb7cis19")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda _ - (system* "autoreconf" "-vfi")))))) - (native-inputs `(("autoconf" ,(autoconf-wrapper)) - ("automake" ,automake) - ("libtool" ,libtool) - ("perl-test-harness" ,perl-test-harness))) - (home-page "http://www.torproject.org/") + (home-page "https://www.torproject.org/") (synopsis "Use socks-friendly applications with Tor") (description "Torsocks allows you to use most socks-friendly applications in a safe -- cgit 1.4.1 From a56145e1fa8c8c9cb866518efdeaaf4ad4017ba1 Mon Sep 17 00:00:00 2001 From: Stephen Webber Date: Sun, 16 Oct 2016 15:04:35 -0500 Subject: gnu: Add kobodeluxe. * gnu/packages/games.scm (kobodeluxe): New variable. * gnu/packages/patches/kobodeluxe-paths.patch: New file. * gnu/packages/patches/kobodeluxe-enemies-pipe-decl.patch: New file. * gnu/packages/patches/kobodeluxe-const-charp-conversion.patch: New file. * gnu/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch: New file. * gnu/packages/patches/kobodeluxe-midicon-segmentation-fault.patch: New file. * gnu/packages/patches/kobodeluxe-graphics-window-signed-char.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 7 +++ gnu/packages/games.scm | 33 +++++++++++ .../kobodeluxe-const-charp-conversion.patch | 17 ++++++ .../patches/kobodeluxe-enemies-pipe-decl.patch | 67 ++++++++++++++++++++++ .../kobodeluxe-graphics-window-signed-char.patch | 38 ++++++++++++ .../kobodeluxe-manpage-minus-not-hyphen.patch | 15 +++++ .../kobodeluxe-midicon-segmentation-fault.patch | 24 ++++++++ gnu/packages/patches/kobodeluxe-paths.patch | 40 +++++++++++++ 8 files changed, 241 insertions(+) create mode 100644 gnu/packages/patches/kobodeluxe-const-charp-conversion.patch create mode 100644 gnu/packages/patches/kobodeluxe-enemies-pipe-decl.patch create mode 100644 gnu/packages/patches/kobodeluxe-graphics-window-signed-char.patch create mode 100644 gnu/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch create mode 100644 gnu/packages/patches/kobodeluxe-midicon-segmentation-fault.patch create mode 100644 gnu/packages/patches/kobodeluxe-paths.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a492716eb7..8c30e92a4d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -610,6 +610,13 @@ dist_patch_DATA = \ %D%/packages/patches/jq-CVE-2015-8863.patch \ %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ + %D%/packages/patches/kobodeluxe-paths.patch \ + %D%/packages/patches/kobodeluxe-spelling.patch \ + %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ + %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ + %D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \ + %D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \ + %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/ldc-disable-tests.patch \ %D%/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 17ca12bce6..a2c8ac078a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016 Steve Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -2966,3 +2967,35 @@ symbols, the game needs graphics to render the non-euclidean world.") license:public-domain ; src/direntx.* license:zlib ; src/savepng.* license:gpl2+)))) ; remaining files + +(define-public kobodeluxe + (package + (name "kobodeluxe") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (string-append "http://olofson.net/kobodl/download/KoboDeluxe-" + version ".tar.bz2")) + (sha256 + (base32 + "0b2wvdpnmaibsy419c16dfwj5kvd3pccby2aaqvm964x74592yqg")) + (patches (search-patches + "kobodeluxe-const-charp-conversion.patch" + "kobodeluxe-enemies-pipe-decl.patch" + "kobodeluxe-graphics-window-signed-char.patch" + "kobodeluxe-manpage-minus-not-hyphen.patch" + "kobodeluxe-midicon-segmentation-fault.patch" + "kobodeluxe-paths.patch")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "CPPFLAGS=-I" + (assoc-ref %build-inputs "sdl-union") + "/include/SDL")))) + (inputs `(("sdl-union" ,(sdl-union (list sdl sdl-image))))) + (synopsis "Shooter with space station destruction") + (description + "Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game +for Un*x systems with X11.") + (home-page "http://olofson.net/kobodl/") + (license license:gpl2+))) diff --git a/gnu/packages/patches/kobodeluxe-const-charp-conversion.patch b/gnu/packages/patches/kobodeluxe-const-charp-conversion.patch new file mode 100644 index 0000000000..8386cf83fc --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-const-charp-conversion.patch @@ -0,0 +1,17 @@ +Description: Avoid compilation error with gcc-4.4. + "const char* -> char*" conversion is fatal in that version +Origin: vendor, https://bugs.launchpad.net/ubuntu/+source/kobodeluxe/+bug/461373 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/kobodeluxe/+bug/461373 +Bug-Debian: http://bugs.debian.org/552548 +Forwarded: http://www.freelists.org/post/olofsonprojects/kobodlpatch-compile-error-in-windowcpp-with-g44 +--- a/graphics/window.cpp ++++ b/graphics/window.cpp +@@ -398,7 +398,7 @@ void window_t::center_token_fxp(int _x, + */ + if(token) + { +- char *tok = strchr(txt, token); ++ const char *tok = strchr(txt, token); + if(tok) + tokpos = tok-txt; + else diff --git a/gnu/packages/patches/kobodeluxe-enemies-pipe-decl.patch b/gnu/packages/patches/kobodeluxe-enemies-pipe-decl.patch new file mode 100644 index 0000000000..05cd884b2b --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-enemies-pipe-decl.patch @@ -0,0 +1,67 @@ +# Authhor: Damyan Ivanov +# Description: rename pipe2 symbol to pipe2_kbdl to avoid clashes with the one +# declared in system unistd.h +# Debian-Bug: 527705 +# Upstream-Report: http://www.freelists.org/post/olofsonprojects/kobodeluxe-failing-to-build-in-Debian-enemiesh75-error-const-enemy-kind-pipe2-redeclared-as-different-kind-of-symbol +--- a/enemies.h ++++ b/enemies.h +@@ -72,7 +72,7 @@ extern const enemy_kind bombdeto; + extern const enemy_kind cannon; + extern const enemy_kind pipe1; + extern const enemy_kind core; +-extern const enemy_kind pipe2; ++extern const enemy_kind pipe2_kbdl; + extern const enemy_kind rock; + extern const enemy_kind ring; + extern const enemy_kind enemy_m1; +@@ -430,7 +430,7 @@ inline int _enemy::realize() + + inline int _enemy::is_pipe() + { +- return ((_state != notuse) && ((ek == &pipe1) || (ek == &pipe2))); ++ return ((_state != notuse) && ((ek == &pipe1) || (ek == &pipe2_kbdl))); + } + + +--- a/enemy.cpp ++++ b/enemy.cpp +@@ -755,10 +755,10 @@ void _enemy::move_core() + + void _enemy::kill_core() + { +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); + enemies.make(&explosion4, CS2PIXEL(x), CS2PIXEL(y)); + sound.g_base_core_explo(x, y); + release(); +@@ -978,19 +978,19 @@ void _enemy::move_pipe2() + } + p ^= a; + if(p & U_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); + if(p & R_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); + if(p & D_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); + if(p & L_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); ++ enemies.make(&pipe2_kbdl, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); + manage.add_score(10); + release(); + } + + +-const enemy_kind pipe2 = { ++const enemy_kind pipe2_kbdl = { + 0, + &_enemy::make_pipe2, + &_enemy::move_pipe2, diff --git a/gnu/packages/patches/kobodeluxe-graphics-window-signed-char.patch b/gnu/packages/patches/kobodeluxe-graphics-window-signed-char.patch new file mode 100644 index 0000000000..d626618cd1 --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-graphics-window-signed-char.patch @@ -0,0 +1,38 @@ +# This was created in responce to Debian bug #163979 +# Thing is, if you want to compant "-1" with a char value, +# you better make that char signed +--- kobodeluxe-0.5.1.orig/graphics/window.cpp ++++ kobodeluxe-0.5.1/graphics/window.cpp +@@ -331,7 +331,7 @@ + } + + +-void window_t::center_token(int _x, int _y, const char *txt, char token) ++void window_t::center_token(int _x, int _y, const char *txt, signed char token) + { + center_token_fxp(PIXEL2CS(_x), PIXEL2CS(_y), txt, token); + } +@@ -374,7 +374,7 @@ + } + + +-void window_t::center_token_fxp(int _x, int _y, const char *txt, char token) ++void window_t::center_token_fxp(int _x, int _y, const char *txt, signed char token) + { + _x = CS2PIXEL((_x * xs + 128) >> 8); + _y = CS2PIXEL((_y * ys + 128) >> 8); +--- kobodeluxe-0.5.1.orig/graphics/window.h ++++ kobodeluxe-0.5.1/graphics/window.h +@@ -265,10 +265,10 @@ + void font(int fnt); + void string(int _x, int _y, const char *txt); + void center(int _y, const char *txt); +- void center_token(int _x, int _y, const char *txt, char token = 0); ++ void center_token(int _x, int _y, const char *txt, signed char token = 0); + void string_fxp(int _x, int _y, const char *txt); + void center_fxp(int _y, const char *txt); +- void center_token_fxp(int _x, int _y, const char *txt, char token = 0); ++ void center_token_fxp(int _x, int _y, const char *txt, signed char token = 0); + int textwidth(const char *txt, int min = 0, int max = 255); + int textwidth_fxp(const char *txt, int min = 0, int max = 255); + int fontheight(); diff --git a/gnu/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch b/gnu/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch new file mode 100644 index 0000000000..34cab90ec3 --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch @@ -0,0 +1,15 @@ +# Author: Damyan Ivanov +# Description: convert a hyphen in kobodl manpage to a minus, which is what is +# inttented here +# Upstream-Report: http://www.freelists.org/post/olofsonprojects/patch-manpage-uses-hyphen-instead-of-a-minus-sign +--- a/kobodl.6 ++++ b/kobodl.6 +@@ -176,7 +176,7 @@ Video Mode. Default: 17200. + Enable Vertical Sync. Default: On. + .TP + .B \-videopages +-Number of Video Pages. Default: -1. ++Number of Video Pages. Default: \-1. + .TP + .B \-scalemode + Scaling Filter Mode. Default: 1. diff --git a/gnu/packages/patches/kobodeluxe-midicon-segmentation-fault.patch b/gnu/packages/patches/kobodeluxe-midicon-segmentation-fault.patch new file mode 100644 index 0000000000..3348348ced --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-midicon-segmentation-fault.patch @@ -0,0 +1,24 @@ +From: Emile CARRY +Date: Wed, 6 Apr 2016 00:27:17 +0200 +Subject: midicon segmentation fault + +Debian-Bug: https://bugs.debian.org/819897 +Forwarded: no +--- + sound/a_midicon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/a_midicon.c b/sound/a_midicon.c +index 57de3cf..ded2988 100644 +--- a/sound/a_midicon.c ++++ b/sound/a_midicon.c +@@ -120,8 +120,8 @@ static inline void __press(unsigned ch, unsigned key) + { + m[ch].next[key] = -1; + m[ch].prev[key] = m[ch].last; +- m[ch].next[m[ch].last] = (char)key; + m[ch].last = (char)key; ++ m[ch].next[m[ch].last] = (char)key; + } + + diff --git a/gnu/packages/patches/kobodeluxe-paths.patch b/gnu/packages/patches/kobodeluxe-paths.patch new file mode 100644 index 0000000000..87c7b3a620 --- /dev/null +++ b/gnu/packages/patches/kobodeluxe-paths.patch @@ -0,0 +1,40 @@ +# Disable reading of configs, graphics, and data from the current directory. +# So it's safe to run kobodeluxe from anywhere w/o worry about an attacker +# feeding it bad data. +--- kobodeluxe-0.5.1.orig/kobo.cpp ++++ kobodeluxe-0.5.1/kobo.cpp +@@ -141,21 +141,21 @@ + * Graphics data + */ + /* Current dir; from within the build tree */ +- fmap->addpath("GFX", "./data/gfx"); ++ //fmap->addpath("GFX", "./data/gfx"); + /* Real data dir */ + fmap->addpath("GFX", "DATA>>gfx"); + /* Current dir */ +- fmap->addpath("GFX", "./gfx"); ++ //fmap->addpath("GFX", "./gfx"); + + /* + * Sound data + */ + /* Current dir; from within the build tree */ +- fmap->addpath("SFX", "./data/sfx"); ++ //fmap->addpath("SFX", "./data/sfx"); + /* Real data dir */ + fmap->addpath("SFX", "DATA>>sfx"); + /* Current dir */ +- fmap->addpath("SFX", "./sfx"); ++ //fmap->addpath("SFX", "./sfx"); + + /* + * Score files (user and global) +@@ -173,7 +173,7 @@ + /* System local */ + fmap->addpath("CONFIG", SYSCONF_DIR); + /* In current dir (last resort) */ +- fmap->addpath("CONFIG", "./"); ++ //fmap->addpath("CONFIG", "./"); + } + + -- cgit 1.4.1 From f7017a719d6831862198d2af4800e45cd5bbf016 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 18 Oct 2016 21:31:32 -0500 Subject: build: Remove reference to nonexistant patch file. * gnu/local.mk: Remove reference to kobodeluxe-spelling.patch, which was removed during a revision to the submitted kobodeluxe package. --- gnu/local.mk | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8c30e92a4d..f275775048 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -611,7 +611,6 @@ dist_patch_DATA = \ %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ - %D%/packages/patches/kobodeluxe-spelling.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ %D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \ -- cgit 1.4.1 From 13bbc0cc94902a9f442d8c594f3970afcf90bda5 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 17 Oct 2016 09:05:39 +0200 Subject: gnu: chez-scheme: Move to new module. * gnu/packages/scheme.scm (chez-scheme, nanopass, stex): Move variables ... * gnu/packages/chez.scm (chez-scheme, nanopass, stex): ... here. New module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 196 ++++++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/scheme.scm | 161 --------------------------------------- 3 files changed, 197 insertions(+), 161 deletions(-) create mode 100644 gnu/packages/chez.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f275775048..c2a0df00b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -69,6 +69,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cdrom.scm \ %D%/packages/certs.scm \ %D%/packages/check.scm \ + %D%/packages/chez.scm \ %D%/packages/ci.scm \ %D%/packages/cmake.scm \ %D%/packages/code.scm \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm new file mode 100644 index 0000000000..6b694b8ef1 --- /dev/null +++ b/gnu/packages/chez.scm @@ -0,0 +1,196 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Federico Beffa +;;; +;;; 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 chez) + #:use-module (gnu packages) + #:use-module ((guix licenses) + #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages tex) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages xorg) + #:use-module (ice-9 match)) + +(define nanopass + (let ((version "1.9")) + (origin + (method url-fetch) + (uri (string-append + "https://github.com/nanopass/nanopass-framework-scheme/archive" + "/v" version ".tar.gz")) + (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2")) + (file-name (string-append "nanopass-" version ".tar.gz"))))) + +(define stex + (let ((version "1.2.1")) + (origin + (method url-fetch) + (uri (string-append + "https://github.com/dybvig/stex/archive" + "/v" version ".tar.gz")) + (sha256 (base32 "03pl3f668h24dn51vccr1sj5lsba9zq3j37bnxjvdadcdaj4qy5z")) + (file-name (string-append "stex-" version ".tar.gz"))))) + +(define-public chez-scheme + (package + (name "chez-scheme") + (version "9.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cisco/ChezScheme/archive/" + "v" version ".tar.gz")) + (sha256 + (base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz")) + (file-name (string-append "chez-scheme-" version ".tar.gz")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses) + ("libx11" ,libx11) + ("xorg-rgb" ,xorg-rgb) + ("nanopass" ,nanopass) + ("zlib" ,zlib) + ("stex" ,stex))) + (native-inputs + `(("texlive" ,texlive) + ("ghostscript" ,ghostscript-gs) + ("netpbm" ,netpbm))) + (native-search-paths + (list (search-path-specification + (variable "CHEZSCHEMELIBDIRS") + (files (list (string-append "lib/csv" version "-site")))))) + (outputs '("out" "doc")) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 match)) + #:test-target "test" + #:configure-flags + (list ,(match (or (%current-target-system) (%current-system)) + ("x86_64-linux" '(list "--machine=ta6le")) + ("i686-linux" '(list "--machine=ti3le")) + ;; FIXME: Some people succeeded in cross-compiling to + ;; ARM. https://github.com/cisco/ChezScheme/issues/13 + (_ + '()))) + #:phases + (modify-phases %standard-phases + ;; Adapt the custom 'configure' script. + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (nanopass (assoc-ref inputs "nanopass")) + (stex (assoc-ref inputs "stex")) + (zlib (assoc-ref inputs "zlib")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) + (map (match-lambda + ((src orig-name new-name) + (with-directory-excursion "." + (apply unpack (list #:source src)) + (apply patch-source-shebangs (list #:source src))) + (delete-file-recursively new-name) + (system* "mv" orig-name new-name))) + `((,nanopass "nanopass-framework-scheme-1.9" "nanopass") + (,stex "stex-1.2.1" "stex"))) + ;; The Makefile wants to download and compile "zlib". We patch + ;; it to use the one from our 'zlib' package. + (substitute* "configure" + (("rmdir zlib .*$") "echo \"using system zlib\"\n")) + (substitute* (find-files "./c" "Mf-[a-zA-Z0-9.]+") + (("\\$\\{Kernel\\}: \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a") + "${Kernel}: ${kernelobj}") + (("ld ([-a-zA-Z0-9_${} ]+) \\.\\./zlib/libz\\.a" all args) + (string-append "ld " args " " zlib "/lib/libz.a")) + (("\\(cd \\.\\./zlib; ([-a-zA-Z0-9=./ ]+))") + (which "true"))) + (substitute* (find-files "mats" "Mf-.*") + (("^[[:space:]]+(cc ) *") "\tgcc ")) + (substitute* + (find-files "." (string-append + "(" + "Mf-[a-zA-Z0-9.]+" + "|Makefile[a-zA-Z0-9.]*" + "|checkin" + "|stex\\.stex" + "|newrelease" + "|workarea" + ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read + ")")) + (("/bin/rm") (which "rm")) + (("/bin/ln") (which "ln")) + (("/bin/cp") (which "cp"))) + (substitute* "makefiles/installsh" + (("/bin/true") (which "true"))) + (substitute* "stex/Makefile" + (("PREFIX=/usr") (string-append "PREFIX=" out))) + (zero? (system* "./configure" "--threads" + (string-append "--installprefix=" out)))))) + ;; Installation of the documentation requires a running "chez". + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (doc (string-append (assoc-ref outputs "doc") + "/share/doc/" ,name "-" ,version))) + (setenv "HOME" (getcwd)) + (setenv "PATH" (string-append (getenv "PATH") ":" bin)) + (with-directory-excursion "stex" + (system* "make" (string-append "BIN=" bin))) + (system* "make" "docs") + (with-directory-excursion "csug" + (substitute* "Makefile" + (("/tmp/csug9") doc)) + (system* "make" "install") + (install-file "csug.pdf" doc)) + (with-directory-excursion "release_notes" + (install-file "release_notes.pdf" doc)) + #t))) + ;; The binary file name is called "scheme" as the one from MIT/GNU + ;; Scheme. We add a symlink to use in case both are installed. + (add-after 'install 'install-symlink + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (name "chez-scheme")) + (symlink (string-append bin "/scheme") + (string-append bin "/" name)) + (map (lambda (file) + (symlink file (string-append (dirname file) + "/" name ".boot"))) + (find-files lib "scheme.boot")) + #t)))))) + ;; According to the documentation MIPS is not supported. + (supported-systems (delete "mips64el-linux" %supported-systems)) + (home-page "http://www.scheme.com") + (synopsis "R6RS Scheme compiler and run-time") + (description + "Chez Scheme is a compiler and run-time system for the language of the +Revised^6 Report on Scheme (R6RS), with numerous extensions. The compiler +generates native code for each target processor, with support for x86, x86_64, +and 32-bit PowerPC architectures.") + (license asl2.0))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 10368b2d15..41a7bf5328 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -591,167 +591,6 @@ an isolated heap allowing multiple VMs to run simultaneously in different OS threads.") (license bsd-3))) -(define nanopass - (let ((version "1.9")) - (origin - (method url-fetch) - (uri (string-append - "https://github.com/nanopass/nanopass-framework-scheme/archive" - "/v" version ".tar.gz")) - (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2")) - (file-name (string-append "nanopass-" version ".tar.gz"))))) - -(define stex - (let ((version "1.2.1")) - (origin - (method url-fetch) - (uri (string-append - "https://github.com/dybvig/stex/archive" - "/v" version ".tar.gz")) - (sha256 (base32 "03pl3f668h24dn51vccr1sj5lsba9zq3j37bnxjvdadcdaj4qy5z")) - (file-name (string-append "stex-" version ".tar.gz"))))) - -(define-public chez-scheme - (package - (name "chez-scheme") - (version "9.4") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/cisco/ChezScheme/archive/" - "v" version ".tar.gz")) - (sha256 - (base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz")) - (file-name (string-append "chez-scheme-" version ".tar.gz")))) - (build-system gnu-build-system) - (inputs - `(("ncurses" ,ncurses) - ("libx11" ,libx11) - ("xorg-rgb" ,xorg-rgb) - ("nanopass" ,nanopass) - ("zlib" ,zlib) - ("stex" ,stex))) - (native-inputs - `(("texlive" ,texlive) - ("ghostscript" ,ghostscript-gs) - ("netpbm" ,netpbm))) - (native-search-paths - (list (search-path-specification - (variable "CHEZSCHEMELIBDIRS") - (files (list (string-append "lib/csv" version "-site")))))) - (outputs '("out" "doc")) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) - #:test-target "test" - #:configure-flags - (list ,(match (or (%current-target-system) (%current-system)) - ("x86_64-linux" '(list "--machine=ta6le")) - ("i686-linux" '(list "--machine=ti3le")) - ;; FIXME: Some people succeeded in cross-compiling to - ;; ARM. https://github.com/cisco/ChezScheme/issues/13 - (_ - '()))) - #:phases - (modify-phases %standard-phases - ;; Adapt the custom 'configure' script. - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (nanopass (assoc-ref inputs "nanopass")) - (stex (assoc-ref inputs "stex")) - (zlib (assoc-ref inputs "zlib")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - (map (match-lambda - ((src orig-name new-name) - (with-directory-excursion "." - (apply unpack (list #:source src)) - (apply patch-source-shebangs (list #:source src))) - (delete-file-recursively new-name) - (system* "mv" orig-name new-name))) - `((,nanopass "nanopass-framework-scheme-1.9" "nanopass") - (,stex "stex-1.2.1" "stex"))) - ;; The Makefile wants to download and compile "zlib". We patch - ;; it to use the one from our 'zlib' package. - (substitute* "configure" - (("rmdir zlib .*$") "echo \"using system zlib\"\n")) - (substitute* (find-files "./c" "Mf-[a-zA-Z0-9.]+") - (("\\$\\{Kernel\\}: \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a") - "${Kernel}: ${kernelobj}") - (("ld ([-a-zA-Z0-9_${} ]+) \\.\\./zlib/libz\\.a" all args) - (string-append "ld " args " " zlib "/lib/libz.a")) - (("\\(cd \\.\\./zlib; ([-a-zA-Z0-9=./ ]+))") - (which "true"))) - (substitute* (find-files "mats" "Mf-.*") - (("^[[:space:]]+(cc ) *") "\tgcc ")) - (substitute* - (find-files "." (string-append - "(" - "Mf-[a-zA-Z0-9.]+" - "|Makefile[a-zA-Z0-9.]*" - "|checkin" - "|stex\\.stex" - "|newrelease" - "|workarea" - ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read - ")")) - (("/bin/rm") (which "rm")) - (("/bin/ln") (which "ln")) - (("/bin/cp") (which "cp"))) - (substitute* "makefiles/installsh" - (("/bin/true") (which "true"))) - (substitute* "stex/Makefile" - (("PREFIX=/usr") (string-append "PREFIX=" out))) - (zero? (system* "./configure" "--threads" - (string-append "--installprefix=" out)))))) - ;; Installation of the documentation requires a running "chez". - (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - (doc (string-append (assoc-ref outputs "doc") - "/share/doc/" ,name "-" ,version))) - (setenv "HOME" (getcwd)) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - (with-directory-excursion "stex" - (system* "make" (string-append "BIN=" bin))) - (system* "make" "docs") - (with-directory-excursion "csug" - (substitute* "Makefile" - (("/tmp/csug9") doc)) - (system* "make" "install") - (install-file "csug.pdf" doc)) - (with-directory-excursion "release_notes" - (install-file "release_notes.pdf" doc)) - #t))) - ;; The binary file name is called "scheme" as the one from MIT/GNU - ;; Scheme. We add a symlink to use in case both are installed. - (add-after 'install 'install-symlink - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib")) - (name "chez-scheme")) - (symlink (string-append bin "/scheme") - (string-append bin "/" name)) - (map (lambda (file) - (symlink file (string-append (dirname file) - "/" name ".boot"))) - (find-files lib "scheme.boot")) - #t)))))) - ;; According to the documentation MIPS and ARM are not supported. - (supported-systems '("x86_64-linux" "i686-linux")) - (home-page "http://www.scheme.com") - (synopsis "R6RS Scheme compiler and run-time") - (description - "Chez Scheme is a compiler and run-time system for the language of the -Revised^6 Report on Scheme (R6RS), with numerous extensions. The compiler -generates native code for each target processor, with support for x86, x86_64, -and 32-bit PowerPC architectures.") - (license asl2.0))) - (define-public scmutils (let () (define (system-suffix) -- cgit 1.4.1