lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUB lilypond build fails


From: Werner LEMBERG
Subject: Re: GUB lilypond build fails
Date: Mon, 17 Dec 2018 01:11:47 +0100 (CET)

> lilypond should now build with gub as soon as this commit goes to
> `master'.

To be more precise: I can build lilypond with gub on my openSuSE Leap
42.3 GNU/Linux box.[*]

I use the attached patches for gub (relative to HEAD), which are based
on

  https://github.com/gperciva/gub/pull/7

plus some other changes that I'm going to submit as soon as my gub
build completes.


    Werner


[*] The nasty `ar' bug I've reported some time ago is still present
    but I can circumvent the issue.  IMHO this is nothing gub should
    take care of.
diff --git a/arbora.make b/arbora.make
index 1754d77d..8b9250ba 100644
--- a/arbora.make
+++ b/arbora.make
@@ -45,10 +45,10 @@ arbora-installers:
        $(foreach p, $(PLATFORMS), $(call INVOKE_INSTALLER_BUILDER,$(p)) 
$(INSTALL_PACKAGE) &&) true #
 
 nsis:
-       bin/gub tools::nsis
+       $(GUB) tools::nsis
 
 update-versions:
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/arbora.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/arbora
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/arbora.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/arbora
 
 print-success:
        @echo "success!!"
diff --git a/bin/gib b/bin/gib
index 0a7ccf39..91d98b64 100755
--- a/bin/gib
+++ b/bin/gib
@@ -102,6 +102,11 @@ Examples:
 
     (options, args) = p.parse_args ()
     
+    if not args:
+        gub_log.error ('error: nothing to do\n')
+        p.print_help ()
+        sys.exit (2)
+
     return (options, args)
 
 def check_installer (installer, options, args):
diff --git a/bin/gub b/bin/gub
index dd4b3763..261e7f90 100755
--- a/bin/gub
+++ b/bin/gub
@@ -280,7 +280,7 @@ def environment_sanity (settings):
     if os.path.exists (environment_file):
         environment = dict (pickle.loads (open (environment_file, 'rb').read 
()))
     # expand any ~ in the PATH
