Updating branch refs/heads/master to ee529bd9394ddb0d210c7477e9ed794eb825ab7f (commit) from c80f3c0d55d7cec4c591ce8c98f05f19c8c3c48c (commit)
commit ee529bd9394ddb0d210c7477e9ed794eb825ab7f Author: Enrico Tröger <enr...@xfce.org> Date: Fri Nov 2 17:01:28 2012 +0100 Drop Waf build system support and just use autotools Let's call this 'happy distro packagers day'... README | 24 ++----- configure | 103 -------------------------- waf | Bin 76329 -> 0 bytes wscript | 237 ------------------------------------------------------------- 4 files changed, 5 insertions(+), 359 deletions(-) diff --git a/README b/README index 3fc03a4..9947523 100644 --- a/README +++ b/README @@ -22,7 +22,6 @@ For compiling Gigolo, you will need the GTK (>= 2.12.0) libraries and header files. You will also need its dependency libraries and header files, such as Pango, Cairo, Glib and ATK. All these files are available at http://www.gtk.org. -You also need Python for the included Waf build system. Furthermore you need, of course, a C compiler as well as the intltool package. @@ -34,27 +33,16 @@ building the code is easy: Run the following commands:: - $ ./waf configure - $ ./waf build + $ ./configure + $ make (maybe as root) - % ./waf install + % make install -To get a list of available options to customize your build, enable debugging -or to use a different installation prefix, run:: - - $ ./waf help - - -Alternative installation using autotools -```````````````````````````````````````` - -You can use the usual autotools chain to configure, compile and install -the sources by running:: +If there is no configure script, you probably need to run:: $ ./autogen.sh -in the source directory. -This is mainly intended for distro packagers and people with special needs. +in the source directory before Usage @@ -83,8 +71,6 @@ Gigolo is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the license. A copy of this license can be found in the file COPYING included with the source code of this program. -The included Waf build system ("waf") is licensed under the -New BSD License (http://www.opensource.org/licenses/bsd-license.php). Ideas, questions, patches and bug reports diff --git a/configure b/configure deleted file mode 100755 index 929335c..0000000 --- a/configure +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh - -# waf configure wrapper - -EXIT_FAILURE=1 - - -# Checks for Python interpreter. Honours $PYTHON if set. Stores path to -# interpreter in $PYTHON. -checkPython() -{ - if [ -z "$PYTHON" ] ; then - PYTHON="python" - fi - printf "Checking for Python\t\t\t : " - ("$PYTHON" --version) < /dev/null > /dev/null 2>&1 || { - printf "not found!\n" - echo "Please make sure that the Python interpreter is available in your PATH" - echo "or invoke configure using the PYTHON flag, e.g." - echo "$ PYTHON=/usr/local/bin/python ./waf configure "$@ - echo "Alternatively, you can run ./autogen.sh to use the autotools chain" - echo "to build and install the sources." - exit $EXIT_FAILURE - } - printf "ok\n" -} - -# Generates a Makefile. -generateMakefile() -{ - cat > Makefile << EOF -#!/usr/bin/make -f -# Waf Makefile wrapper - -all: - @./waf build - -all-debug: - @./waf -v build - -all-progress: - @./waf -p build - -install: - @if test -n "\$(DESTDIR)"; then \\ - ./waf install --destdir="\$(DESTDIR)"; \\ - else \\ - ./waf install; \\ - fi; - -uninstall: - @if test -n "\$(DESTDIR)"; then \\ - ./waf uninstall --destdir="\$(DESTDIR)"; \\ - else \\ - ./waf uninstall; \\ - fi; - -clean: - @./waf clean - -distclean: - @./waf distclean - @-rm -rf _build_ - @-rm -f Makefile - -distcheck: - @./waf distcheck - -check: - @./waf check - -dist: - @./waf dist - -sign: - @./waf --sign - -.PHONY: clean dist distclean check uninstall install all - -EOF - - cat > src/Makefile << EOF -#!/usr/bin/make -f -# Waf Makefile wrapper - -all: - cd .. && ./waf build - -all-debug: - cd .. && ./waf -v build - -clean: - cd .. && ./waf clean - -EOF -} - -checkPython $@ -generateMakefile - -./waf configure $@ - -exit $? diff --git a/waf b/waf deleted file mode 100755 index 95ffdf3..0000000 Binary files a/waf and /dev/null differ diff --git a/wscript b/wscript deleted file mode 100644 index b7fa147..0000000 --- a/wscript +++ /dev/null @@ -1,237 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# WAF build script -# -# Copyright 2008-2011 Enrico Tröger <enrico(at)xfce(dot)org> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - - -import os -from waflib import Logs, Options, Scripting -from waflib.TaskGen import feature - - -APPNAME = 'gigolo' -VERSION = '0.4.1' -LINGUAS_FILE = 'po/LINGUAS' - -top = '.' -out = '_build_' - - -sources = ['src/compat.c', 'src/window.c', 'src/bookmark.c', 'src/settings.c', - 'src/menubuttonaction.c', 'src/mountoperation.c', 'src/bookmarkdialog.c', - 'src/bookmarkeditdialog.c', 'src/preferencesdialog.c', 'src/backendgvfs.c', - 'src/common.c', 'src/mountdialog.c', 'src/browsenetworkpanel.c', - 'src/singleinstance.c', 'src/bookmarkpanel.c'] - - - -def configure(conf): - conf.load('compiler_c intltool gnu_dirs waf_unit_test') - - conf.check_cfg(package='gtk+-2.0', atleast_version='2.12.0', uselib_store='GTK', - mandatory=True, args='--cflags --libs') - conf.check_cfg(package='gio-2.0', atleast_version='2.16.0', uselib_store='GIO', - mandatory=True, args='--cflags --libs') - conf.check_cfg(package='x11', uselib_store='X11', mandatory=True, args='--libs') - - gtk_version = conf.check_cfg(modversion='gtk+-2.0', uselib_store='GTK') - gio_version = conf.check_cfg(modversion='gio-2.0', uselib_store='GIO') - - conf.define('GETTEXT_PACKAGE', APPNAME, 1) - conf.define('PACKAGE', APPNAME, 1) - conf.define('VERSION', VERSION, 1) - - conf.write_config_header('config.h', remove=False) - - if 'LINGUAS' in os.environ: - conf.env['LINGUAS'] = os.environ['LINGUAS'] - - # debug flags - if conf.options.debug: - conf.env.append_value('CCFLAGS', '-g -O0 -DDEBUG '.split()) - - Logs.pprint('BLUE', 'Summary:') - conf.msg('Install Gigolo ' + VERSION + ' in', conf.env['PREFIX']) - conf.msg('Using GTK version', gtk_version or 'Unknown') - conf.msg('Using GIO version', gio_version or 'Unknown') - conf.msg('Compiling with debugging support', conf.options.debug and 'yes' or 'no') - - -def options(opt): - opt.load('compiler_cc intltool gnu_dirs waf_unit_test') - - opt.add_option('--enable-debug', action='store_true', default=False, - help='enable debug mode [default: No]', dest='debug') - - -def _remove_linguas_file(): - try: - os.unlink(LINGUAS_FILE) - except OSError: - pass - - -@feature('linguas') -def write_linguas_file(self): - if os.path.exists(LINGUAS_FILE): - return - linguas = '' - if 'LINGUAS' in self.env: - files = self.env['LINGUAS'] - for po_filename in files.split(' '): - if os.path.exists ('po/%s.po' % po_filename): - linguas += '%s ' % po_filename - else: - files = os.listdir('%s/po' % self.path.abspath()) - files.sort() - for filename in files: - if filename.endswith('.po'): - linguas += '%s ' % filename[:-3] - file_h = open(LINGUAS_FILE, 'w') - file_h.write('# This file is autogenerated. Do not edit.\n%s\n' % linguas) - file_h.close() - - -def distclean(ctx): - Scripting.distclean(ctx) - _remove_linguas_file() - - -def build(bld): - if bld.cmd == 'clean': - _remove_linguas_file() - - bld.new_task_gen( - features = 'c cstlib', - name = 'gigolo_lib', - target = 'gigolo_lib', - source = sources, - includes = '.', - uselib = ['GTK', 'GIO'], - install_path = None) - - bld.new_task_gen( - features = 'c cprogram', - name = 'gigolo', - target = 'gigolo', - source = 'src/main.c', - includes = '.', - use = ['GTK', 'GIO', 'X11', 'gigolo_lib']) - - # tests - bld( - features = 'c cprogram test', - source = 'tests/uri_parsing.c', - target = 'test-uri-parsing', - includes = ['.', 'src'], - use = ['GTK', 'GIO', 'X11', 'gigolo_lib'], - install_path = None) - bld.add_post_fun(_unit_test_summary) - - # Translations - bld.new_task_gen( - features = ['linguas', 'intltool_po'], - podir = 'po', - install_path = '${LOCALEDIR}', - appname = 'gigolo') - - # gigolo.desktop - bld.new_task_gen( - features = 'intltool_in', - source = 'gigolo.desktop.in', - flags = ['-d', '-q', '-u', '-c'], - install_path = '${DATADIR}/applications', - after = 'intltool_po') - - # gigolo.1 - bld.new_task_gen( - features = 'subst', - source = 'gigolo.1.in', - target = 'gigolo.1', - dct = {'VERSION' : VERSION}, - install_path = '${MANDIR}/man1') - - # Docs - bld.install_files('${DOCDIR}', 'AUTHORS ChangeLog COPYING README NEWS TODO') - - -def _unit_test_summary(ctx): - lst = getattr(ctx, 'utest_results', []) - if lst: - Logs.pprint('CYAN', 'Execution summary:') - - total = len(lst) - tfail = len([x for x in lst if x[1]]) - - Logs.pprint('CYAN', ' Passed tests: %d/%d' % (total-tfail, total)) - for (filename, code, stdout, stderr) in lst: - if not code: - Logs.pprint('CYAN', ' %s' % filename) - - Logs.pprint('CYAN', ' Failed tests: %d/%d' % (tfail, total)) - for (filename, code, stdout, stderr) in lst: - if code: - Logs.pprint('CYAN', '%s:' % filename) - Logs.pprint('RED', '%s' % stdout) - - -def updatepo(ctx): - """update the message catalogs for internationalization""" - potfile = '%s.pot' % APPNAME - os.chdir('%s/po' % top) - try: - try: - old_size = os.stat(potfile).st_size - except OSError: - old_size = 0 - ctx.exec_command('intltool-update --pot -g %s' % APPNAME) - size_new = os.stat(potfile).st_size - if size_new != old_size: - Logs.pprint('CYAN', 'Updated POT file.') - Logs.pprint('CYAN', 'Updating translations') - ret = ctx.exec_command('intltool-update -r -g %s' % APPNAME) - if ret != 0: - Logs.pprint('RED', 'Updating translations failed') - else: - Logs.pprint('CYAN', 'POT file is up to date.') - except OSError: - Logs.pprint('RED', 'Failed to generate pot file.') - - -def dist(ctx): - ctx.base_path = ctx.path - ctx.excl = ctx.get_excl() + 'gigolo-%s.tar.bz2.sig module.xml RUN .gitignore .intlcache' % VERSION - - -def sign(ctx): - """sign the source tarball for distribution""" - from hashlib import md5 - filename = '%s-%s.tar.bz2' % (APPNAME, VERSION) - md5_hash = md5() - read_bytes = 100000 - archive_file = file(filename,'rb') - while read_bytes: - read_string = archive_file.read(read_bytes) - md5_hash.update(read_string) - read_bytes = len(read_string) - archive_file.close() - - ctx.cmd_and_log('gpg --detach-sign --digest-algo SHA512 %s' % filename) - Logs.pprint('GREEN', 'MD5 sum: %s %s' % (filename, md5_hash.hexdigest())) - _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits