Commit Graph

47 Commits

Author SHA1 Message Date
Stefan Eßer fb16dfecae Remove WWW entries moved into port Makefiles
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2022-09-07 23:58:51 +02:00
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00
Tobias C. Berner b86221feea cleanup: remove trailing whitepaces 2022-09-07 12:26:41 +02:00
Stefan Eßer 52832ad34c base/gcc6: Add CPE information
Approved by:	portmgr (blanket)
2021-10-14 12:41:18 +02:00
Rene Ladan 620968a43a cleanup: drop support for EOL FreeBSD 11.X
Search criteria used:
- 11.4
- OSREL*
- OSVER*
- *_FreeBSD_11

Input from:
- adridg: devel/qca-legacy
- jbeich: _WITH_DPRINTF, _WITH_GETLINE, GNU bfd workarounds
- sunpoet: security/p5-*OpenSSL*

Reviewed by:	doceng, kde, multimedia, perl, python, ruby, rust
Differential Revision: https://reviews.freebsd.org/D32008
Test Plan: make index
2021-09-30 23:23:30 +02:00
Mathieu Arnold cf118ccf87 One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
2021-04-07 10:09:01 +02:00
Mathieu Arnold 135fdeebb9 all: Remove all other $FreeBSD keywords. 2021-04-06 16:31:13 +02:00
Mathieu Arnold 305f148f48 Remove # $FreeBSD$ from Makefiles. 2021-04-06 16:31:07 +02:00
John Baldwin fe247757ec Don't disable LTO for aarch64-gcc[69].
aarch64-binutils is no longer built static by default, so aarch64-gcc
can now enable LTO.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D25783
2020-07-23 19:25:07 +00:00
John Baldwin 8622a73b5e Update instructions to use freebsd-gcc6 packages.
Reported by:	Mark Millard
Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D23011
2020-01-03 21:09:18 +00:00
John Baldwin d7993e8946 Various fixes to base/binutils and base/gcc6.
- Add --with-sysroot=/ to CONFIGURE_ARGS.  base/binutils needs this so
  that ld honors --sysroot in linker scripts.  base/gcc6 needs this so
  that the C++ include paths honor --sysroot.
- Remove a hack from GCC's configure to force C++98 mode when building
  GCC with GCC.  libc++ assumes C++11, so this hack was breaking the
  build of base/gcc6 natively when the system compiler was GCC.
- Add toolchain makefiles installed to /usr/share/toolchains.

  These are suitable to be used by CROSS_TOOLCHAIN when doing a native
  arch build.  These makefiles enable appropriate knobs so that the
  in-tree components that are replaced by each package are not built
  or installed.  The freebsd-gcc toolchain makefile includes the
  binutils toolchain makefile if it is present.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D22984
2020-01-02 19:20:06 +00:00
John Baldwin 66614bf3f5 Rename base/gcc to base/gcc6.
This is in preparation for adding a base/gcc9 port.

While here, update to GCC 6.5.0.

Share packing lists with the freebsd-gcc6 port as much as posible.
Split most of the freebsd-gcc6 pkg-plist into a pkg-plist.common that
lists arch-independent files under lib/.  Change base/gcc6 to use the
arch-specific packing lists and pkg-list.common from freebsd-gcc6.  In
addition, hook up packing lists for the remaining archs supported by
freebsd-gcc6 but not base/gcc6: aarch64 and sparc64.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D22900
2019-12-27 20:11:07 +00:00
John Baldwin b0889ee3fa Update base/gcc to work with devel/freebsd-gcc6.
- Explicitly set all the toolchain <foo>_FOR_TARGET variables.
  GCC's default guess for CC, etc. happened to work with the
  powerpc64-gcc port, but fails when the binaries have a suffix
  like the '6' suffix in freebsd-gcc6.  Setting these variables
  explicitly keeps GCC's build from having to guess.
- Pull patches from freebsd6-gcc instead of powerpc64-gcc.
- Use per-arch plists.
- Simplify the post-install steps to keep the hard links the
  normal install performs and avoid renaming binaries.
  Keep links to 'cc' and 'c++'.

