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
gi/boxed.cpp:552:16: error: cannot initialize return object of type 'GIFieldInfo *' (aka '_GIBaseInfoStub *') with an rvalue of type 'int'
return JS_FALSE;
^~~~~~~~
gi/ns.cpp:188:16: error: cannot initialize return object of type 'JSObject *' with an rvalue of type 'int'
return JS_FALSE;
^~~~~~~~
gi/repo.cpp:312:16: error: cannot initialize return object of type 'JSObject *' with an rvalue of type 'int'
return JS_FALSE;
^~~~~~~~
/usr/local/include/mozjs-24/jstypes.h:194:18: note: expanded from macro 'JS_FALSE'
#define JS_FALSE (int)0
^~~~~~
Reported by: antoine (via bug 224669)
20180107
- Interpreter and compiler have been improved to allow support
for case statements with hashsets in the when parts. This allows
e.g. case statements with string, bigInteger, type and other
expressions.
- Several discrepancies between s7 and s7c have been fixed. Many
thanks go to "tipd bmp" who sent a example programs to show the
discrepancies. Thanks also for finding a bug in the manual.
- The following type conversion functions from integer have been
introduced: bigInteger(), bigRational(), bitset(), boolean(),
char(), float(), rational() and complex(). This fits to the
existing conversion functions bin32() and bin64().
- The files bigrat.s7i, filesys.s7i, int_act.s7i, s7c.sd7, chkdb.sd7,
dnafight.sd7, printpi1.sd7, printpi2.sd7 and savehd7.sd7 have been
adjusted to use bigInteger() instead of the conv operator to
convert an integer to a bigInteger.
- The function bigRational, which converts a string to a bigRational
number, has been added to bigrat.s7i.
- The function rational, which converts a string to a rational
number, has been added to rational.s7i.
- In rational.s7i the operator 'parse' has been improved to convert
a string with a decimal number to a rational number.
- The functions float2Bits and bits2Float in bin32.s7i and bin64.s7i
are deprecated and will be removed in a future version. The
functions bin32(), bin64() and float() can be used instead to
convert between float and bits in IEEE 754 representation.
- The programs bas7.sd7 and chkbin.sd7 have been changed to use the
functions bin32(), bin64() and float() instead of float2Bits and
bits2Float.
- Definitions of the operators |:= and &:= have been added to
hashsetof.s7i.
- The library seed7_05.s7i has been improved to support case
statements which consist just of an otherwise part.
- The program chkprc.sd7 has been improved to check integer and char
case statements with otherwise part.
- The program chkprc.sd7 has been improved to check string,
bigInteger and float case statements with and without otherwise
part.
- The program chkbig.sd7 has been improved to check the bigInteger()
conversion function.
- The program chkflt.sd7 has been improved to check the float()
conversion function.
- Interpreter and compiler have been improved to support the actions
BIG_ICONV1, BIG_ICONV3, BLN_ICONV1, BLN_ICONV3, CHR_ICONV1,
CHR_ICONV3, FLT_ICONV1, FLT_ICONV3, SET_ICONV1, SET_ICONV3 and
REF_ALLOC_VAR.
- The handling of CONSTENUMOBJECT and VARENUMOBJECT objects in
s7c.sd7 has been improved.
- The functions initCaseLabelsOfWhen, initCaseLabelsOfCase and
initCaseLabels have been added to s7c.sd7.
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
Currently we need to update `.cargo-checksum.json` in several patched
crates. But those crates are missing from the sources if they come from
GitHub instead of a proper released source archive. This change makes
`post-patch` and `do-configure` recipes fine in both cases.
This simplifies the `Makefile`. The condition was fragile anyway because
it was based solely on the Makefile and not the actual content of
`stage0.txt`.
- Consistently use DISTVERSION instead of PORTVERSION (the former is set, not the latter)
- Only depend on libunwind on x86 arch with FreeBSD >= 11 (fixes ignored build on arm/ppc)
- Fix python dependency with depreciation of python meta ports
- Remove PYPY_BITS from pkg-plist target, no longer used
- Remove setting of PORTVERSION, DISTVERSION is set in bsd.pypy.mk
- bsd.pypy.mk:
- Define DISTVERSION once, to ensure consistency
- PYPY_DIR: Handle versions with multiple digits
- PYPY_CFFI_VER now differs in value between pypy and pypy3
- bsd.pypy.cffi.mk:
- Add FLAVORS for pypy and pypy3 [1]
- Consistently use PYTHON_IMPL instead of the hard coded "pypy"
- PLIST_FILES: use direct substitution instead of PLIST_SUB
Approved by: portmgr (mat) [1]
Differential Revision: https://reviews.freebsd.org/D13675
Upstream no longer ships the contents of misc/py-qt5-doc, so the port has been
removed.
This is also a requirement for updating the Qt5 ports, as the PyQt5 version
currently in the tree has license conflicts with later Qt versions.
Big thanks to tcberner for doing most of the work here, and antoine for the
exp-run.
PR: 224739
- Update MASTER_SITES and WWW: line accordingly
- Define LICENSE (GPLv2)
- Convert USE_AUTOTOOLS=libtool -> USES=libtool
- Remove USE_PERL5: while configure script checks
for it, it is never actually used anywhere
- Utilize INSTALL_TARGET=install-strip
- Hook provided tests to the test framework
- TIMESTAMP (cim-3.37.tar.gz) = 1125726905
Tested on: i386, amd64, powerpc, sparc64
When luajit writes a ELF object file (using the -b option), it sets the
size of the .strtab section one byte too short. In function
bcsave_elfobj(), the offset of the .rodata section after .strtab is
already calculated correctly, but the size of .strtab itself is one byte
too small. Even though there is a zero byte after the last string in
the table, the short size causes lld (the LLVM linker) to show an error
message similar to:
ld: error: obj/bytecode.o: string table non-null terminated
Fix it by increasing the size of the .strtab section by one byte. This
change has also been accepted upstream, but there is no new stable
release yet.
Approved by: portmgr (antoine)
PR: 223688
compiler. Guile attempts to redefine _Static_assert (in `lib/verify.h')
based on compiler support, but its overrides do not play nice with our
/usr/include/complex.h header file.
Simply do not include `lib/verify.h' in `libguile/numbers.c' to avoid
the problem. Be conservative and conditionally inhibit including this
header only when building with older versions of GCC (before 4.6.0).
While here, move INFO knob where it logically belongs in the Makefile
and add a couple of extra linefeeds to improve readability thereof.
Tested on: i386, powerpc, sparc64
lld does not have built-in search paths, so direct link invocations that
specify a library (e.g. -lncurses) but do not specify a search path
(e.g. -L/usr/lib) will fail.
PR: 214864
Submitted by: krion
Approved by: portmgr (LLD_UNSAFE blanket)
mono fails to link with lld because lld defaults to -ztext and does not
allow relocations in readonly segments (such as the one containing
.text). For now just fall back to linking with ld.bfd if the system ld
is lld.
PR: 214864
Approved by: portmgr (LLD_UNSAFE blanket)
Sponsored by: The FreeBSD Foundation
Correct dependencies: remove the cruft added to mesa-dri in the previous
commit (those are mesa-libs deps), add a RUN_DEPENDS for libclc to clover
Clean up patches, remove one stale patch