Age | Commit message (Collapse) | Author |
|
This is needed on macOS so that the running compiler
knows what SDK to build against.
Test-Information:
Builds with system and custom build clang on macOS
10.14.6.
Change-Id: I80a76937834d681c322bf36bfcb034565be9b2f5
|
|
Thanks Miroslaw Stein.
Test-Information:
After running BuildTools/InstallSwiftDependencies.sh
Swift builds fine on KDE Neon User Edition 5.16.
Change-Id: I05c074051aaecfdaf2352308285bcfaeaa4d8c2c
|
|
Test-Information:
Without these fixes, the build of a Windows MSI package
is not possible on Windows Server 2012. This is due to
the fact that on Windows you must force UTF8 coding
on file open as it defaults to Windows specific codec
for everything.
Tested by building a Windows MSI package on Windows
Server 2012.
Change-Id: I32664824188775f5ba27d9644fbbf33bf7094dfa
|
|
The merge of 4.x changes onto master introduced changes to Pyhon scripts
that weren't compatible with Python 3.
The Version.py script is now compatible with both Python 2 and Python 3,
and a slightly underimplemented test has been expanded to actually live
up to its name. getGitBuildVersion has been refactored completely. It
has been simplified to require only one invocation of git describe, unit
tests for the parsing have been added, and a way to call
getGitBuildVersion from the commandline has been added to Version.py (to
avoid adding a unit test that would call out to an external tool).
DocBook.py has been made compatible with Python3, and some additional
logic to prevent emitting b'path/to/docbook/xml' instead of the desired
'path/to/docbook/xml' has been added.
Generation of COPYING in Swift/QtUI now uses the upstream version
provided with SCons 3, and our custom version has been removed.
Unused code in the SwiftenDevelopersGuide SConscript with invalid
regular expressions has been removed, and the remaining regular
expressions in SConscripts have been fixed.
Test-Information
Code has been tested on macOS 10.14.
Scons now completes a build on a clean tree using either Python 2 or
Python 3. Running it on a previouly built tree works with either, as
well, mixing versions between invocations is not an issue.
Swift unit tests pass with Python 3.7.0.
Version.py unit tests pass with Python 2.7.15 and 3.7.0.
Running with doc=1 works with both Python 2 and Python 3, even
if the docbook points to a path with unicode characters in it.
Resulting COPYING file has been verified both visually and against a
Python2 generated one on master.
Resulting XML files for documentation have been inspected.
Resulting manual HTML and PDF files have been inspected.
Change-Id: I54de909d80b8e35a8c351261ae10ce3537729c84
|
|
* branch 'swift-4.x':
Update for Debian
Don't crash on missing bookmark result
Add missing include for QAbstractItemModel
Update Debian changelog
Fix convertToWindowsVersion() function to handle more RCs
Fix error response handling when requesting VCards
Test-Information:
./scons test=all succeeded on macOS 10.14.2.
Change-Id: I99d20a8b0e1b0be501fbbe95adebbff15f510184
|
|
Fix UTF-8 handling issues in
BuildTools/SCons/Tools/textfile.py .
Test-Information:
Tested that ./scons test=unit Swift works on Debain
Unstable (sid) and macOS 10.14.2. Tested that
build_for_debian.sh runs successfully on latest Debian
Unstable (sid).
Change-Id: I29d8c97ce3b4eb3e4fd680bdc814fb0c911262ff
|
|
Debug builds building with /MDd will otherwise fail on
Windows with MSVS 2015.
Test-Information:
Builds successfully with /MDd flag on Windows using MSVS 2015.
Change-Id: I9ac7e9408f09354025bb39cb5642efce686d11f0
|
|
Test-Information:
Builds in default configuration on Windows 10 with MSVS 2015.
Change-Id: I82e6a317820168d471694c8ee1f33b652515c0d9
|
|
r literal is supported by both Python 2 and Python 3.
Test-Information:
Builds on Windows 10 with Python 3 and VS 2015.
Change-Id: I2210a1ba01a4bf3c175634adeb067f1f939a7e61
|
|
Test-Information:
Ran ./BuildTools/scons2ninja.py check=1 build_examples=0, and it
generated a script that builds
and runs the checker, and that makes ninja -t compdb cxx spit out
things suitable for compile_commands.json
Change-Id: I9b92557f35c8230cc59a32580546a520e5684cab
|
|
Change-Id: I2e8bf314459b8748953cee3c7471e6ab1589b043
|
|
For the upcoming update to Scons 3, which works with Python 2
and Python 3, this change makes our code compatible with
Python 3 so that it still works with Python 2.
Test-Information:
Tested these changes with SCons 3.0.1 on macOS 10.13.6 with
Python 2.7.15 and Python 3.7.0.
Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
|
|
so that the swift-im openSUSE package builds in a reproducible way
in spite of indeterministic filesystem readdir order
See https://reproducible-builds.org/ for why this is good.
License:
This patch is BSD licensed - see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Builds on different machines should no longer have differences in Swiften.h
Change-Id: I8066a66db83c7d7ff10858196cb72b13af3f6008
|
|
This patch handles a case where some of the files used to generate COPYING,
were containing unicode strings, which could lead to a failure when building
sid package. The code now will check the type of the string before writing to
the file, and if needed it will transform it to the appropriate format.
Test-Information:
Generated the sid package with package_all_platforms script with no problems.
Created a debian sid box and tested the installation of the generated
packages. Validated the output generated in Windows 10 and Ubuntu 16.04 builds
through the "About" dialog in Swift.
Change-Id: I05e518b758f316d9fbf23c1079be5a462e75106c
|
|
Qt's windeployqt tool does not know about QtWebKit's dependencies,
as it is not shipped together anymore and QtWebKit is not
maintained by the same maintainers as Qt anymore.
Test-Information:
With this patch ./scons dist=1 on Windows with latest
Qt 5.10 and QtWebKit 5.212.0 Alpha 2 creates a Swift/QtUI/Swift
directory with a running Swift.exe inside. Without this patch
Swift.exe crashes due to missing libxml2.dll and missing libxslt.dll.
Change-Id: I2f8e658bf417bde20648618bac19b1c148831e1e
|
|
Test-Information:
Ran script on the server and it now includes the latest alpha2
dev builds.
Change-Id: I3a7740d43f7c12473eb640b66469fbf0d2438a0a
|
|
This includes compilation of MOC generated source files and
adjusting the UIC generated header files with compiler pragmas
that ignore all warnings.
Test-Information:
Tested no warnings are emitted for generated files on
macOS 10.13.4 with Qt 5.5.1 and clang trunk.
Change-Id: Ib49ba7bc2017e018ebd857837fbe2d9640fba2bb
|
|
The new version conversion function allows up to 8 patch releases,
up to 11 RC releases, up to 7 beta releases, and up to 5 alpha
releases.
The script fails hard on invalid input, thus failing the build
when used. It also allows for checking the release tag in the
release process.
Test-Information:
Added unit tests for some critical properties of the conversion.
As previously the minor number of the Windows version triplet
was not used, all new versions using this new scheme are
considered newer, for the same major version.
Change-Id: I53552a72ceaf7fe90f919990bd3d3be45a976c03
|
|
This patch fixes an issue where alpha releases were distributed in the
beta and release channels for Ubuntu and Debian distributions. Alpha
releases are now distributed only in the development channel.
Test-Information:
Tested the patch on Debian Stretch by creating a new repository using
update_debian_repo.sh and importing builds that were built for Debian
Stretch on 4.0beta2, 4.0rc6, 4.0, 5.0alpha and 5.1alpha tags, and some
development builds (5.0alpha-dev8). 5.1alpha tag was created locally to
have an alpha build that contained the fix.
Tested importing builds in the order that originally caused the issue
(4.0rc6 then 4.0 then 5.0alphaX) before and after the fix.
Change-Id: I65f3d188872112e1d770e6a6af0814d44fcd4bba
|
|
* swift-4.x: (44 commits)
Test-Information:
Builds on macOS 10.13.3 with clang trunk.
Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
|
|
This patch will allow the installer to perform per-user installations that
doesn't require elevated rights. If the Visual Studio prerequisites are
missing, the installer will ask the user if he wants to install them. If
the user chooses not to, the installer will deploy the necessary files in
the installation folder. Installations for all users (per machine) are
still available.
Upon upgrading in per-user installs from previous versions, the user can
still access the settings that were stored in the registry, but
not the settings stored in system-settings.xml.
Test-Information:
Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows
10 and Windows 7.
Tested fresh install and upgrade, for per-machine and
per-user installations.
Tested the vcredist install and the dll deployment when the installation
is not present.
Verified that the installer uses the registry settings in per-user
installations.
Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
|
|
Pass help2man=1 to have scons build man page sources via
help2man.
Adjusted package.sh to use scons to build man pages.
Test-Information:
Tested on Ubuntu 16.04 and it generated man page sources
when help2man=1.
Tested package_all_platforms on Ubuntu 16.04. The build does
not fail due to missing man pages anymore.
Change-Id: I6c62bc3f666ffd9f926038045672eb6e456082e5
|
|
Add PrivateKey class to simply encapsulate arbitrary private
key data and the corresponding password.
This enables easy unit testing by loading the certificate and
key from within a test case.
Test-Information:
Added unit tests for certificate and key generated by OpenSSL.
Tested on macOS 10.13.2 with OpenSSL.
Change-Id: I1c9ffc3c70f61af65c4f1c48670badaf74b672b7
|
|
The libdir for Swiften was hardcoded to "lib". With this patch it is possible
to override it.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for
details.
Test-Information:
Build with SWIFTEN_LIBDIR=lib64 and observe that files are installed into the
desired directory (i.e. /usr/lib64, if SWIFTEN_INSTALLDIR=/usr).
Change-Id: I4d844b93a189254b5923f9cd58190b0f6a65b9ac
|
|
Test-Information:
None.
Change-Id: I6c97c2e235c51d726da3c2f96cbf6ed24e6c25cc
|
|
Adds an XSLT that can check coverage of ts files.
Test-Information:
Runs on macOS 10.12 using libxml 20904, libxslt 10129 and libexslt 817
Change-Id: Ia7e66f3ae2e00010b03056db7578f7a2529250c8
|
|
Boost 1.64 introduced a regression where boost::optional deserialisation
could lead to a crash when loading the recent chats.
This fix updates the way we serialise the ChatListWindow::Chat and
HighlightAction classes to avoid these errors.
A flag has been added, to allow the use of the erroneous version of the
library during the build. During runtime if needed, the client will skip
loading the data, to avoid any unpredicted behaviour.
Test-Information:
Tested on windows 10 with different versions of boost 1.56(bundled), 1.63,
1.64, 1.65 and Ubuntu 17.04 with versions 1.56(bundled) and 1.64. Added
unit tests for the serialisation ChatListWindow::Chat class.
Change-Id: Idc5c3a6cfd92272b8eab2d77e243dda743803a31
|
|
Also removes -Winconsistent-missing-destructor-override from
the list of ignored clang warnings.
Test-Information:
Tested on macOS 10.12.5 with clang trunk.
Change-Id: Iad951879e01eb951a2a393399f55e4e37437c6a2
|
|
Test-Information:
Unit tests pass OK on Windows 10 and CentOS 7.3.
Change-Id: I33c9eb6b3e6409727350a44e6d5c88c5e8907275
|
|
Clang raises warnings about unused members and
macros on Linux. These are fixed with this change.
Test-Information:
Tested with clang-3.9 on Debian Stretch.
Change-Id: I87bc0606cfd14365330aaad4ed433d3bca2d5330
|
|
This also disables a couple compiler warnings raised by clang
trunk.
Test-Information:
Tested this on my personal GitHub fork of Swift and it works.
Change-Id: I646d3beb9fc0376e0b38ce8e323e5717a899ad45
|
|
On newer openSUSE distros it will just return 'openSUSE'.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: I9ea0866f1a07772f821e9eff51a9895f684bd22e
|
|
Furthermore extended the list of potential environment
variables based on what the qt4.py tool creates.
Fix for commit ed2226782ac15345aeb8e615b41d30e5aab67b51.
Test-Information:
Tested on Windows 8 with VS2013 with Qt 5.4.2 and on
macOS 10.12.4 with Qt 5.5.1.
Change-Id: Ib52084ca0e1505fe943c33fa74f479e360d834fe
|
|
Test-Information:
Built on LinuxMint 18 with Qt 5.5.1 successfully.
License:
This patch is BSD-licensed, see
Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: Ibbe234937e1c1d58080236833f1c3a6cf08ebf8f
|
|
If scons detects a Sparkle release in the 3rdParty folder,
it will add the containing LICENSE file at the end of the
dynamically generated COPYING file.
Test-Information:
Tested that the contents of Sparkle’s LICENSE file are at
the end of the text in the license window of the about dialog,
if the Sparkle folder, with a Sparkle release inside, is
present in 3rdParty.
Tested that Swift builds fine, if the Sparkle folder is
missing in 3rdParty.
Change-Id: I89db155b5bb3eef4d632997fd99ff270b4720a16
|
|
This also changes the minimal height of the emoji dialog
to hold about 8 emoji rows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that the categories
are sorted in a more sensible manner and that the dialog
at least shows about 8 emoji rows.
Change-Id: I8c5518f8d552a581d5073b5f155425580f72938a
|
|
Test-Information:
Build and ran on macOS 10.12.3 with Qt 5.7.1 and verified
the ‘regional’ category was gone from the dialog.
Change-Id: I664d5b8600037b42453c12ea0f180d0acd29361f
|
|
The new selector behaves like the old one. However, selection
of an emoji results in the corresponding UTF-8 sequence to be
inserted into the input widget instead of a ASCII emoticon.
The code is based on the Emojione library which is MIT
licensed. Emojione provides a mapping from shortnames to
relevant Unicode codepoint, as well as mappings from textual
emoticons (e.g. ). This commit does not modify the existing
emoticon parser and so does not include any ability to enter
emojis via text entry.
The part of the Emojione library required to generate the mappings
in C++ is included in this patch, specifically the emoji.json
file. It is used to generate a corresponding .cpp file.
Mapping code can be generated as follows:
* cd BuildTools/EmojisGenerator/
* (optional) update emoji.json from
https://github.com/Ranks/emojione/blob/master/emoji.json)
- Version used with this commit: ba845a7
* npm install
* node generate.js
Test-information:
General
* Click the emoji button opens the selector
* Change tab
* Click an emoji and check it appears correctly
* Click outside emoji dialog hides it
Emojis
* Emojis are well printed on macOS with Qt 5.7.1
* Emojis are black/white on Windows 10 with Qt 5.7.1
* Emojis have the right tooltip (when mouse is hover)
* Check emojis are rendered appropriately by the receiving client
Tabs
* Tabs have the right tooltip
* Click an emoji adds to recent tab
* Emojis in the Recent tab are ordered by last click date
(with a maximum of 50 "recent" emojis)
* Recent emojis are saved in the QtSetting under "recentEmojis"
Change-Id: Ibd07b8713d6272da6a8a4c9c35ddf866473f662b
|
|
Test-Information:
Tested scons dist=1 successfully on Windows 10 with Visual Studio 2015
and Qt 5.7.1.
Change-Id: I41271f10367249e2e89fdba85f1d5c5305c548ff
|
|
googletest and googlemock from release 1.8.0 have been copied
to the 3rdParty folder.
With this commit tests for Swift project can also written
using googletest and googlemock APIs. The test runners will
execute test suites written to either test library.
Passing —-xml to a test runner will now create two test
report XML files, namely $programName-report.cppunit.xml and
$programName-report.gtest.xml.
The ByteArrayTest has been converted to use googletest
instead of googlemock to serve as an example and test the
integration.
Test-Information:
Build all tests via ‘./scons test=all’ and verified all tests
are run.
Build all tests via ‘./scons test=all checker_report=1’ and
verified that two report XML files are generated per test
runner executed.
Change-Id: I81a9fb2c7ea5612fc1b34eef70ed7e711bfeea81
|
|
* swift-3.x:
- Fix building Swift on 32-bit Linux distributions
- Remove optional_fwd.hpp use; workaround for Boost Bug #12179
- Split COPYING.thirdparty in contributions/dependencies
- Fixes for building packages on Debian
Conflicts:
BuildTools/SCons/SConstruct
Sluift/Console.h
Sluift/ITunesInterface.h
Sluift/Terminal.h
Swift/Packaging/Debian/debian/control.in
Swift/QtUI/SConscript
Swiften/Elements/Stanza.h
Swiften/FileTransfer/FileTransferTransporter.h
Swiften/FileTransfer/IBBReceiveSession.h
Swiften/JID/JID.h
Swiften/Network/BoostConnectionServer.h
Swiften/Network/ConnectionServer.h
Swiften/Parser/AttributeMap.h
Test-Information:
Builds on macOS 10.12.1 with clang trunk.
Change-Id: I9f41ab199f227bc106721627ea994313c68e5cfe
|
|
If a server closes the XMPP stream, it sends a </stream:stream>
tag. The client is supposed to respond with the same tag and
then both parties can close the TLS/TCP socket.
Previously Swift(-en) would simply ignore </stream:stream>
tag if it was not directly followed by a shutdown of the TCP
connection.
In addition there is now a timeout timer started as soon as
Swiften or the server initiates a shutdown. It will close
the socket and cleanup the ClientSession if the server does
not respond in time or the network is faulty.
Refactored some code in ClientSession in the process. Moved
ClientSession::State to a C++11 strongly typed enum class.
This also fixes issues where duplicated </stream:stream>
tags would be send by Swift.
Test-Information:
Tested against Prosody ba782a093b14 and M-Link 16.3v6-0,
which provide ad-hoc commands to end a user session.
Previously this was ignored by Swift. Now it correctly responds
to the server, detects it as a disconnect and tries to
reconnect afterwards.
Added unit test for the case where the server closes the
session stream.
Change-Id: I59dfde3aa6b50dc117f340e5db6b9e58b54b3c60
|
|
Test-Information:
Build Swiften on Debian 8.6 with all installed dependencies
with and without passing these new options to scons. Either case
built fine.
Change-Id: I4867c0479a0d44b15e12918c5075e9039945ed95
|
|
Check for updates on start.
Test-Information:
Manually verified a random sample of 50 Swift version string
pairs, that Sparkle currently compares them and detects the
new version.
Change-Id: Ic88a5fdc5feab42cdcb4cc3c2740d4c24718eb7b
|
|
Test-Information:
Verified that the tool writes to the specified output folder
on macOS 10.12.1.
Change-Id: I91157dda1031632c1e536ae6b509f08a69dce6c3
|
|
The script will now take stable/testing releases from the
…/downloads/releases path using per-release folders inside,
and only dev builds from the …/downloads/development/mac
path without per-release folder.
Test-Information:
Ran the script on macOS 10.12.1 on a mirror and verified that
it generated the correct feeds.
Change-Id: I9b2f5780cfcdafb64d0d75d1483643b522ea7bb2
|
|
This Python script parses the folder structure of Swift
downloads locally and generates three appcast feeds to use
for Sparkle updater.
The three appcast feeds are written to the downloads folder
supplied to the script.
Test-Information:
Ran script with Python 2.7.12 and manually checked the output.
Change-Id: Ie1e71eecad4f65e48694b805878765806a3465ae
|
|
This removes resource forks from our template disk image.
Add custom InstallWithSymLinks command that does behave
similar to the default env.Install command, however preserves
relative symbolic links inside an installed directory.
This is needed because the Sparkle.framework internally
uses symbolic links and codesign utility fails if these
links are replaced by copies of the original files.
Test-Information:
Verified dist=1 builds with and without code signing on macOS
10.12. Verified that on change of presence of the
codesign_identity SCons argument or its value, a new package
is build. If it does not change nothing is built again.
Change-Id: Iade94811b7d608cb7520662e2820be3b128ee90b
|
|
Test-Information:
Without this building failed under Gentoo Linux distribution.
Verified this on Sabayon, a desktop Linux distribution based
on Gentoo, by adding it to our cross distribution test.
With this fix it builds on all platforms, including Sabayon.
Change-Id: I23aec19b9755244dd3dbe6f581cf170eaf334dfc
|
|
Test-Information:
Build Swift and verified that Info.plist inside Swift.app has
the updated year and copyright on macOS 10.12.
Change-Id: I84f921edf0b555a102dfb207d8fc3ee5f5f59eb9
|