Reviewed by:	bapt (earlier version)
Differential Revision:	https://reviews.freebsd.org/D22594
2019-12-21 01:13:07 +00:00
John Baldwin 4ae6102142 Simplify a few things and fix cross-building.
- Remove objcopy unconditionally.
- Don't bother creating links with the BUTARGET prefix.
- Use HOSTARCH when setting CONFIGURE_TARGET.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D22607
2019-12-03 23:22:23 +00:00
Baptiste Daroussin 4d52edca2b Update binutils to 2.33.1
While here, make the port autonomuous (not a slave port of devel/binutils
anymore)
The only dependency this port is keeping with devel/binutils is sharing the
patch directory to avoid duplication.
2019-11-08 08:47:24 +00:00
John Baldwin 596270259d Fix a cross-build regression in r493401.
Use HOSTARCH to set CONFIGURE_TARGET instead of ARCH.

Reported by:	Mark Millard
Approved by:	bapt (maintainer)
Differential Revision:	https://reviews.freebsd.org/D19484
2019-03-12 18:56:53 +00:00
John Baldwin a90b307d81 Permit base/gcc to be built as a native package.
- Don't require CROSS_TOOLCHAIN and CROSS_SYSROOT.
- Handle building for an amd64 target which needs x86_64 in
  CONFIGURE_TARGET for similar reasons described in r475291.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D19129
2019-02-20 00:50:37 +00:00
John Baldwin 23c03af26b Permit base/binutils to be built as a native package.
- Don't require CROSS_TOOLCHAIN and CROSS_SYSROOT for base/binutils.
- Fix some places in devel/binutils to test the PREFIX instead of
  CROSS_TOOLCHAIN to determine if base/binutils is being built.
- When base/binutils is built natively, the binaries are installed
  with the target name prefix already.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D19128
