[net-im/swift] add a temp r1 for tree, drop 9999
This commit is contained in:
parent
edeabe67e9
commit
d20b79f7af
2
net-im/swift/Manifest
Normal file
2
net-im/swift/Manifest
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
DIST swift-4.0.3-python3-compatibility.patch.gz 14964 BLAKE2B ec98bee12734eb00037433b2791817d24a0a53effa653268a886b59358fb82f8e6c05739165f2518c9c5ad5b7ddfcef90734964eb6de647a24197e69b333ebc9 SHA512 95e1a0c49158cbf1392442103c960e2d458a99b34c3f32cdb47fec2d195b709d6c4b0c2961b4c49d05c19e590f2e2ca836c6f559b960015030bf8375b0604c3f
|
||||||
|
DIST swift-4.0.3.tar.bz2 15124142 BLAKE2B 23896b72ffecc5148ade806ec6610c5edfa67ae9000e28383c7cf5a3c8bf275a6fc8208d1d6e7c7715e75bf133869ed404fd35bfb13998849209def3aab46c07 SHA512 59ebf69391f2cbdce538f0ee925f55eec0e8463c2f9b90899cb314f2a036f40ebdc357c4b6a6d3b71ae800ccf6ee6df5ff6011949ea0bb189cdf3e9f231e9733
|
@ -0,0 +1,77 @@
|
|||||||
|
From a21993d750396d755717df21e331df87af8a0c6a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bruce Stephens <bruce.stephens@isode.com>
|
||||||
|
Date: Wed, 9 Jan 2019 16:21:20 +0000
|
||||||
|
Subject: [PATCH] Don't assume that tribool has an implicit bool conversion
|
||||||
|
|
||||||
|
In boost 1.68.0 the conversion is implicit, but in 1.69.0 it's
|
||||||
|
explicit and we must explicitly call it.
|
||||||
|
|
||||||
|
Change-Id: I24eb78be7510c89b88342d28c539cad4977f99fd
|
||||||
|
---
|
||||||
|
Swiften/Network/PlatformNATTraversalWorker.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Swiften/Network/PlatformNATTraversalWorker.cpp b/Swiften/Network/PlatformNATTraversalWorker.cpp
|
||||||
|
index f56de0b78b..eaa13b30d3 100644
|
||||||
|
--- a/Swiften/Network/PlatformNATTraversalWorker.cpp
|
||||||
|
+++ b/Swiften/Network/PlatformNATTraversalWorker.cpp
|
||||||
|
@@ -157,7 +157,7 @@ NATTraversalInterface* PlatformNATTraversalWorker::getNATTraversalInterface() co
|
||||||
|
miniUPnPInterface = new MiniUPnPInterface();
|
||||||
|
miniUPnPSupported = miniUPnPInterface->isAvailable();
|
||||||
|
}
|
||||||
|
- SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << miniUPnPSupported << std::endl;
|
||||||
|
+ SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << static_cast<bool>(miniUPnPSupported) << std::endl;
|
||||||
|
if (miniUPnPSupported) {
|
||||||
|
return miniUPnPInterface;
|
||||||
|
}
|
||||||
|
@@ -168,7 +168,7 @@ NATTraversalInterface* PlatformNATTraversalWorker::getNATTraversalInterface() co
|
||||||
|
natPMPInterface = new NATPMPInterface();
|
||||||
|
natPMPSupported = natPMPInterface->isAvailable();
|
||||||
|
}
|
||||||
|
- SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << natPMPSupported << std::endl;
|
||||||
|
+ SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << static_cast<bool>(natPMPSupported) << std::endl;
|
||||||
|
if (natPMPSupported) {
|
||||||
|
return natPMPInterface;
|
||||||
|
}
|
||||||
|
From bb3bd8a32b220b9c1ffd566da00bcd0ba546156c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Miroslaw Stein <miroslaw.stein@isode.com>
|
||||||
|
Date: Fri, 18 Jan 2019 14:30:24 +0000
|
||||||
|
Subject: [PATCH] Avoid deprecated boost endianess include
|
||||||
|
|
||||||
|
As of Boost 1.69.0, boost/detail/endian.h is deprecated in favour of
|
||||||
|
boost/predef/other/endian.h, and BOOST_(LITTLE|BIG)_ENDIAN by
|
||||||
|
BOOST_ENDIAN_(LITTLE|BIG)_BYTE.
|
||||||
|
|
||||||
|
Test-Information:
|
||||||
|
|
||||||
|
Unit tests pass on Debian 9
|
||||||
|
|
||||||
|
Change-Id: If7076c559a4e35219ff97603f50b80cfbe05b29b
|
||||||
|
---
|
||||||
|
Swiften/Base/Platform.h | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Swiften/Base/Platform.h b/Swiften/Base/Platform.h
|
||||||
|
index 4deba2bdda..22dff30b14 100644
|
||||||
|
--- a/Swiften/Base/Platform.h
|
||||||
|
+++ b/Swiften/Base/Platform.h
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2010 Isode Limited.
|
||||||
|
+ * Copyright (c) 2010-2019 Isode Limited.
|
||||||
|
* All rights reserved.
|
||||||
|
* See the COPYING file for more information.
|
||||||
|
*/
|
||||||
|
@@ -43,9 +43,9 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Endianness
|
||||||
|
-#include <boost/detail/endian.hpp>
|
||||||
|
-#if defined(BOOST_LITTLE_ENDIAN)
|
||||||
|
+#include <boost/predef/other/endian.h>
|
||||||
|
+#if defined(BOOST_ENDIAN_LITTLE_BYTE)
|
||||||
|
#define SWIFTEN_LITTLE_ENDIAN
|
||||||
|
-#elif defined(BOOST_BIG_ENDIAN)
|
||||||
|
+#elif defined(BOOST_ENDIAN_BIG_BYTE)
|
||||||
|
#define SWIFTEN_BIG_ENDIAN
|
||||||
|
#endif
|
@ -1,992 +0,0 @@
|
|||||||
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript
|
|
||||||
index 90892b0..c99aff8 100644
|
|
||||||
--- a/3rdParty/LibIDN/SConscript
|
|
||||||
+++ b/3rdParty/LibIDN/SConscript
|
|
||||||
@@ -40,13 +40,13 @@ if env.get("LIBIDN_BUNDLED", False) :
|
|
||||||
if conf.CheckFunc("stricmp") :
|
|
||||||
myenv.Append(CPPDEFINES = [("strcasecmp", "stricmp")])
|
|
||||||
else :
|
|
||||||
- print "Error: Cannot find strcasecmp() or stricmp()"
|
|
||||||
+ print("Error: Cannot find strcasecmp() or stricmp()")
|
|
||||||
Exit(1)
|
|
||||||
if not conf.CheckFunc('strncasecmp') :
|
|
||||||
if conf.CheckFunc("strnicmp") :
|
|
||||||
myenv.Append(CPPDEFINES = [("strncasecmp", "strnicmp")])
|
|
||||||
else :
|
|
||||||
- print "Error: Cannot find strncasecmp() or strnicmp()"
|
|
||||||
+ print("Error: Cannot find strncasecmp() or strnicmp()")
|
|
||||||
Exit(1)
|
|
||||||
conf.Finish()
|
|
||||||
|
|
||||||
diff --git a/BuildTools/CheckHeaders.py b/BuildTools/CheckHeaders.py
|
|
||||||
index 79ff85c..752d257 100755
|
|
||||||
--- a/BuildTools/CheckHeaders.py
|
|
||||||
+++ b/BuildTools/CheckHeaders.py
|
|
||||||
@@ -36,7 +36,7 @@ for line in file.readlines() :
|
|
||||||
continue
|
|
||||||
for forbiddenInclude, ignores in FORBIDDEN_INCLUDES :
|
|
||||||
if forbiddenInclude in line and len([x for x in ignores if x in filename]) == 0 :
|
|
||||||
- print "Found " + forbiddenInclude + " include in " + filename
|
|
||||||
+ print("Found " + forbiddenInclude + " include in " + filename)
|
|
||||||
foundBadHeaders = True
|
|
||||||
|
|
||||||
sys.exit(foundBadHeaders)
|
|
||||||
diff --git a/BuildTools/CheckTranslations.py b/BuildTools/CheckTranslations.py
|
|
||||||
index 615f81f..0617fba 100755
|
|
||||||
--- a/BuildTools/CheckTranslations.py
|
|
||||||
+++ b/BuildTools/CheckTranslations.py
|
|
||||||
@@ -41,10 +41,10 @@ for filename in os.listdir("Swift/Translations") :
|
|
||||||
translationText = getText(translation.childNodes)
|
|
||||||
translationPlaceholders = set(re.findall("%\d+%?", translationText))
|
|
||||||
if translationPlaceholders != sourcePlaceholders :
|
|
||||||
- print "[Error] " + filename + ": Placeholder mismatch in translation '" + sourceText + "'"
|
|
||||||
+ print("[Error] " + filename + ": Placeholder mismatch in translation '" + sourceText + "'")
|
|
||||||
if not finished :
|
|
||||||
- print "[Warning] " + filename + ": Unfinished"
|
|
||||||
+ print("[Warning] " + filename + ": Unfinished")
|
|
||||||
if language not in desktop_generic_names and language != "en" :
|
|
||||||
- print "[Warning] GenericName field missing in desktop entry for " + language
|
|
||||||
+ print("[Warning] GenericName field missing in desktop entry for " + language)
|
|
||||||
if language not in desktop_comments and language != "en" :
|
|
||||||
- print "[Warning] Comment field missing in desktop entry for " + language
|
|
||||||
+ print("[Warning] Comment field missing in desktop entry for " + language)
|
|
||||||
diff --git a/BuildTools/Copyright/find-contribs.py b/BuildTools/Copyright/find-contribs.py
|
|
||||||
index ac30afb..799ae7b 100755
|
|
||||||
--- a/BuildTools/Copyright/find-contribs.py
|
|
||||||
+++ b/BuildTools/Copyright/find-contribs.py
|
|
||||||
@@ -46,12 +46,12 @@ def print_log(full_log):
|
|
||||||
|
|
||||||
full_swiften_log = subprocess.check_output(["git", "log", "--", "Swiften"])
|
|
||||||
|
|
||||||
-print "Contributors for Swiften/ subtree:\n"
|
|
||||||
+print("Contributors for Swiften/ subtree:\n")
|
|
||||||
print_log(full_swiften_log)
|
|
||||||
|
|
||||||
full_all_log = subprocess.check_output(["git", "log"])
|
|
||||||
|
|
||||||
-print "\n\n\n\n"
|
|
||||||
+print("\n\n\n\n")
|
|
||||||
|
|
||||||
-print "Contributors for full tree:\n"
|
|
||||||
+print("Contributors for full tree:\n")
|
|
||||||
print_log(full_all_log)
|
|
||||||
diff --git a/BuildTools/Copyrighter.py b/BuildTools/Copyrighter.py
|
|
||||||
index a16050c..4c7bfeb 100755
|
|
||||||
--- a/BuildTools/Copyrighter.py
|
|
||||||
+++ b/BuildTools/Copyrighter.py
|
|
||||||
@@ -8,7 +8,7 @@ CONTRIBUTOR_LICENSE = "mit"
|
|
||||||
LICENSE_DIR = "Documentation/Licenses"
|
|
||||||
|
|
||||||
# The following regex parses license comment blocks and its part out of a complete source file.
|
|
||||||
-reParseLicenseCommentBlocks = re.compile(ur'(\/\*\n\s\*\sCopyright \(c\) (?P<startYear>\d\d\d\d)(-(?P<endYear>\d\d\d\d))? (?P<author>[^\n\.]*)\.?\n.\* (?P<license>[^\n]*)\n \* (?P<seeMore>[^\n]+)\n *\*\/)')
|
|
||||||
+reParseLicenseCommentBlocks = re.compile(r'(\/\*\n\s\*\sCopyright \(c\) (?P<startYear>\d\d\d\d)(-(?P<endYear>\d\d\d\d))? (?P<author>[^\n\.]*)\.?\n.\* (?P<license>[^\n]*)\n \* (?P<seeMore>[^\n]+)\n *\*\/)')
|
|
||||||
|
|
||||||
class License :
|
|
||||||
def __init__(self, name, file) :
|
|
||||||
@@ -122,14 +122,14 @@ def check_copyright(filename, hints) :
|
|
||||||
return True
|
|
||||||
else :
|
|
||||||
if hints :
|
|
||||||
- print "Copyright block for " + copyrightSetting.author + " does not cover current year in: " + filename
|
|
||||||
+ print("Copyright block for " + copyrightSetting.author + " does not cover current year in: " + filename)
|
|
||||||
return False
|
|
||||||
if hints :
|
|
||||||
- print "Missing copyright block for " + copyrightSetting.author + " in: " + filename
|
|
||||||
+ print("Missing copyright block for " + copyrightSetting.author + " in: " + filename)
|
|
||||||
return False
|
|
||||||
else :
|
|
||||||
if hints :
|
|
||||||
- print "No copyright found in: " + filename
|
|
||||||
+ print("No copyright found in: " + filename)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def replace_data_in_file(filename, begin, end, replaceWith) :
|
|
||||||
@@ -140,7 +140,7 @@ def replace_data_in_file(filename, begin, end, replaceWith) :
|
|
||||||
|
|
||||||
def set_or_update_copyright(filename) :
|
|
||||||
if check_copyright(filename, False) :
|
|
||||||
- print "No update required for file: " + filename
|
|
||||||
+ print("No update required for file: " + filename)
|
|
||||||
else :
|
|
||||||
copyrightBlocks = parse_file_new(filename)
|
|
||||||
username, email = get_userinfo()
|
|
||||||
@@ -161,7 +161,7 @@ def set_or_update_copyright(filename) :
|
|
||||||
replace_data_in_file(filename, lastBlock+1, lastBlock+1, "\n" + str(copyrightSetting))
|
|
||||||
|
|
||||||
def print_help() :
|
|
||||||
- print """Usage:
|
|
||||||
+ print("""Usage:
|
|
||||||
Copyrighter.py check-copyright $filename
|
|
||||||
Cheks for the existence of a copyright comment block.
|
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ def print_help() :
|
|
||||||
A users license configuration can be set via the SWIFT_LICENSE_CONFIG environment variable
|
|
||||||
in the format "$copyright holder|$license", e.g. "Jane Doe|mit". Possible values for
|
|
||||||
$license are default, mit and gpl.
|
|
||||||
- """
|
|
||||||
+ """)
|
|
||||||
|
|
||||||
if sys.argv[1] == "check-copyright" :
|
|
||||||
file = sys.argv[2]
|
|
||||||
@@ -183,6 +183,6 @@ elif sys.argv[1] == "set-copyright" :
|
|
||||||
file = sys.argv[2]
|
|
||||||
set_or_update_copyright(file)
|
|
||||||
else :
|
|
||||||
- print "Unknown command: " + sys.argv[1]
|
|
||||||
+ print("Unknown command: " + sys.argv[1])
|
|
||||||
print_help()
|
|
||||||
sys.exit(-1)
|
|
||||||
diff --git a/BuildTools/CrashReportAnalysis/WindowsMinidumpAnalyse.py b/BuildTools/CrashReportAnalysis/WindowsMinidumpAnalyse.py
|
|
||||||
index dada920..92f9b28 100644
|
|
||||||
--- a/BuildTools/CrashReportAnalysis/WindowsMinidumpAnalyse.py
|
|
||||||
+++ b/BuildTools/CrashReportAnalysis/WindowsMinidumpAnalyse.py
|
|
||||||
@@ -19,11 +19,11 @@ import time
|
|
||||||
|
|
||||||
swiftWindowBuildsPathPrefix = os.getenv("SWIFT_DIST")
|
|
||||||
if swiftWindowBuildsPathPrefix == None :
|
|
||||||
- print "Please set the SWIFT_DIST environment variable to a location containing msi and pdb.gz files."
|
|
||||||
+ print("Please set the SWIFT_DIST environment variable to a location containing msi and pdb.gz files.")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if len(sys.argv) != 3:
|
|
||||||
- print "Usage: python WindowsMinidumpAnalyse.py VERSION MINIDUMP_FILE"
|
|
||||||
+ print("Usage: python WindowsMinidumpAnalyse.py VERSION MINIDUMP_FILE")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
version = sys.argv[1]
|
|
||||||
@@ -93,7 +93,7 @@ def printHumanReadableReport():
|
|
||||||
try:
|
|
||||||
shutil.rmtree(working_folder)
|
|
||||||
except:
|
|
||||||
- print ""
|
|
||||||
+ print("")
|
|
||||||
|
|
||||||
# clone local git repository into dedicated directory
|
|
||||||
call(["git", "clone", ".", working_folder], shell=True)
|
|
||||||
@@ -120,7 +120,7 @@ assert(len(commit) > 0)
|
|
||||||
if not os.path.exists(symbol_cache_path):
|
|
||||||
os.makedirs(symbol_cache_path)
|
|
||||||
|
|
||||||
-#print "Checking out commit {0}.".format(commit)
|
|
||||||
+#print("Checking out commit {0}.".format(commit))
|
|
||||||
call(["git", "-C", working_folder, "checkout", commit])
|
|
||||||
|
|
||||||
os.chdir(working_folder)
|
|
||||||
diff --git a/BuildTools/DocBook/SCons/DocBook.py b/BuildTools/DocBook/SCons/DocBook.py
|
|
||||||
index ffb0bfc..d7c95ba 100644
|
|
||||||
--- a/BuildTools/DocBook/SCons/DocBook.py
|
|
||||||
+++ b/BuildTools/DocBook/SCons/DocBook.py
|
|
||||||
@@ -5,6 +5,19 @@
|
|
||||||
import SCons.Util, SCons.Action
|
|
||||||
import xml.dom.minidom, re, os.path, sys
|
|
||||||
|
|
||||||
+def maybeBytesToString(s):
|
|
||||||
+ if isinstance(s, bytes):
|
|
||||||
+ return s.decode('utf-8')
|
|
||||||
+ return s
|
|
||||||
+
|
|
||||||
+def prepareForWrite(s):
|
|
||||||
+ try:
|
|
||||||
+ if isinstance(s, unicode):
|
|
||||||
+ return s.encode('utf-8')
|
|
||||||
+ except NameError:
|
|
||||||
+ pass
|
|
||||||
+ return s
|
|
||||||
+
|
|
||||||
def generate(env) :
|
|
||||||
# Location of stylesheets and catalogs
|
|
||||||
docbook_dir = "#/BuildTools/DocBook"
|
|
||||||
@@ -32,15 +45,15 @@ def generate(env) :
|
|
||||||
rewritePrefix="%(docbook_xsl_dir)s/" />
|
|
||||||
</catalog>"""
|
|
||||||
|
|
||||||
- docbook_xml_dir = source[0].get_contents()
|
|
||||||
- docbook_xsl_dir = source[1].get_contents()
|
|
||||||
+ docbook_xml_dir = maybeBytesToString(source[0].get_contents())
|
|
||||||
+ docbook_xsl_dir = maybeBytesToString(source[1].get_contents())
|
|
||||||
if env["PLATFORM"] == "win32" :
|
|
||||||
docbook_xml_dir = docbook_xml_dir.replace("\\","/")
|
|
||||||
docbook_xsl_dir = docbook_xsl_dir.replace("\\","/")
|
|
||||||
file = open(target[0].abspath, "w")
|
|
||||||
file.write(catalog % {
|
|
||||||
- "docbook_xml_dir" : docbook_xml_dir,
|
|
||||||
- "docbook_xsl_dir" : docbook_xsl_dir,
|
|
||||||
+ "docbook_xml_dir" : prepareForWrite(docbook_xml_dir),
|
|
||||||
+ "docbook_xsl_dir" : prepareForWrite(docbook_xsl_dir),
|
|
||||||
})
|
|
||||||
file.close()
|
|
||||||
|
|
||||||
diff --git a/BuildTools/DocBook/SCons/XSLT.py b/BuildTools/DocBook/SCons/XSLT.py
|
|
||||||
index 38e36c5..6a40b62 100644
|
|
||||||
--- a/BuildTools/DocBook/SCons/XSLT.py
|
|
||||||
+++ b/BuildTools/DocBook/SCons/XSLT.py
|
|
||||||
@@ -8,7 +8,7 @@ import xml.dom.minidom, os, os.path
|
|
||||||
def generate(env) :
|
|
||||||
def generate_actions(source, target, env, for_signature) :
|
|
||||||
if not env.has_key("XSLTSTYLESHEET") :
|
|
||||||
- raise SCons.Errors.UserError, "The XSLTSTYLESHEET construction variable must be defined"
|
|
||||||
+ raise SCons.Errors.UserError("The XSLTSTYLESHEET construction variable must be defined")
|
|
||||||
|
|
||||||
# Process the XML catalog files
|
|
||||||
# FIXME: It's probably not clean to do an ENV assignment globally
|
|
||||||
diff --git a/BuildTools/FixIncludes.py b/BuildTools/FixIncludes.py
|
|
||||||
index 8984944..e532464 100755
|
|
||||||
--- a/BuildTools/FixIncludes.py
|
|
||||||
+++ b/BuildTools/FixIncludes.py
|
|
||||||
@@ -153,12 +153,12 @@ for line in content[headerStart:headerEnd]:
|
|
||||||
headerGroups[headerType] = [line]
|
|
||||||
|
|
||||||
if containsComplexPreprocessorDirectives:
|
|
||||||
- print "Cannot format headers containing preprocessor #if, #pragma, #define or #undef statements!"
|
|
||||||
+ print("Cannot format headers containing preprocessor #if, #pragma, #define or #undef statements!")
|
|
||||||
exit(1)
|
|
||||||
|
|
||||||
if filename_base.endswith(".h"):
|
|
||||||
if not HeaderType.PRAGMA_ONCE in headerGroups:
|
|
||||||
- print "Missing #pragma once!"
|
|
||||||
+ print("Missing #pragma once!")
|
|
||||||
exit(2)
|
|
||||||
cleanHeaderFile(content, headerStart, headerEnd, headerGroups)
|
|
||||||
elif filename_base.endswith(".cpp") or filename_base.endswith(".mm"):
|
|
||||||
diff --git a/BuildTools/GetBuildVersion.py b/BuildTools/GetBuildVersion.py
|
|
||||||
index 70fdc5c..be7cc03 100755
|
|
||||||
--- a/BuildTools/GetBuildVersion.py
|
|
||||||
+++ b/BuildTools/GetBuildVersion.py
|
|
||||||
@@ -16,6 +16,6 @@ if only_major :
|
|
||||||
if version_match :
|
|
||||||
print version_match.group(1)
|
|
||||||
else :
|
|
||||||
- print "0"
|
|
||||||
+ print("0")
|
|
||||||
else :
|
|
||||||
print Version.getBuildVersion(os.path.dirname(sys.argv[0]) + "/..", sys.argv[1])
|
|
||||||
diff --git a/BuildTools/Gource/GetGravatars.py b/BuildTools/Gource/GetGravatars.py
|
|
||||||
index d1f40a4..17198aa 100755
|
|
||||||
--- a/BuildTools/Gource/GetGravatars.py
|
|
||||||
+++ b/BuildTools/Gource/GetGravatars.py
|
|
||||||
@@ -5,7 +5,7 @@ import subprocess, os, sys, hashlib, urllib
|
|
||||||
GRAVATAR_URL = "http://www.gravatar.com/avatar/%(id)s?d=404"
|
|
||||||
|
|
||||||
if len(sys.argv) != 2 :
|
|
||||||
- print "Usage: " + sys.argv[0] + " <output-dir>"
|
|
||||||
+ print("Usage: " + sys.argv[0] + " <output-dir>")
|
|
||||||
sys.exit(-1)
|
|
||||||
|
|
||||||
output_dir = sys.argv[1]
|
|
||||||
@@ -18,32 +18,32 @@ for line in p.stdout.readlines() :
|
|
||||||
authors[author_components[0]] = author_components[1]
|
|
||||||
p.stdin.close()
|
|
||||||
if p.wait() != 0 :
|
|
||||||
- print "Error"
|
|
||||||
+ print("Error")
|
|
||||||
sys.exit(-1)
|
|
||||||
|
|
||||||
# Get & save the avatars
|
|
||||||
if not os.path.isdir(output_dir) :
|
|
||||||
os.makedirs(output_dir)
|
|
||||||
for email, name in authors.items() :
|
|
||||||
- print "Processing avatar for " + name + " <" + email + ">"
|
|
||||||
+ print("Processing avatar for " + name + " <" + email + ">")
|
|
||||||
filename = os.path.join(output_dir, name + ".png")
|
|
||||||
if os.path.isfile(filename) :
|
|
||||||
- print "-> Already there. Skipping."
|
|
||||||
+ print("-> Already there. Skipping.")
|
|
||||||
continue
|
|
||||||
|
|
||||||
m = hashlib.md5()
|
|
||||||
m.update(email)
|
|
||||||
url = GRAVATAR_URL % {"id" : m.hexdigest()}
|
|
||||||
- print "- Downloading " + url
|
|
||||||
+ print("- Downloading " + url)
|
|
||||||
f = urllib.urlopen(url)
|
|
||||||
input = None
|
|
||||||
if f.getcode() == 200 :
|
|
||||||
input = f.read()
|
|
||||||
f.close()
|
|
||||||
if input :
|
|
||||||
- print "- Saving file " + filename
|
|
||||||
+ print("- Saving file " + filename)
|
|
||||||
f = open(filename, "w")
|
|
||||||
f.write(input)
|
|
||||||
f.close()
|
|
||||||
else :
|
|
||||||
- print "- No Gravatar found"
|
|
||||||
+ print("- No Gravatar found")
|
|
||||||
diff --git a/BuildTools/ProjectCopyrightSummary.py b/BuildTools/ProjectCopyrightSummary.py
|
|
||||||
index 6e2d824..f6b18a0 100755
|
|
||||||
--- a/BuildTools/ProjectCopyrightSummary.py
|
|
||||||
+++ b/BuildTools/ProjectCopyrightSummary.py
|
|
||||||
@@ -17,7 +17,7 @@ def CopyrightNames(filename):
|
|
||||||
names = []
|
|
||||||
with open(filename, 'r') as file:
|
|
||||||
data = file.read()
|
|
||||||
- p = re.compile(ur'\* Copyright.*\d\d\d\d (.*?)\.?$', re.MULTILINE)
|
|
||||||
+ p = re.compile(r'\* Copyright.*\d\d\d\d (.*?)\.?$', re.MULTILINE)
|
|
||||||
names = re.findall(p, data)
|
|
||||||
return names
|
|
||||||
|
|
||||||
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
|
|
||||||
index 6d63d5b..e40bfb8 100644
|
|
||||||
--- a/BuildTools/SCons/SConstruct
|
|
||||||
+++ b/BuildTools/SCons/SConstruct
|
|
||||||
@@ -7,9 +7,9 @@ root = Dir("../..").abspath
|
|
||||||
|
|
||||||
# Override SConscript to handle tests
|
|
||||||
oldSConscript = SConscript
|
|
||||||
-def SConscript(*arguments, **keywords) :
|
|
||||||
- if not keywords.get("test_only", False) or env["TEST"] :
|
|
||||||
- return apply(oldSConscript, arguments, keywords)
|
|
||||||
+def SConscript(*args, **kwargs) :
|
|
||||||
+ if not kwargs.get("test_only", False) or env["TEST"] :
|
|
||||||
+ return oldSConscript(*args, **kwargs)
|
|
||||||
env.SConscript = SConscript
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
@@ -142,11 +142,11 @@ conf = Configure(conf_env, custom_tests = {
|
|
||||||
})
|
|
||||||
|
|
||||||
if not conf.CheckCXX() or not conf.CheckCC() :
|
|
||||||
- print "Error: You need a working compiler"
|
|
||||||
+ print("Error: You need a working compiler")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
if not conf.CheckCpp11Support() :
|
|
||||||
- print "Error: You need a compiler with support for the C++11 standard"
|
|
||||||
+ print("Error: You need a compiler with support for the C++11 standard")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ if (not zlib_okay) and conf.CheckLib("z") :
|
|
||||||
if zlib_okay :
|
|
||||||
env["ZLIB_FLAGS"] = zlib_flags
|
|
||||||
elif not env.get("zlib_bundled_enable", True) :
|
|
||||||
- print "Error: Zlib not found and zlib_bundled_enable is false"
|
|
||||||
+ print("Error: Zlib not found and zlib_bundled_enable is false")
|
|
||||||
Exit(1)
|
|
||||||
else :
|
|
||||||
env["ZLIB_BUNDLED"] = True
|
|
||||||
@@ -238,7 +238,7 @@ if not env.get("boost_force_bundled") and allLibsPresent :
|
|
||||||
# FIXME: Remove this workaround when UUID is available in most distros
|
|
||||||
env["BOOST_BUNDLED_UUID_ONLY"] = True
|
|
||||||
elif not env.get("boost_bundled_enable", True) :
|
|
||||||
- print "Error: Boost not found and boost_bundled_enable is false"
|
|
||||||
+ print("Error: Boost not found and boost_bundled_enable is false")
|
|
||||||
Exit(1)
|
|
||||||
else :
|
|
||||||
env["BOOST_BUNDLED"] = True
|
|
||||||
@@ -373,7 +373,7 @@ if env.get("try_expat", True) and not env.get("HAVE_LIBXML",0) :
|
|
||||||
# Bundled expat
|
|
||||||
bundledExpat = False
|
|
||||||
if not env.get("HAVE_EXPAT", 0) and not env.get("HAVE_LIBXML", 0) :
|
|
||||||
- print "Expat or LibXML not found. Using bundled Expat"
|
|
||||||
+ print("Expat or LibXML not found. Using bundled Expat")
|
|
||||||
SConscript("#/3rdParty/Expat/SConscript")
|
|
||||||
env["HAVE_EXPAT"] = 1
|
|
||||||
env["EXPAT_BUNDLED"] = True
|
|
||||||
@@ -424,10 +424,10 @@ if not env.get("HAVE_ICU", False) and not env.get("HAVE_LIBIDN", False) :
|
|
||||||
env["HAVE_LIBIDN"] = 1
|
|
||||||
env["LIBIDN_BUNDLED"] = 1
|
|
||||||
elif env.get("need_idn", True):
|
|
||||||
- print "Error: ICU and LIBIDN not found, and libidn_bundled_enable is false"
|
|
||||||
+ print("Error: ICU and LIBIDN not found, and libidn_bundled_enable is false")
|
|
||||||
Exit(1)
|
|
||||||
else:
|
|
||||||
- print "Proceeding without an IDN library because need_idn was false. This will break all internal binaries"
|
|
||||||
+ print("Proceeding without an IDN library because need_idn was false. This will break all internal binaries")
|
|
||||||
|
|
||||||
# Unbound
|
|
||||||
if env["unbound"] :
|
|
||||||
@@ -514,7 +514,7 @@ if not env.get("lua_force_bundled", False) and conf.CheckLibWithHeader(env["lua_
|
|
||||||
if lua_version > 0 :
|
|
||||||
env["LUA_FLAGS"]["LUA_VERSION"] = str(lua_version // 100) + "." + str(lua_version % 100)
|
|
||||||
else :
|
|
||||||
- print "Warning: Unable to determine Lua version. Not installing Lua libraries."
|
|
||||||
+ print("Warning: Unable to determine Lua version. Not installing Lua libraries.")
|
|
||||||
env["LUA_FLAGS"].update(lua_flags)
|
|
||||||
else :
|
|
||||||
env["LUA_BUNDLED"] = 1
|
|
||||||
@@ -666,7 +666,7 @@ try :
|
|
||||||
except SCons.Errors.StopError:
|
|
||||||
env["HAVE_QT"] = False
|
|
||||||
except Exception as e:
|
|
||||||
- print "Info: %s" % str(e)
|
|
||||||
+ print("Info: %s" % str(e))
|
|
||||||
env["HAVE_QT"] = False
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
@@ -688,7 +688,7 @@ try:
|
|
||||||
if not env.GetOption("clean") and env.get("install_git_hooks", True) :
|
|
||||||
env.Install("#/.git/hooks", Glob("#/BuildTools/Git/Hooks/*"))
|
|
||||||
except TypeError:
|
|
||||||
- print "You seem to be using Swift in a Git submodule. Not installing hooks."
|
|
||||||
+ print("You seem to be using Swift in a Git submodule. Not installing hooks.")
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
@@ -752,7 +752,7 @@ modules.append("QA")
|
|
||||||
env["PROJECTS"] = [m for m in modules if m not in ["Documentation", "QA", "SwifTools"] and not m.startswith("3rdParty")]
|
|
||||||
for stage in ["flags", "build"] :
|
|
||||||
env["SCONS_STAGE"] = stage
|
|
||||||
- SConscript(dirs = map(lambda x : root + "/" + x, modules))
|
|
||||||
+ SConscript(dirs = list(map(lambda x : root + "/" + x, modules)))
|
|
||||||
|
|
||||||
# SLOCCount
|
|
||||||
if ARGUMENTS.get("sloccount", False) :
|
|
||||||
@@ -764,9 +764,9 @@ if ARGUMENTS.get("sloccount", False) :
|
|
||||||
# Print summary
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
-print
|
|
||||||
-print " Build Configuration"
|
|
||||||
-print " -------------------"
|
|
||||||
+print("")
|
|
||||||
+print(" Build Configuration")
|
|
||||||
+print(" -------------------")
|
|
||||||
|
|
||||||
parsers = []
|
|
||||||
if env.get("HAVE_LIBXML", 0):
|
|
||||||
@@ -775,14 +775,14 @@ if env.get("HAVE_EXPAT", 0):
|
|
||||||
parsers.append("Expat")
|
|
||||||
if env.get("EXPAT_BUNDLED", False) :
|
|
||||||
parsers.append("(Bundled)")
|
|
||||||
-print " Projects: " + ' '.join(env["PROJECTS"])
|
|
||||||
-print ""
|
|
||||||
-print " XML Parsers: " + ' '.join(parsers)
|
|
||||||
+print(" Projects: " + ' '.join(env["PROJECTS"]))
|
|
||||||
+print("")
|
|
||||||
+print(" XML Parsers: " + ' '.join(parsers))
|
|
||||||
|
|
||||||
-print " TLS Support: " + (env.get("HAVE_OPENSSL",0) and "OpenSSL" or env.get("HAVE_SECURETRANSPORT",0) and "Secure Transport" or env.get("HAVE_SCHANNEL", 0) and "Schannel" or "Disabled")
|
|
||||||
-print " DNSSD Support: " + (env.get("HAVE_BONJOUR") and "Bonjour" or (env.get("HAVE_AVAHI") and "Avahi" or "Disabled"))
|
|
||||||
-print
|
|
||||||
+print(" TLS Support: " + (env.get("HAVE_OPENSSL",0) and "OpenSSL" or env.get("HAVE_SECURETRANSPORT",0) and "Secure Transport" or env.get("HAVE_SCHANNEL", 0) and "Schannel" or "Disabled"))
|
|
||||||
+print(" DNSSD Support: " + (env.get("HAVE_BONJOUR") and "Bonjour" or (env.get("HAVE_AVAHI") and "Avahi" or "Disabled")))
|
|
||||||
+print("")
|
|
||||||
|
|
||||||
if not GetOption("help") and not env.get("HAVE_OPENSSL", 0) and not env.get("HAVE_SCHANNEL", 0) and not env.get("HAVE_SECURETRANSPORT", 0):
|
|
||||||
- print "Error: A working TLS backend is required. Please check the documentation for more information."
|
|
||||||
+ print("Error: A working TLS backend is required. Please check the documentation for more information.")
|
|
||||||
Exit(1)
|
|
||||||
diff --git a/BuildTools/SCons/Tools/AppBundle.py b/BuildTools/SCons/Tools/AppBundle.py
|
|
||||||
index 337e83f..31cfef1 100644
|
|
||||||
--- a/BuildTools/SCons/Tools/AppBundle.py
|
|
||||||
+++ b/BuildTools/SCons/Tools/AppBundle.py
|
|
||||||
@@ -34,7 +34,7 @@ def generate(env) :
|
|
||||||
"""
|
|
||||||
for key, value in infoDict.items() :
|
|
||||||
plist += "<key>" + key + "</key>\n"
|
|
||||||
- plist += "<string>" + value.encode("utf-8") + "</string>\n"
|
|
||||||
+ plist += "<string>" + value + "</string>\n"
|
|
||||||
if handlesXMPPURIs :
|
|
||||||
plist += """<key>CFBundleURLTypes</key>
|
|
||||||
<array>
|
|
||||||
@@ -50,7 +50,7 @@ def generate(env) :
|
|
||||||
|
|
||||||
if sparklePublicDSAKey :
|
|
||||||
plist += "<key>SUPublicDSAKeyFile</key>"
|
|
||||||
- plist += "<string>" + sparklePublicDSAKey.name.encode("utf-8") + "</string>"
|
|
||||||
+ plist += "<string>" + sparklePublicDSAKey.name + "</string>"
|
|
||||||
env.Install(resourcesDir, sparklePublicDSAKey)
|
|
||||||
plist += """</dict>
|
|
||||||
</plist>
|
|
||||||
diff --git a/BuildTools/SCons/Tools/InstallWithSymLinks.py b/BuildTools/SCons/Tools/InstallWithSymLinks.py
|
|
||||||
index 23d12ed..4955192 100644
|
|
||||||
--- a/BuildTools/SCons/Tools/InstallWithSymLinks.py
|
|
||||||
+++ b/BuildTools/SCons/Tools/InstallWithSymLinks.py
|
|
||||||
@@ -74,21 +74,21 @@ def scons_copytree(src, dst, symlinks=False):
|
|
||||||
else:
|
|
||||||
shutil.copy2(srcname, dstname)
|
|
||||||
# XXX What about devices, sockets etc.?
|
|
||||||
- except (IOError, os.error), why:
|
|
||||||
+ except (IOError, os.error) as why:
|
|
||||||
errors.append((srcname, dstname, str(why)))
|
|
||||||
# catch the CopytreeError from the recursive copytree so that we can
|
|
||||||
# continue with other files
|
|
||||||
- except CopytreeError, err:
|
|
||||||
+ except CopytreeError as err:
|
|
||||||
errors.extend(err.args[0])
|
|
||||||
try:
|
|
||||||
shutil.copystat(src, dst)
|
|
||||||
except WindowsError:
|
|
||||||
# can't copy file access times on Windows
|
|
||||||
pass
|
|
||||||
- except OSError, why:
|
|
||||||
+ except OSError as why:
|
|
||||||
errors.extend((src, dst, str(why)))
|
|
||||||
if errors:
|
|
||||||
- raise CopytreeError, errors
|
|
||||||
+ raise CopytreeError(errors)
|
|
||||||
|
|
||||||
|
|
||||||
def symlinkBuilderImpl(target, source, env):
|
|
||||||
diff --git a/BuildTools/SCons/Tools/WindowsBundle.py b/BuildTools/SCons/Tools/WindowsBundle.py
|
|
||||||
index 20d41ff..2c8c3e7 100644
|
|
||||||
--- a/BuildTools/SCons/Tools/WindowsBundle.py
|
|
||||||
+++ b/BuildTools/SCons/Tools/WindowsBundle.py
|
|
||||||
@@ -33,9 +33,13 @@ def generate(env) :
|
|
||||||
|
|
||||||
mappings = []
|
|
||||||
|
|
||||||
- p = re.compile(ur'"([^\"]*)" "([^\"]*)"')
|
|
||||||
+ regex = re.compile(r'"([^\"]*)" "([^\"]*)"')
|
|
||||||
+
|
|
||||||
+ if SCons.Util.PY3:
|
|
||||||
+ matches = re.findall(regex, stdout.decode('utf8'))
|
|
||||||
+ else:
|
|
||||||
+ matches = re.findall(regex, stdout)
|
|
||||||
|
|
||||||
- matches = re.findall(p, stdout)
|
|
||||||
for match in matches:
|
|
||||||
mappings.append(match)
|
|
||||||
return mappings
|
|
||||||
@@ -84,7 +88,7 @@ def generate(env) :
|
|
||||||
assert(qtmappings)
|
|
||||||
|
|
||||||
# handle core DLLs
|
|
||||||
- qt_corelib_regex = re.compile(ur".*bin.*\\(.*)\.dll")
|
|
||||||
+ qt_corelib_regex = re.compile(r".*bin.*\\(.*)\.dll")
|
|
||||||
|
|
||||||
for qtlib in qtlibs:
|
|
||||||
if qtlib.startswith("Qt5"):
|
|
||||||
@@ -98,7 +102,7 @@ def generate(env) :
|
|
||||||
all_files += env.Install(bundle, src_path)
|
|
||||||
|
|
||||||
# handle plugins
|
|
||||||
- qt_plugin_regex = re.compile(ur".*plugins.*\\(.*)\\(.*)\.dll")
|
|
||||||
+ qt_plugin_regex = re.compile(r".*plugins.*\\(.*)\\(.*)\.dll")
|
|
||||||
for (src_path, target_path) in qtmappings:
|
|
||||||
if qt_plugin_regex.match(src_path):
|
|
||||||
plugin_folder, filename = qt_plugin_regex.match(src_path).groups()
|
|
||||||
diff --git a/BuildTools/SCons/Tools/qt4.py b/BuildTools/SCons/Tools/qt4.py
|
|
||||||
index d5c14e2..c97e751 100644
|
|
||||||
--- a/BuildTools/SCons/Tools/qt4.py
|
|
||||||
+++ b/BuildTools/SCons/Tools/qt4.py
|
|
||||||
@@ -137,23 +137,23 @@ class _Automoc:
|
|
||||||
out_sources = source[:]
|
|
||||||
|
|
||||||
for obj in source:
|
|
||||||
- if isinstance(obj,basestring): # big kludge!
|
|
||||||
- print "scons: qt4: '%s' MAYBE USING AN OLD SCONS VERSION AND NOT CONVERTED TO 'File'. Discarded." % str(obj)
|
|
||||||
+ if isinstance(obj,str): # big kludge!
|
|
||||||
+ print("scons: qt4: '%s' MAYBE USING AN OLD SCONS VERSION AND NOT CONVERTED TO 'File'. Discarded." % str(obj))
|
|
||||||
continue
|
|
||||||
if not obj.has_builder():
|
|
||||||
# binary obj file provided
|
|
||||||
if debug:
|
|
||||||
- print "scons: qt: '%s' seems to be a binary. Discarded." % str(obj)
|
|
||||||
+ print("scons: qt: '%s' seems to be a binary. Discarded." % str(obj))
|
|
||||||
continue
|
|
||||||
cpp = obj.sources[0]
|
|
||||||
if not splitext(str(cpp))[1] in cxx_suffixes:
|
|
||||||
if debug:
|
|
||||||
- print "scons: qt: '%s' is no cxx file. Discarded." % str(cpp)
|
|
||||||
+ print("scons: qt: '%s' is no cxx file. Discarded." % str(cpp) )
|
|
||||||
# c or fortran source
|
|
||||||
continue
|
|
||||||
#cpp_contents = comment.sub('', cpp.get_contents())
|
|
||||||
try:
|
|
||||||
- cpp_contents = cpp.get_contents()
|
|
||||||
+ cpp_contents = str(cpp.get_contents())
|
|
||||||
except: continue # may be an still not generated source
|
|
||||||
h=None
|
|
||||||
for h_ext in header_extensions:
|
|
||||||
@@ -163,12 +163,12 @@ class _Automoc:
|
|
||||||
h = find_file(hname, (cpp.get_dir(),), env.File)
|
|
||||||
if h:
|
|
||||||
if debug:
|
|
||||||
- print "scons: qt: Scanning '%s' (header of '%s')" % (str(h), str(cpp))
|
|
||||||
+ print("scons: qt: Scanning '%s' (header of '%s')" % (str(h), str(cpp)))
|
|
||||||
#h_contents = comment.sub('', h.get_contents())
|
|
||||||
- h_contents = h.get_contents()
|
|
||||||
+ h_contents = str(h.get_contents())
|
|
||||||
break
|
|
||||||
if not h and debug:
|
|
||||||
- print "scons: qt: no header for '%s'." % (str(cpp))
|
|
||||||
+ print("scons: qt: no header for '%s'." % (str(cpp)))
|
|
||||||
if h and q_object_search.search(h_contents):
|
|
||||||
# h file with the Q_OBJECT macro found -> add moc_cpp
|
|
||||||
moc_cpp = env.Moc4(h)
|
|
||||||
@@ -176,14 +176,14 @@ class _Automoc:
|
|
||||||
out_sources.append(moc_o)
|
|
||||||
#moc_cpp.target_scanner = SCons.Defaults.CScan
|
|
||||||
if debug:
|
|
||||||
- print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(h), str(moc_cpp))
|
|
||||||
+ print("scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(h), str(moc_cpp)))
|
|
||||||
if cpp and q_object_search.search(cpp_contents):
|
|
||||||
# cpp file with Q_OBJECT macro found -> add moc
|
|
||||||
# (to be included in cpp)
|
|
||||||
moc = env.Moc4(cpp)
|
|
||||||
env.Ignore(moc, moc)
|
|
||||||
if debug:
|
|
||||||
- print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(cpp), str(moc))
|
|
||||||
+ print("scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(cpp), str(moc)))
|
|
||||||
#moc.source_scanner = SCons.Defaults.CScan
|
|
||||||
# restore the original env attributes (FIXME)
|
|
||||||
objBuilder.env = objBuilderEnv
|
|
||||||
@@ -344,7 +344,7 @@ def generate(env):
|
|
||||||
else:
|
|
||||||
result.append(itemPath)
|
|
||||||
return result
|
|
||||||
- contents = node.get_contents()
|
|
||||||
+ contents = str(node.get_contents())
|
|
||||||
includes = [included[1] for included in qrcinclude_re.findall(contents)]
|
|
||||||
qrcpath = os.path.dirname(node.path)
|
|
||||||
dirs = [included for included in includes if os.path.isdir(os.path.join(qrcpath,included))]
|
|
||||||
diff --git a/BuildTools/SCons/Tools/wix.py b/BuildTools/SCons/Tools/wix.py
|
|
||||||
index 907b6d9..2d46188 100644
|
|
||||||
--- a/BuildTools/SCons/Tools/wix.py
|
|
||||||
+++ b/BuildTools/SCons/Tools/wix.py
|
|
||||||
@@ -15,7 +15,10 @@ def generate(env) :
|
|
||||||
|
|
||||||
def WiX_IncludeScanner(source, env, path, arg):
|
|
||||||
wixIncludeRegexp = re.compile(r'^\s*\<\?include (\S+.wxs)\s*\?\>\S*', re.M)
|
|
||||||
- contents = source.get_contents()
|
|
||||||
+ if SCons.Util.PY3:
|
|
||||||
+ contents = source.get_contents().decode("utf8")
|
|
||||||
+ else:
|
|
||||||
+ contents = source.get_contents()
|
|
||||||
includes = wixIncludeRegexp.findall(contents)
|
|
||||||
return [ "" + include for include in includes ]
|
|
||||||
|
|
||||||
diff --git a/BuildTools/SCons/Version.py b/BuildTools/SCons/Version.py
|
|
||||||
index f215a5d..23cd850 100644
|
|
||||||
--- a/BuildTools/SCons/Version.py
|
|
||||||
+++ b/BuildTools/SCons/Version.py
|
|
||||||
@@ -1,26 +1,34 @@
|
|
||||||
+from __future__ import print_function
|
|
||||||
import subprocess, os, datetime, re, os.path, sys, unittest
|
|
||||||
|
|
||||||
-def getGitBuildVersion(root, project) :
|
|
||||||
- tag = git("describe --tags --exact --match \"" + project + "-*\"", root)
|
|
||||||
- if tag :
|
|
||||||
- return tag.rstrip()[len(project)+1:]
|
|
||||||
- tag = git("describe --tags --match \"" + project + "-*\"", root)
|
|
||||||
- if tag :
|
|
||||||
- m = re.match(project + "-(.*)-(.*)-(.*)", tag)
|
|
||||||
- if m :
|
|
||||||
- return m.group(1) + "-dev" + m.group(2)
|
|
||||||
+def gitDescribeToVersion(tag, tagPrefix):
|
|
||||||
+ m = re.match(r'^' + tagPrefix + r'-(.+?)(?:-(.+?)-(.+?))?$', tag)
|
|
||||||
+ if not m:
|
|
||||||
+ return None
|
|
||||||
+ result = m.group(1)
|
|
||||||
+ if m.group(2):
|
|
||||||
+ result += "-dev" + m.group(2)
|
|
||||||
+ return result
|
|
||||||
+
|
|
||||||
+def getGitBuildVersion(root, tagPrefix) :
|
|
||||||
+ tag = git("describe --tags --match \"" + tagPrefix + "-*\"", root)
|
|
||||||
+ if tag:
|
|
||||||
+ return gitDescribeToVersion(tag, tagPrefix)
|
|
||||||
return None
|
|
||||||
|
|
||||||
-def git(cmd, root) :
|
|
||||||
+def git(cmd, root):
|
|
||||||
full_cmd = "git " + cmd
|
|
||||||
+ # Would've used with .. as p, but that's not supported by Python 2.7
|
|
||||||
p = subprocess.Popen(full_cmd, cwd=root, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
|
|
||||||
gitVersion = p.stdout.read()
|
|
||||||
- # error = p.stderr.read()
|
|
||||||
- # if error:
|
|
||||||
- # print "Git error: " + error
|
|
||||||
- p.stdin.close()
|
|
||||||
- if p.wait() == 0 :
|
|
||||||
- return gitVersion
|
|
||||||
+ try:
|
|
||||||
+ p.stdin.close()
|
|
||||||
+ p.stdout.close()
|
|
||||||
+ p.stderr.close()
|
|
||||||
+ except:
|
|
||||||
+ pass
|
|
||||||
+ if p.wait() == 0:
|
|
||||||
+ return bytes(gitVersion).decode('utf-8')
|
|
||||||
return None
|
|
||||||
|
|
||||||
def getBuildVersion(root, project) :
|
|
||||||
@@ -95,7 +103,7 @@ def convertToWindowsVersion(version):
|
|
||||||
return (major, minor, patch)
|
|
||||||
|
|
||||||
# Test Windows version mapping scheme
|
|
||||||
-class convertToWindowsVersionTest(unittest.TestCase):
|
|
||||||
+class TestCases(unittest.TestCase):
|
|
||||||
def testWindowsVersionsAreDescending(self):
|
|
||||||
versionStringsWithOldVersions = [
|
|
||||||
("5.0rc11", None),
|
|
||||||
@@ -111,13 +119,13 @@ class convertToWindowsVersionTest(unittest.TestCase):
|
|
||||||
("4.0rc5", (4, 0, 50000)),
|
|
||||||
("4.0rc4", (4, 0, 40000)),
|
|
||||||
("4.0rc3", (4, 0, 30000)),
|
|
||||||
+ ('4.0rc2-dev39', (4, 0, 20039)),
|
|
||||||
('4.0rc2-dev34', (4, 0, 20034)),
|
|
||||||
('4.0rc2-dev33', (4, 0, 20033)),
|
|
||||||
('4.0rc2-dev31', (4, 0, 20031)),
|
|
||||||
('4.0rc2-dev30', (4, 0, 20030)),
|
|
||||||
('4.0rc2-dev29', (4, 0, 20029)),
|
|
||||||
('4.0rc2-dev27', (4, 0, 20027)),
|
|
||||||
- ('4.0rc2-dev39', (4, 0, 20039)),
|
|
||||||
('4.0rc2', (4, 0, 20000)),
|
|
||||||
('4.0rc1', (4, 0, 10000)),
|
|
||||||
('4.0beta2-dev203', (4, 0, 2203)),
|
|
||||||
@@ -163,7 +171,17 @@ class convertToWindowsVersionTest(unittest.TestCase):
|
|
||||||
('3.0alpha-dev524', (3, 0, 524)),
|
|
||||||
('3.0alpha-dev515', (3, 0, 515)),
|
|
||||||
]
|
|
||||||
- windowsVersionMapping = list(map(lambda (x,y): (x, convertToWindowsVersion(x)), versionStringsWithOldVersions))
|
|
||||||
+ prevParsed = None
|
|
||||||
+ prevOldVersion = None
|
|
||||||
+ for string, oldVersion in versionStringsWithOldVersions:
|
|
||||||
+ parsed = convertToWindowsVersion(string)
|
|
||||||
+ if prevOldVersion and oldVersion:
|
|
||||||
+ self.assertTrue(oldVersion <= prevOldVersion, "Old version %r must come before %r" % (oldVersion, prevOldVersion))
|
|
||||||
+ if prevParsed:
|
|
||||||
+ self.assertTrue(parsed < prevParsed, "%s => %r must be smaller than %s => %r" % (string, parsed, prevString, prevParsed))
|
|
||||||
+ prevString = string
|
|
||||||
+ prevParsed = parsed
|
|
||||||
+ prevOldVersion = oldVersion
|
|
||||||
|
|
||||||
def testThatBetaIsHigherThanAlpha(self):
|
|
||||||
self.assertTrue(convertToWindowsVersion("3.0beta0") > convertToWindowsVersion("3.0alpha0"))
|
|
||||||
@@ -190,12 +208,24 @@ class convertToWindowsVersionTest(unittest.TestCase):
|
|
||||||
self.assertTrue(convertToWindowsVersion("3.0") > convertToWindowsVersion("3.0rc1"))
|
|
||||||
self.assertTrue(convertToWindowsVersion("3.0") > convertToWindowsVersion("3.0rc11"))
|
|
||||||
|
|
||||||
+ def testGitDescribeToVersion(self):
|
|
||||||
+ self.assertEqual("5.0alpha2-dev100", gitDescribeToVersion("swift-5.0alpha2-100-g33d5f6571", "swift"))
|
|
||||||
+ self.assertEqual("5.0alpha2", gitDescribeToVersion("swift-5.0alpha2", "swift"))
|
|
||||||
+ self.assertEqual("5.0-dev1", gitDescribeToVersion("swift-5.0-1-g012312312", "swift"))
|
|
||||||
+ self.assertIsNone(gitDescribeToVersion("swiften-5.0-1-g012312312", "swift"))
|
|
||||||
+ self.assertIsNone(gitDescribeToVersion("quickly-5.0-1-g012312312", "swift"))
|
|
||||||
+ self.assertIsNone(gitDescribeToVersion("swift-", "swift"))
|
|
||||||
+ self.assertIsNone(gitDescribeToVersion("swift", "swift"))
|
|
||||||
+
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if len(sys.argv) == 1:
|
|
||||||
unittest.main()
|
|
||||||
elif len(sys.argv) == 2:
|
|
||||||
- print convertToWindowsVersion(sys.argv[1])
|
|
||||||
+ if sys.argv[1] == "--git-build-version":
|
|
||||||
+ print(getGitBuildVersion(os.path.dirname(os.path.dirname(__file__)), "swift"))
|
|
||||||
+ else:
|
|
||||||
+ print(convertToWindowsVersion(sys.argv[1]))
|
|
||||||
sys.exit(0)
|
|
||||||
else:
|
|
||||||
- print "Error: Simply run the script without arguments or pass a single argument."
|
|
||||||
+ print("Error: Simply run the script without arguments or pass a single argument.")
|
|
||||||
sys.exit(-1)
|
|
||||||
diff --git a/BuildTools/scons2ninja.py b/BuildTools/scons2ninja.py
|
|
||||||
index 6c77c88..855a133 100755
|
|
||||||
--- a/BuildTools/scons2ninja.py
|
|
||||||
+++ b/BuildTools/scons2ninja.py
|
|
||||||
@@ -429,7 +429,7 @@ for line in f.stdout :
|
|
||||||
previous_filename = filename
|
|
||||||
|
|
||||||
if f.wait() != 0 :
|
|
||||||
- print "Error calling '" + scons_generate_cmd + "'"
|
|
||||||
+ print("Error calling '" + scons_generate_cmd + "'")
|
|
||||||
print f.stderr.read()
|
|
||||||
exit(-1)
|
|
||||||
|
|
||||||
diff --git a/Documentation/SwiftenDevelopersGuide/SConscript b/Documentation/SwiftenDevelopersGuide/SConscript
|
|
||||||
index ac7c67a..95e5c87 100644
|
|
||||||
--- a/Documentation/SwiftenDevelopersGuide/SConscript
|
|
||||||
+++ b/Documentation/SwiftenDevelopersGuide/SConscript
|
|
||||||
@@ -9,36 +9,6 @@ env.Tool("DocBook", toolpath = ["#/BuildTools/DocBook/SCons"])
|
|
||||||
import sys, re, os.path
|
|
||||||
|
|
||||||
def generateDocBookCode(env, target, source) :
|
|
||||||
- # Strips empty lines from the beginning & end of a program
|
|
||||||
- def stripEmptyLines(program) :
|
|
||||||
- programLines = program.split('\n')
|
|
||||||
- newProgramLines = []
|
|
||||||
- inProgram = False
|
|
||||||
- for line in programLines :
|
|
||||||
- if not re.match("^\s*$", line) or inProgram :
|
|
||||||
- inProgram = True
|
|
||||||
- newProgramLines.append(line)
|
|
||||||
- return '\n'.join(newProgramLines).rstrip()
|
|
||||||
-
|
|
||||||
- def createCallouts(program, calloutPrefix) :
|
|
||||||
- newProgramLines = []
|
|
||||||
- calloutLines = []
|
|
||||||
- nextID = 0
|
|
||||||
- for line in program.split("\n") :
|
|
||||||
- # FIXME: Takes the largest match
|
|
||||||
- m = re.match(".*\/* \(\*\) (.*) \*/.*", line)
|
|
||||||
- if m :
|
|
||||||
- cobID = "cob-" + calloutPrefix + "-" + str(nextID)
|
|
||||||
- coID = "co-" + calloutPrefix + "-" + str(nextID)
|
|
||||||
- nextID += 1
|
|
||||||
- line = re.sub("/\*.*\*/", "]]><co id=\"%(cobID)s\" linkends=\"%(coID)s\"/><![CDATA[" % {"cobID" : cobID, "coID" : coID}, line)
|
|
||||||
- calloutLines.append("<callout arearefs=\"%(cobID)s\" id=\"%(coID)s\"><para>%(text)s</para></callout>" % {"cobID": cobID, "coID": coID, "text": m.group(1)})
|
|
||||||
- newProgramLines.append(line)
|
|
||||||
- callouts = ""
|
|
||||||
- if len(calloutLines) > 0 :
|
|
||||||
- callouts = "<calloutlist>" + "\n".join(calloutLines) + "</calloutlist>"
|
|
||||||
- return ("\n".join(newProgramLines), callouts)
|
|
||||||
-
|
|
||||||
# Parse program
|
|
||||||
filename = source[0].abspath
|
|
||||||
filenameBase = os.path.basename(filename).replace(".cpp", "")
|
|
||||||
@@ -71,10 +41,7 @@ def generateDocBookCode(env, target, source) :
|
|
||||||
inputfile.close()
|
|
||||||
|
|
||||||
for programName, program in programs.items() :
|
|
||||||
- program = stripEmptyLines(program)
|
|
||||||
- (program, callouts) = createCallouts(program, filenameBase + "-" + programName)
|
|
||||||
-
|
|
||||||
- document = "<foo><programlisting><![CDATA[" + program + "]]></programlisting>" + callouts + "</foo>"
|
|
||||||
+ document = "<foo><programlisting><![CDATA[" + program.strip() + "]]></programlisting></foo>"
|
|
||||||
|
|
||||||
# Generate code
|
|
||||||
output = open(target[0].abspath, 'w')
|
|
||||||
diff --git a/Slimber/SConscript b/Slimber/SConscript
|
|
||||||
index a41fe0b..fa5aa53 100644
|
|
||||||
--- a/Slimber/SConscript
|
|
||||||
+++ b/Slimber/SConscript
|
|
||||||
@@ -11,10 +11,10 @@ elif env["PLATFORM"] != "darwin" :
|
|
||||||
env["PROJECTS"].remove("Slimber")
|
|
||||||
|
|
||||||
if not "Slimber" in env["PROJECTS"] and env["SCONS_STAGE"] == "flags" :
|
|
||||||
- print "Bonjour missing. Not building Slimber."
|
|
||||||
+ print("Bonjour missing. Not building Slimber.")
|
|
||||||
|
|
||||||
if not env.get("HAVE_QT", False) and "Slimber" in env["PROJECTS"] :
|
|
||||||
- print "Qt missing. Not building Slimber."
|
|
||||||
+ print("Qt missing. Not building Slimber.")
|
|
||||||
env["PROJECTS"].remove("Slimber")
|
|
||||||
|
|
||||||
if "Slimber" in env["PROJECTS"] :
|
|
||||||
diff --git a/Sluift/SConscript b/Sluift/SConscript
|
|
||||||
index de9cab6..af54ece 100644
|
|
||||||
--- a/Sluift/SConscript
|
|
||||||
+++ b/Sluift/SConscript
|
|
||||||
@@ -3,7 +3,7 @@ import Version, os.path
|
|
||||||
Import(["env"])
|
|
||||||
|
|
||||||
if env["SCONS_STAGE"] == "build" and not GetOption("help") and not env.get("HAVE_LUA", 0) :
|
|
||||||
- print "Warning: Lua was not found. Sluift will not be built."
|
|
||||||
+ print("Warning: Lua was not found. Sluift will not be built.")
|
|
||||||
if "Sluift" in env["PROJECTS"] :
|
|
||||||
env["PROJECTS"].remove("Sluift")
|
|
||||||
|
|
||||||
diff --git a/Swift/Packaging/SConscript b/Swift/Packaging/SConscript
|
|
||||||
index 3aa791f..556c596 100644
|
|
||||||
--- a/Swift/Packaging/SConscript
|
|
||||||
+++ b/Swift/Packaging/SConscript
|
|
||||||
@@ -25,5 +25,5 @@ if env["SCONS_STAGE"] == "build" :
|
|
||||||
target='$HELP2MAN_DEBIAN_DIR/swift-im.1', source='#/Swift/QtUI/swift-im',
|
|
||||||
action = Action('$HELP2MAN --no-discard-stderr -m "Swift Manual" -S "Swift" -n "swift-im" -N $SOURCE > $TARGET', cmdstr = "$HELP2MANSTR"))
|
|
||||||
else:
|
|
||||||
- print "Enabled help2man but help2man is not in the PATH of the current environment."
|
|
||||||
+ print("Enabled help2man but help2man is not in the PATH of the current environment.")
|
|
||||||
Exit(1)
|
|
||||||
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
|
|
||||||
index 54f0450..9bd2dcf 100644
|
|
||||||
--- a/Swift/QtUI/SConscript
|
|
||||||
+++ b/Swift/QtUI/SConscript
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
import os, datetime, re, time
|
|
||||||
import Version
|
|
||||||
+import SCons.Util
|
|
||||||
|
|
||||||
def generateQRCTheme(dir, prefix) :
|
|
||||||
sourceDir = dir.abspath
|
|
||||||
@@ -19,10 +20,10 @@ def generateQRCTheme(dir, prefix) :
|
|
||||||
|
|
||||||
Import("env")
|
|
||||||
|
|
||||||
-myenv = env.Clone()
|
|
||||||
+myenv = env.Clone(tools = [ 'textfile' ])
|
|
||||||
|
|
||||||
# Disable warnings that affect Qt
|
|
||||||
-myenv["CXXFLAGS"] = filter(lambda x : x != "-Wfloat-equal", myenv["CXXFLAGS"])
|
|
||||||
+myenv["CXXFLAGS"] = list(filter(lambda x : x != "-Wfloat-equal", myenv["CXXFLAGS"]))
|
|
||||||
if "clang" in env["CC"] :
|
|
||||||
myenv.Append(CXXFLAGS = ["-Wno-float-equal", "-Wno-shorten-64-to-32", "-Wno-missing-prototypes", "-Wno-unreachable-code", "-Wno-disabled-macro-expansion", "-Wno-unused-private-field", "-Wno-extra-semi", "-Wno-duplicate-enum", "-Wno-missing-variable-declarations", "-Wno-conversion", "-Wno-undefined-reinterpret-cast"])
|
|
||||||
|
|
||||||
@@ -351,7 +352,7 @@ myenv["TEXTFILESUFFIX"] = ""
|
|
||||||
copying_files = [myenv.File("../../COPYING.gpl"), myenv.File("../../COPYING.thirdparty"), myenv.File("../../COPYING.dependencies")]
|
|
||||||
if env["PLATFORM"] == "darwin" and env["HAVE_SPARKLE"] :
|
|
||||||
copying_files.append(env["SPARKLE_COPYING"])
|
|
||||||
-myenv.MyTextfile(target = "COPYING", source = copying_files, LINESEPARATOR = "\n\n========\n\n\n")
|
|
||||||
+myenv.Textfile(target = "COPYING", source = copying_files, LINESEPARATOR = "\n\n========\n\n\n")
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Translation
|
|
||||||
@@ -463,9 +464,16 @@ if env["PLATFORM"] == "win32" :
|
|
||||||
def convertToRTF(env, target, source) :
|
|
||||||
infile = open(source[0].abspath, 'r')
|
|
||||||
outfile = open(target[0].abspath, 'w')
|
|
||||||
+ if SCons.Util.PY3:
|
|
||||||
+ infile = open(source[0].abspath, 'r', encoding="utf8")
|
|
||||||
+ outfile = open(target[0].abspath, 'w', encoding="utf8")
|
|
||||||
+ else:
|
|
||||||
+ infile = open(source[0].abspath, 'r')
|
|
||||||
+ outfile = open(target[0].abspath, 'w')
|
|
||||||
outfile.write('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\fs16\\f0\\pard\n')
|
|
||||||
for line in infile:
|
|
||||||
- for char in line.decode("utf-8") :
|
|
||||||
+ line = line if SCons.Util.PY3 else line.decode("utf-8")
|
|
||||||
+ for char in line :
|
|
||||||
if ord(char) > 127 :
|
|
||||||
# FIXME: This is incorrect, because it only works for latin1.
|
|
||||||
# The correct way is \u<decimal utf16 point>? , but this is more
|
|
||||||
@@ -496,16 +504,16 @@ if env["PLATFORM"] == "win32" :
|
|
||||||
def signToolAction(target = None, source = None, env = None):
|
|
||||||
signresult = 0
|
|
||||||
for x in range (1, 4) :
|
|
||||||
- print "Attemping to sign the packages [%s]" % x
|
|
||||||
+ print("Attemping to sign the packages [%s]" % x)
|
|
||||||
signresult = env.Execute('signtool.exe sign /fd SHA256 /f "${SIGNTOOL_KEY_PFX}" /t "${SIGNTOOL_TIMESTAMP_URL}" /d "Swift Installer" ' + str(target[0]))
|
|
||||||
if signresult != 1 :
|
|
||||||
break
|
|
||||||
#If all 3 attemps to sign the package failed, stop the build.
|
|
||||||
if signresult == 1 :
|
|
||||||
- print "Error: The build has failed to sign the installer package"
|
|
||||||
+ print("Error: The build has failed to sign the installer package")
|
|
||||||
Exit(1)
|
|
||||||
if signresult == 2 :
|
|
||||||
- print "Signing was completed with warnings."
|
|
||||||
+ print("Signing was completed with warnings.")
|
|
||||||
|
|
||||||
myenv.AddPostAction(lightTask, signToolAction)
|
|
||||||
|
|
||||||
diff --git a/Swift/SConscript b/Swift/SConscript
|
|
||||||
index b211435..30b09e0 100644
|
|
||||||
--- a/Swift/SConscript
|
|
||||||
+++ b/Swift/SConscript
|
|
||||||
@@ -7,17 +7,17 @@ SConscript("Controllers/SConscript")
|
|
||||||
if env["SCONS_STAGE"] == "build" :
|
|
||||||
if not GetOption("help") and not env.get("HAVE_QT", 0) :
|
|
||||||
if "Swift" in env["PROJECTS"] :
|
|
||||||
- print "Warning: Swift requires Qt. Not building the Swift Qt application."
|
|
||||||
+ print("Warning: Swift requires Qt. Not building the Swift Qt application.")
|
|
||||||
env["PROJECTS"].remove("Swift")
|
|
||||||
elif not GetOption("help") and env["target"] == "native" and "Swift" in env["PROJECTS"] :
|
|
||||||
try :
|
|
||||||
SConscript("QtUI/SConscript")
|
|
||||||
except Exception as e:
|
|
||||||
- print "Warning: %s" % str(e)
|
|
||||||
+ print("Warning: %s" % str(e))
|
|
||||||
env["PROJECTS"].remove("Swift")
|
|
||||||
if "Swift" in env["PROJECTS"] and env["BOOST_1_64_DETECTED"] and not env.get("allow_boost_1_64") and not env.GetOption("clean") :
|
|
||||||
#Version 1.64 has some issues with the serialization of boost::optional, see https://svn.boost.org/trac10/ticket/13050
|
|
||||||
- print "Boost 1.64 has been detected. It is not recommended to use this version due to a regression within the library. Swift has been removed from the current build. You can still use this version by setting allow_boost_1_64 to true, but recent chats and highlighting rules will reset."
|
|
||||||
+ print("Boost 1.64 has been detected. It is not recommended to use this version due to a regression within the library. Swift has been removed from the current build. You can still use this version by setting allow_boost_1_64 to true, but recent chats and highlighting rules will reset.")
|
|
||||||
env["PROJECTS"].remove("Swift")
|
|
||||||
if env["help2man"]:
|
|
||||||
SConscript("Packaging/SConscript")
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/Swiften/SConscript b/Swiften/SConscript
|
|
||||||
index f52637b..c2536f7 100644
|
|
||||||
--- a/Swiften/SConscript
|
|
||||||
+++ b/Swiften/SConscript
|
|
||||||
@@ -12,7 +12,7 @@ external_swiften_dep_modules = ["BOOST"]
|
|
||||||
if env["SCONS_STAGE"] == "flags" :
|
|
||||||
env["SWIFTEN_DLL"] = env["swiften_dll"]
|
|
||||||
env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift")
|
|
||||||
- version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"])
|
|
||||||
+ version_match = re.match(r"(\d+)\.(\d+).*", env["SWIFTEN_VERSION"])
|
|
||||||
if version_match :
|
|
||||||
env["SWIFTEN_VERSION_MAJOR"] = int(version_match.group(1))
|
|
||||||
env["SWIFTEN_VERSION_MINOR"] = int(version_match.group(2))
|
|
13
net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch
Normal file
13
net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/Swift/Controllers/ShowProfileController.h b/Swift/Controllers/ShowProfileController.h
|
||||||
|
index 0d01ba1a0..5dc7197ff 100644
|
||||||
|
--- a/Swift/Controllers/ShowProfileController.h
|
||||||
|
+++ b/Swift/Controllers/ShowProfileController.h
|
||||||
|
@@ -18,6 +18,8 @@
|
||||||
|
|
||||||
|
#include <Swift/Controllers/UIEvents/UIEvent.h>
|
||||||
|
|
||||||
|
+#include <map>
|
||||||
|
+
|
||||||
|
namespace Swift {
|
||||||
|
class VCardManager;
|
||||||
|
class ProfileWindow;
|
21
net-im/swift/files/swift-4.0.3-reproducible-build.patch
Normal file
21
net-im/swift/files/swift-4.0.3-reproducible-build.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
commit 39a684108ae5938105498e7744e70962308cde7b
|
||||||
|
Author: kpcyrd <git@rxv.cc>
|
||||||
|
Date: Wed Aug 25 23:30:17 2021 +0200
|
||||||
|
|
||||||
|
Reproducible Builds: Sort directory contents at build
|
||||||
|
|
||||||
|
diff --git a/Swiften/SConscript b/Swiften/SConscript
|
||||||
|
index f52637bdb..334f4489e 100644
|
||||||
|
--- a/Swiften/SConscript
|
||||||
|
+++ b/Swiften/SConscript
|
||||||
|
@@ -567,7 +567,9 @@ if env["SCONS_STAGE"] == "build" :
|
||||||
|
swiften_includes = []
|
||||||
|
swiften_public_includes = []
|
||||||
|
top_path = env.Dir("..").abspath
|
||||||
|
- for root, dirs, files in os.walk(env.Dir(".").abspath) :
|
||||||
|
+ for root, dirs, files in sorted(os.walk(env.Dir(".").abspath)) :
|
||||||
|
+ dirs.sort()
|
||||||
|
+ files.sort()
|
||||||
|
if root.endswith("UnitTest") :
|
||||||
|
continue
|
||||||
|
for file in files :
|
@ -1,15 +0,0 @@
|
|||||||
Swiften/Examples/NetworkTool/main.cpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/Swiften/Examples/NetworkTool/main.cpp b/Swiften/Examples/NetworkTool/main.cpp
|
|
||||||
index c50ab67a4..d5a76b44b 100644
|
|
||||||
--- a/Swiften/Examples/NetworkTool/main.cpp
|
|
||||||
+++ b/Swiften/Examples/NetworkTool/main.cpp
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
+#include <boost/bind.hpp>
|
|
||||||
#include <boost/lexical_cast.hpp>
|
|
||||||
|
|
||||||
#include <Swiften/EventLoop/SimpleEventLoop.h>
|
|
@ -4,26 +4,21 @@
|
|||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
LUA_COMPAT=( lua5-{1..2} luajit )
|
LUA_COMPAT=( lua5-{1..2} luajit )
|
||||||
PYTHON_COMPAT=( python3_{10..11} )
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
inherit flag-o-matic lua-single python-any-r1 scons-utils toolchain-funcs
|
inherit lua-single python-any-r1 scons-utils toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client"
|
DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client"
|
||||||
HOMEPAGE="https://www.swift.im/"
|
HOMEPAGE="https://www.swift.im/"
|
||||||
|
SRC_URI="
|
||||||
if [[ ${PV} = "9999" ]] ; then
|
https://swift.im/git/${PN}/snapshot/${PN}-${P}.tar.bz2 -> ${P}.tar.bz2
|
||||||
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
|
https://dev.gentoo.org/~conikost/distfiles/patches/${P}-python3-compatibility.patch.gz
|
||||||
EGIT_BRANCH="swift-4.x"
|
"
|
||||||
inherit git-r3
|
S="${WORKDIR}/${PN}-${P}"
|
||||||
KEYWORDS=""
|
|
||||||
else
|
|
||||||
RESTRICT="mirror"
|
|
||||||
SRC_URI="https://swift.im/downloads/releases/${P}/${P}.tar.gz"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1"
|
LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1"
|
||||||
SLOT="4/0"
|
SLOT="4/0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
IUSE="expat +icu +idn lua test zeroconf"
|
IUSE="expat +icu +idn lua test zeroconf"
|
||||||
REQUIRED_USE="
|
REQUIRED_USE="
|
||||||
|| ( icu idn )
|
|| ( icu idn )
|
||||||
@ -60,9 +55,11 @@ DOCS=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-4.0.2-python3-compatibility.patch
|
"${FILESDIR}"/${PN}-4.0.2-boost-1.69-compatibility.patch
|
||||||
"${FILESDIR}"/${PN}-4.0.2-qt-5.15-compatibility.patch
|
"${FILESDIR}"/${PN}-4.0.2-qt-5.15-compatibility.patch
|
||||||
"${FILESDIR}"/${PN}-bind.patch
|
"${FILESDIR}"/${PN}-4.0.3-gcc11-compatibility.patch
|
||||||
|
"${WORKDIR}"/${PN}-4.0.3-python3-compatibility.patch
|
||||||
|
"${FILESDIR}"/${PN}-4.0.3-reproducible-build.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
@ -70,13 +67,6 @@ pkg_setup() {
|
|||||||
use lua && lua-single_pkg_setup
|
use lua && lua-single_pkg_setup
|
||||||
}
|
}
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
if [[ ${PV} = "9999" ]] ; then
|
|
||||||
git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
@ -122,7 +112,11 @@ src_prepare() {
|
|||||||
else
|
else
|
||||||
rm -fr 3rdParty || die
|
rm -fr 3rdParty || die
|
||||||
fi
|
fi
|
||||||
append-flags -DBOOST_BIND_GLOBAL_PLACEHOLDERS
|
|
||||||
|
if [[ ! -f VERSION.swift ]] ; then
|
||||||
|
# Source tarball from git doesn't include this file
|
||||||
|
echo "${PV}" > VERSION.swift || die
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
@ -141,7 +135,7 @@ src_configure() {
|
|||||||
cxxflags="${CXXFLAGS}"
|
cxxflags="${CXXFLAGS}"
|
||||||
debug="no"
|
debug="no"
|
||||||
distcc="no"
|
distcc="no"
|
||||||
experimental="yes"
|
experimental="no"
|
||||||
experimental_ft="yes"
|
experimental_ft="yes"
|
||||||
hunspell_enable="no"
|
hunspell_enable="no"
|
||||||
icu="$(usex icu)"
|
icu="$(usex icu)"
|
Loading…
Reference in New Issue
Block a user