-    os.environ['PATH'] = ":".join( map( lambda(x):os.path.expanduser(x),
+    os.environ['PATH'] = ":".join( map( os.path.expanduser,
                                         os.environ['PATH'].split(':')))
     differ = []
     for key in list (misc.uniq (sorted (environment.keys ()
diff --git a/denemo.make b/denemo.make
index 60508814..b1343988 100644
--- a/denemo.make
+++ b/denemo.make
@@ -52,10 +52,10 @@ denemo-installers:
        $(foreach p, $(PLATFORMS), $(call INVOKE_INSTALLER_BUILDER,$(p)) 
$(INSTALL_PACKAGE) &&) true #
 
 nsis:
-       bin/gub tools::nsis
+       $(GUB) tools::nsis
 
 update-versions:
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/denemo.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/denemo
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/denemo.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/denemo
 
 print-success:
        @echo "success!!"
diff --git a/gub/dependency.py b/gub/dependency.py
index 6518102e..3220d8ed 100644
--- a/gub/dependency.py
+++ b/gub/dependency.py
@@ -35,7 +35,7 @@ def get_build_from_file (platform, file_name, name):
         and (not cls or issubclass (cls, target.AutoBuild))):
         cls = misc.most_significant_in_dict (module.__dict__, 
class_name.replace ('tools32', 'tools'), '__')
     if ((platform == 'tools' or platform == 'tools32')
-        and (issubclass (cls, target.AutoBuild)
+        and (not cls or issubclass (cls, target.AutoBuild)
              and not issubclass (cls, tools.AutoBuild)
              and not issubclass (cls, tools32.AutoBuild))):
         cls = None
diff --git a/gub/specs/autoconf.py b/gub/specs/autoconf.py
index 6435d892..0c7b200f 100644
--- a/gub/specs/autoconf.py
+++ b/gub/specs/autoconf.py
@@ -7,3 +7,6 @@ class Autoconf__tools (tools.AutoBuild):
             'm4',
             'perl',
             ]
+    # prevent execution of Emacs to build .elc files
+    configure_variables = (tools.AutoBuild.configure_variables
+                           + ' EMACS=false')
diff --git a/gub/specs/darwin/cross/gcc.py b/gub/specs/darwin/cross/gcc.py
index a0c349b0..bca7923e 100644
--- a/gub/specs/darwin/cross/gcc.py
+++ b/gub/specs/darwin/cross/gcc.py
@@ -3,6 +3,7 @@ import os
 from gub.specs.cross import gcc as cross_gcc
 from gub import loggedos
 from gub import cross
+from gub import misc
 
 class Gcc__darwin (cross_gcc.Gcc):
     dependencies = ['tools::gmp', 'tools::mpfr', 'tools::mpc', 'odcctools']
@@ -13,6 +14,10 @@ class Gcc__darwin (cross_gcc.Gcc):
     configure_flags = (cross_gcc.Gcc.configure_flags
                        + ' --disable-libcilkrts'
     )
+    configure_variables = (cross_gcc.Gcc.configure_variables
+                           + misc.join_lines ('''
+MAKEINFO=no
+'''))
     def languages (self):
         # objective-c is used for quartz's Carbon/Carbon.h in pango, gtk+
         return cross_gcc.Gcc.languages (self) + ['objc', 'obj-c++']
diff --git a/gub/specs/freebsd/cross/gcc.py b/gub/specs/freebsd/cross/gcc.py
index 663a8bd3..4b25d366 100644
--- a/gub/specs/freebsd/cross/gcc.py
+++ b/gub/specs/freebsd/cross/gcc.py
@@ -8,3 +8,7 @@ class Gcc__freebsd (cross_gcc.Gcc):
 --disable-libcilkrts
 --disable-__cxa_atexit
 '''))
+    configure_variables = (cross_gcc.Gcc.configure_variables
+                + misc.join_lines ('''
+MAKEINFO=no
+'''))
diff --git a/gub/specs/gettext.py b/gub/specs/gettext.py
index d021bdd3..550464b3 100644
--- a/gub/specs/gettext.py
+++ b/gub/specs/gettext.py
@@ -23,6 +23,7 @@ 
ac_cv_prog_HAVE_JIKES_IN_PATH=${ac_cv_prog_HAVE_JIKES_IN_PATH=no}
                 + ' --disable-threads'
                 + ' --disable-csharp'
                 + ' --disable-java'
+                + ' --without-emacs'
                 )
 #    if 'stat' in misc.librestrict (): # too broken to fix
 #        def LD_PRELOAD (self):
@@ -80,7 +81,8 @@ class Gettext__tools (tools.AutoBuild):
             'libtool',
             ]
     configure_flags = (tools.AutoBuild.configure_flags
-                + ' --disable-libasprintf')
+                + ' --disable-libasprintf'
+                + ' --without-emacs')
     def configure (self):
         tools.AutoBuild.configure (self)
         self.file_sub ([
diff --git a/gub/specs/guile.py b/gub/specs/guile.py
index 13df25de..9f2ac0d1 100644
--- a/gub/specs/guile.py
+++ b/gub/specs/guile.py
@@ -25,6 +25,9 @@ class Guile (target.AutoBuild):
 --enable-relocation
 --enable-rpath
 ''')
+    guile_configure_variables = misc.join_lines ('''
+have_makeinfo=no
+''')
     configure_variables = (target.AutoBuild.configure_variables
                            + misc.join_lines ('''
 CC_FOR_BUILD="
@@ -44,13 +47,14 @@ PATH=/usr/bin:$PATH
     # FIXME: guile runs gen_scmconfig [when not x-building also guile]
     # without setting the proper LD_LIBRARY_PATH.
     compile_flags_native = (' LD_PRELOAD= '
-                            + ' 
LD_LIBRARY_PATH=%(tools_prefix)s/lib:${LD_LIBRARY_PATH-/foe} '
+                            + ' 
LD_LIBRARY_PATH=%(tools_prefix)s/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '
                             + ' cross_compiling=yes ')
     # FIXME: guile runs gen_scmconfig [when not x-building also guile]
     # without setting the proper LD_LIBRARY_PATH.
     configure_command = ('GUILE_FOR_BUILD=%(tools_prefix)s/bin/guile '
                          + target.AutoBuild.configure_command
-                         + guile_configure_flags)
+                         + guile_configure_flags
+                         + guile_configure_variables)
     compile_command = ('preinstguile=%(tools_prefix)s/bin/guile '
                        + target.AutoBuild.compile_command)
     subpackage_names = ['doc', 'devel', 'runtime', '']
@@ -215,14 +219,15 @@ LD_LIBRARY_PATH=%(system_prefix)s/lib
 CFLAGS='-O2 -I%(system_prefix)s/include'
 LDFLAGS='-L%(system_prefix)s/lib %(rpath)s'
 ''')
-    configure_command = 
('LD_LIBRARY_PATH=%(system_prefix)s/lib:${LD_LIBRARY_PATH-/foe} '
+    configure_command = 
('LD_LIBRARY_PATH=%(system_prefix)s/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '
                          + tools.AutoBuild.configure_command
-                         + Guile.guile_configure_flags)
+                         + Guile.guile_configure_flags
+                         + Guile.guile_configure_variables)
     # FIXME: when configuring, guile runs binaries linked against
     # libltdl.
     # FIXME: when not x-building, guile runs gen_scmconfig, guile without
     # setting the proper LD_LIBRARY_PATH.
-    compile_command = ('export 
LD_LIBRARY_PATH=%(builddir)s/libguile/.libs:%(system_prefix)s/lib:${LD_LIBRARY_PATH-/foe};'
+    compile_command = ('export 
LD_LIBRARY_PATH=%(builddir)s/libguile/.libs:%(system_prefix)s/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH};'
                 + Guile.compile_command)
     def patch (self):
         # Guile's texi files can not be compiled by texinfo-6.1.
diff --git a/gub/specs/lilypond-doc.py b/gub/specs/lilypond-doc.py
index 10eefb2f..4123130c 100644
--- a/gub/specs/lilypond-doc.py
+++ b/gub/specs/lilypond-doc.py
@@ -49,6 +49,7 @@ DOCUMENTATION=yes
 WEB_TARGETS="offline online"
 TARGET_PYTHON=/usr/bin/python
 CPU_COUNT=%(cpu_count)s
+MISSING_OPTIONAL=dblatex
 ''')
     compile_flags = lilypond.LilyPond_base.compile_flags + ' top-doc doc'
     install_flags = (' install-doc install-help2man'
diff --git a/gub/specs/lilypond-test.py b/gub/specs/lilypond-test.py
index 4edc9048..a07b3f4b 100644
--- a/gub/specs/lilypond-test.py
+++ b/gub/specs/lilypond-test.py
@@ -23,6 +23,7 @@ class LilyPond_test (lilypond.LilyPond_base):
         return 
'%(uploads)s/lilypond-%(version)s-%(build_number)s.test-output.tar.bz2'
     make_flags = misc.join_lines ('''
 CPU_COUNT=%(cpu_count)s
+MISSING_OPTIONAL=dblatex
 ''')
     compile_flags = lilypond.LilyPond_base.compile_flags + ' test'
         #return (lilypond.LilyPond_base.install_command
diff --git a/gub/specs/lilypond.py b/gub/specs/lilypond.py
index f6d2a138..949963c4 100644
--- a/gub/specs/lilypond.py
+++ b/gub/specs/lilypond.py
@@ -299,7 +299,7 @@ class LilyPond_base (target.AutoBuild):
 LILYPOND_EXTERNAL_BINARY=%(system_prefix)s/bin/lilypond
 PATH=%(tools_prefix)s/bin:%(system_prefix)s/bin:$PATH
 MALLOC_CHECK_=2
-LD_LIBRARY_PATH=%(tools_prefix)s/lib:%(system_prefix)s/lib:${LD_LIBRARY_PATH-/foe}
+LD_LIBRARY_PATH=%(tools_prefix)s/lib:%(system_prefix)s/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
 
GS_FONTPATH=%(system_prefix)s/share/ghostscript/%(ghostscript_version)s/fonts:%(system_prefix)s/share/gs/fonts
 
GS_LIB=%(system_prefix)s/share/ghostscript/%(ghostscript_version)s/Resource/Init:%(system_prefix)s/share/ghostscript/%(ghostscript_version)s/Resource
 ''')
diff --git a/inkscape.make b/inkscape.make
index a20d44d4..debfc7e6 100644
--- a/inkscape.make
+++ b/inkscape.make
@@ -41,7 +41,7 @@ inkscape-installer: installers
 inkscape-installers: installers
 
 update-versions:
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/inkscape.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/inkscape
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/inkscape.versions --download --platforms="mingw" 
--url=http://lilypond.org/blog/janneke/software/inkscape
 
 print-success:
        @echo installer: uploads/inkscape*$(BUILD_PLATFORM).sh
diff --git a/lilypond.make b/lilypond.make
index aa5b4fe5..fbc84e1f 100644
--- a/lilypond.make
+++ b/lilypond.make
@@ -81,15 +81,15 @@ include compilers.make
 
 unlocked-update-versions:
        $(info **** **** unlocked-update-versions rule)
-       python gub/versiondb.py --version-db=$(LILYPOND_VERSIONS) --download 
--platforms="$(PLATFORMS)"
+       $(PYTHON) gub/versiondb.py --version-db=$(LILYPOND_VERSIONS) --download 
--platforms="$(PLATFORMS)"
 
 ifneq ($(findstring cygwin,$(PLATFORMS)),)
 # this is downloading the same info 5 times. Can we do this more efficiently?
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/freetype2.versions --download  --platforms="cygwin"
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/fontconfig.versions --download  --platforms="cygwin"
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/guile.versions --download --platforms="cygwin"
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/libtool.versions --download --platforms="cygwin"
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/noweb.versions --download --platforms="cygwin"
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/freetype2.versions --download  --platforms="cygwin"
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/fontconfig.versions --download  --platforms="cygwin"
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/guile.versions --download --platforms="cygwin"
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/libtool.versions --download --platforms="cygwin"
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/noweb.versions --download --platforms="cygwin"
 endif
 
 download-cygwin:
@@ -157,7 +157,7 @@ test-output:
 
 print-success:
        $(info **** print-success rule)
-       python test-lily/upload.py --branch=$(LILYPOND_BRANCH) --url 
$(LILYPOND_REPO_URL)
+       $(PYTHON) test-lily/upload.py --branch=$(LILYPOND_BRANCH) --url 
$(LILYPOND_REPO_URL)
        @echo ""
        @echo "To upload, run:"
        @echo
@@ -208,7 +208,7 @@ ptools:
 
 nsis:
        $(info **** nsis rule)
-       bin/gub tools::nsis
+       $(GUB) tools::nsis
 
 ################################################################
 # docs
diff --git a/mingit.make b/mingit.make
index 34418628..75f23145 100644
--- a/mingit.make
+++ b/mingit.make
@@ -33,7 +33,7 @@ mingw:
        $(call BUILD,$@,git)
 
 update-versions:
-       python gub/versiondb.py --no-sources --url http://lilypond.org/git 
--dbfile versiondb/git.versions --download --platforms="$(PLATFORMS)"
+       $(PYTHON) gub/versiondb.py --no-sources --url http://lilypond.org/git 
--dbfile versiondb/git.versions --download --platforms="$(PLATFORMS)"
 
 LAST_GIT=$(shell ls -1 -t uploads/git*.exe|head -1)
 TAG=gub-release-mingw-git-$(subst uploads/git-,,$(LAST_GIT))
diff --git a/openoffice.make b/openoffice.make
index c5bc54d6..cd820e77 100644
--- a/openoffice.make
+++ b/openoffice.make
@@ -35,7 +35,7 @@ openoffice-installers:
        $(call INVOKE_INSTALLER_BUILDER,$(PLATFORMS)) $(INSTALL_PACKAGE)
 
 nsis:
-       bin/gub tools::nsis
+       $(GUB) tools::nsis
 
 print-success:
        @echo "success!!"
diff --git a/schikkers-list.make b/schikkers-list.make
index a8d6ce1f..3c56cd1e 100644
--- a/schikkers-list.make
+++ b/schikkers-list.make
@@ -54,10 +54,10 @@ schikkers-list-installers:
        $(foreach p, $(PLATFORMS), $(call INVOKE_INSTALLER_BUILDER,$(p)) 
$(INSTALL_PACKAGE) &&) true #
 
 nsis:
-       bin/gub tools::nsis
+       $(GUB) tools::nsis
 
 update-versions:
-       python gub/versiondb.py --no-sources 
--version-db=versiondb/schikkers-list.versions --download 
--platforms="mingw,linux-x86" --url=http://lilypond.org/schikkers-list/download/
+       $(PYTHON) gub/versiondb.py --no-sources 
--version-db=versiondb/schikkers-list.versions --download 
--platforms="mingw,linux-x86" --url=http://lilypond.org/schikkers-list/download/
 
 print-success:
        @echo "success!!"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]