2019-02-20 00:48:36 +00:00
John Baldwin 86c96ca1f2 Override the library search directories for external GCC toolchains.
The default library search directories when building a native GCC end
up falling back to /usr/local/lib (for devel/*-gcc) and /usr/lib (for
base/gcc) even when --sysroot is used.  For devel/*-gcc, I previously
forced CROSS_DIRECTORY_STRUCTURE on in r466699 to workaround this.
However, this solution could not be used for base/gcc.  Instead, patch
the sources to remove several of the library search directories and
override STARTFILE_PREFIX_SPEC to only look in /usr/lib.  GCC still
adds tuple-specific subdirs to /usr/lib, but this is ok.

Bump PORTREVISION for both the external GCC toolchains and base/gcc.

Reviewed by:	kan
Differential Revision:	https://reviews.freebsd.org/D18677
2019-01-25 19:04:49 +00:00
Rene Ladan 8a502cb2d4 Remove compatibility code for FreeBSD < 11.2 from all ports.
Simplify some ports where DragonFlyBSD no longer needs to be special-cased.
Submitted by:	rene
Reviewed by:	bapt, jbeich
Differential Revision:	https://reviews.freebsd.org/D17724
2018-11-02 13:32:34 +00:00
John Baldwin 795bd50679 Cleanup packing lists.
- Use BUREMOVE to strip binutils tools not installed by the base/binutils
  package.
- Update BUREMOVE logic in devel/binutils to cope with the base package
  which installs tools without a BUTARGET- prefix.
- Use MANPREFIX for BUREMOVE to handle the PREFIX=/usr case used by
  base/binutils.
- Remove binutils headers and libraries explicitly from the staging area
  for base/binutils.
- Add missing plist entries for binutils binaries installed under a
  BUTARGET subdirectory.
- Drop plist entries from devel/binutils that are now properly removed.
  Previously the binaries for Windows tools like dlltool were removed
  from the staging area but the manpages were still left in the package.
- Bump PORTREVISION.

This is a recommit of r476186 but with the update to the pkg-plist of
devel/binutils and PORTREVISION bump.

PR:		230278
Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D16582
2018-08-20 09:17:45 +00:00
Antoine Brodin aabe13ddd2 Revert r476186, it fails to package
With hat:	portmgr
2018-08-02 05:30:17 +00:00
John Baldwin 40583ab031 base/binutils: Cleanup packing lists.
- Use BUREMOVE to strip binutils tools not installed by the base/binutils
  package.
- Update BUREMOVE logic in devel/binutils to cope with the base package
  which installs tools without a BUTARGET- prefix.
- Use MANPREFIX for BUREMOVE to handle the PREFIX=/usr case used by
  base/binutils.
- Remove binutils headers and libraries explicitly from the staging area
  for base/binutils.
- Add missing plist entries for binutils binaries installed under a
  BUTARGET subdirectory.

Approved by:	bapt (implicit for base/*)
Differential Revision:	https://reviews.freebsd.org/D16464
2018-08-01 17:49:33 +00:00
John Baldwin c6767fbfda Add support for amd64 and i386 to base/binutils and base/gcc.
- To support amd64, map amd64 to x86_64 when generating the --host argument
  to configure in bsd.port.mk and when generating --target arguments in port
  Makefiles.
- Add entries to the plists for i386 and amd64.  amd64 generally includes both
  amd64-specific entries as well as i386 entries.
- Don't include the builtin float.h for i386 and amd64.

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D16250
2018-07-26 22:25:19 +00:00
John Baldwin 9b66924988 Enable .init_array and .fini_array with xtoolchain GCC.
For base/gcc, only enable .init_array and .fini_array for 12.0 and later
to match the policy used by clang and llvm.  For the xtoolchain ports,
enable these unconditionally since the only OS version handy is the OS
version of the build host, not the target OS to be built.  Unlike llvm,
the use of .init_array and .fini_array is set at compile-time for GCC
and can't be changed at runtime.

Bump PORTREVISION for base/gcc and the xtoolchain GCC ports.

Reviewed by:	bapt (earlier version)
Differential Revision:	https://reviews.freebsd.org/D16014
2018-07-11 16:50:00 +00:00
John Baldwin c0cd82c292 Use a unified packing list for base/binutils.
Create a single pkg-plist that uses arch-specific PLIST_SUBs to control
arch-specific linker scripts but is otherwise machine-independent.
- Only include objcopy for OS versions older than 11.0 (11.0 uses the
  elftoolchain elfcopy as objcopy in the base system)
- Use %%BUTARGET%% throughout.  This probably fixes the sparc64 pkg-plist
  which was not updated when BUTARGET started including OSREL.  This also
  avoids hardcoding an OSREL of 12.0 for powerpc64.
- Enable MIPS ldscripts for all MIPS architectures which probably fixes
  this port on mips64 and mipsn32.
- Enable PowerPC ldscripts for all PowerPC architectures which probably
  fixes this port on powerpc.

Reviewed by:	bapt, bdrewery
2018-06-29 18:07:29 +00:00
John Baldwin f3d7145d03 Remove an unnecessary variable from CONFIGURE_ENV.
The default C++ header path is set via --with-gxx-include-dir instead.

Reviewed by:	bdrewery
Differential Revision:	https://reviews.freebsd.org/D15541
2018-06-08 16:06:49 +00:00
Alexander Kabaev 08e13126f1 Upgrade base/gcc port to 6.4.0 to match xtoolchain
Reviewed by:	jhb, bapt
2018-05-15 14:07:26 +00:00
John Baldwin 3708c41ab9 Add 32-bit mips support to base/binutils and base/gcc.
- When cross-building packages, set ARCH to the target arch instead of
  the arch of the build host.  This fixes bsd.ssp.mk on MIPS which was
  trying to enable SSP on MIPS cross-built packages because the host
  ARCH was amd64.  A new HOST_ARCH variable is added to set the
  --build triple for configure scripts, but I believe most other uses of
  ARCH in ports are really about the target, not the build host so this
  is the more correct general direction.
- Some updates to base/binutils and base/gcc to use ARCH as the target
  architecture.
- Drop the extra arguments to GCC to set include and library paths and
  only set --sysroot.
- Move the --sysroot flags into CC, CXX, CPP (which is now set to XCPP)
  and LD instead of passing it in CFLAGS, etc.  The base/gcc build uses
  ends up using the CFLAGS when building native binaries for the build
  host which fails when tripping over the --sysroot.  I think this might
  have accidentally worked before because the powerpc64 headers in
  /usr/include/machine were "close enough" to the amd64 headers, but with
  32-bit MIPS this failed hard.
- Add the GCC MIPS patch from devel/powerpc64-gcc to base/gcc to add
  MIPS support to base/gcc.
- Add a MIPS plist for base/binutils.
- Set helper variables for the base/gcc plist to tag architecture-specific
  headers (e.g. for intrinsincs) and use these to tag powerpc and MIPS
  specific headers.
- Drop the include-fixed headers from base/gcc.
- Strip /usr/local/include from the default list of include paths for
  base/gcc.
- Use libc++'s include path for C++ for base/gcc.

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D15267
2018-05-09 15:18:27 +00:00
Steve Wills c93544f869 Add files missed in previous commit
PR:		224217
Submitted by:	nwhitehorn
2018-02-06 14:38:27 +00:00
Steve Wills b52a2cbd82 Fix cross build of base/ ports
This is a follow up to r461057 and fixes base/binutils and base/gcc in my
testing.

PR:		224217
Submitted by:	nwhitehorn (partially, I made additional changes)
Reviewed by:	bapt
2018-02-06 14:32:52 +00:00
Steve Wills 592d8d2d7c Changes from BZ PR 224217 plus minor changes to fix base/gcc fetch 2018-02-06 14:26:41 +00:00
Tijl Coosemans 02f27a83b4 The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user.  Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables.  LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well.  The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.

Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).

PR:		215882
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2017-01-18 13:20:31 +00:00
Baptiste Daroussin 78052a2932 Add a Makefile to unbreak some scripts that lookup for all lowercase directories
and expect a Makefile in there

Reported by:	marino
2016-11-11 18:51:42 +00:00
Mathieu Arnold eabbfd75e3 ${RM} already has -f.
PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-21 12:51:40 +00:00
Baptiste Daroussin ebde9a5488 Remove things that are now handled by bsd.port.mk 2016-09-08 21:44:31 +00:00
Baptiste Daroussin 73c97421bd Remove everything that is now in bsd.port.mk which simplifies the code 2016-09-08 21:35:37 +00:00
Baptiste Daroussin e307f4a394 Update the README to include how to cross build gcc
Also add instructions on how to add the plist for other arches in binutils
2016-09-08 21:04:00 +00:00
Baptiste Daroussin e7099d4ced New cross build ready version of gcc.
This port is special, it is done only for being cross build and prepare a modern
compiler for base system build without a cross compiler

It contains the printf format extension needed for the kernel as only patch for
now.

It uses libc++ from base as a standard c++ library default on the libc++ headers
as c++ headers
2016-09-08 20:55:19 +00:00
Steve Wills f715d14d7c base/binutils: fix stripping
Setting STRIPBIN is required by install. While here, remove uneeded /s
2016-08-27 22:23:31 +00:00
Baptiste Daroussin 1cded3476e Properly export the binutils as the cross ones 2016-08-27 16:00:04 +00:00
Baptiste Daroussin 058e0ec44b Really fix the strip issue 2016-08-27 15:58:16 +00:00
Baptiste Daroussin 81cbb1d9a3 Fix up striping 2016-08-27 12:59:06 +00:00
Baptiste Daroussin 58d7cda819 Reduce the number of files packaged to the one not provided by the bsd elftoolchain 2016-08-27 12:58:14 +00:00
Steve Wills 7f593749d9 base/binutils: add powerpc64 plist
While here, fix typo in README and add empty STRIP which seemed to be necessary
2016-08-27 02:32:20 +00:00
Baptiste Daroussin 7a51d2ef76 Remove more tings provided by the elftoolchain 2016-08-27 01:41:11 +00:00
Baptiste Daroussin 5af442e679 WIP: external toolchain cross buildable: binutils
Add a cross buildable binutils package.
The new category is not linked to the regular ports tree to avoid make install,
poudriere and others to catch it automagically

instead of ending with a very complex file removal in the stage, prefer to use
specific plist per arch.

For now only sparc64 tested and added. This version of binutils is stipped down
only the components that are not supported by elftoolchain
2016-08-27 00:14:11 +00:00