This patch allows us to use our own bundled TWAINDSM.dll (from
twain-dsm project, http://www.twain.org, https://github.com/twain/twain-dsm)
on 64-bit Windows systems that don't have their own TWAIN DLL,
and without requiring users to install it from some other source.
The DLL is put into INSTALLOCATION/program along soffice.bin.
Of course, TWAIN sources still need to be 64-bit themselves (i.e.,
true 64-bit TWAIN drivers required) to be usable by 64-bit program.
Also this drops external/twain/inc/twain/twain.h, which is an old
version copied from twain-dsm, and instead uses the tarball to get
the header (required by Library_scn on both 32- and 64-bit Windows).
Change-Id: I191027f3221ce46db17f50db91c9cb9315900810
Reviewed-on: https://gerrit.libreoffice.org/46992
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
Pass --enable-kde5 to autogen.sh to enable this feature. Then
add kde5 to the list of externals to link against KF5. I will
introduce other code that depends on KF5 though which will
leverage this feature.
Change-Id: I17e434a53ac769000b0f805b1f41cdc5c2c84ee2
Reviewed-on: https://gerrit.libreoffice.org/47715
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
... in InstallUISequense.
Use --with-vcredist-dir to point to a directory with vc_redist.x64.exe
and/or vc_redist.x86.exe. Use --without-vcredist-dir (or
--with-vcredist-dir=no) if you don't want to ship it as part of
installer and want to silence the configure warning.
VCRedist 2015 version 14.0.24215.1 is available at
https://www.microsoft.com/en-us/download/details.aspx?id=53840
Since VisualStudio 2015, VC redist merge module that we used before
started to work differently: it installs the UCRT only on WinXP,
but not on later OSes (Vista to 8.1) which may lack the UCRT (Win10
has it out of the box). The merge module only installs VCRuntime on
those systems, which still leaves us with "api-ms-*.dll is missing"
problem.
(https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
gives more information on VCRedist refactoring background.)
Since commit 71d9a61302e65fe091cf70c13fa72b3df09b7e3a, we use a
workaround described at the page mentioned above as "App-local
deployment of the Universal CRT". We just copy all UCRT DLLs to
LibreOffice/program. This has a drawback though, that our UCRT
is not updated by Windows Update, so users would rely on LibreOffice
updates in case of some vulnerabilities in UCRT (and they could
even not realize they have that problem).
MS recommends to install UCRT using EXEs they provide from their
site. The EXEs install both VCRuntimes and UCRTs, along with
required patches, for all Windows versions (Windows XP through
Windows 10, where they only install VCRuntimes); the installed
libraries are managed by system's update mechanism. But those EXEs
cannot be used in MSI custom actions inside InstallExecuteSequence,
because they use MSI themselves.
So this patch integrates the vc_redist.xXX.exe into MSI binary
table, and uses custom action to run the EXE after ExecuteAction
in InstallUISequence. This will show the user a VCRedist install
window after the main LibreOffice installation finishes; no user
interaction is required (except for one additional UAC request),
and errors are ignored.
Since this installation takes care of both VCRuntime and UCRT,
we can ultimately drop both the app-local workaround, and
vcredist merge module (so VCRuntime would also be updated by
system). The former is done here: this reverts commit
71d9a61302e65fe091cf70c13fa72b3df09b7e3a.
This approach has its drawback: if one wants to use unattended
installation (without UI; one example is deployment using
ActiveDirectory GPO), then InstallUISequence is not run, and so
VCRedist isn't installed. In this case, one should install
VCRedist separately. Supposedly this should not be huge problem,
because this is the case for many existing applications that need
separate VCRedist deployment in these scenarios, and unattended
installation is advanced stuff that requires prepared user. A
notice would be required in release notes and FAQ, though.
Change-Id: Ia6a16be60af8a08f41ea7c3dbd457d8f89006006
Reviewed-on: https://gerrit.libreoffice.org/46356
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
The only change is that version support is now available
unconditionally, otherwise most code changes were bundled already in the
form of patches.
Change-Id: I0e456d85c9d84002cabcd77b31b02c9a7ad16ac5
Reviewed-on: https://gerrit.libreoffice.org/46386
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
This moves the external to gpgmepp, since that's what we _actually_
link against; plus tons of enablement for Windows build, mostly
related to linker probs integration.
There's still no good way to build a DLL with autotools, so we fall
back to gbuild manual make, see also tdf#91480
Change-Id: Ifd8217ef58536612d2389d48e343db133a13fb9c
Reviewed-on: https://gerrit.libreoffice.org/44970
Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Move out of unx, as this will eventually compile on other
OS platforms. At least currently it doesn't contain platform
dependant code.
Change-Id: Iea0bebf574201881ea158381fe7ba8af2a9a6488
Something that compiles, basically just interface stubs.
All used Svp classes don't use any cairo.
Change-Id: I9a8858c930989438cc2a3f3346c01a7abc579d62
- fixes a very minor CVE: CVE-2017-1000254
- the Windows nmakefiles we were previously using have been
removed, so we use the *other* Windows nmake build system now
- /EHs override is pointless, default /EHsc should work fine
- the macros defined in ExternalProject are not needed any more
- curl-msvc-schannel.patch.1: drop, not needed with new makefiles
- curl-osx.patch.1: none of it applies, presumably fixed upstream
Change-Id: I15c71b9c82c31d286d935b57543a1b0216123b66
Reviewed-on: https://gerrit.libreoffice.org/43724
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
The used version is actually named mariadb_client but since 2.1.0
upstream calls it MariaDB Connector/C.
Change-Id: I51b12a9be55151919585dec91a5fc802ff4fc86b
Reviewed-on: https://gerrit.libreoffice.org/42295
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
This commit enables HAVE_FEATURE_NSS for Android and fixes the svl/ vcl/
and xmlsecurity/ module to use NSS.
xmlsecurity/ wasn't built for Android previously, this commit enables
building xmlsecurity/ for Android and disables the support of gpgme
in the same module(Only for Android).
It also enables the linking of NSS shared libraries with
liblo-native-code.so and adds a rule to package them along with the apk.
Change-Id: I7d0341688ac979ae92e9145c37dd107670417fe1
Reviewed-on: https://gerrit.libreoffice.org/41308
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
And backport a post-release fix that fixes the Windows build.
EPUBExportFilter in writerperfect will want to use this.
Change-Id: I020cd2abfd0daa731f4079320b18a6d857874278
Reviewed-on: https://gerrit.libreoffice.org/40679
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun:⭐:resource::OfficeResourceLoader
com::sun:⭐:resource::XResourceBundleLoader
com::sun:⭐:resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
The only remaining difference is that in the system-xmlsec case we work
with the default key manager, not with the one that's only added by our
xmlsec patches.
This works for me for the uses I know of (see
<https://lists.freedesktop.org/archives/libreoffice/2017-February/076947.html>
for the motivation): signing and verifying of different signatures (bad
signature, good with non-trusted CA, good with trusted CA) with
software-based certificates all behave as expected.
Change-Id: If3f3e2b8373ab7397db3f98070a5a2ce51fa7c06
Reviewed-on: https://gerrit.libreoffice.org/39075
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
It has ~no users, can't even be built on modern Linuxes, and it annoys
folks who want to refactor VCL.
Per ESC decision from 2017-06-08, remove --enable-tde and --enable-tdeab.
Change-Id: I51ce4786f29f8fcac2e2bb2a654c41fbfbbd8afd
Reviewed-on: https://gerrit.libreoffice.org/38718
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
prefer having nasm/yasm but if its not there warn and fallback
to disabling assembler optional goodness
Change-Id: Ib31ad81717842f743c2910d575a9ebbc279a9c79
Reviewed-on: https://gerrit.libreoffice.org/35189
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This replaces f764d67da42caa71fd5e02146b1ca32680ae2f6e with a better
fix, no point in littering the makefiles with manual dependencies when
we can just avoid the problem in one place with a tiny performance cost.
Change-Id: Ic7e91ee4c99deb12a9544cf691c0995de6ae2bad
The license should not be an issue any more since liblangtag now has an
LGPL/MPLv2 dual licence.
Change-Id: I4dfffcccf5d710bd16b21c3254c1449ae041b8ab
Reviewed-on: https://gerrit.libreoffice.org/34511
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>