- Convert to modern Python, take maintainership

- Drop currently not useful `post-patch' target
- Add `cairo' to USE_GNOME per stage Q/A report
This commit is contained in:
Alexey Dokuchaev 2021-01-01 12:24:00 +00:00
parent 189c1e5521
commit 632927018e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559826
2 changed files with 140 additions and 20 deletions

View File

@ -6,7 +6,7 @@ PORTREVISION= 17
CATEGORIES= net-p2p
MASTER_SITES= http://launchpadlibrarian.net/69733951/
MAINTAINER= ports@FreeBSD.org
MAINTAINER= danfe@FreeBSD.org
COMMENT= Port of the DC++ Direct Connect client to Unix-like systems
LICENSE= GPLv2+
@ -15,8 +15,8 @@ LICENSE_FILE= ${WRKSRC}/License.txt
BUILD_DEPENDS= ${LOCALBASE}/include/boost/version.hpp:devel/boost-libs
USES= compiler:c++11-lang gettext gnome iconv localbase:ldflags \
pkgconfig scons:python2 ssl tar:bzip2
USE_GNOME= libglade2
pkgconfig scons ssl tar:bzip2
USE_GNOME= cairo libglade2
INSTALLS_ICONS= yes
PORTDOCS= *
DESTDIRNAME= FAKE_ROOT
@ -31,11 +31,6 @@ NOTIFY_MAKE_ARGS_OFF= libnotify=0
MAKE_ARGS+= debug=1
.endif
post-patch:
@${REINPLACE_CMD} -e "s/'iconv'/'${ICONV_LIB:S/-l//}'/" \
${WRKSRC}/SConstruct
@${REINPLACE_CMD} -e 's|g++|${CXX}|' ${WRKSRC}/SConstruct
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}

View File

