and consequently many of the USES=compiler flavors use the canonical
version of GCC as defined in Mk/bsd.default-versions.mk as well as
the lang/gcc port
With the "new" setup starting with GCC 5 where I have introduced
lang/gcc5-devel for regular snapshots and lang/gcc5 for releases,
and similarly for GCC 6 and onward, we can now leverage lang/gcc5
(and later) for most of the role that lang/gcc used to play -- and
indeed as of today lang/gcc and lang/gcc5 are nearly identical
short of symlinks for gcc, g++, and gfortran binaries that the
former provides.
So now use lang/gcc5 instead of lang/gcc whenever requested via the
USE_GCC framework directly or indirectly.
This is similar to how the python ports work, for example, and it
allows simplifications in Mk/bsd.gcc.mk and Mk/Uses/fortran.mk and
dropping LANG_GCC_IS from Mk/bsd.default-versions.mk. As a next
step lang/gcc is going to become a "hull" essentially only providing
those symlinks and requiring lang/gcc5 (or whatever has been set as
default in Mk/bsd.default-versions.mk).
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.
files/patch-arm-support and files/patch-gcc_system.h have become
obsolete. New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.
ONLY_FOR_ARCHS now also includes arm.
A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.
Finally, conflicts with other lang/gcc* ports are adjusted suitably.
In terms of changes for users, this upgrade brings the following:
The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.
The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support. It uses a new ABI by default.
There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.
OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers. Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.
New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.
GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code. This provides a C API and a C++ wrapper API.
Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.
The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.
https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
PR: 216707, 218125
Tested by: antoine (-exp runs)
Supported by: jbeich, tcberner, and others
bsd.default-versions.mk can rely on ARCH being defined.
- In bsd.port.mk move inclusion of bsd.default-versions.mk from the
pre-makefile section to the options section so the variables can be used
earlier. Also put the bit of code sitting between the options section and
the pre-makefile section into the options section.
- Remove last few cases where ports set WITH_OPENSSL_PORT. This variable is
handled in bsd.default-versions.mk and some ports were setting it after
including bsd.port.options.mk. After FreeBSD 9 EoL all but a few ports,
and then only when setting non-default options, work without setting that
variable.
PR: 215996
Exp-run by: antoine
Approved by: portmgr (antoine)
packages there are no such packages for 7.3 yet so i386 support has been
marked IGNORE for now.
Change DIST_SUBDIR to just "centos" so distfiles that remain the same
between major versions don't have to be redownloaded.
Remove fmake hacks from linux.mk.
Submitted by: Piotr Kubaj <pkubaj@anongoth.pl>
- client and server version 5.7.16-10
- pam-for-mysql: compatible with newer MySQL API (MySQL 5.7+)
Thanks to all who have worked on Percona, MariaDB, and MySQL ports. Your
tireless efforts have been instrumental in making this port happen.
Differential Revision: https://reviews.freebsd.org/D8785
This is a development snapshot of upcoming MySQL 8.0.
PR: 215738
Submitted by: Mahdi Mokhtari <mokhi64@gmail.com>
Reviewed by: matthew, feld
Approved by: matthew (mentor), feld
Differential Revision: https://reviews.freebsd.org/D9031
Collection as well as the lang/gcc port from GCC 4.8.5 to GCC 4.9.4!
See http://gcc.gnu.org/gcc-4.9/changes.html for an extensive list of
changes and http://gcc.gnu.org/gcc-4.9/porting_to.html for information
on how to port to that new version (if necessary).
files/java-patch-hier required adjustments, gcc/files/patch-arm-libcpp
is not needed any longer (merged upstream), and we're also loosing the
local Stack Protector patches/backports.
PR: 196712
Tested by: antoine (-exp runs)
Supported by: antoine, kwm, and others
We have been stuck with Perl 5.20 for too long. Now that the main
problem, mod_perl2, has been updated to work with Perl 5.22+, we can go
and live with a modern Perl.
PR: 213810
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
You can now set the default version of Varnish with DEFAULT_VERSIONS to
build Varnish and its modules against your desired Varnish release
train.
The default version of Varnish throughout the ports tree will remain as
www/varnish4 until at least 2017Q1 when it will be changed in HEAD to be
www/varnish5. This should allow plenty of time for migration and for
stabilization of the changes in Varnish 5.x.
Submitted by: vanilla
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases
that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling. Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
default versions framework.
- bsd.port.mk:
- Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
- Put USE_LINUX_PREFIX handling after USES processing.
- Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
give these variables a different default value.
- When a package needs to run Linux ldconfig check before installation if
Linux support is enabled.
- emulators/linux_base-*:
- Use USES=linux and remove duplication.
- Remove files/lp. FreeBSD or CUPS lp(1) should work.
- Remove files/yp.conf. No longer seems to be used.
- Remove pkg-deinstall and move pkg-install into pkg-plist.
- Update pkg-descr and pkg-message.
- Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
to use FreeBSD mkdir so mkdir -p $path creates $path and not
/compat/linux/$path.
PR: 211645
Exp-run by: antoine
Approved by: portmgr (antoine)
postgresql-9.0.x was declared EoL in September 2015.
Summary:
Remove 9.0 from the list of postgresql versions available in ports
Disconnect postgresql90 ports from the build
Remove postgresql90-pgtcl port
Remove postgresql90-client port
Move the master postgreslXY-plperl makefile to postgresql95-plperl/Makefile.
Adjust include lines in other postgresqlXY-plperl ports
Delete postgresql90-plperl
Move the master postgreslXY-plpython/{Makefile,pkg-descr} to
postgresl95-plpython/{Makefile,pkg-descr}
Adjust all other postgresqlXY-plpython/Makefile to include the new master
Remove postgresql90-server
Reviewers: jgh, girgen, #portmgr, O5 Ports Framework, bapt, crees
Reviewed By: #portmgr, O5 Ports Framework, bapt, crees
Subscribers: mat
Differential Revision: https://reviews.freebsd.org/D6898
other bsd.*.mk file.
Restore the way ftp/curl was working before.
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6921
Move the openssl detection routine to bsd.default-version.mk.
Add warnings telling people to not use WITH_OPENSSL_PORT or
WITH_OPENSSL_BASE.
To ease maintainability, change the way the different ssl libraries
version numbers are checked.
PR: 210149
Submitted by: mat
Exp-run by: antoine
Sponsored by: The FreeBSD Foundation, Absolight
Differential Revision: https://reviews.freebsd.org/D6577
changed the license to the AGPL 3 in version 9.07 so print/ghostscript9-base
is stuck at 9.06 which is almost 4 years old now.
Fix the logic in Uses/ghostscript.mk so "agpl" is treated as a real version
on its own instead of as a variant of other versions.
Fix print/ghostscript9-agpl-base to install eps2write.
Update math/asymptote to 2.37 to support newer Ghostscript.
PR: 208159
Exp-run by: antoine
Approved by: portmgr (antoine)
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
- Move Perl's man1 files along with its man3 files.
- Move where Perl installs its modules man1 pages.
- Convert the ports installing man1 pages.
- Make different Perl versions installable at the same time.
Though you should note that only the default version can be used to
install Perl modules, and the non default Perl versions cannot use the
modules installed via ports if they contain .so as they are installed
in a version specific directory.
Reviewed by: bapt (the Mk bits)
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3542