Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
Build Swift and verified that Info.plist inside Swift.app has
the updated year and copyright on macOS 10.12.
Change-Id: I84f921edf0b555a102dfb207d8fc3ee5f5f59eb9
|
|
Test-Information:
Tested with official Qt/QtWebKit 5.4.2 and Qt/QtWebKit 5.5.1.
Tested with official Qt 5.6.1 and QtWebKit from
https://github.com/annulen/webkit .
Change-Id: I2b8258faec71296591095e998e61da55ba0ca67c
|
|
Sparkle is configured to do silent automatic background
updates based on the provide appcast feed. When a new update
was downloaded and is ready to be installed Swift notifies
the user that they can restart to take advantage of the newly
available version.
Test-Information:
Setup a custom appcast feed with a newer Swift dev release.
Tested updating with Sparkle 1.14.0 binary release using DSA
keys and signatures. Did not test Sparkle update with code
signed Swift builds. Tested on macOS 10.12.
Change-Id: Idad461ec53963c80990e51a502cb6e28bc7b6b4e
|
|
This allows building Swift with debug symbols and the
non-debug MSVC dynamic runtime.
Test-Information:
scons debug=1 optimize=0 and ./scons debug=1 optimize=1
both build and Swift runs in both configurations on
Windows 8 with VS 2013.
Change-Id: I47d75916963c4e64732c547bc7dfb322096d6189
|
|
Test-Information:
Created a custom CA and added it as trusted to the system.
Created a signing certificate and passed it to scons as
described. The resulting installer does not show a red UAC
dialog anymore during installation. Instead the publisher from
the certificate is shown in a blue UAC dialog.
Change-Id: Ie4043520f6d45ec2e7aad712441a928cb423b0de
|
|
Pass along current scons process environment to the Popen
call that detects Qt MOC version. This is required for Linux
distributions that use qtchooser.
This fixes building Swift on Gentoo.
Test-Information.
None.
Change-Id: I8a1f18af5b8a7bdfe86b262ab38088d0700aab8d
|
|
SCons will now include Qt headers via -isystem if the compiler
is either clang or gcc to ignore warnings in files out of our
control.
Fix SCons to test for boost/signals2.hpp header instead of
boost/signals.hpp as we migrated to the newer signals2 library.
Test-Information:
Successfully build with allow_warnings=0 on Debian 8.5 with
system boost.
Change-Id: Ie6871daae73d97369de4de652e994ad5542715cf
|
|
This removes Snarl from 3rdParty, our adapter to it in
SwifTools and the integration in Swift UI.
Test-Information:
Builds and installer still work on Windows 8. Standard
system tray balloon notifications still work.
Change-Id: Id580642932eac260c79eaf2343a94ec9d5606f11
|
|
Since Qt 5.5.1 the packages from qt.io require setting the
rpath for linking.
Test-Information:
Tested building with dist=1 and testing distribution
packages and their used runtime libraries with Qt 5.4.2 and
Qt 5.5.1.
Change-Id: Idc6826a61489842d39c1d6aec3548e26da48e738
|
|
Change-Id: If42f50bf0ffbabee5e2c03fd99b3154362230189
|
|
This enables building on Gentoo.
Test-Information:
A user successfully built with this patch and both Qt4 and Qt5
installed.
Change-Id: I81ada408d34208bbba22d30de5f4ecd0060e223f
|
|
See DEVELOPMENT.md for instructions.
Test-Information:
Tested using a self-signed code signing certificate created
using Keychain Access.app.
Compared the output of 'codesign -vvv -d' on Swift.app with
preinstall apps. The output looks much the same except for
the signing authority.
Change-Id: Idbb3209ad917091c371ced61ec8a77e3e5d18884
|
|
This removes support for user dictionaries for now. The new
UI shows a list human readable languages (in their native
spelling) where the user can select one to use for spell
checking.
Updated our InstallSwiftDependencies.sh based on the package
names in their repositories.
Test-Information:
Tested on Ubuntu 16.04 with Hunspell and tested it still
builds on OS X 10.11.4.
Did not test InstallSwiftDependencies.sh.
Change-Id: I24fc705b1495f7c39a8da149cbd7116e41609998
|
|
Test-Information:
Unit and integration tests pass with system libs on Debian 8.5.
Change-Id: Ibcf7a1e07071d5de10c9d99c9b38e67b747f45eb
|
|
This changes HippoMocks include to -isystem include so it will
not cause compiler warnings.
This changes UserLocation floating point values to double and
remove remaining numerical casts.
Change C++11 compiler test to not cause warnings.
Test-Information:
Builds with allow_warnings=0 on OS X 10.11.5 with Xcode clang.
Change-Id: I26c60265a86c9be656089ade63fe9ad63851580f
|
|
This warning is generated when symbol names exceed a character
limit. This can happen fast with layered C++ templates.
Test-Information:
Tested with Visual Studio 2013 that the warning is not issued
anymore when building BoostConnectionTest.
Change-Id: I21c1e37ed6306f2da92dc7f78a1c16f26db0daf2
|
|
Test-Information:
Build failed correctly on error on Windows 8 with Visual
Studio 2013.
Change-Id: I1afc7a8a4cf0449057959638709c80c7ded8a5a6
|
|
Test-Information:
Test that it still builds and unit test pass on OS X 10.11.4.
Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
|
|
The font has been imported from the TTF version available
from http://www.latofonts.com/lato-free-fonts/ .
This commit also adds default parameters to all Qt resource
compiler calls, so that files that compress by more than 5%
are compressed with the highest compression level. Ideally
this will lead to smaller resource C++ source code files that
will require less runtime memory when compiled. VS's cl.exe
is particular resource hungry.
Test-Information:
Started Swift and verified the new font is used correctly
in chat views.
Change-Id: I0b450819b0f50041e768deca6e0ef5619b45d7bf
|
|
Converted relevant SCons files from hard tabs to space based
indentation with 4 spaces width.
Test-Information:
Tested that build failed with misconfigured OpenSSL backend
(providing tls_backend=openssl on OS X and no information on
where to find it).
Tested that build succeeds on OS X 10.11.4.
Change-Id: I17f85ca3194f100f63361a8c94667d7aa76e811a
|
|
This enables building on Gentoo.
Test-Information:
A user successfully built with this patch and both Qt4 and Qt5
installed.
Change-Id: I81ada408d34208bbba22d30de5f4ecd0060e223f
|
|
The signals library is still called signals and not signals2.
Test-Information:
Builds and unit tests pass on Debian 8.4 with system GCC.
Change-Id: I1d1b3f6bade979bc8a181915176b84be0ddf6597
|
|
Just pass distcc=1 and set cxx=distcc clang++ and
cc=distcc clang and use an appropriate parallelization
argument (-j).
Converted hard tabs to spaces in the process.
Test-Information:
Used distcc with -j 10 to build the whole Swift project with
unit tests in 13 minutes across 2 hosts.
Change-Id: Ib6b63b5079872632a11c0fd28eb90b8901b956df
|
|
Boost.Signals was deprecated and is not improved further.
This patch removes Boost.Signals from 3rdParty and adds
Boost.Signals2 and its dependencies.
Also removed the Qt signals compatibility file
Swiften/Base/boost_bsignals.h.
Test-Information:
Build and ran unit tests on OS X 10.11.4. Confirmed successful
login using Swift client.
Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
|
|
Added a SCons compiler test so that the build process fails
early if C++11 is not supported.
Remove C++11 checks as we now default to C++11 and they are
not needed anymore.
Ignore a Clang warning if building 3rdParty Boost.
Test-Information:
Tested build and unit tests on OS X 10.11.3.
Change-Id: Icbecbd1e25e8d8bbe5f402f75355373a86b5f8a1
|
|
This commit changes our TLS backend configuration behavior.
It introduces the tls_backend Scons argument, which defaults
to the native backend, but can also explicitly set to
'openssl' to use a project external OpenSSL installation or
'openssl_bundled' to build and configure with the OpenSSL
source in the 3rdParty directory.
Test-Information:
Tested on OS X 10.11.3.
./scons ends up using Secure Transport.
./scons tls_backend=openssl \
openssl_include=/usr/local/opt/openssl/include \
openssl_libdir=/usr/local/opt/openssl/lib \
openssl=/usr/local/opt/openssl successfully builds with
openssl from Homebrew.
./scons tls_backend=openssl_bundled successfully builds with
OpenSSL in 3rdParty.
Change-Id: I4fb0ef9d197609afe793554f86e54fe67fc1cab5
|
|
scons2ninja was broken since our last update to SCons in
3rdParty. This commit fixes it.
This also includes a workaround to AppBundle.py working
around an SCons encoding bug.
Test-Information:
Successfully run ./BuildTools/scons2ninja.py followed by
ninja.
Change-Id: I2f9dbbb33dc559ca339bb26ba11b885b39135011
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
This will print errors like missing Qt linguist tools.
Test-Information:
Tested on Fedora 22 and OS X 10.11.3.
Change-Id: I0817f368920b839805597d8eb2f3297b1fbd90e6
|
|
It used to be a common way to use the QTDIR environment
variable to tell SCons the location of the Qt installation
on the system.
Swift however uses the 'qt' SCons config variable for the
location and the 'qt5' variable for the version of Qt to use.
On Unix/Linux systems with pkg-config, SCons will use it to
detect the Qt installation and its flags.
The QTDIR environment variable is rarely used and tested so
the warning about missing environment variable is removed.
Test-Information:
Tested on Debian 8.
Change-Id: I2cd793f12b8607743db2848765011cc719b106aa
|
|
Test-Information:
Tested on Debian 8 with system Boost packages.
Change-Id: Ice6a98dc8ba3f09502d79e704c3e1b744d829d5d
|
|
Even when using the OpenSSL TLS backend for Swiften secur32.lib is required by
Swiften/SASL/WindowsAuthentication.
This also adds additional flags needed to build a bundled OpenSSL on Windows.
Test-Information:
Tested on Windows 8 with VS 2013.
Change-Id: I51da79cfa7931c07c8da3f0c5d941a637ac26d0c
|
|
Updated documentation accordingly.
Test-Information:
Build and ran unit tests on OS X 10.11.2.
Change-Id: Iec4e82d3b63a6b0d24b854734879dd2fbfe17d79
|
|
Test-Information:
Tested build works with upcoming fixes with VS 2015
Community.
Change-Id: Ia4f78cc9efdae56ef78a2b7ae09f11fa1bd8bc37
|
|
Added integration tests for certificate validation and
revocation behavior checking.
Test-Information:
Tested client login over TLS against Prosody and M-Link.
Verified client certificate authentication works against
M-Link.
Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
|
|
Previously, if a base installation of Qt was available but not
all Qt modules required by Swift are available Scons would fail
configuration. If a basic Qt installation is available SCons will
try to configure Swift even if you only want to build Swiften.
This commit changes the hard failure in Swift configuration to a
warning. This allows only Swiften to be build.
In addition, the warning now lists the Qt packages required by
Swift.
Test-Information:
Tested on Arch Linux.
Change-Id: I220ea61a7e4af849912e1fb1ae66cbecf5136d29
|