> 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!!"
_______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
