Il giorno dom 5 ago 2018 alle 11:15, Phil Holmes <m...@philholmes.net> ha scritto:


Knut,

To get this issue incorporated in our GUB Github repo, please either issue a pull request with the patch at https://github.com/gperciva/gub or send me a git-formatted patch and I'll push it to the repo.


Phil, find attached the git-formatted patch.

Here's how I made it:

cd path/to/gub
wget https://codereview.appspot.com/download/issue369750043_40001.diff
patch -p1 < issue369750043_40001.diff

Add updated and new files and commit:
git commit --author="Knut Petersen <knut_peter...@t-online.de>"


Thanks.

I will make a new release once GUB is updated.


Can you wait a few days?
I'd like to send a PR about this issue:
https://sourceforge.net/p/testlilyissues/issues/5396/

Thanks
Federico


>From 0f1b76ef0d08acfe59e0272a3cf2c952a095adb4 Mon Sep 17 00:00:00 2001
From: Knut Petersen <knut_peter...@t-online.de>
Date: Wed, 12 Sep 2018 11:42:59 +0200
Subject: [PATCH] Various fixes

See LilyPond issue #5384:
https://sourceforge.net/p/testlilyissues/issues/5384/
---
 gub/gup.py                      |  2 +-
 gub/specs/darwin/cross/gcc.py   |  2 +-
 gub/specs/darwin/odcctools.py   |  2 +-
 gub/specs/ghostscript.py        |  2 +-
 gub/specs/git.py                |  2 +-
 gub/specs/glibc.py              |  1 +
 gub/specs/libpng.py             |  2 +-
 gub/specs/lilypond.py           |  1 +
 gub/specs/make.py               |  1 +
 patches/glibc-allow-make4.patch | 11 +++++
 patches/make_glob2.patch        | 77 +++++++++++++++++++++++++++++++++
 11 files changed, 97 insertions(+), 6 deletions(-)
 create mode 100644 patches/glibc-allow-make4.patch
 create mode 100644 patches/make_glob2.patch

diff --git a/gub/gup.py b/gub/gup.py
index b165bd91..76004b24 100644
--- a/gub/gup.py
+++ b/gub/gup.py
@@ -202,7 +202,7 @@ class FileManager:
             if not f or f.endswith ('/'):
                 continue
             try:
-                del self._file_package_db[f]
+                del self._file_package_db[str(f)]
             except:
                 printf ('db delete failing for ', f)
         del self._package_file_db[name]
diff --git a/gub/specs/darwin/cross/gcc.py b/gub/specs/darwin/cross/gcc.py
index f38e717a..a0c349b0 100644
--- a/gub/specs/darwin/cross/gcc.py
+++ b/gub/specs/darwin/cross/gcc.py
@@ -5,7 +5,7 @@ from gub import loggedos
 from gub import cross
 
 class Gcc__darwin (cross_gcc.Gcc):
