Date: Sun, 26 Apr 2009 14:46:31 +0400 (MSD) From: Gleb Smirnoff <glebius@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: wenheping@gmail.com Subject: ports/134015: [patch] graphics/mapnik should install library with correct name Message-ID: <200904261046.n3QAkVUn060261@cell.glebius.int.ru> Resent-Message-ID: <200904261120.n3QBK1hK035884@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904261046.n3QAkVUn060261>