gpsd: fix build issues
The first patch gpsd-01-sconstruct-python-2.5-compat.patch is aimed at fixing Python 2.5 compatibility issues such as: http://autobuild.buildroot.org/results/844a7f8698567688eba094f64dd2bf5157efd994/build-end.log The second patch gpsd-02-sconstruct-ncurses-config-path.patch implements a proper mechanism to specify the path to ncurse5-config. It obsoletes the previous gpsd-fix-acs_map-compile-errors patch, and solves build problems such as: http://autobuild.buildroot.org/results/92ae3d53e8aa68d8b1a2eccad68c98f577cb6437/build-end.log Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Simon Dawson <spdawson@gmail.com>
This commit is contained in:
parent
23c9aeccde
commit
f52727e22d
79
package/gpsd/gpsd-01-sconstruct-python-2.5-compat.patch
Normal file
79
package/gpsd/gpsd-01-sconstruct-python-2.5-compat.patch
Normal file
@ -0,0 +1,79 @@
|
||||
Remove all the with ... as foo constructs
|
||||
|
||||
Those constructs have been introduced in Python 2.6, and some of our
|
||||
autobuilders still use Python 2.5, so replace them with constructs
|
||||
that are compatible with Python 2.5.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/SConstruct
|
||||
===================================================================
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -366,8 +366,8 @@
|
||||
|
||||
def CheckXsltproc(context):
|
||||
context.Message('Checking that xsltproc can make man pages... ')
|
||||
- with open("xmltest.xml", "w") as ofp:
|
||||
- ofp.write('''
|
||||
+ ofp = open("xmltest.xml", "w")
|
||||
+ ofp.write('''
|
||||
<refentry id="foo.1">
|
||||
<refmeta>
|
||||
<refentrytitle>foo</refentrytitle>
|
||||
@@ -380,6 +380,7 @@
|
||||
</refnamediv>
|
||||
</refentry>
|
||||
''')
|
||||
+ ofp.close()
|
||||
probe = "xsltproc --nonet --noout '%s' xmltest.xml" % (docbook_man_uri,)
|
||||
ret = context.TryAction(probe)[0]
|
||||
os.remove("xmltest.xml")
|
||||
@@ -1042,8 +1043,9 @@
|
||||
# build timebase.h
|
||||
def timebase_h(target, source, env):
|
||||
from leapsecond import make_leapsecond_include
|
||||
- with open(target[0].abspath, 'w') as f:
|
||||
- f.write(make_leapsecond_include(source[0].abspath))
|
||||
+ f = open(target[0].abspath, 'w')
|
||||
+ f.write(make_leapsecond_include(source[0].abspath))
|
||||
+ f.close()
|
||||
env.Command(target="timebase.h", source="leapseconds.cache",
|
||||
action=timebase_h)
|
||||
|
||||
@@ -1116,15 +1118,17 @@
|
||||
('@DEVMAIL@', devmail),
|
||||
('@LIBGPSVERSION@', libgps_version),
|
||||
)
|
||||
- with open(str(source[0])) as sfp:
|
||||
- content = sfp.read()
|
||||
+ sfp = open(str(source[0]))
|
||||
+ content = sfp.read()
|
||||
+ sfp.close()
|
||||
for (s, t) in substmap:
|
||||
content = content.replace(s, t)
|
||||
m = re.search("@[A-Z]+@", content)
|
||||
if m and m.group(0) not in map(lambda x: x[0], substmap):
|
||||
print >>sys.stderr, "Unknown subst token %s in %s." % (m.group(0), sfp.name)
|
||||
- with open(str(target[0]), "w") as tfp:
|
||||
- tfp.write(content)
|
||||
+ tfp = open(str(target[0]), "w")
|
||||
+ tfp.write(content)
|
||||
+ tfp.close()
|
||||
|
||||
templated = glob.glob("*.in") + glob.glob("*/*.in") + glob.glob("*/*/*.in")
|
||||
|
||||
@@ -1560,9 +1564,10 @@
|
||||
def validation_list(target, source, env):
|
||||
for page in glob.glob("www/*.html"):
|
||||
if not '-head' in page:
|
||||
- with open(page) as fp:
|
||||
- if "Valid HTML" in fp.read():
|
||||
- print os.path.join(website, os.path.basename(page))
|
||||
+ fp = open(page)
|
||||
+ if "Valid HTML" in fp.read():
|
||||
+ print os.path.join(website, os.path.basename(page))
|
||||
+ fp.close()
|
||||
Utility("validation-list", [www], validation_list)
|
||||
|
||||
# How to update the website
|
44
package/gpsd/gpsd-02-sconstruct-ncurses-config-path.patch
Normal file
44
package/gpsd/gpsd-02-sconstruct-ncurses-config-path.patch
Normal file
@ -0,0 +1,44 @@
|
||||
Add option to specify the path to ncurses5-config
|
||||
|
||||
By default, gpsd's SConstruct looks in the PATH to find
|
||||
ncurses5-config, which means that it finds our HOST_DIR
|
||||
ncurses5-config. We add an option that allows to specify a custom path
|
||||
to the ncurses5-config script.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/SConstruct
|
||||
===================================================================
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -172,6 +172,7 @@
|
||||
("fixed_stop_bits", 0, "fixed serial port stop bits"),
|
||||
("target", "", "cross-development target"),
|
||||
("sysroot", "", "cross-development system root"),
|
||||
+ ("ncurses_config", "", "ncurses5-config path"),
|
||||
)
|
||||
for (name, default, help) in nonboolopts:
|
||||
opts.Add(name, help, default)
|
||||
@@ -447,6 +448,11 @@
|
||||
else:
|
||||
pkg_config = lambda pkg: ['!%s --cflags --libs --static %s' %(env['PKG_CONFIG'], pkg, )]
|
||||
|
||||
+if env['ncurses_config']:
|
||||
+ ncurses_config = env['ncurses_config']
|
||||
+else:
|
||||
+ ncurses_config = "ncurses5-config"
|
||||
+
|
||||
# The actual distinction here is whether the platform has ncurses in the
|
||||
# base system or not. If it does, pkg-config is not likely to tell us
|
||||
# anything useful. FreeBSD does, Linux doesn't. Most likely other BSDs
|
||||
@@ -455,8 +461,8 @@
|
||||
if env['ncurses']:
|
||||
if config.CheckPKG('ncurses'):
|
||||
ncurseslibs = pkg_config('ncurses')
|
||||
- elif config.CheckExecutable('ncurses5-config --version', 'ncurses5-config'):
|
||||
- ncurseslibs = ['!ncurses5-config --libs --cflags']
|
||||
+ elif config.CheckExecutable('%s --version' % ncurses_config, 'ncurses5-config'):
|
||||
+ ncurseslibs = ['!%s --libs --cflags' % ncurses_config]
|
||||
elif sys.platform.startswith('freebsd'):
|
||||
ncurseslibs= [ '-lncurses' ]
|
||||
elif sys.platform.startswith('openbsd'):
|
@ -1,29 +0,0 @@
|
||||
Hack gpsd to prevent undefined references to acs_map from ncurses.
|
||||
|
||||
Signed-off-by: Simon Dawson <spdawson@gmail.com>
|
||||
diff -Nurp a/gpsmon.c b/gpsmon.c
|
||||
--- a/gpsmon.c 2012-05-18 09:45:37.000000000 +0100
|
||||
+++ b/gpsmon.c 2012-06-07 12:41:31.257807969 +0100
|
||||
@@ -24,6 +24,9 @@
|
||||
#include <unistd.h>
|
||||
#endif /* S_SPLINT_S */
|
||||
|
||||
+/* Ugly hack to prevent undefined reference to acs_map */
|
||||
+unsigned long acs_map[128];
|
||||
+
|
||||
#include "gpsd_config.h"
|
||||
#ifdef HAVE_BLUEZ
|
||||
#include <bluetooth/bluetooth.h>
|
||||
diff -Nurp a/monitor_nmea.c b/monitor_nmea.c
|
||||
--- a/monitor_nmea.c 2011-11-22 08:49:33.000000000 +0000
|
||||
+++ b/monitor_nmea.c 2012-06-07 12:41:37.081807709 +0100
|
||||
@@ -15,6 +15,9 @@
|
||||
#include <unistd.h>
|
||||
#endif /* S_SPLINT_S */
|
||||
|
||||
+/* Ugly hack to prevent undefined reference to acs_map */
|
||||
+unsigned long acs_map[128];
|
||||
+
|
||||
#include "gpsd.h"
|
||||
#include "gpsmon.h"
|
||||
#include "gpsdclient.h"
|
@ -23,6 +23,7 @@ GPSD_SCONS_OPTS = \
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NCURSES),y)
|
||||
GPSD_DEPENDENCIES += ncurses
|
||||
GPSD_SCONS_OPTS += ncurses_config=$(STAGING_DIR)/usr/bin/ncurses5-config
|
||||
else
|
||||
GPSD_SCONS_OPTS += ncurses=no
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user