- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
The project properties were missing several tabs in the "switches"
sections, but it wasn't immediately obvious why. It turns out that this
was caused by a missing generated file (gnat_switches.py). Restoring
that file along with having PATH set to the Ada compiler restored the
missing tabs.
The trick is that the generated file needs a texi file that is not present
in the distfile. The texi file was discarded by gnat_util (and its parent
gccX), so the solution is change gnat_util to install the file at its own
DOCDIR. Pregeneration of the gnat_switches.py is a bad idea IMO, so we
stick with the intended generation.
while here, install gps as gps_exe and create a wrapper named "gps" that
will define ADA_PROJECT_PATH and a PATH component to the Ada compiler if
they aren't already defined. GPS malfunctions a bit if it can't find the
compiler or standard library project files. Using a wrapper is nice for
new users that don't realize environmental changes are needed.
I also changed the install scripts to use BSD_INSTALL_* macros which
eliminated the need to use the install-strip INSTALL_TARGET.
Finally -- it seems that the ADAXX trick to pull in gcc-aux's versioning
for the PORTREVISION stopped working recently although the PORTVERSION
still worked. There's a new catch-22 where <pre> was needed to evaluate
USES=ada, but if <pre> is called, PORTREVISION value is frozen. Failure
to use <pre> resulted in an inclusion failure. The only fix available
was to recreate the ada.mk logic. Since gnatdroid is still hardcoded to
gcc-aux, only gnat_util was affected (discovered when poudriere failed
to rebuild it).
GPRBuild is too highly tethered to the compiler -- in practical terms
each version of GPRBuild is meant to be built by a specific GPL GNAT,
but we're trying to build it with multiple FSF GNATS that are out of sync.
This patch set does allow GPRBuild to build and apparently work with both
gcc-aux and gcc5-aux. There is no real change for gcc-aux (OpenVMS is
removed from the code but it should be same difference) ang for gcc5-aux,
the previous patches aren't needed but new ones are. Thus, EXTRA_PATCHES
had to be set for each of the two supported compilers.
lang/gnat_utils had to be modified to stop packaging OpenVMS target files
as apparently this target has been removed from gcc5-aux.
There are no active CVEs against GCC 4.7.x or 4.9.x, but GCC is listed
in the CPE database due to earlier CVEs. To prepare for future CVEs, add
the CPE information. Note that CPE_VERSION has to be defined since these
ports use their own version schemes rather than GCC version numbers.
PR: 198252
PR: 198257
Submitted by: shun (dropcut.net)
first contains runtime libraries such as libintl and the latter contains
developer tools such as msgfmt. Ports that use gettext will usually need
a LIB_DEPENDS on gettext-runtime and a BUILD_DEPENDS on gettext-tools.
USES=gettext-runtime can be used to set a LIB/BUILD/RUN_DEPENDS on
devel/gettext-runtime and USES=gettext-tools can be used to set a
BUILD/RUN_DEPENDS on devel/gettext-tools. USES=gettext is now the same
as "USES=gettext-runtime gettext-tools" meaning a LIB_DEPENDS on
devel/gettext-runtime and a BUILD_DEPENDS on devel/gettext-tools.
Update gettext to 0.19.3.
Remove :oldver from converters/libiconv and devel/gettext-runtime. Leave
symlinks with the old library versions to avoid the need to bump
PORTREVISION on a large number of dependent ports. When most of the
dependent ports have had normal version updates, PORTREVISION can be
bumped on the remaining ones (low number) and the links can be removed.
Fix some ports that installed files in lib/locale instead of share/locale.
PR: 194038
Reviewed by: bapt
Exp-run: antoine
Approved by: portmgr (antoine)
Recent gcc creates debug information in dwarf4 format, something that
the base version of addr2line on FreeBSD cannot understand. When the
compiler requires binutils from ports to build, then ensure the
symbolic tracing code also uses addr2line from the same binutils (which
is already available due to RUN_DEPENDS requirements). Since DragonFly
3.6 and lower are no longer officially supported, this change only
affects FreeBSD, but it affects all supported releases. The conditional
code for DragonFly 3.6 has been removed while here.
Reported by: Natacha Porte
PR: 195465
Many of the ports based on gcc-aux sources have a central location
defining their PORTREVISION to make it easy to reset all them all when
the base version is updated. lang/gnat_util should have had, but did not
and as a result the PORTREVISION didn't get reset at all. Centralize
it for the future.
I should have done this when I bumped the port port earlier. A few
of the changes to the diff-* files directly affect FreeBSD although
most are results of other platforms (NetBSD, OpenBSD mainly)
The most invasive change was exchanging strcpy and printf for their
"n" versions. It was to make OpenBSD happy but the code is better
for it.
Based on observations from pkgsrc and recent failures on Dragonfly 3.6,
it appears that GCC 4.9 requires a linker from binutils 2.23 or later.
DF 3.6 uses binutils 2.22 while the master branch uses 2.24 by default.
This adds the binutils requirement for DF 3.6 and earlier.
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
Both of these issues affect dragonfly only. The *-*-dragonfly* target
for dejagnu needs to be added to a few hundred tests but a typo
prevented that from happening. No revbump as testing does not affect
the final package, nor is it a default option.
The socket support on Gnatdroid was broken, and it had to be fixed at
lang/gcc-aux.
Until now, the dejagnu testsuite did not work on remote targets. To fix
this, support files had to be installed at ${LOCALBASE}/share/dejagnu.
Dejagnu was not made a run dependency, conditional or otherwise. The
test targets for gnatdroid are really maintainer targets.
Running the gnat.dg testsuite confirms that everything works in the
cross-compiler except stack checking (there's no support in gcc for this
just yet).
The majority of the 234k c++ testsuite patch can be eliminated with
REINPLACE_CMD at the post-extract phase. Now it's 1/100th the size
at 2.3k. No revbump necessary; the testsuite isn't even a default
option. The same treatment can be done to lang/gcc47-aux later.
This patch was previously developed but lost somewhere along the way.
The linker and assembly must be explicitly defined otherwise it is
defined as "ld" and "as" and as such is affected by the value of PATH.
We don't want this, and it actually breaks the gnatdroid cross compilers.
For FreeBSD, use the binutils port like the gcc ports do. DragonFly
has binutils 2.24 in base so let's keep using the base binutils on that
platform.
Also the Makefile.version file now defines the PORTREVISION for all
the ports that use it to make future updating easier.
Binutils patch omission partly detected by jenkins failure (thx swills)
Since the April 6 snapshot, a lot of work has entered the GCC tree to
fix the arm-android GNAT port. Currently it passes everything except
stack checking.
A lot of the additional lines in diff-ada will be removed with the
next snapshot. Future plans also include significantly reducing the
size of the diff-cxx-testsuite file too.
The cause for the build errors are due to a GCC makefile bug.
C++ is now required to build gnattools, but libstdc++ was not listed
as a dependency. The fix for this bug will be posted to GCC's bugzilla
shortly. While here, bump gcc-aux to the latest snapshot (16 March).
Now gcc-aux passes Redports 8x.
Reported by: pkg-fallout
GCC4.9 hasn't been released yet, but the Ada portion of it is pretty
stable and perfectly passes ACATS and gnat.dg testsuites. The only
trick was to change the unwind mechanism on i386 away from KERN_PS_STRINGS
because it will not work with 32-bit compatability mode on AMD64. This
is because on AMD64, the signal trampoline is located on a random area
on a shared page rather than a fixed location before KERN_PS_STRINGS. To
support both true i386 and AMD64-32 compatibility mode, unwind now looks
for frame pattern in all cases. Apparently stack checking has been broken
on AMD64-32 until now.
It is important to get the Ada Framework in ports to be based on gcc49
because this compiler supports the full Ada-2012 standard implementation,
and in fact some new programs require this already.
This port will stay on snapshots until 4.9.0 is released, then it will
return to be based on releases.
The Ada and C++ options have been removed. These are now always built.
In fact, GCC now requires C++ to build, so new bootstraps had to be
created. FreeBSD8 has its own bootstrap, and FreeBSD 9+ uses a pure
static bootstrap (including GNAT tools) which should last a long time.
Additionally a "Bootstrap" option was added, but this overrides all
other options to create new bootstraps. It is not intended for general
use.
Most of the Ada Framework in ports has been pretested and adjusted to
work with gcc49 out of the box, but some ports will need to be updated
immediately, which will happen right after this one. The update to
lang/gnat_util had to be synchronized with lang/gcc-aux because they
share version information and the PORTREVISION needed to be reset.
I don't know when the skip-bootstrap logic stopped working, but I'm
reasonably sure it did once. Apparently PREFIX isn't defined at the
time of the "if exists" evaluation. Using LOCALBASE instead will allow
the compiler to build using the compiler on the system rather than
the older bootstrap compiler. The bug was discovered while trying to
move gcc-aux to a gcc49 base.
The GCC ports either do not have any license defined, or they are defined
as GPLv3 which is not completely correct. The runtime libraries in the
FSF-issued GCC releases have a standard exception to the GPLv3 license.
In order to properly reflect this, the GCC ports can define a "multi"
license, GPLv3 and GPLv3RLE, which are both in effect.
Concerns PR: ports/185970
Approved by: portmgr (bapt)
The majority of these changes affect the android cross-compiler builds.
The only build change for the host compiler is builds convert_addresses
within a separate file rather than as part of adaint.c. Given that this
does not represent a functional change in any way, I just don't see the
need to bump PORTREVISION as a result.
* Convert perl-extract to REINPLACE_CMD
* Use new LIB_DEPENDS format
* Properly convert to USES+= perl (it got skipped in the sweep)
* Remove no-op MAKE_JOBS_SAFE (again it got skipped)
* Remove FreeBSD 9.0-only install message (F9 no longer supported)
* Add GPLv3 license but don't install it as it messes up auto-plist
* Use MAKE_JOBS_NUMBER over internal _MAKE_JOBS variable
- Switched to automake 1.11.6, see CVE-2012-3386.
- #14669: Fixed extraction of CC from gmp.h.
- Fixed case of intermediate zero real or imaginary part in mpc_fma,
found by hydra with GMP_CHECK_RANDOMIZE=1346362345.
This is on top of the following changes from version 1.0
- Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
invariant sections) for the documentation.
- 100% of all lines are covered by tests
- Renamed functions
. mpc_mul_2exp to mpc_mul_2ui
. mpc_div_2exp to mpc_div_2ui
- 0^0, which returned (NaN,NaN) previously, now returns (1,+0).
- Removed compatibility with K&R compilers, which was untestable due
to lack of such compilers.
- New functions
. mpc_log10
. mpc_mul_2si, mpc_div_2si
- Speed-ups
. mpc_fma
- Bug fixes
. mpc_div and mpc_norm now return a value indicating the effective
rounding direction, as the other functions.
. mpc_mul, mpc_sqr and mpc_norm now return correct results even if
there are over- or underflows during the computation.
. mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has
infinite part and equals output variable is corrected.
. mpc_fr_sub: Wrong return value for imaginary part is corrected.
Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.
Bump PORTREVISIONS of all dependent ports.
PR: 183141
Approved by: portmgr (bdrewery)
It's value is "--with-libiconv-prefix=/usr/local" for systems
before 100043 with ports libiconv and to use at systems post
100043 with base iconv it's value is "" (NULL).
Co-authors: bapt, madpilot and bsam (me)
This change covers:
1) portlint cleanup
2) Support for bootstrapping on DragonFly 3.5+
3) Removal of uneeded shared library version specifications
4) USES+= gmake
5) Splits out version to separate makefile for Ada framework
6) Fixes typo that caused DragonFly to use mktemp
7) Adds aggregate array index fix from gcc 4.8
8) NetBSD lstdc++ fixes were pulled in from diff reneration
9) c++ testsuite diff was corrected (how it was committed wrong is unknown)
Approved by: bapt (mentor)
While I'm here, also trim the headers on a couple of ports and remove
a reference to the Dragonlace mirror which is down indefinitely.
Approved by: bapt (mentor)
was planned for lang/gnat-aux to upgrade to version 4.7, then 4.8, etc.
However, some cross-compilers are based on it and there are some significant
differences between gcc 4.6 and 4.7. lang/gnat-aux also installs with a
${LOCALBASE} of /usr/local which has a high potential of file conflicts with
other lang/ compilers. Another reason for keeping them separate is just about
every Ada program will need to be patched for it due to new binding
interpretations stemming from Ada-2012 work. Simply updating gnat-aux would
break them all instantly.
The AUX compiler supports several languages: Ada, C, C++, Fortran and
Objective-C. Since Ada support must be built by an Ada-capable compiler, only
platforms for which a bootstrap compiler is available can build the AUX
compiler.
The AUX compiler is based on release versions of the Free Software Foundation's
GNU Compiler Collection. It carries with it the GMGPL license, the modified
version of the GPL that exempts generic instantiation from resulting in a
GPL-licensed executable. It also carries the GCC Runtime Library Exception, so
the resulting binaries have no licensing requirements. Binaries produced by
the AUX compiler should be legally handled the same as binaries produced by any
FSF compiler.
The AUX GNAT compiler implements the full Ada-83, Ada-95, Ada-2005 standard and
provides a partial implementation of Ada-2012.
WWW: http://www.dragonlace.net/
PR: ports/169951
Submitted by: John Marino <draco@marino.st>