@ -1,5 +1,21 @@
--- SConstruct.orig 2011-04-17 17:57:09 UTC
+++ SConstruct
@@ -2,13 +2,13 @@
# -*- coding: utf-8 -*-
import os
-import commands
+import subprocess as commands
import string
try:
from bzrlib import branch
except ImportError:
- print "bzrlib not installed"
+ print("bzrlib not installed")
EnsureSConsVersion(0, 98, 1)
@@ -20,7 +20,7 @@ BUILD_LOCALE_PATH = BUILD_PATH + 'locale/'
BUILD_FLAGS = {
'common' : ['-I#', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_REENTRANT'],
@ -9,6 +25,24 @@
}
# ----------------------------------------------------------------------
@@ -49,7 +49,7 @@ def check_cxx_version(context, name, major, minor):
or (string.atoi(ret[0]) > major)):
retval = 1
except ValueError:
- print "No C++ compiler found!"
+ print("No C++ compiler found!")
context.Result(retval)
return retval
@@ -62,7 +62,7 @@ def check_bzr_revision(context):
b = branch.Branch.open('.')
revision = str(b.revno())
except:
- print "failed"
+ print("failed")
context.env['BZR_REVISION'] = revision
context.Result(revision)
@@ -106,6 +106,7 @@ else:
vars.AddVariables(
BoolVariable('debug', 'Compile the program with debug information', 0),
@ -17,32 +51,48 @@
BoolVariable('profile', 'Compile the program with profiling information', 0),
PathVariable('PREFIX', 'Compile the program with PREFIX as the root for installation', '/usr/local', PathVariable.PathIsDir),
('FAKE_ROOT', 'Make scons install the program under a fake root', '')
@@ -131,14 +132,23 @@ if os.environ.has_key('CC'):
@@ -121,24 +122,33 @@ env = Environment(ENV = os.environ, variables = vars,
env['mode'] = 'debug' if env.get('debug') else 'release'
env['build_path'] = BUILD_PATH + env['mode'] + '/'
-if os.environ.has_key('CXX'):
+if 'CXX' in os.environ:
env['CXX'] = os.environ['CXX']
else:
- print 'CXX env variable is not set, attempting to use g++'
+ print('CXX env variable is not set, attempting to use g++')
env['CXX'] = 'g++'
-if os.environ.has_key('CC'):
+if 'CC' in os.environ:
env['CC'] = os.environ['CC']
if os.environ.has_key('CXXFLAGS'):
-if os.environ.has_key('CXXFLAGS'):
- env['CPPFLAGS'] = env['CXXFLAGS'] = os.environ['CXXFLAGS'].split()
+if 'CXXFLAGS' in os.environ:
+ env['CXXFLAGS'] = os.environ['CXXFLAGS'].split()
+if os.environ.has_key('CPPFLAGS'):
-if os.environ.has_key('LDFLAGS'):
+if 'CPPFLAGS' in os.environ:
+ env['CPPFLAGS'] = os.environ['CPPFLAGS'].split()
+
if os.environ.has_key('LDFLAGS'):
+if 'LDFLAGS' in os.environ:
env['LINKFLAGS'] = os.environ['LDFLAGS'].split()
if os.environ.has_key('CFLAGS'):
-if os.environ.has_key('CFLAGS'):
+if 'CFLAGS' in os.environ:
env['CFLAGS'] = os.environ['CFLAGS'].split()
+if os.environ.has_key('CPPPATH'):
+if 'CPPPATH' in os.environ:
+ env['CPPPATH'] = os.environ['CPPPATH'].split()
+
+if os.environ.has_key('LIBPATH'):
+if 'LIBPATH' in os.environ:
+ env['LIBPATH'] = os.environ['LIBPATH'].split()
+
env['CPPDEFINES'] = [] # Initialize as a list so Append doesn't concat strings
env.SConsignFile('build/sconf/.sconsign')
@@ -185,10 +195,6 @@ conf = env.Configure(
@@ -185,33 +195,29 @@ conf = env.Configure(
if not 'install' in COMMAND_LINE_TARGETS:
@ -51,9 +101,84 @@
- Exit(1)
-
if not conf.CheckPKGConfig():
print '\tpkg-config not found.'
- print '\tpkg-config not found.'
+ print('\tpkg-config not found.')
Exit(1)
if not conf.CheckPKG('gtk+-2.0 >= 2.12'):
- print '\tgtk+ >= 2.12 not found.'
- print '\tNote: You might have the lib but not the headers'
+ print('\tgtk+ >= 2.12 not found.')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckPKG('gthread-2.0 >= 2.4'):
- print '\tgthread >= 2.4 not found.'
- print '\tNote: You might have the lib but not the headers'
+ print('\tgthread >= 2.4 not found.')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckPKG('libglade-2.0 >= 2.4'):
- print '\tlibglade-2.0 >= 2.4 not found.'
- print '\tNote: You might have the lib but not the headers'
+ print('\tlibglade-2.0 >= 2.4 not found.')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckCXXHeader('boost/version.hpp', '<>'):
- print '\tboost not found.'
- print '\tNote: You might have the lib but not the headers'
+ print('\tboost not found.')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckHeader('time.h'):
@@ -224,53 +230,52 @@ if not 'install' in COMMAND_LINE_TARGETS:
Exit(1)
if not conf.CheckLibWithHeader('pthread', 'pthread.h', 'c'):
- print '\tpthread library not found'
- print '\tNote: You might have the lib but not the headers'
+ print('\tpthread library not found')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckLibWithHeader('z', 'zlib.h', 'c'):
- print '\tz library (gzip/z compression) not found'
- print '\tNote: You might have the lib but not the headers'
+ print('\tz library (gzip/z compression) not found')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
if not conf.CheckLibWithHeader('bz2', 'bzlib.h', 'c'):
- print '\tbz2 library (bz2 compression) not found'
- print '\tNote: You might have the lib but not the headers'
+ print('\tbz2 library (bz2 compression) not found')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
# This needs to be before ssl check on *BSD systems
if not conf.CheckLib('crypto'):
- print '\tcrypto library not found'
- print '\tNote: This library may be a part of libssl on your system'
+ print('\tcrypto library not found')
+ print('\tNote: This library may be a part of libssl on your system')
Exit(1)
if not conf.CheckLibWithHeader('ssl', 'openssl/ssl.h', 'c'):
- print '\tOpenSSL library (libssl) not found'
- print '\tNote: You might have the lib but not the headers'
+ print('\tOpenSSL library (libssl) not found')
+ print('\tNote: You might have the lib but not the headers')
Exit(1)
# Needed for XFlush(). Headers shouldn't be needed since we include gdk/gdkx.h
if not conf.CheckLib('X11'):
- print '\tX11 library not found'
+ print('\tX11 library not found')
Exit(1)
@@ -256,21 +262,20 @@ if not 'install' in COMMAND_LINE_TARGETS:
if not conf.CheckHeader('iconv.h'):
Exit(1)
@ -74,8 +199,8 @@
- conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY_0_7')
+ if conf.env.get('libnotify'):
+ if not conf.CheckPKG('libnotify >= 0.4.1'):
+ print '\tlibnotify >= 0.4.1 not found, disabling notifications.'
+ print '\tNote: You might have the lib but not the headers'
+ print('\tlibnotify >= 0.4.1 not found, disabling notifications.')
+ print('\tNote: You might have the lib but not the headers')
+ else:
+ conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY')
+ conf.env.ParseConfig('pkg-config --libs libnotify')