Upstream has renamed its libraries and we no longer need to patch
devel/qscintilla-qt5 to create a library whose name does not conflict with
devel/qscintilla's. However, the library names are different so we need to bump
PORTREVISION in several ports (the SOVERSION has changed too).
Thanks to antoine for the exp-run.
PR: 225928
r460809 started installing .pyi with the %%PYTHON3%% substitution in the
plists. Support for .pyi files was added in Python 3.5, and PyQt's configure.py
only installs the files on Python >= 3.5.
This patch removes the version checks from configure.py (the files are just
unused in earlier Python versions), as it is easier than checking Python 3's
version in each PyQt port's Makefile (or to add the logic to Mk/Uses/pyqt.mk).
PR: 225773
Reviewed by: tcberner
Differential Revision: https://reviews.freebsd.org/D14361
This removes build dependency on gcc and runtime dependency on gcc's runtime libraries.
Big thanks to Gleb for working on this.
PR: 225185
Submitted by: Gleb Popov <6yearold@gmail.com>
Exp-run by: antoine
Reviewed by: pgj
Differential Revision: https://reviews.freebsd.org/D12043
after a drag-and-drop operation. The patch header explains it well.
Approved by: rakuco (mentor)
Obtained from: upstream
Differential Revision: https://reviews.freebsd.org/D14240
Highlights:
- New Roslyn compiler for C# available
- Improved support for nuget packages in USES=mono
General:
- fix pkg-plist: mono now produces '.pdb' debug files instead of '.mdb'
- bump all dependant ports
USES=mono:
- properly handle caching of nuget packages
- add support for multiple feeds for nuget packages
- add support for nuget dependencies in a separate file
- add support for paket packages
lang/mono:
- update to version 5.2.0.215
- automate certificate initialisation [2]
- increase test coverage
- mark as conflicting with net/czmq (conflicting on makecert) [1]
- patch mono to use $PREFIX/share/mono instead of /usr/share/.mono
devel/google-gdata:
- use nunit.framework nuget package as the Mono shipped version is no longer suppport.
- switch to using csc(1) for compiling (mcs(1) is depreciated).
- use delayed signing (and then sign with sn(1)) as csc(1) does not support signing.
- fix reference to system assemblies (the '.dll' suffix is required).
- fix reference to HttpUtility: csc(1) is more strict about scoping
devel/monodevelop:
- reroll distinfo (no changes to content)
lang/fsharp:
- reroll distinfo (no changes to content)
security/gnome-keyring-sharp:
- delay sign (then sign with sn(1)) as csc(1) does not support direct signing.
PR: 223188 [1]
PR: 209670 [2]
Differential Revision: https://reviews.freebsd.org/D13752
Those items were added with %%DEBUG%% when we updated Qt to 5.3.2. At the time,
src/dialogs/dialogs.pro had the following excerpt:
# In case of a debug build, deploy the QML files too
CONFIG(debug, debug|release): QML_FILES += $$DIALOGS_QML_FILES
but that actually changed in Qt 5.9.0, which dropped the check altogether and
always adds those files to QML_FILES.
Not shipping them causes runtime issues according to the bug report below.
PR: 225347
Submitted by: Tomasz Kowalczyk <kowalczt@zoho.eu>
- Add JSONC option, disabled by default
These options allow controlling two optional dependencies of girara,
which where being silently linked if present on the system when
compiling.
PR: 224876
Submitted by: pawel@
MFH: 2018Q1
variables deprecation revision
WITHOUT_NLS 2013-12-13 r336337
WITH_/WITHOUT_ 2014-02-24 r345870
NOPORT(DOC|EXAMPLE)S 2014-04-19 r351587
WITH_BDB_VER 2016-05-02 r414444
OVERRIDE_LINUX_BASE_PORT 2016-09-05 r421387
WITH_OPENSSL_(BASE|PORT) 2016-06-16 r416965
While there, add an ERROR variable that works like DEV_ERROR, but for
user facing errors, and move NOPORTDOCS,
NOPORTEXAMPLES and WITHOUT_NLS to it.
Cleanup bsd.sanity.mk a bit.
Fix fallout.
PR: 224613
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D13490
gtkplatform is a Qt Platform Abstraction plugin providing Qt applications with
the capability to use GTK+ as a host toolkit.
It lets Qt applications render with native GTK+ menus, and use GTK+ for input
(mouse, keyboard, touch), and getting window content on screen, the same as it
uses e.g. Cocoa on macOS.
WWW: https://github.com/CrimsonAS/gtkplatform
PR: 224453
Submitted by: Greg V <greg@unrelenting.technology>
In file included from module.cc:3:
../../glib/glibmm/module.h:30:1: error: no member named 'string' in the global namespace; did you mean '::std::string'?
GTKMM_USING_STD(string)
^~~~~~~~~~~~~~~~~~~~~~~
../../glib/glibmmconfig.h:60:57: note: expanded from macro 'GTKMM_USING_STD'
# define GTKMM_USING_STD(Symbol) namespace std { using ::Symbol; }
^~
/usr/include/c++/v1/iosfwd:194:65: note: '::std::string' declared here
typedef basic_string<char, char_traits<char>, allocator<char> > string;
^
class.cc:40:5: error: non-constant-expression cannot be narrowed from type 'guint'
(aka 'unsigned int') to 'guint16' (aka 'unsigned short') in initializer list
[-Wc++11-narrowing]
base_query.class_size,
^~~~~~~~~~~~~~~~~~~~~
class.cc:40:5: note: insert an explicit cast to silence this issue
base_query.class_size,
^~~~~~~~~~~~~~~~~~~~~
static_cast<guint16>()
[...]
Reported by: antoine (via bug 224669)
Obtained from: upstream (glibmm 2.31.2)
Suggested by: tijl (autoreconf)
kernel/qx11embed_x11.cpp:486:20: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'long' in initializer list [-Wc++11-narrowing]
long data[] = {XEMBED_VERSION, XEMBED_MAPPED};
^~~~~~~~~~~~~~
kernel/qx11embed_x11.cpp:486:20: note: insert an explicit cast to silence this issue
long data[] = {XEMBED_VERSION, XEMBED_MAPPED};
^~~~~~~~~~~~~~
static_cast<long>( )
PR: 224945
This took quite a lot of time because Qt's own build system underwent
several changes in 5.8.0 that took a while to adapt to.
And, of course, qt5-webengine is a behemoth that we need to patch like crazy
due to its bundling of Chromium. In fact, most of the Chromium patches in
qt5-webengine have been imported with no changes from www/chromium@433510
("www/chromium: update to 56.0.2924.87").
New port: accessibility/qt5-speech
Bigger changes to Qt5 ports we had to make:
- Qt now allows using a configure.json file to define configuration options
and specify configuration checks that can be done when qmake is invoked.
However, configure.json checks done in a subdirectory only propagates to
subdirectories, and checks elsewhere will fail if all .pro files are being
parsed at once (i.e. qmake -recursive), so several ports had to switch to
USES=qmake:norecursive along with manual additional qmake invocations in
subdirectories in order to work. It's been mentioned in a few places such
as Qt's bug tracker that qmake's recursive mode is pretty much deprecated,
so we might switch to non-recursive mode by default in the future.
- Uses/qmake.mk: Introduce QMAKE_CONFIGURE_ARGS. qmake now accepts
arbitrary options such as '-foo' and '-no-bar' at the end of the
command-line. They can be specified in QMAKE_CONFIGURE_ARGS.
- graphics/qt5-wayland: The port can only be built if graphics/mesa-libs is
built with the WAYLAND option, so a corresponding option (off by default)
was added to the port.
- misc/qt5-doc: Switch to a pre-built documentation tarball. The existing
port was not working with Qt 5.9. Instead of trying to fix it, switch to
what Gentoo does and fetch a tarball that already contains all
documentation so that we do not have to build anything at all. The
tarball's name and location in download.qt.io look a bit weird, but it
seems to work fine.
- www/qt5-webengine: Use binutils from ports, Chromium's GN build system
generates a build.ninja that uses ar(1) with the @file syntax that is not
supported by BSD ar, so we need to use GNU ar from binutils.
- x11-toolkits/qt5-declarative-render2d: This port was merged into the main
Qt Declarative repository upstream, and into x11-toolkits/qt5-quick in the
ports tree.
Changes to other ports we had to make:
- biology/ugene: Drop a '#define point "."' that is not present in more
recent versions of the port. Defining a macro with such a common name
causes build issues with Qt 5.9, which uses |point| as an argument name in
methods.
- cad/qelectrotech: Fix plist with Qt 5.9. Directories are no longer
installed with `cp -f -R', but rather `qmake install qinstall', which does
not install
%%DATADIR%%/elements/10_electric/20_manufacturers_articles/bosch_rexroth/.directory
That's a local file that should not even have been part of the tarball
anyway.
- chinese/gcin-qt5: Add additional private Qt directories (which should not
be used in the first place) to get the port to build with Qt 5.9.
- devel/qtcreator: Fix plist with Qt 5.9. Something changed in qdoc and some
test classes no longer generate documentation files.
- security/keepassx-devel: Import a patch sent upstream almost a year ago to
fix the build with Qt 5.9.
Thanks to antoine for the exp-run, and tcberner and Laurent Cimon
<laurent@nuxi.ca> for landing changes in our qt-5.9 branch.
PR: 224849