-    dependencies = ['odcctools']
+    dependencies = ['tools::gmp', 'tools::mpfr', 'tools::mpc', 'odcctools']
     patches = cross_gcc.Gcc.patches + [
         'gcc-4.8.2-darwin-fixinc.patch',
         'gcc-4.8.2-darwin-libgcc.patch',
diff --git a/gub/specs/darwin/odcctools.py b/gub/specs/darwin/odcctools.py
index 7bce9043..87730b58 100755
--- a/gub/specs/darwin/odcctools.py
+++ b/gub/specs/darwin/odcctools.py
@@ -12,7 +12,7 @@ class Odcctools (cross.AutoBuild): #skews dependencies:, build.SdkBuild):
     source = 'http://lilypond.org/gub/download/odcctools-iphone-dev/odcctools-iphone-dev-278.tar.gz'
     patches = ['odcctools-r211-word.patch',
                'odcctools-config-Wno-long-double.patch']
-    dependencies = ['darwin-sdk', 'tools::flex', 'tools::automake']
+    dependencies = ['darwin-sdk', 'tools::bison', 'tools::flex', 'tools::automake']
     def __init__ (self, settings, source):
         cross.AutoBuild.__init__ (self, settings, source)
         if 'x86_64-linux' in self.settings.build_architecture:
diff --git a/gub/specs/ghostscript.py b/gub/specs/ghostscript.py
index dfdb1c2a..77e99e7d 100644
--- a/gub/specs/ghostscript.py
+++ b/gub/specs/ghostscript.py
@@ -302,7 +302,7 @@ class Ghostscript__freebsd (Ghostscript):
 class Ghostscript__freebsd__x86 (Ghostscript__freebsd):
     # ***FIXME*** Ghostscript 9.20 for freebsd-x86 raises seg fault.
     # So we use Ghostscript 9.15.
-    source = 'http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.15.tar.gz'
+    source = 'https://ftp.osuosl.org/pub/blfs/conglomeration/ghostscript/ghostscript-9.15.tar.bz2'
     patches = [
         'ghostscript-9.15-make.patch',
         'ghostscript-9.15-cygwin.patch',
diff --git a/gub/specs/git.py b/gub/specs/git.py
index 5cf19cc0..a6b81174 100644
--- a/gub/specs/git.py
+++ b/gub/specs/git.py
@@ -13,7 +13,7 @@ class Git (target.AutoBuild):
     make_flags = '''V=1 NO_PERL=NoThanks'''
 
 class Git__tools (tools.AutoBuild, Git):
-    dependencies = ['curl', 'expat', 'zlib']
+    dependencies = ['curl', 'expat', 'zlib', 'tools::gettext']
     configure_flags = (tools.AutoBuild.configure_flags
                        + ' --without-openssl'
                        + ' --without-tcltk'
diff --git a/gub/specs/glibc.py b/gub/specs/glibc.py
index 9a9f4e38..0f27b5e5 100644
--- a/gub/specs/glibc.py
+++ b/gub/specs/glibc.py
@@ -42,6 +42,7 @@ to *not* look in /.
 class Glibc (target.AutoBuild, cross.AutoBuild):
     source = 'http://lilypond.org/downloads/gub-sources/glibc/glibc-2.3-20070416.tar.bz2'
     patches = [
+        'glibc-allow-make4.patch',
         'glibc-2.3-powerpc-initfini.patch',
         'glibc-2.3-powerpc-socket-weakalias.patch',
         'glibc-2.3-powerpc-lround-weakalias.patch',
diff --git a/gub/specs/libpng.py b/gub/specs/libpng.py
index e9278a80..4edf7377 100644
--- a/gub/specs/libpng.py
+++ b/gub/specs/libpng.py
@@ -2,7 +2,7 @@ from gub import target
 from gub import tools 
 
 class Libpng (target.AutoBuild):
-    source = 'http://sourceforge.net/projects/libpng/files/libpng12/1.2.56/libpng-1.2.56.tar.xz'
+    source = 'https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.56/libpng-1.2.56.tar.xz'
     dependencies = [
         'zlib-devel',
         'tools::autoconf',
diff --git a/gub/specs/lilypond.py b/gub/specs/lilypond.py
index 9456f941..f6d2a138 100644
--- a/gub/specs/lilypond.py
+++ b/gub/specs/lilypond.py
@@ -262,6 +262,7 @@ class LilyPond__darwin__ppc (LilyPond__darwin):
 
 class LilyPond_base (target.AutoBuild):
     source = LilyPond.source
+    branch = LilyPond.branch
     install_after_build = False
     ghostscript_version = ghostscript.Ghostscript.static_version ()
     def __init__ (self, settings, source):
diff --git a/gub/specs/make.py b/gub/specs/make.py
index df69c5e4..4a2f7bfc 100644
--- a/gub/specs/make.py
+++ b/gub/specs/make.py
@@ -4,6 +4,7 @@ from gub import tools
 
 class Make_make__tools (tools.AutoBuild):
     source = 'http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.gz'
+    patches = [ 'make_glob2.patch']
     def __init__ (self, settings, source):
         tools.AutoBuild.__init__ (self, settings, source)
         self.source._unpack = self.source._unpack_promise_well_behaved
diff --git a/patches/glibc-allow-make4.patch b/patches/glibc-allow-make4.patch
new file mode 100644
index 00000000..81242770
--- /dev/null
+++ b/patches/glibc-allow-make4.patch
@@ -0,0 +1,11 @@
+--- old/configure	2018-07-08 16:22:39.141946102 +0200
++++ new/configure	2018-07-08 16:23:27.781477977 +0200
+@@ -4154,7 +4154,7 @@
+   ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
+   case $ac_prog_version in
+     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+-    3.79* | 3.[89]*)
++    3.79* | 3.[89]* | 4.[0-9.]*)
+        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
diff --git a/patches/make_glob2.patch b/patches/make_glob2.patch
new file mode 100644
index 00000000..00be91c1
--- /dev/null
+++ b/patches/make_glob2.patch
@@ -0,0 +1,77 @@
+diff -Naur old/configure new/configure
+--- old/configure       2006-04-01 08:40:00.000000000 +0200
++++ new/configure       2018-07-17 22:53:07.611101819 +0200
+@@ -13619,10 +13619,9 @@
+ #include <glob.h>
+ #include <fnmatch.h>
+
+-#define GLOB_INTERFACE_VERSION 1
+ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+ # include <gnu-versions.h>
+-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
++# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
+    gnu glob
+ # endif
+ #endif
+diff -Naur old/configure.in new/configure.in
+--- old/configure.in    2006-04-01 08:36:40.000000000 +0200
++++ new/configure.in    2018-07-17 22:51:33.679953018 +0200
+@@ -351,10 +351,9 @@
+ #include <glob.h>
+ #include <fnmatch.h>
+
+-#define GLOB_INTERFACE_VERSION 1
+ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+ # include <gnu-versions.h>
+-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
++# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
+    gnu glob
+ # endif
+ #endif
+diff -Naur old/dir.c new/dir.c
+--- old/dir.c   2006-02-11 23:16:04.000000000 +0100
++++ new/dir.c   2018-07-17 22:56:50.513180032 +0200
+@@ -1194,6 +1194,32 @@
+ }
+ #endif
+
++/* Similarly for lstat.  */
++#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
++# ifndef VMS
++#  ifndef HAVE_SYS_STAT_H
++int lstat (const char *path, struct stat *sbuf);
++#  endif
++# else
++    /* We are done with the fake lstat.  Go back to the real lstat */
++#   ifdef lstat
++#     undef lstat
++#   endif
++# endif
++# define local_lstat lstat
++#elif defined(WINDOWS32)
++/* Windows doesn't support lstat().  */
++# define local_lstat local_stat
++#else
++static int
++local_lstat (const char *path, struct stat *buf)
++{
++  int e;
++  EINTRLOOP (e, lstat (path, buf));
++  return e;
++}
++#endif
++
+ void
+ dir_setup_glob (glob_t *gl)
+ {
+@@ -1201,9 +1227,8 @@
+   gl->gl_opendir = open_dirstream;
+   gl->gl_readdir = read_dirstream;
+   gl->gl_closedir = ansi_free;
++  gl->gl_lstat = local_lstat;
+   gl->gl_stat = local_stat;
+-  /* We don't bother setting gl_lstat, since glob never calls it.
+-     The slot is only there for compatibility with 4.4 BSD.  */
+ }
+
+ void
-- 
2.17.1

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to