ports/134015: [patch] graphics/mapnik should install library with correct name
Gleb Smirnoff
glebius at FreeBSD.org
Sun Apr 26 11:20:01 UTC 2009
>Number: 134015
>Category: ports
>Synopsis: [patch] graphics/mapnik should install library with correct name
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 26 11:20:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Gleb Smirnoff
>Release: FreeBSD 7.1-STABLE i386
>Organization:
Rambler Internet Holding
>Environment:
System: FreeBSD cell.glebius.int.ru 7.1-STABLE FreeBSD 7.1-STABLE #0: Thu Feb 26 13:01:21 MSK 2009 glebius at cell.glebius.int.ru:/usr/obj/usr/src/sys/NUCLEUS i386
>Description:
The graphics/mapnik port installs its shlib as libmapnik.so.0.5.0,
while in FreeBSD it is common to use only major lib version for
library file name.
Now I am working on a port that will be linked to mapnik library,
and I first need to get mapnik fixed to get my port committed.
>How-To-Repeat:
Install graphics/mapnik.
>Fix:
diff -Nur mapnik.bak/Makefile mapnik/Makefile
--- mapnik.bak/Makefile 2009-04-26 01:07:23.000000000 +0400
+++ mapnik/Makefile 2009-04-26 13:10:17.000000000 +0400
@@ -7,7 +7,7 @@
PORTNAME= mapnik
PORTVERSION= 0.5.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics geography
MASTER_SITES= ${MASTER_SITE_BERLIOS}/${PORTNAME}/
DISTNAME= mapnik_src-${PORTVERSION}
diff -Nur mapnik.bak/files/patch-src-SConscript mapnik/files/patch-src-SConscript
--- mapnik.bak/files/patch-src-SConscript 1970-01-01 03:00:00.000000000 +0300
+++ mapnik/files/patch-src-SConscript 2009-04-26 13:00:57.000000000 +0400
@@ -0,0 +1,41 @@
+--- src/SConscript.orig 2009-04-26 12:18:44.000000000 +0400
++++ src/SConscript 2009-04-26 13:00:21.000000000 +0400
+@@ -37,6 +37,8 @@
+ linkflags = '-Wl,-install_name,libmapnik.dylib'
+ elif env['PLATFORM'] == 'SunOS' and env['CXX'].startswith('CC'):
+ linkflags = '-R. -h libmapnik.so'
++elif env['PLATFORM'] == 'FreeBSD':
++ linkflags = '-Wl,-soname,libmapnik.so.' + ("%d" % (ABI_VERSION[0]))
+ else: # Linux and others
+ linkflags = '-Wl,-rpath-link,. -Wl,-soname,libmapnik.so.' + ("%d.%d" % (ABI_VERSION[0],ABI_VERSION[1]))
+
+@@ -106,16 +108,24 @@
+
+ major, minor, micro = ABI_VERSION
+
+- soFile = "%s.%d.%d.%d" % (os.path.basename(str(mapnik[0])), major, minor, micro)
++ if env['PLATFORM'] == 'FreeBSD':
++ soFile = "%s.%d" % (os.path.basename(str(mapnik[0])), major)
++ else:
++ soFile = "%s.%d.%d.%d" % (os.path.basename(str(mapnik[0])), major, minor, micro)
+ libDir = install_prefix + '/' + env['LIBDIR_SCHEMA']
+ env.Alias(target='install', source=env.InstallAs(target=os.path.join(libDir, soFile), source=mapnik))
+ # Install symlinks
+- link1 = env.Command(os.path.join(libDir, "%s.%d.%d" % (os.path.basename(str(mapnik[0])),major, minor)),
++ if env['PLATFORM'] == 'FreeBSD':
++ link = env.Command(os.path.join(libDir, os.path.basename(str(mapnik[0]))),
++ os.path.join(libDir, "%s.%d" % (os.path.basename(str(mapnik[0])),major)), symlink)
++ env.Alias(target='install', source=link)
++ else:
++ link1 = env.Command(os.path.join(libDir, "%s.%d.%d" % (os.path.basename(str(mapnik[0])),major, minor)),
+ os.path.join(libDir, soFile), symlink)
+- env.Alias(target='install', source=link1)
+- link2 = env.Command(os.path.join(libDir, os.path.basename(str(mapnik[0]))),
++ env.Alias(target='install', source=link1)
++ link2 = env.Command(os.path.join(libDir, os.path.basename(str(mapnik[0]))),
+ os.path.join(libDir, "%s.%d.%d" % (os.path.basename(str(mapnik[0])),major, minor)), symlink)
+- env.Alias(target='install', source=link2)
++ env.Alias(target='install', source=link2)
+ else:
+ env.Alias(target='install', source=env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'], mapnik))
+
diff -Nur mapnik.bak/pkg-plist mapnik/pkg-plist
--- mapnik.bak/pkg-plist 2009-04-26 01:07:23.000000000 +0400
+++ mapnik/pkg-plist 2009-04-26 13:10:02.000000000 +0400
@@ -98,8 +98,7 @@
include/mapnik/proj_transform.hpp
include/mapnik/distance.hpp
lib/libmapnik.so
-lib/libmapnik.so.0.5
-lib/libmapnik.so.0.5.0
+lib/libmapnik.so.0
lib/mapnik/input/raster.input
lib/mapnik/input/shape.input
lib/mapnik/fonts/DejaVuSansMono-Oblique.ttf
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list