Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.
Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).
PR: 204672
- Add back PYPY_BITS as it is required to define the names of two files,
depending if pypy is translated for 32 or 64 bit systems [1].
- Change maintainership to python@ [2][3][4]
Reported by: pkg-fallout [1]
Approved by: koobs@ [2]
PR: 204743 [3]
Submitted by: robak@ [4]
There are two reasons to rename this port.
1) Upstream never liked it and requested -spark be the suffix instead
2) An ongoing attempt to fix lang/spark may result in a number of slave
ports with a -spark suffix, so this keeps up consistency as all of
these ports only exist to support that port.
The BFD option is supported to be off by default on FreeBSD9, but the
upgrade to version 3.0.0 re-enabled it because the logic to prevent this
was faulty. Using the immediate evaluation (:=) for the options
definition restores the intended configuration.
Reported by: pkg-fallout
Changes:
- Remove plist-sub PYPY_BITS
- Switch PYPY_VER to PYPY_CFFI_VER
Change Log:
- Highlighted features:
- Update cffi to 1.3.1.
- Update Python implementation to 2.7.10.
- New vectorisation optimisations added to the JIT. To enable add
--jit vec=1 (or --jit vec_all=1 for all vectorisation optimisations).
- Improved JIT warmup time of ~20%.
- Reduced memory consumption by ~20%.
- Numpy's ndarray and numeric dtypes are almost feature complete.
- Numpy's linalg, random and fft have been implemented as cffi modules using
the same underlying libraries as upstream.
- Bug Fixes
- Fix a bug when unrolling double loops in JITted code
- Fix multiple memory leaks in the ssl module, one of which affected CPython
as well (thanks to Alex Gaynor for pointing those out)
- Use pkg-config to find ssl headers on OS-X
- Fix a crash on non-linux when running more than 20 threads
- In cffi, ffi.new_handle() is more cpython compliant
- Accept unicode in functions inside the _curses cffi backend exactly like
cpython
- Fix a segfault in itertools.islice()
- Fix ndarray.copy() for upstream compatability when copying non-contiguous
arrays
- Fix assumption that lltype.UniChar is unsigned
- Fix a subtle bug with stacklets on shadowstack
- Improve support for the cpython capi in cpyext (our capi compatibility
layer). Fixing these issues inspired some thought about cpyext in general,
stay tuned for more improvements
- When loading dynamic libraries, in case of a certain loading error, retry
loading the library assuming it is actually a linker script, like on Arch
and Gentoo
- New features
- Internal cleanup of RPython class handling
- Support stackless and greenlets on PPC machines
- Improve debug logging in subprocesses: use PYPYLOG=jit:log.%d for example
to have all subprocesses write the JIT log to a file called ?log.%d?, with
?%d? replaced with the subprocess? PID.
- Support PyOS_double_to_string in our cpyext capi compatibility layer
- Add an optimization pass to vectorize loops using x86 SIMD intrinsics.
- Support __stdcall on Windows in CFFI
- Improve debug logging when using PYPYLOG=???
- Deal with platforms with no RAND_egd() in OpenSSL
- Numpy
- Improve support for __array_interface__
- Propagate most NAN mantissas through float16-float32-float64 conversions
- Add support for ndarray.ctypes
- Fast path for mixing numpy scalars and floats
- Add support for creating Fortran-ordered ndarrays
- Fix casting failures in linalg (by extending ufunc casting)
- Recognize and disallow (for now) pickling of ndarrays with objects embedded
in them
- Performance improvements and refactorings
- Improvements in slicing byte arrays
- Improvements in enumerate()
- Silence some warnings while translating
- Reuse hashed keys across dictionaries and sets
- Refactor JIT interals to improve warmup time by 20% or so at the cost of a
minor regression in JIT speed
- Recognize patterns of common sequences in the JIT backends and optimize them
- Make the garbage collecter more incremental over external_malloc() calls
- Share guard resume data where possible which reduces memory usage
- Fast path for zip(list, list)
- Reduce the number of checks in the JIT for lst[a:]
- Move the non-optimizable part of callbacks outside the JIT
- Factor in field immutability when invalidating heap information
- Unroll itertools.izip_longest() with two sequences
- Minor optimizations after analyzing output from vmprof and trace logs
- Remove many class attributes in rpython classes
- Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py
- Improve simple trace function performance by lazily calling fast2locals and
locals2fast only if truly necessary
Submitted by: robak@
PR: 204743 (with modification)
The UET_Address attribute has been removed for gcc6. It was intended for
internal use only, but it wasn't used. Rather than apply this patch for
GCC6 only through the EXTRA_PATCHES mechanism, just unconditionally remove
the check regardless of gnat used to build it. (It should not make any
difference). No bump required.
This will be the successor to lang/gcc5-aux. GCC6 is still in development
although the Ada front end is generally stable. Once gcc6-aux is released,
the lang/gcc-aux port will likely be removed. For that to happen, the
gnatdroid compilers need to move from it to gcc5-aux or gcc6-aux. The
Ada framework will also move to gcc6-aux by default as well.
This is the first major release of FreePascal in nearly four years.
There are a ton of new features, way more to list here. see:
http://wiki.freepascal.org/FPC_New_Features_3.0
Several new unit ports were added, some were contracted. Most of
those were absorbed into the main FPC packages, but two units are
no longer supported: sndfile and matroshka.
All 99 remaining ports (including Lazarus ports) were build tested
on FreeBSD i386 and amd64 Release 10.2
Similar to lang/gnatdroid-armv7, lang/gnatdroid-x86 is a cross-compiler
targetting Android. The former targets ARMv7 processors while the latter
targets Android on x86 (32-bit). The latter also runs on Virtualbox as
a bonus. The new ports are implemented as slaves to the ARMv7 versions.
The GNAT ACATS were run, and it passed every test except CXG2024,
"accuracy of multiplication and division of mixed decimal and binary
fixed point numbers".
subtest 13: expected -51.00 got 50.0
subtest 14: expected 51.0 got 50.0
This is probably a rounding error unique to 32-bit x86. Overall this
version passed better than gnatdroid-armv7 because unwind is supported,
enabling check check support.
Also added:
lang/gnatdroid-sysroot-x86 (KitKat and Lollipop API)
lang/gnatdroid-binutils-x86
Despite the desciption, C++, Fortran and Objective-C should also work
well (in addition to advertised C and Ada frontends).
===
The gnatdroid-x86 port builds a C/Ada cross-compiler based on GCC 4.9
that targets the Android operating system (up to version 5.0, API level
21) running on x86 or x86_64 architecture (version 7). This produces
binaries that run natively on x86-based Android devices.
to the versioned executable (gfortran48, gcc48, and g++48).
These standard names are going to remain in place in case of version
upgrades and constitute the default, and expected by users, names.
Suggested by: db
Reviewed by: db
This change is the same as r400632, which updated gcc[56]-devel, but now
for gcc{,48,49,5}. This change is the second attempt at doing this: the
first attempt went in r401072 and was reverted in r401074 because the diff
was bogus and enabled the new MULTILIB option under all platforms instead
of just powerpc64.
This fixes the build of gcc{,48,49,5} under powerpc64 when the system
is built without the lib32 libraries.
More in detail:
If the system is built with lib32 support (WITH_LIB32, which is the default),
building gcc from ports results in a compiler that can target both 64-bit and
32-bit binaries on powerpc64. However, when lib32 support is disabled
(WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
the build fails.
To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
support is possible and defaults to yes to preserve the current behavior) to
allow the user to explicitly control this feature.
Approved by: gerald (maintainer), bdrewery (mentor), andreast
Differential Revision: https://reviews.freebsd.org/D3952
- update to 2.7.0
- change MASTER_SITES to use https and modern mirror as suggested by [1]
- Jython uses two licenses, indicate that in the port. Extract the licenses from
the jar earlier so ports framework can find them
- the port complains when trying to build with openjdk6, so set JAVA_VERSION
to 1.7+
- mark NO_ARCH
- null the PATH for installer invocation. If installer finds python2.7 in PATH
it installs python wrapper script instead of bash one. [2]
- exclude "ensurepip" module from the installation as it doesn't build on FreeBSD
- change kinda dirty and not obvious replacement of "-cl"(asspath) to addition
to JAVA_OPTS. This hack is needed to place jython cachedir into user's home
directory, as it needs to be writable by the user invoking jython
- write comments to not obvious parts of the installation
- wrapper script is now placed in bin/ directory in JYTHON_PREFIX rather then
in root, fix that
- Jython uses *$py.class files as an analog for *.pyc ones in plain Python,
installer puts pre-compiled *$py.class files into the STAGEDIR. We need to
recompile that because, after installation:
1) If we invoke Jython as user - it can't use the *$py.class files as they
have different source path inside, slowing down the startup;
2) If we invoke jython as root - it will recompile the *$py.class files
breaking the de-installation process of the package. Compilation phase
always have non-portrelated errors, so we need to ignore it's exit code
- Don't ignore the exit code of symlink installation as we don't expect that to fail
[1] https://central.maven.org/
[2] https://hg.python.org/jython/file/tip/installer/src/java/org/python/util/install/StartScriptGenerator.java#l22
PR: 204231
Submitted by: Sergey Kozlov <kozlov.sergey.404@gmail.com>
non-default Python versions:
- Add pyXY-{sqlite3,gdbm,tkinter} ports for generating binary packages
- Improve/add pkg-message to point users to install respective packages of
separated Python standard modules
- Add COMMENT to explicitly show the Python version that package should be
used with
- Simplify version-related PYTHON_* for lang/python35
Reviewed by: koobs
Differential Revision: https://reviews.freebsd.org/D4170
The upstream distfile was changed. Most of the changes were regenerated
documentation, but a build file (gpr) was also updated. The changes are
legitimate (but should have been provided r4)
Introduce DIST_SUBDIR now that adacontrol joined the reroll club.
This port was establishing WRKDIR over bpm. The reason why wasn't good;
There is a home-grown pattern replacement in the port. I replaced the
custom sed command with REINPLACE_CMD as minimally as I could, and then
removed the WRKDIR redefinition.
Approved by: just fix it
During the conversion to use option handlers, I found a couple of
typos and obsolete code which caused errors. I also switched to
USES+= readline libedit when their options were selected.
The previous depends declaration for libedit was incorrect. It had a
".so" prefix instead of ".so.0" prefix meaning that the requirement
would have been satisfied by system libedit. For this reason, converting
to USES=libedit requires a bump.
Approved by: infrastructure modernization
I'm not sure what happened exactly but I think I committed the change from
the wrong client. The applied change enabled the MULTILIB option for all
architectures and not only powerpc64. Let's just revert the commit and do
it properly from scratch; other things might be wrong so I wanna take a
closer look, and it's best to just revert quickly.
This change is the same as r400632, which updated gcc[56]-devel, but now
for gcc{,48,49,5}. Waited a week to ensure the change caused nothing to go
horribly wrong but this change is very low risk because it only affects
powerpc64.
This fixes the build of gcc{,48,49,5} under powerpc64 when the system
is built without the lib32 libraries.
More in detail:
If the system is built with lib32 support (WITH_LIB32, which is the default),
building gcc from ports results in a compiler that can target both 64-bit and
32-bit binaries on powerpc64. However, when lib32 support is disabled
(WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
the build fails.
To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
support is possible and defaults to yes to preserve the current behavior) to
allow the user to explicitly control this feature.
Approved by: gerald (maintainer), bdrewery (mentor), andreast
Differential Revision: https://reviews.freebsd.org/D3952
- Provide target for 'make test': Use bundled rust regression test suite
- Use bundled LLVM for now: Built with it, rust passes more regression tests
- Bump PORTREVISION
Fix readline & libedit configure options after a slight error slipped in
with the patches done in r400142.
PR: 203988
Submitted by: John Hein <z7dr6ut7gs@snkmail.com>
This fixes the build of gcc[56]-devel under powerpc64 when the system is
built without the lib32 libraries.
More in detail:
If the system is built with lib32 support (WITH_LIB32, which is the default),
building gcc from ports results in a compiler that can target both 64-bit and
32-bit binaries on powerpc64. However, when lib32 support is disabled
(WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
the build fails.
To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
support is possible and defaults to yes to preserve the current behavior) to
allow the user to explicitly control this feature.
Approved by: gerald (maintainer), bdrewery (mentor), andreast
Differential Revision: https://reviews.freebsd.org/D3952
When I added the first copy of the CloudABI toolchain to the Ports tree,
I assumed that it would be easily possible to have a single Binutils
port that would support all of the architectures of interest. It seems
that this is not really supported, or simply awkward to use.
Let's just rename the cloudabi-binutils port to cloudabi-binutils-x86_64
and add an additional cloudabi-binutils-aarch64.
Reviewed by: emaste
Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D3919
The code lacks support for PowerPC and PowerPC64 and it does not seem
trivial to add such missing pieces. In particular, the MacroAssembler
is not implemented.
Approved by: koobs (maintainer), bdrewery (mentor)
Differential Revision: https://reviews.freebsd.org/D3957
The latest Android Native Development Kit (NDK) has API Level 21
in it (but not 20, nor 22 or the latest Level 23). Add this option
to gnatdroid's sysroot port, and change the default API from Jelly Bean 1
(Level 16) to Kitkat (Level 19).
Bump gnatdroid's binutils and gnatdroid itself as a consequence of this
default change. A new patch had to be added to lang/gcc-aux to handle
the CTYPE changes which haven't made to GCC yet.
Gnatdroid has been testing for building on all API's but not for
functionality beyond Level 16 due to lack of hardware. I may soon
install an Android emulator to see if that will suffice.
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")
Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")
Update shebangfix usage according to new rules in many ports:
- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces
Fix shebangfix usage in many ports (irrelevant to infrastructure change):
- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string
Approved by: portmgr (bapt)
Differential Revision: D3756
In Python 3.4+, upstream added and switched to using a shell
implementation of the python-config script [1]. The Python
implementation (python-config.py) remained used by all versions < 3.4.
While the shell implementation returns the path to the Python
shared library when using the --ldflags script argument, the Python
implementation of the script does not. The bug has been reported, but
has not yet been merged [2].
The Python ports currently default to including ${LOCALBASE}/lib
in LIBS when the NLS option is enabled (which it is by default).
When built *with* NLS (gettext) support, the flags added to LIBS
are returned in `pythonX.Y-config --ldflags` output, which happens
to match the path to the Python shared library.
If the NLS option is disabled, ${LOCALBASE}/lib is not added to LIBS,
and are therefore not returned in --ldflags output.
This results in potential linking errors for software that uses
python-config to obtain the correct library path, when the NLS option is
disabled:
$ make WITH=PYTHON -C audio/alsa-lib
[...]
--- smixer-python.la ---
CCLD smixer-python.la
/usr/bin/ld: cannot find -lpython2.7
This change modifies the python-config.in script to match the shell
implementation, outputting the library path in --ldflags output.
While I'm here:
for Python 3.2 and Python 3.3 ports, backport a library order
change [3]. This could affect linking with static libraries.
Use standard length lines and reduce diffs in pkg-message
[1] https://bugs.python.org/issue16235
[2] https://bugs.python.org/issue7352
[2] https://bugs.python.org/issue18096
PR: 197757
Submitted by: jbeich
MFH: 2015Q4
- New EXECLINE_BLOCK_END_STRING and EXECLINE_BLOCK_QUOTE_STRING macros
- New command: withstdinas. It's a simplification of backtick, which
is now implemented as a combination of pipeline and withstdinas.
- Other new command: getcwd.
PR: 203789
Submitted by: Colin Booth <colin@heliocat.net> (maintainer)
Now that CloudABI has been ported over to aarch64, let's extend the
FreeBSD ports to install a functioning toolchain for it.
This change extend the llvm37 port to backport a tiny change that is
needed to make Clang support the CloudABI for aarch64 target (r250416).
This change makes Clang use the right ELFOSABI number, but also makes it
set the right #defines (e.g., __CloudABI__).
It also extends the cloudabi-clang port to set up symlinks against Clang
for aarch64.
Submitted by: ed
Differential Revision: https://reviews.freebsd.org/D3906
On FreeBSD9, libEGL is built by GCC which requires binutils as a run
depends. fpc-cairo requires libEGL. fpc-libbfd and binutils conflict
with each other due to both installing the same header. Thus, on
FreeBSD 9, the BFD and CAIRO options cannot coexist. Since both were
set on by default, no binary package for fpc-units has built for months.
Since there is no mechanism to set options by release, I use bmake's
exist() function to check for /usr/include/lwres which only exists on
FreeBSD 9. If it's present, the BFD option is disabled by default. This
should restore the building of the fpc-units package on FreeBSD 9.
Reported by: pkg-fallout (for months)
* Unbreak build on powerpc and other !x86 archs by moving the
--with-dri-drivers logic from dri/Makefile to the
libGL/Makefile.common file. So the settings are applied to all mesa ports,
this was missed in the 10.6.6 update. [1]
* Don't try to enable OpenCL support on anything other then i386 and amd64. [1]
* Move the texture-float and vdpau logic to Makefile.common even if the latter
isn't supported yet. Keep OPTIONS_DEFINE/DEFAULT in dri/Makefile since they
need to defined before bsd.port.options.mk is included, and they only affect
the dri modules.
* Sed on 11 and 10 supports \< and \> however sed on 9.x and dragonfly do not,
replace the sed keywords with some magic to get the intended results. [2]
Submitted by: marino@ [2]
Reported and tested by: arved@ (on ppc32)[1]
because that ends up lowering optimization for most people (from -O2).
Approved by: maintainer
(The upgrade is too minor to justify revision bumping of depending ports.)
- Switch to using pkg-plist rather than automatically generate it
(it is easy enough to maintain).
- Switch to modern option helpers.
- Set DIST_SUBDIR due to version-less Docs.zip file.
libc++ on 10.1-R is too old for beignet to build, however beignet builds
fine on 10.2-R. Since 10.1-R is use for building packages, this doesn't
change the fact that there is no freebsd supplied package sadly.
With the deprecation of Google Code and Apache Extras, the code has moved to
github.
- use Github
- use a newer snapshot that sets the target to Java 1.5 (should be more
compatible with newer Java). Bump port revision accordingly
- add the "Beanshell" name to COMMENT, since PORTNAME is not clear
- pass maintainership to submitter
PR: 203354
Submitted by: pfg