Index: head/devel/jsoncpp/Makefile =================================================================== --- head/devel/jsoncpp/Makefile (revision 493978) +++ head/devel/jsoncpp/Makefile (revision 493979) @@ -1,59 +1,59 @@ # Created by: Johan Str??m # $FreeBSD$ PORTNAME= jsoncpp PORTVERSION= 1.8.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org COMMENT= JSON reader and writer library for C++ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USE_GITHUB= yes GH_ACCOUNT= open-source-parsers USES= compiler:c++11-lang dos2unix scons USE_LDCONFIG= yes PLATFORM= linux-gcc-FreeBSD MAKE_ARGS= platform=${PLATFORM} .include .if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 33 || \ ${COMPILER_TYPE} == gcc && ${COMPILER_VERSION} >= 48 # Certain new compiler features unlock parts of jsoncpp API (ex. see JSON_HAS_RVALUE_REFERENCES). # Use c++11 above to be the most inclusive. USES+= compiler:c++11-lang # lang/gcc5 fix .if ${COMPILER_TYPE} == clang CXXFLAGS+= --std=c++11 .else CXXFLAGS+= --std=gnu++11 -D_GLIBCXX_USE_C99=1 .endif .endif do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/include/jsoncpp (cd ${WRKSRC}/include/ && ${COPYTREE_SHARE} json/ ${STAGEDIR}${PREFIX}/include/jsoncpp/) ${INSTALL_DATA} ${WRKSRC}/libs/${PLATFORM}/libjsoncpp.a \ ${STAGEDIR}${PREFIX}/lib ${INSTALL_LIB} ${WRKSRC}/libs/${PLATFORM}/libjsoncpp.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/lib ${LN} -s libjsoncpp.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libjsoncpp.so.1 ${LN} -s libjsoncpp.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libjsoncpp.so ${CP} ${WRKSRC}/pkg-config/jsoncpp.pc.in ${STAGEDIR}${PREFIX}/libdata/pkgconfig/jsoncpp.pc @${REINPLACE_CMD} -i '' \ -e 's|@CMAKE_INSTALL_FULL_LIBDIR@|${PREFIX}/lib|g' \ -e 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|${PREFIX}/include/jsoncpp|g' \ -e 's|@JSONCPP_VERSION@|${DISTVERSION}|g' \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/jsoncpp.pc do-test: @${ECHO} "Please note that 3 testcases are known to fail: https://github.com/open-source-parsers/jsoncpp/issues/628" @cd ${WRKSRC} && CXX=${CXX} ${SCONS} platform=${PLATFORM} check .include Index: head/devel/jsoncpp/files/patch-SConstruct =================================================================== --- head/devel/jsoncpp/files/patch-SConstruct (revision 493978) +++ head/devel/jsoncpp/files/patch-SConstruct (revision 493979) @@ -1,67 +1,72 @@ --- SConstruct.orig 2016-05-09 23:15:49 UTC +++ SConstruct @@ -26,7 +26,7 @@ try: if platform == 'linux-gcc': CXX = 'g++' # not quite right, but env is not yet available. import commands - version = commands.getoutput('%s -dumpversion' %CXX) + version = 'FreeBSD' platform = 'linux-gcc-%s' %version print "Using platform '%s'" %platform LD_LIBRARY_PATH = os.environ.get('LD_LIBRARY_PATH', '') @@ -65,7 +65,7 @@ def make_environ_vars(): return vars -env = Environment( ENV = make_environ_vars(), +env = Environment( ENV = os.environ, toolpath = ['scons-tools'], tools=[] ) #, tools=['default'] ) @@ -121,6 +121,7 @@ elif platform.startswith('linux-gcc'): env.Tool( 'default' ) env.Append( LIBS = ['pthread'], CCFLAGS = os.environ.get("CXXFLAGS", "-Wall"), LINKFLAGS=os.environ.get("LDFLAGS", "") ) env['SHARED_LIB_ENABLED'] = True + env['CXX'] = os.environ['CXX'] else: print "UNSUPPORTED PLATFORM." env.Exit(1) @@ -147,6 +148,11 @@ env['JSONCPP_VERSION'] = JSONCPP_VERSION env['BUILD_DIR'] = env.Dir(build_dir) env['ROOTBUILD_DIR'] = env.Dir(rootbuild_dir) env['DIST_DIR'] = DIST_DIR + +# Set SHLIBVERSION for env.InstallVersionedLib(). We use the version number +# without the "-rcXX" part. +env['SHLIBVERSION'] = JSONCPP_VERSION.partition('-')[0] + if 'TarGz' in env['BUILDERS']: class SrcDistAdder: def __init__( self, env ): -@@ -164,7 +170,7 @@ env['SRCDIST_ADD'] = SrcDistAdder( env ) +@@ -164,11 +170,11 @@ env['SRCDIST_ADD'] = SrcDistAdder( env ) env['SRCDIST_TARGET'] = os.path.join( DIST_DIR, 'jsoncpp-src-%s.tar.gz' % env['JSONCPP_VERSION'] ) env_testing = env.Clone( ) -env_testing.Append( LIBS = ['json_${LIB_NAME_SUFFIX}'] ) +env_testing.Append( LIBS = ['jsoncpp'] ) def buildJSONExample( env, target_sources, target_name ): env = env.Clone() +- env.Append( CPPPATH = ['#'] ) ++ #env.Append( CPPPATH = ['#'] ) + exe = env.Program( target=target_name, + source=target_sources ) + env['SRCDIST_ADD']( source=[target_sources] ) @@ -187,14 +193,14 @@ def buildUnitTests( env, target_sources, env.AlwaysBuild( check_alias_target ) def buildLibrary( env, target_sources, target_name ): - static_lib = env.StaticLibrary( target=target_name + '_${LIB_NAME_SUFFIX}', + static_lib = env.StaticLibrary( target=target_name, source=target_sources ) global lib_dir env.Install( lib_dir, static_lib ) if env['SHARED_LIB_ENABLED']: - shared_lib = env.SharedLibrary( target=target_name + '_${LIB_NAME_SUFFIX}', + shared_lib = env.SharedLibrary( target=target_name, source=target_sources ) - env.Install( lib_dir, shared_lib ) + env.InstallVersionedLib( lib_dir, shared_lib ) env['SRCDIST_ADD']( source=[target_sources] ) Export( 'env env_testing buildJSONExample buildLibrary buildJSONTests buildUnitTests' )