files have been processed initially. If one has WITH_DEBUG=yes set, the
INSTALL_TARGET for USES=cmake has been set already to install/strip, before
STRIP is reset.
Differential Revision: D875
Approved by: makc@ (kde), bapt@ (portmgr)
DTrace support in ruby needs the -xnolibs flag added to the dtrace command
called during build to ensure that dtrace support is enabled even if the dtrace
kernel modules are not loaded at build time.
However, with this dtrace will be enabled on some OS versions where it will not
work, so add logic to disable it where appropriate.
jail/chroot, a number of unexpected errors can occur.
1. autotools fixup may not run when needed. This could be avoided by always
running it [PR 177980, 177403].
2. Not having UNAME_r set will cause many unknown
errors. Many ports use OSREL (derived from UNAME_r) to determine the name
of files. This is usually also due to the port build itself using uname -r
to derive filenames or 'built for' messages. [PR 192449, 191943] Without
having these sanity checks it is very easy for users to get into
situations where "everything worked" until they touch a certain port that
reads uname(1) output or OSVERSION. It has always been necessary to define
all of the UNAME_ vars and OSVERSION (or have a proper sys/param.h
present), but many users do not know this.
Remove the fallback on the kernel for kern.osreldate as it easily gets the
answer wrong.
I have added sanity checks to ensure OSVERSION==OSREL==UNAME_r as these are the
most critical vars to have set properly.
Differential Revision: https://reviews.freebsd.org/D869
PR: 177980, 177403, 192449, 191943
Reviewed by: antoine, bapt, gjb
With hat: portmgr
- Loop over USES twice, once to define all *_ARGS variables and once to
include Uses/*.mk. This allows all Uses/*.mk to examine arguments given
to other USES entries.
- Always define *_ARGS (possibly empty) and replace commas with spaces.
Similar for _USES_POST.
Adjust all Uses/*.mk:
- defined(u_ARGS) becomes !empty(u_ARGS)
- Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g}
- Some Uses/*.mk used ":" as argument separator instead of ",", but no port
used this form
- Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which
has no effect
- Uses/twisted.mk: simplify handling of the case where neither "build" nor
"run" arguments have been specified
PR: 193931
Exp-run by: antoine
Approved by: portmgr (antoine)
default than lang/gcc (currently 4.8).
(I don't fully agree with this implementation but this makes something
like DEFAULT_VERSIONS+=gcc=4.9 in make.conf work correctly.)
Reported by: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
Approved by: gerald
USE_PYTHON=autoplist, which can occur, if relative paths are set in a
setup.py script. Those cause pkg and QA sanity checks to misbehave.
- Remove @dirrm and @dirmmtry additions for USE_PYTHON=autoplist,
USE_PYTHON=py3kplist and egg-info entries, if USES=python is set. pkg 1.3.8
does not need those anymore.
- Add ${PYTHON_VER} to the PLIST_SUB defaults, if USES=python is set.
PR: 193885
Differential Revision: D812
Reviewed by: antoine@
Exp-run by: antoine@
With hat: python@
A. avoiding a bogus *** Error code 1 (ignored) on ports that
1. set at least one of the configure, modbuildtiny, or fixpacklist options
to USES_PERL5=..., AND
2. do not create/install into
${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/auto
B. no longer masking ${FIND} trouble through the leading - on the
Makefile commands.
PR: 193934
Approved by: portmgr (bdrewery)
and libintl.so. This fixes a problem where DATADIRNAME gets an incorrect
value which causes locale files to be installed in the wrong place.
- The only configure checks that still need to be patched are related
to intltool so move DATADIRNAME patching from USES=pathfix to
USE_GNOME=intlhack.
- games/klavaro: remove excessive dependencies
- japanese/libskk: add INSTALL_TARGET=install-strip
- math/libqalculate: add INSTALL_TARGET=install-strip and remove pthread
patching
- multimedia/freetuxtv: remove excessive dependencies
- science/gramps: fix shared-mime-info use
Exp-run by: antoine
Approved by: portmgr (antoine)
The Fedora 10 infrastructure ports have been in use since June 2009 and, while
having served a great deed, have become unsupported upstream and hence affected
by unfixed security vulnerabilities. In addition to that, many recent Linux
binaries need newer libc / stdlibc++ versions.
This commit adds the linux-c6- userland as drop-in replacement for the -f10
infrastructure, as well as upgrading the linux_base-c6 port to CentOS 6.5.
If you want to switch to linux-c6 ports, please define at /etc/make.conf:
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
Additionally, please add the following line to /etc/sysctl.conf:
compat.linux.osrelease=2.6.18
Upgrading procedures are shown in /usr/ports/UPDATING.
This work has been inspired by Artyom Mirgorodskiy's post to emulation@ in
November 2013, using and extending mav@'s work. It has been tested extensively
and most reported issues were already fixed. Please report any additional bug
or "features" to the emulation mailing list.
Many thanks to: mav@, rene@, allanjude@, netchild@, antoine@, everyone who's
filed Issues and Pull requests on GitHub,
PR: 186820
Differential Revision: https://reviews.freebsd.org/D793
Reviewed by: allanjude, antoine, bapt, rene
Approved by: portmgr (antoine, bapt)
Approved by: koobs (mentor)
Sponsored by: Perceivon Hosting Inc.
- Plist parser do not accept modes like o+w g+s u+r
- @owner/@group with no argument reset the default ownership to root/wheel
- Plug regression tests into the release mechanism as mandatory
- Allow url in repository configuration to be overriden by another configuration
file
- If one of -P, -I or -R is not explicitly given on the command line do not emit
error messages while searching for a mechanism to find data about the latest
available ports.
- External keywords can now take arguments
- Directories under PREFIX are automatically handled and removed if needed
- MTREE are not packaged anymore neither extracted on final installation
- OS major checking (to determine if pkg is running on an upgraded base system)
uses the same mechanism as ABI detection instead of relying on UNAME_r which
can have false positivie on jails
- Add @dir keyword for plist which is used to package explicitly directories
(directories with non root/wheel or outside prefix) and empty directories
(@dirrm and @dirrmtry are now considered as deprecated)
- root/wheel are now considered as the default user/group when creating a
package except @owner/@group are used to change that behaviour
- Import newer version of libucl which improves error messages in case of
problem parsing manifest or configuration files
- Fix pkg register so it checks for conflicts before actually copying files on
to the filesystem
- pkg now support a new no_provide_lib annotation to preventing automatic
populating of provided libs (useful for packages bundling libraries like wine)
- Improve documentations
- Ability to select usage of IPv4/IPv6 via config, repository config or command
line
- Lots of bug fixes
Side effects:
- Convert to install-mtree target into a no-op target Add empty directories to
plist of ports that needs them to run:
- share/aclocal to devel/automake and devel/automake14
- share/applications to devel/desktop-file-utils
- share/xml share/sgml to textproc/xmlcatmgr
- Prevent check-plist to issue warnings about some @dir*
- Adjist check_leftovers.sh to not take in account anything related to mtree
- Bump the default required version of pkg to 1.3.8
-V also checks for config issues in httpd.conf, this can break a build
in case there are config issues during rebuilds on a live system.
-v prints the required info without check
with hat apache@
PR: 191471
Submitted by: Todd <kovert_at_omniscient.com>
NFS. It is not that important to preserve timestamp for the package, and
other metadata seems to be fine otherwise. This whole thing needs to be
reworked so PKGFILE is more respected (another regression of mine).
With hat: portmgr
Reported by: will
Pointyhat to: bdrewery
- Mention configure.in as the old name for configure.ac
- M4 macros provided by autoconf are not copied into aclocal.m4
- Autoheader does not regenerate configure (only config.h.in)
Also the compat NO_INSTALL_MANPAGES shim.
Differential Revision: https://reviews.freebsd.org/D730
Reviewed by: antoine
With hat: portmgr
Sponsored by: Absolight
(lthack, ltasneededhack and ltverhack) [1]
- Remove support for USE_AUTOTOOLS=libtool and USE_AUTOTOOLS=libltdl
PR: 188978 [1]
Approved by: portmgr (bapt)
- This is used by portupgrade and poudriere bulk/testport -i for
install-package.
- The change is not backwards compatible; setting PKGNG_ORIGIN was never
intended. It is only for reading.
With hat: portmgr
Discussed with: bapt
the port Makefile, into a stage-qa error. All ports that would trigger
this error have been converted. Many thanks to all people involved in
this, especially Dmitry Marakasov (amdmi3) who handled most ports.
At this moment over 2200 ports have USES=libtool and over 20000 library
dependencies between packages have been removed.
This also marks the point where :keepla is no longer special. It is now
only needed if a port uses *.la files at run-time.
QA-run by: antoine
Approved by: portmgr (antoine)
- Convert to USES=libtool and bump dependent ports
- Add INSTALL_TARGET=install-strip
- Remove patches that renamed include directories and libraries so they
didn't conflict with early development versions of glib/gtk 2.0
to GCC 4.8.3.
This entails updating the lang/gcc port as well as changing the default
in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the
lang/gcc and lang/gcc47 ports by lang/gcc48.
GCC now uses C++ as its implementation language and performs more
aggressive loop analysis which can be disabled via the
-fno-aggressive-loop-optimizations command-line option.
Compilation of extremely large functions has been signficantly improved,
as have interprocedural optimizations.
A new optimization level -Og has been introduced. It addresses the need
for fast compilation and a superior debugging experience while providing
a reasonable level of run-time performance. This should be better
suitable for development than the default -O0.
A new local register allocator (LRA) has been implemented, which replaces
the 26 year old reload pass and improves generated code quality. For now
it is active on the x86 and x86-64 targets.
AddressSanitizer, a fast memory error detector, has been added and can be
enabled via -fsanitize=address.
Each diagnostic emitted now includes the original source line and a caret
indicating the column.
The new option -Wpedantic is an alias for -pedantic, which is now deprecated.
The C++ frontend and associated run-time library libstdc++ have gained
support for many additional C++11 features. As with previous releases
the Fortrand frontend has seen many improvements as well.
Support for the AArch64 has been added, and there are many improvements
to the x86/x86-64 backend and others.
See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes;
http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port
to that new version.
PR: 192025
Tested by: antoine (-exp runs)
- Update nspr to 4.10.7
- Update ca_root_nss to 3.17 (mark as NO_ARCH while here)
- Update firefox to 32.0
- Update thunderbird to 31.1.0
- Add net-im/linux-instantbird
- Update firefox-est to 31.1.0
- Update libxul to 24.8.0
- Update seamonkey to 2.29
Submitted by: Jan Beich for gecko@
Remove patches and hacks that were used to work around the previous
situation
This allows to stage more ports as a regular user
Differential Revision: https://reviews.freebsd.org/D703
Reviewed by and discussed with: bapt
With hat: portmgr
- Anything related to MLINKS
- Anything related to manpages
- Anything related to NO_LATEST_LINK
Reviewed by: antoine
Differential Revision: https://reviews.freebsd.org/D717
Note that this allows to control when it is executed (always in post-installation)
This makes @rmtry accept both absolute path and relative path (to latest prefix/cwd)
While here now that it is not used, remove the old PLIST_REINPLACE macro
Reviewed by: antoine
Differential Revision: https://reviews.freebsd.org/D713
The 3.0 series is an incremental improvement over the previous 2.8 series
despite the major version number change. A list of important changes is
available at http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html
On the porting side
* The minimum FreeBSD release we have to support in the ports tree is now
recent enough that ports/168671 can finally be committed: instead of
building and using CMake's own copies of bzip2, curl, expat, libarchive,
liblzma and zlib, we use the versions in ports and/or the base system.
* CMake's documentation system has been changed and vastly improved at the
cost of now depending on Sphinx. We still generate only man pages, but can
start generating the HTML documentation in the future if desired.
* devel/cmake-gui now uses Qt5 instead of Qt4 and does not needlessly build
the ncurses UI that is installed by devel/cmake itself.
* CMake commit 3816cd2 fixes a longstanding issue in the detection of the
Python interpreter and its libraries, but requires us to revert a
workaround for that in Mk/Uses/python.mk itself, effectively reverting
the patch introduced by ports/168159.
* Similarly, a few ports had to be fixed manually due to CMake being
stricter when parsing some files or the ports detecting Python the wrong
way. Fortunately, they all had been fixed upstream so I just grabbed the
appropriate commits and pointed to them in the patches.
science/gnudatalanguage had to have its PORTREVISION bumped because
switching to USES=cmake:outsource removed a few files from the plist that
were not supposed to have been installed in the first place.
PR: 168671
PR: 192644
Merge back bsd.pkgng.mk into bsd.port.mk
Add a note about @stopdaemon not being supported anymore
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D693
- Fix handling of RDOC option and make it ON by default
- Add DOCS option to OPTIONS_DEFINE
- Add EXAMPLES option
- Add CAPIDOCS option which installs C API documents generated by doxygen
- Other cleanups while here
PR: 189646
Submitted by: Yasuhiro KIMURA <yasu@utahime.org> (based on)
Those are harmless (records from which file they were generated from) and
removing them would require ugly hacks according to hrs@
PR: ports/192933
Differential Revision: https://reviews.freebsd.org/D684
Reviewed by: bapt, hrs
With hat: portmgr
Fix up net-mgmt/netmond pkg-plist for @mode (regression with pkg from
r347404 committed by rene@) and remove two @dirrm lines that are now excess.
Exp-run completed.
PR: 191746
Reviewed by: antoine
Approved by: portmgr (antoine)
Side effect is that we will no longer mirror their distfiles, sad for them,
but we will no longer spend cpu cycles building them for nothing every week
and have strange errors from dependent ports unable to install NO_PACKAGE
dependencies
Users willing to package those ports can still set FORCE_PACKAGE
Poudriere users can also package by not setting NO_FORCE_PACKAGE in poudriere.conf (by default it's already not set)
Differential Revision: https://reviews.freebsd.org/D670
Reviewed by: bdrewery
With hat: portmgr
- Note that full support of configuration tools such as tlmgr and texconfig
is not ready yet.
- Most of dviware now supports libpaper to choose the default papersize.
Use paperconfig(8) utility or print/papersize-default-* packages.
- Some quite old macros of the age of latex209 have been removed, and
there are user-visible/invisible incompatibilities. Please send a report
to freebsd-tex@FreeBSD.org or file a PR if you have trouble.
- Mk/bsd.database.mk rewrite, new default to db5.
- db6 is eligible by default only if installed on the system.
- Bump PORTREVISION of all ports that directly depend on BerkeleyDB or
where USE_BDB is found in the port's directory
- Patch a few ports such that they will pick up or work with newer
versions.
- Add UPDATING entry
- Drive-by format fix for pks
- Drop BerkeleyDB option from mail/popular for now, requires more work.
- Exp-run logs linked from the PR below.
- Ports that do not build (IGNORE, BROKEN, etc.) have pro-forma changes
for new Berkeley DB, but are untested.
NOTE: please read UPDATING and the Wiki page before proceeding!
Announcement: http://lists.freebsd.org/pipermail/freebsd-ports-announce/2014-August/000090.html
Wiki reference: https://wiki.freebsd.org/Ports/BerkeleyDBCleanup
PR: 192690
Approved by: portmgr (implicit, PORTREVISION bump on unstaged ports)
Rename a few variables to avoid confusion with this new helper
Requested by: koobs
Reviewed by: mat
With hat: portmgr
Differential revision: https://reviews.freebsd.org/D665
.la files after that so pkg-plist ends up containing .la files that don't
exist when the package is created.
Move the patch-lafiles target in front of post-stage such that these ports
can create their pkg-plist in post-stage.
PR: 192753
Approved by: portmgr (antoine)
- Remove PYTHON_MASTER_SITES deprecation; the knob is completely gone and can
not be tested for, since it does not get assigned by default
With hat: python@
conflict in behaviour with the read-only COMPILER_FEATURES knob
- Fix the deprecated USE_PYTHON_BUILD and USE_PYTHON_RUN behaviour, which
usually should be mutually exclusive, but some ports include both knobs
Phabric: D581
Recommended by: danfe@, makc@
Reviewed by: danfe, wg, antoine
Approved by: portmgr
With hat: python@
run dependencies if the port being checked has no RUN_DEPENDS. This could
cause false-positive "Possibly owned by dependency" warnings.
With hat: portmgr
devel/libtool and can be used when a port does not generate its own libtool
script but relies on the system to provide one.
Approved by: portmgr (antoine)
Please use USES=python instead of USE_PYTHON.
USE_PYTHON=yes becomes USES=python
USE_PYTHON=2.7+ becomes USES=python:2.7+
USE_PYTHON_BUILD=3.3 becomes USES=python:3.3,build
...
A new PYTHON_FEATURES variable was added, which enables certain features for a
port and replaces some knobs at the same time;
PYTHON_FEATURES=distutils replaces USE_PYDISTUTILS
PYTHON_FEATURES=autoplist replaces PYDISTUTILS_AUTOPLIST
PYTHON_FEATURES=py3kplist replaces PYTHON_PY3K_PLIST_HACK
PYTHON_FEATURES=noegginfo replaces PYDISTUTILS_NOEGGINFO
PYTHON_FEATURES=concurrent replaces PYTHON_CONCURRENT_INSTALL
PYTHON_FEATURES=pythonprefix replaces USE_PYTHON_PREFIX
Some knobs have been deprecated and are to be removed in the near future:
PYTHON_MASTER_SITES - use MASTER_SITE_PYTHON instead
PYTHON_PKGNAMESUFFIX - use PYTHON_PKGNAMEPREFIX instead
PYDISTUTILS_INSTALLNOSINGLE - deprecated without replacement
Some knobs have been removed completely:
PYTHON_MASTER_SITE_SUBDIR
PYTHON_DISTNAME
PYTHON_WRKSRC
Several variables specific to the Python framework are no longer passed to the
build environment to avoid polluting dependency builds.
PYTHON_VERSION is not passed to .MAKEFLAGS anymore
PYTHON_DEFAULT_VERSION,
PYTHON_DEFAULT_PORTVERSION and
PYTHONBASE are not passed to the make environment anymore
The conversion required a couple of ports to be updated to fit the changes and
new requirements. Those included "bsd.python.mk" directly or contained checks
in places, for which the USES framework would fail to provide correct values.
Python modules directly using the upstream Python package (such as py-tkinter
or py-sqlite3) were updated to avoid using the now unnecessary and remmoved
knobs from "bsd.python.mk".
Phabric: D399
exp-run: 167368 192357
PR: 167368 192357
Reviewed by: antoine, wg
Exp-run award: antoine
With hat: python@
Approved by: portmgr
post hooks might not be properly executed, causing a loss of functionality,
especially moving individual files around
Phabric: D559
Approved by: portmgr (antoine@)
- firefox 31.0
- firefox-esr 24.7.0
- libxul 24.7.0
- seamonkey 2.26.1
- thunderbird 31.0
Among changes:
- add workaround for crash with openldap on thunderbird and seamonkey [1]
- add crashfix for architectures with strict alignmentment
- backport crashfix with system sqlite/nss on firefox-esr and thunderbird
- restore hooking jemalloc in sqlite on freebsd 10+
- fix thunderbird build with -jN [2]
- respect MAKE_JOBS_NUMBER regardless of kern.smp.cpus [2]
- define CPE_URI for nspr/nss and firefox/thunderbird/seamonkey
- require recent gstreamer1-libav i386 crashfix
- add DTRACE option for use with DTraceToolkit (js_flowtime.d, js_who.d, etc)
PR: 165263 [1]
PR: 184630 [2]
Submitted by: Jan Beich
- Reset @cwd to prefix before listing info pages (same as is done for PORTDOCS,
PORTEXAMPLES and PORTDATA)
- Fix a typo from 2006, LDCONFIG_32DIR instead of LDCONFIG32_DIR
Reported by: John Hein
Phabric: D493
Reviewed by: bapt
Exp-run: self
With hat: portmgr
Everything trying to link to readline is already passing -lreadline when needed
so all that is needed here is to pass the right path where to find it.
Reported by: peter
"freebsd" and include the major version. Set target_hw to x86 for
i386, x64 for amd64, and ${ARCH} on all other platforms. Update the
comments to match reality.
does not incorrectly ignore plist items in %%DOCSDIR%% and %%EXAMPLESDIR%%.
It was incorrectly ignoring these items when %%PORTDOCS%% or %%PORTEXAMPLES%%
was missing. This manifested as a failure in 'make package' later when pkg(8)
detected the missing files.
With hat: portmgr
Remove libevent as libevent2 is providing a good compatibility interface as well
as providing better performances.
Remove custom patches from libevent2 and install libevent2 the regular way
Mark ports abusing private fields of the libevent1 API as broken
Import a patch from fedora to have honeyd working with libevent2
Remove most of the patches necessary to find the custom installation we used to
have for libevent2
With hat: portmgr
So far, Qt4 was basing its check for compiler support for C++11 features
(auto types, lambdas, rvalue references and others) on the values of
__GNUC__ and __GNUC_MINOR__. This works for GCC, but not for clang, whose
__GNUC_MINOR__ is stuck at 2. In practice, this meant Qt programs built
using clang were never able to use C++11 features which are conditionally
available in classes such as QList. This patch makes the detection more in
line with what Qt5 does (checks for GCC and clang are in separate sections
and are done differently).
I couldn't find cases of this negatively affecting any port so far, but it
is useful to have -- Akonadi's unit tests require C++11 support in Qt, for
example.
Only qt4-corelibs's PORTREVISION was bumped to make the new qglobal.h be
installed. Checks for these C++11 features are only present in headers of
other Qt4 ports, so there's no need to rebuild them.
when an older version of a package is installed. This is the case when an
executable links with installed libraries and with uninstalled libraries
that link with other uninstalled libraries. For each of the directly
linked libraries the executable will have an rpath (/usr/local/lib for the
installed libraries and a path under WRKDIR for each of the uninstalled
libraries), but not for the indirect libraries. Both ld(1) and rtld(1)
search the rpath of the executable first before any rpath of libraries, so
the indirectly linked libraries will be found in /usr/local/lib if they are
installed instead of in WRKDIR.
With this commit executables will overlink with uninstalled indirect
libraries again so their location is added to the rpath of the executable.
This partially reverts r358784.
PR: 191611
Approved by: portmgr (bapt)
- Reword Makefile introductory header
- Bring FTP_DESC in line with other protocols' descriptions
- Reword descriptions for HTTP2, LIBOIL, LIBVIRT, LIBWMF, PYMALLOC (avoid
lowercase letter in the beginning, misused plural tense, etc.)
- Fix typos in LANG_AF, LANG_BE, LIBVISUAL, and MTP descriptions
- Remove TOMCAT5_DESC which is no longer being referenced anywhere
- Add WEBGL_DESC as I expect it to become more and more common
- drop obsolete USE_OPENSSL_* macros
- support custom OPENSSLDIR
- use always libcrypto as dependency
- support shared lib versions of libcrypto and libssl be different
- filter shared lib versions with multiple dots
This change has been applied locally to dports for over a year, but it
also will facilitate vendor rebranding for FreeBSD.
Phabric: D413
Approved by: portmgr (bapt)