On Linux, define NEEDS_STRLCPY in MAKE_ENV. In the patched Makefile, switch on NEEDS_STRLCPY instead of OPSYS, because OPSYS isn't defined in my world (vanilla netbsd-5 on i386), and I can't find any reason it should be. Add a comment to the patch explaining why the install: target was removed, and about NEEDS_STRLCPY.diff -r1.11 -r1.12 pkgsrc/geography/garmin-utils/Makefile
(gdt)
@@ -1,35 +1,40 @@ | @@ -1,35 +1,40 @@ | |||
1 | # $NetBSD: Makefile,v 1.11 2009/02/22 20:57:25 gdt Exp $ | 1 | # $NetBSD: Makefile,v 1.12 2009/02/22 22:07:52 gdt Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | DISTNAME= garmin-utils-2.5 | 4 | DISTNAME= garmin-utils-2.5 | |
5 | PKGREVISION= 1 | |||
5 | CATEGORIES= geography | 6 | CATEGORIES= geography | |
6 | MASTER_SITES= ftp://ftp.snafu.org/pub/ | 7 | MASTER_SITES= ftp://ftp.snafu.org/pub/ | |
7 | 8 | |||
8 | MAINTAINER= gson@NetBSD.org | 9 | MAINTAINER= gson@NetBSD.org | |
10 | # also gdt@NetBSD.org is helping | |||
9 | HOMEPAGE= http://www.snafu.org/ | 11 | HOMEPAGE= http://www.snafu.org/ | |
10 | COMMENT= Utilities for Garmin GPS receivers | 12 | COMMENT= Utilities for Garmin GPS receivers | |
11 | 13 | |||
12 | PKG_DESTDIR_SUPPORT= user-destdir | 14 | PKG_DESTDIR_SUPPORT= user-destdir | |
13 | 15 | |||
16 | # This seems excessive; on other ones it can be made to work. | |||
14 | ONLY_FOR_PLATFORM= NetBSD-*-* Linux-*-* | 17 | ONLY_FOR_PLATFORM= NetBSD-*-* Linux-*-* | |
15 | 18 | |||
16 | INSTALLATION_DIRS= bin lib ${PKGMANDIR}/cat1 ${PKGMANDIR}/man1 | 19 | INSTALLATION_DIRS= bin lib ${PKGMANDIR}/cat1 ${PKGMANDIR}/man1 | |
17 | 20 | |||
18 | USE_BSD_MAKEFILE= yes | 21 | USE_BSD_MAKEFILE= yes | |
19 | 22 | |||
23 | MAKE_JOBS_SAFE= no | |||
24 | ||||
20 | # No actual serial port will be right for any significant number of users, | 25 | # No actual serial port will be right for any significant number of users, | |
21 | # so make everyone use a symlink. | 26 | # so make everyone use a symlink. | |
22 | MAKE_FLAGS+= GPS_SERIAL_PORT=/dev/gps | 27 | MAKE_FLAGS+= GPS_SERIAL_PORT=/dev/gps | |
23 | 28 | |||
24 | MAKE_JOBS_SAFE= no | |||
25 | ||||
26 | .include "../../mk/bsd.prefs.mk" | 29 | .include "../../mk/bsd.prefs.mk" | |
27 | 30 | |||
28 | CPPFLAGS.Linux= -DLINUX | 31 | CPPFLAGS.Linux= -DLINUX | |
29 | 32 | |||
30 | .if ${OPSYS} == "Linux" | 33 | .if ${OPSYS} == "Linux" | |
31 | MAKE_FLAGS+= SIO_TYPE=-DSIO_TYPE=Linux \ | 34 | MAKE_FLAGS+= SIO_TYPE=-DSIO_TYPE=Linux | |
32 | NEEDS_STRLCPY=1 | 35 | ||
36 | # On Linux, libc apparently does not have strlcpy. | |||
37 | MAKE_FLAGS+= NEEDS_STRLCPY=1 | |||
33 | .endif | 38 | .endif | |
34 | 39 | |||
35 | .include "../../mk/bsd.pkg.mk" | 40 | .include "../../mk/bsd.pkg.mk" |
@@ -1,6 +1,6 @@ | @@ -1,6 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.10 2009/02/22 20:57:25 gdt Exp $ | 1 | $NetBSD: distinfo,v 1.11 2009/02/22 22:07:52 gdt Exp $ | |
2 | 2 | |||
3 | SHA1 (garmin-utils-2.5.tar.gz) = 1b7ee9936a691bf5e5466a3efd052f71dd3cb63c | 3 | SHA1 (garmin-utils-2.5.tar.gz) = 1b7ee9936a691bf5e5466a3efd052f71dd3cb63c | |
4 | RMD160 (garmin-utils-2.5.tar.gz) = c32dd4b9efaef80fb203059ac399e52d0cd86fbe | 4 | RMD160 (garmin-utils-2.5.tar.gz) = c32dd4b9efaef80fb203059ac399e52d0cd86fbe | |
5 | Size (garmin-utils-2.5.tar.gz) = 174336 bytes | 5 | Size (garmin-utils-2.5.tar.gz) = 174336 bytes | |
6 | SHA1 (patch-aa) = 650305540171cea6b77b52acbffe89fd76901d20 | 6 | SHA1 (patch-aa) = 3a04f974bd0eae012977dc3a8090b19032463ce7 |
@@ -1,14 +1,22 @@ | @@ -1,14 +1,22 @@ | |||
1 | $NetBSD: patch-aa,v 1.5 2009/02/21 14:53:43 gdt Exp $ | 1 | $NetBSD: patch-aa,v 1.6 2009/02/22 22:07:52 gdt Exp $ | |
2 | ||||
3 | Remove empty install target, to let the standard rules install the | |||
4 | library. | |||
5 | ||||
6 | If NEEDS_STRLCPY is defined in the make environment, as it will be on | |||
7 | at least Linux, compile and link with the provided version of strlcpy. | |||
8 | ||||
9 | As of 2009-02-22 neither patch has been sent upstream. | |||
2 | 10 | |||
3 | --- lib/Makefile.orig 2009-01-13 20:50:30.000000000 +0100 | 11 | --- lib/Makefile.orig 2009-01-13 20:50:30.000000000 +0100 | |
4 | +++ lib/Makefile | 12 | +++ lib/Makefile | |
5 | @@ -11,6 +11,8 @@ NOLINT= yes | 13 | @@ -11,6 +11,8 @@ NOLINT= yes | |
6 | SRCS= gps1.c gps2.c gpsdisplay.c gpsprod.c gpscap.c gpsdump.c \ | 14 | SRCS= gps1.c gps2.c gpsdisplay.c gpsprod.c gpscap.c gpsdump.c \ | |
7 | gpsprint.c gpsversion.c gpsformat.c gpsload.c gpsfloat.c | 15 | gpsprint.c gpsversion.c gpsformat.c gpsload.c gpsfloat.c | |
8 | 16 | |||
9 | -install: | 17 | -install: | |
10 | +.if defined(OPSYS) && ${OPSYS} == "Linux" | 18 | +.if defined(NEEDS_STRLCPY) | |
11 | +SRCS+= strlcpy.c | 19 | +SRCS+= strlcpy.c | |
12 | +.endif | 20 | +.endif | |
13 | 21 | |||
14 | .include <bsd.lib.mk> | 22 | .include <bsd.lib.mk> |