aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2019-12-06 14:44:39 +0100
committerJan Nieuwenhuizen <janneke@gnu.org>2019-12-07 19:30:04 +0100
commit8c0dcf3e89e0eb2a6094263efdbc5eaec0e8e9e8 (patch)
treee3dca006592066e7250a5b30779bebc4963e1fd2
parentf410e72db90aad668b26cf9117da10aa4b75e507 (diff)
downloadguix-8c0dcf3e89e0eb2a6094263efdbc5eaec0e8e9e8.tar
guix-8c0dcf3e89e0eb2a6094263efdbc5eaec0e8e9e8.tar.gz
gnu: mes: Add patch to remove store name from binary.
* gnu/packages/patches/mes-remove-store-name.patch: New file, from upstream. * gnu/packages/mes.scm (mes): Use it. Add `www.' to homepage. * gnu/local.mk (dist_patch_DATA): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/mes.scm3
-rw-r--r--gnu/packages/patches/mes-remove-store-name.patch121
3 files changed, 124 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index d12b6b1878..fbea6dc78b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1133,6 +1133,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
+ %D%/packages/patches/mes-remove-store-name.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mesa-timespec-test-32bit.patch \
%D%/packages/patches/mescc-tools-boot.patch \
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 59710c45ae..0a5863582a 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -134,7 +134,7 @@ bootstrap to Guix and aims to help create full source bootstrapping for
GNU/Linux distributions. It consists of a mutual self-hosting Scheme
interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with
Guile.")
- (home-page "https://gnu.org/software/mes")
+ (home-page "https://www.gnu.org/software/mes/")
(license gpl3+)))
(define-public mes
@@ -145,6 +145,7 @@ Guile.")
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
+ (patches (search-patches "mes-remove-store-name.patch"))
(sha256
(base32
"104qxngxyl7pql8vqrnli3wfyx0ayfaqg8gjfhmk4qzrafs46slm"))))
diff --git a/gnu/packages/patches/mes-remove-store-name.patch b/gnu/packages/patches/mes-remove-store-name.patch
new file mode 100644
index 0000000000..ad055c51f2
--- /dev/null
+++ b/gnu/packages/patches/mes-remove-store-name.patch
@@ -0,0 +1,121 @@
+From d8f361705325cf91fc6c2ec84f281cdcd6bfa8b1 Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Tue, 3 Dec 2019 21:23:24 +0100
+Subject: [PATCH] core: Remove MES_PKGDATADIR.
+
+* configure: Do not add MES_PKGDATADIR to config.h.
+* configure.sh: Likewise.
+* simple.sh: Likewise.
+* src/mes.c (open_boot): Do not use MES_PKGDATADIR; rely on
+MES_PREFIX or cwd.
+---
+ configure | 1 -
+ configure.sh | 1 -
+ simple.sh | 2 --
+ src/mes.c | 13 -------------
+ 4 files changed, 17 deletions(-)
+
+diff --git a/configure b/configure
+index 8edb2ce7b..12d8323f2 100755
+--- a/configure
++++ b/configure
+@@ -666,7 +666,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
+ "))
+ (display (string-append "
+ #define MES_VERSION \"" VERSION "\"
+-#define MES_PKGDATADIR \"" pkgdatadir "\"
+ ")))))
+ (substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make"))
+
+diff --git a/configure.sh b/configure.sh
+index 947ddd851..0139cbc36 100755
+--- a/configure.sh
++++ b/configure.sh
+@@ -244,7 +244,6 @@ EOF
+ fi
+ cat >> include/mes/config.h <<EOF
+ #define MES_VERSION "$VERSION"
+-#define MES_PKGDATADIR "$pkgdatadir"
+ EOF
+
+ cat <<EOF
+diff --git a/simple.sh b/simple.sh
+index db6950354..b54398a59 100755
+--- a/simple.sh
++++ b/simple.sh
+@@ -33,7 +33,6 @@ mes_bits=64
+ cat > include/mes/config.h <<EOF
+ #define SYSTEM_LIBC 1
+ #define MES_VERSION "git"
+-#define MES_PKGDATADIR "/usr/local/share/mes"
+ EOF
+
+ ## Build ##
+@@ -126,7 +125,6 @@ mes_cpu=x86_64
+ cat > include/mes/config.h <<EOF
+ // #define SYSTEM_LIBC 0
+ #define MES_VERSION "git"
+-#define MES_PKGDATADIR "/usr/local/share/mes"
+ EOF
+
+ ## Build ##
+diff --git a/src/mes.c b/src/mes.c
+index d9760fad6..a5e7f2b69 100644
+--- a/src/mes.c
++++ b/src/mes.c
+@@ -1775,12 +1775,6 @@ open_boot ()
+ char boot[1024];
+ char file_name[1024];
+ strcpy (g_datadir, ".");
+- if (g_debug > 1)
+- {
+- eputs (";;; pkgdatadir=");
+- eputs (MES_PKGDATADIR);
+- eputs ("\n");
+- }
+ if (getenv ("MES_BOOT"))
+ strcpy (boot, getenv ("MES_BOOT"));
+ else
+@@ -1801,13 +1795,6 @@ open_boot ()
+ __stdin = try_open_boot (file_name, boot, "MES_PREFIX/share/mes");
+ }
+ }
+- if (__stdin < 0)
+- {
+- strcpy (g_datadir, MES_PKGDATADIR);
+- strcpy (file_name, g_datadir);
+- strcpy (file_name + strlen (file_name), "/module/mes/");
+- __stdin = try_open_boot (file_name, boot, "pkgdatadir");
+- }
+ if (__stdin < 0)
+ {
+ g_datadir[0] = 0;
+--
+2.24.0
+
+commit 2f6fab05b3f09df02aba70c3e21d5fedb45dc567
+Author: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Sun Nov 24 23:12:29 2019 +0100
+
+ core: Throw instead of segfault on non-existing input file. WIP.
+
+ Reported by theruran.
+
+ * src/posix.c (open_input_file): Call error instead of failing silently.
+
+diff --git a/src/posix.c b/src/posix.c
+index 7ba2e9915..fd753232d 100644
+--- a/src/posix.c
++++ b/src/posix.c
+@@ -188,7 +188,10 @@ current_input_port ()
+ SCM
+ open_input_file (SCM file_name)
+ {
+- return MAKE_NUMBER (mes_open (CSTRING (file_name), O_RDONLY, 0));
++ int filedes = mes_open (CSTRING (file_name), O_RDONLY, 0);
++ if (filedes == -1)
++ error (cell_symbol_system_error, cons (MAKE_STRING0 ("No such file or directory"), file_name));
++ return MAKE_NUMBER (filedes);
+ }
+
+ SCM