>From 0f1b76ef0d08acfe59e0272a3cf2c952a095adb4 Mon Sep 17 00:00:00 2001 From: Knut Petersen 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 + #include + +-#define GLOB_INTERFACE_VERSION 1 + #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 + # include +-# 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 + #include + +-#define GLOB_INTERFACE_VERSION 1 + #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 + # include +-# 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