1. 23 May, 2018 1 kayıt (commit)
  2. 03 May, 2018 3 kayıt (commit)
  3. 25 Nis, 2018 1 kayıt (commit)
    • Mike Kaganski's avatar
      Install UCRT from MSUs, not using nested VC Redist install · b8424437
      Mike Kaganski yazdı
      Using nested install is bad because (1) MS advises against it (though it
      most possibly doesn't relate to our specific case, when we install the
      vc redist exe package in UI part, so actually only a single MSI session
      is active at any time); (2) because it adds some extra interactions
      (user sees something "unrelated" being installed, which raises concerns;
      additional admin authentication required); and (3) because it runs in
      InstallUISequence, thus only installing the UCRT when doing interactive
      installation (unattended installs, including GPO, need to install UCRT
      separately).
      
      This patch aims to incorporate the original UCRT MSU (Windows Update)
      packages (https://support.microsoft.com/en-us/help/2999226) available as
      a zip archive from
      https://www.microsoft.com/en-us/download/details.aspx?id=48234
      - the same as used in VC redists for VS 2015 and 2017. This obsoletes
      the separate installation of the redist; since we also have the redist
      as merge module in our MSI, that is enough (and removes redundancy).
      The MSUs are installed using wusa.exe in a custom action (deferred,
      non-impersonating).
      
      As a small bonus, embedding MSUs instead of redist EXE allows us to
      shrink the size of installer a little (~10 MB).
      
      As deferred custom actions cannot access current installer database,
      we workaround this by using initial immediate impersonating action to
      extract the binaries into a temporary location. To ensure that the file
      gets removed upon completion (both successful and failed), we use an
      additional cleanup action.
      
      Commit 61b1d631 is effectively reverted.
      
      Change-Id: I1529356fdcc67ff24b232c01ddf8bb3a31bb00bd
      Reviewed-on: https://gerrit.libreoffice.org/52923Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
      b8424437
  4. 20 Nis, 2018 1 kayıt (commit)
  5. 18 Nis, 2018 1 kayıt (commit)
  6. 12 Nis, 2018 1 kayıt (commit)
  7. 10 Nis, 2018 1 kayıt (commit)
  8. 18 Mar, 2018 3 kayıt (commit)
  9. 28 Şub, 2018 1 kayıt (commit)
  10. 20 Şub, 2018 1 kayıt (commit)
  11. 23 Ock, 2018 2 kayıt (commit)
    • Milian Wolff's avatar
      Introduce gtk3_kde5 vcl plugin · ecb5fcff
      Milian Wolff yazdı
      This is a hybrid plugin which mostly wraps the GTK3 vclplug. Only
      the file and folder picker are replaced by KDE dialogs. This gives
      us a well-maintained GTK LO base with basic KDE integration with
      minimum effort.
      
      To prevent issues with nested event loops, the KDE dialogs are
      launched from a separate process, the new lo_kde5filepicker helper
      executable. A trivial stdin/stdout IPC mechanism transfers the data
      between LO and the Qt/KDE helper. The usage of an external process
      also allows us to copy'n'paste between LO and the KDE file dialog
      without freezing the UI, as would happen when one would do this
      in-process. This is in general also the architecture applied by the
      kmozillahelper, which is used to integrate KDE file dialogs into
      Firefox.
      
      While the KDE dialog is shown, the GTK3 main window is disabled and
      close requests are ignored. The KDE dialog in turn also sets the LO
      window as transient parent. Together, this makes the illusion perfect
      and the KDE dialog behaves like a modal dialog. This works properly
      also with multiple LO main windows, and only individual windows will
      get blocked as one would expect.
      
      Functionality wise, most of the features of the KDE4 dialog are
      supported. You can pick files and folders, and save files under a new
      name. Some custom checkbox widgets are supported, but lists, buttons
      and preview widgets are not yet implemented. Also, loading remote
      files via KIO is not possible yet.
      
      Change-Id: I1a97cf7c272307a19ace4222d5f12253bc722829
      Reviewed-on: https://gerrit.libreoffice.org/47718Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      ecb5fcff
    • Milian Wolff's avatar
      Extend build system to support linking against KDE Frameworks 5 · 4d78cf97
      Milian Wolff yazdı
      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/47715Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      4d78cf97
  12. 18 Ock, 2018 1 kayıt (commit)
  13. 18 Ara, 2017 1 kayıt (commit)
    • Mike Kaganski's avatar
      tdf#108580: integrate vc_redist.exe into MSI · 61b1d631
      Mike Kaganski yazdı
      ... 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 71d9a613, 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
      71d9a613.
      
      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/46356Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
      Tested-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
      61b1d631
  14. 08 Ara, 2017 1 kayıt (commit)
    • Stephan Bergmann's avatar
      New --enable-compiler-plugins=debug mode · 32c31c03
      Stephan Bergmann yazdı
      ...to enable debug-only code in the plugins.  Some situations in the plugin code
      should never happen, yet must not by default report errors or trigger
      assertions, as some newly written LO code could trigger them nevertheless (in
      which case the plugin code will likely need to be adapted, to cater for these
      presumed-impossible situations).
      
      Such code can now be included in the plugins behind an if(isDebugMode()) guard,
      and can explicitly be enabled with --enable-compiler-plugins=debug.
      
      I deliberately made this a runtime rather than a compile time option (using
      some #ifdef guards in the plugin code, say), as it IMO keeps the code more
      readable, and also allows overridding COMPILER_PLUGINS_DEBUG=... on the make
      command line.
      
      Change-Id: Iea4f0c2783ad968a0de097fa710b3be1a248de73
      Reviewed-on: https://gerrit.libreoffice.org/46096Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      32c31c03
  15. 07 Ara, 2017 2 kayıt (commit)
  16. 24 Kas, 2017 2 kayıt (commit)
  17. 06 Kas, 2017 3 kayıt (commit)
    • Jan-Marek Glogowski's avatar
      QT5 rename from KF5 · 2ffb83da
      Jan-Marek Glogowski yazdı
      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
      2ffb83da
    • Jan-Marek Glogowski's avatar
      KF5 seperate Qt5 detection from KF5 · 88945965
      Jan-Marek Glogowski yazdı
      Splits the configure checks into a Qt5 and KF5 specific part.
      
      Change-Id: I0a616ba031e1f7fd0385219ac48179adb4bdaf14
      88945965
    • Jan-Marek Glogowski's avatar
      KF5 initial VCL plugin · 9335945c
      Jan-Marek Glogowski yazdı
      Something that compiles, basically just interface stubs.
      All used Svp classes don't use any cairo.
      
      Change-Id: I9a8858c930989438cc2a3f3346c01a7abc579d62
      9335945c
  18. 31 Eki, 2017 1 kayıt (commit)
  19. 30 Eki, 2017 1 kayıt (commit)
  20. 19 Eki, 2017 1 kayıt (commit)
  21. 04 Eki, 2017 1 kayıt (commit)
  22. 30 Eyl, 2017 3 kayıt (commit)
    • jan Iversen's avatar
      iOS, cleanup unused config variables · 0e3eb2c1
      jan Iversen yazdı
      Removed no longer used variables. These variables
      are constant across platform, and therefore defined
      in the project.pbxproj file instead.
      
      Change-Id: I8fcfe414de498ebd4e5bd3a133a8c7e39faa9edb
      0e3eb2c1
    • Stephan Bergmann's avatar
      Support loplugin in clang-cl · 39e7a72b
      Stephan Bergmann yazdı
      This works at least with a recent Clang trunk (towards Clang 6.0).
      
      In order for the plugin.dll to find the LLVM/Clang symbols, it needs to be
      loaded into clang.exe not clang-cl.exe, so set CC/CXX to 'clang.exe
      --driver-mode=cl ...'.
      
      Buidling the plugin requires some linker flags that must go at the very end of
      the COMPILER_PLUGINS_CXX command line, after a /link switch, so introduce
      another COMPILER_PLUGINS_CXX_LINKFLAGS variable for that.  Also, clang.lib is
      not installed as part of LLVM's 'cmake --build ... --target install' step, so
      is not available under CLANGDIR and needs to be taken from the build tree
      instead, so introduce another CLANGLIBDIR variable for that.  autogen.input
      settings that work for me on Windows 8.1 with Microsoft Visual Studio 14.0 are:
      
      > CLANGDIR=C:/llvm/inst
      > CLANGLIBDIR=C:/llvm/build/lib
      > COMPILER_PLUGINS_CXX=C:/PROGRA~2/MICROS~3.0/VC/bin/amd64/cl.exe /IC:\PROGRA~2\MICROS~3.0\VC\INCLUDE /IC:\PROGRA~2\MICROS~3.0\VC\ATLMFC\INCLUDE /IC:\PROGRA~2\WI3CF2~1\10\include\100102~1.0\ucrt /IC:\PROGRA~2\WI3CF2~1\NETFXSDK\46D346~1.1\include\um /IC:\PROGRA~2\WI3CF2~1\8.1\include\shared /IC:\PROGRA~2\WI3CF2~1\8.1\include\um /IC:\PROGRA~2\WI3CF2~1\8.1\include\winrt
      > COMPILER_PLUGINS_CXX_LINKFLAGS=/LIBPATH:C:/PROGRA~2/MICROS~3.0/VC/LIB/amd64 /LIBPATH:C:/PROGRA~2/MICROS~3.0/VC/ATLMFC/LIB/amd64 /LIBPATH:C:/PROGRA~2/WI3CF2~1/10/lib/100102~1.0/ucrt/x64 /LIBPATH:C:/PROGRA~2/WI3CF2~1/NETFXSDK/46D346~1.1/lib/um/x64 /LIBPATH:C:/PROGRA~2/WI3CF2~1/8.1/lib/winv6.3/um/x64
      
      (The last two are "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/
      amd64/cl.exe" and translations of %INCLUDE% and %LIB% as set in the "VS2015 x64
      Native Tools Command Prompt" shell.
      AC_CHECK_HEADER(clang/AST/RecursiveASTVisitor.h, ...) in configure.ac wouldn't
      like CXX to start with INCLUDE=... LIB=... environment variable settings, so it
      wouldn't work to instead pass %INCLUDE% and %LIB% to cl.exe that way.  See
      <https://wiki.documentfoundation.org/Development/clang-cl> for general
      information about building with clang-cl on Windows.)
      
      There's still some room for improvement marked "TODO".  (And some of the unused*
      plugins, which are not run by default anyway, use Unix-style functionality, so
      have been disabled for now.)
      
      Change-Id: I6c28bdeb801af39ce2bae03111f455e2338d66c9
      Reviewed-on: https://gerrit.libreoffice.org/42931Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      39e7a72b
    • jan Iversen's avatar
      iOS, configure XCODE_* => IOS_* · 4627857e
      jan Iversen yazdı
      Exporting variables XCODE_* makes xcodebuild read them,
      independent of command line settings. Therefore renamed
      these variables to IOS_ (they are only used to build iOS).
      
      Change-Id: I2c44d2e8a1348270e2f2a6768e0552c39e7f7d72
      4627857e
  23. 27 Eyl, 2017 1 kayıt (commit)
  24. 23 Eyl, 2017 1 kayıt (commit)
  25. 20 Eyl, 2017 1 kayıt (commit)
  26. 15 Eyl, 2017 4 kayıt (commit)