ports/devel/py-p4python/files/patch-setup.py
Alan Somers 36ba102feb devel/py-p4python: new port
Reviewed by:	brd
Approved by:	brd (ports)
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D10825
2018-02-02 19:11:18 +00:00

73 lines
2.7 KiB
Python

--- setup.py.orig 2018-02-02 16:50:17 UTC
+++ setup.py
@@ -102,7 +102,12 @@ class P4APIFtp:
elif system == "FreeBSD":
platform_str += "freebsd"
- release = uname.release
+ if sys.version_info.major == 3:
+ release = uname.release
+ elif sys.version_info.major == 2:
+ release = uname[2]
+ else:
+ raise Exception("Unknown python version %s" % sys.version)
value = int(''.join(itertools.takewhile(lambda s: s.isdigit(), release)))
@@ -217,6 +222,8 @@ class VersionInfo:
verFile = os.path.join(p4ApiDir, "sample", "Version")
if not os.path.exists(verFile):
verFile = os.path.join(p4ApiDir, "Version")
+ if not os.path.exists(verFile):
+ verFile = os.path.join(p4ApiDir, "share", "examples", "p4api", "Version")
input = open(verFile)
for line in input:
for pattern, handler in self.patterns:
@@ -398,9 +405,16 @@ class PlatformInfo:
arch = self.architecture(unameOut[4])
elif unameOut[0] == 'FreeBSD':
unix = "FREEBSD"
- release = unameOut[2][0]
- if release == '5':
- release += unameOut[2][2]
+ if sys.version_info.major == 3:
+ release = unameOut.release.split(".")[0]
+ if release == '5':
+ release += unameOut.release.split(".")[1]
+ elif sys.version_info.major == 2:
+ release = unameOut[2].split(".")[0]
+ if release == '5':
+ release += unameOut[2].split(".")[1]
+ else:
+ raise Exception("Unknown python version %s" % sys.version)
arch = self.architecture(unameOut[4])
elif unameOut[0] == 'CYGWIN_NT-5.1':
@@ -475,8 +489,16 @@ def do_setup(p4_api_dir, ssl):
else:
print ("API Release %s.%s" % (ryear, rversion))
- inc_path = [p4_api_dir, os.path.join(p4_api_dir, "include", "p4")]
- lib_path = [p4_api_dir, os.path.join(p4_api_dir, "lib")]
+ inc_dir = os.path.join(p4_api_dir, "include", "p4")
+ if not os.path.exists(inc_dir):
+ inc_dir = os.path.join(p4_api_dir, "include", "perforce")
+
+ lib_dir = os.path.join(p4_api_dir, "lib", "perforce")
+ if not os.path.exists(lib_dir):
+ lib_dir = os.path.join(p4_api_dir, "lib")
+
+ inc_path = [p4_api_dir, inc_dir]
+ lib_path = [p4_api_dir, lib_dir]
if ssl:
lib_path.append( ssl )
@@ -608,7 +630,7 @@ if __name__ == "__main__":
if os.path.exists(distdir):
shutil.rmtree(distdir, False, force_remove_file)
- p4_api_dir = get_api_dir()
+ p4_api_dir = "%%LOCALBASE%%"
ssl = None
if '--ssl' in sys.argv: