- 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
When appropriate:
- Try to use DISTVERSION{SUF,PRE}FIX
- Replace PORTNAME-PORTVERSION by DISTNAME
- Convert MASTER_SITES to use macros
- Other light cleanup
With hat: portmgr
Sponsored by: Absolight
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in
it. When not using GH_TAGNAME it would not have this. Now both cases
will add in the GH_PROJECT and GH_ACCOUNT.
Add special care to ensure that the DISTVERSION is not added in twice. If
a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For
that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used.
empty() is used rather than (!defined || !${}) to support fmake.
The purpose of setting DISTNAME at all in these cases is to make it more clear
that the distfile is from *GITHUB* and to avoid collisions if a project were
to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there
are real risks that collisions on filenames would happen on renamed or moved
projects, which is fairly common. A GITHUB-generated file may not match
a custom-rolled or git-archive-rolled distfile.
PR: 199069
With hat: portmgr
Testing done: All USE_GITHUB ports without GH_COMMIT were checksum/fetch/extract/WRKSRC tested.
Add an XFCE SITE_SUBDIR abbreviation and use it forf or the xfce ports,
which removes the need to set MASTER_SITE_SUBDIR in any of them.
This fixes ports that have USES=xfce but do not use the XFCE MASTER_SITE,
namely sysutils/xfce4-bsdcpufreq-plugin.
With hat: portmgr
This port is doing some king of crazy delete/copy thing with gconfig.h
and there's a race where it gets used before it's copied. Mark this
port unsafe until further notice; it has failed on me a couple of times.
tailored log:
rm -f ./obj/../soobj/gconfig.h
cp ./obj/../soobj/gconfxx.h ./obj/../soobj/gconfig.h
rm -f ./obj/../soobj/gconfig.h
cp ./src/gconf.c ./obj/../soobj/gconfig.cOA
cp ./obj/../soobj/gconfxx.h ./obj/../soobj/gconfig.h
[snip]
cp ./obj/../soobj/gconfxx.h ./obj/../soobj/gconfig.h
In file included from ./obj/../soobj/iconfig.c:43:0:
./src/gconf.h:34:23: fatal error: ./obj/../soobj/gconfig.h: No such file
or directory
compilation terminated.
- Remove const qualifier from iconv(3) to match POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
- Patch iconv.h to expose more GNU extensions when LIBICONV_PLUG is
defined because the base system iconv supports these extensions too.
Add/remove patches to/from ports to call iconv with non-const arguments.
This breaks some ports on FreeBSD 10 because base system iconv.h still has
the const qualifier. Fix this by letting USES=iconv add a build dependency
on converters/libiconv so ports can use its iconv.h (with LIBICONV_PLUG
defined) instead of the base system iconv.h.
This exposed some ports that link with libiconv when it is available instead
of using libc iconv. In these cases one of the following changes has been
made:
- patch configure scripts to test for libc iconv first
- add ac_cv_lib_iconv_libiconv=no or similar to CONFIGURE_ARGS to disable
some configure tests
- converters/wkhtmltopdf: this includes Qt4 so add a patch from devel/qt4
- lang/gcc5-aux: respect CFLAGS and friends during configure such that
LIBICONV_PLUG is defined in the iconv test, also switch to external
gettext
- mail/gnarwl: replace patches with CPPFLAGS/LIBS
- multimedia/ffmpeg2theora: remove iconv test from SConstruct and use
ICONV_LIB in port Makefile instead, also fix a bug in subtitles.c
- net-im/licq: finish conversion to cmake
- net-mgmt/bandwidthd, net-mgmt/icinga, net-mgmt/nagios, net-mgmt/nagios4:
don't need iconv
- textproc/p5-XML-TinyXML: finish conversion to USES=perl5
Other changes:
- databases/qdbm and slaves: respect CFLAGS and friends, also enable bzip2
and lzo support
- games/ldmud: respect CFLAGS and friends
- graphics/inventor: replace some patches with MAKE_ARGS/MAKE_ENV to respect
CFLAGS and friends, also remove FreeBSD/alpha patch and add missing xorg
dependencies
PR: 199099
Exp-run by: antoine
Approved by: portmgr (antoine)
Simplify gnustep ports
Hook into the regular ports framework:
- LIB_DEPENDS for library dependencies
- Use regular USE_LDCONFIG
Reuse USES=objc (automatic)
USE_GNUSTEP is now a macro to set the dependencies and build feature needed.
Accepted arguments: back base build gui
Merge deskutils/preferencepanes into deskutils/systempreferences
- Add CPE information [1]
print/texinfo has had vulnerabilities with a CPE identifier assigned
(e.g. CVE-2006-4810).
PR: 198841 [1]
Submitted by: shun.fbsd.pr@dropcut.net
Xorg is now looking in ${LOCALBASE}/share/fonts by default
Xorg now accepts symlinks in etc/X11/fontpath.d (as decribed in Xserver(1))
Large cleanup on lots of font ports
All fonts are now properly dynamically generating fonts.dir and fonts.scale
instead of sometime overwriting existing ones)
All fonts are generating fontconfig's cache
Improve consistency in fonts ports
The PHP developers stopped providing security patches for the 5.3
branch on 14 August 2014. They "strongly urge" to upgrade to current
versions "as using older versions may expose you to security
vulnerabilities and bugs that have been fixed in more recent versions"
of PHP.
The PHP53 branch was released from maintainership today, so it's being
deprecated with removal set for 15 April 2015.
There were only 8 ports limited to php53, six of which were pecl- ports.
These ports must be upgraded to use a later version of php (5.6 is
recommended) soon, or they will be removed with php53.
Note that all 8 ports incorrectly set the PHP_DEFAULT_VERSION, so this
was changed to use IGNORE_WITH_PHP instead while here.
PR: 198150
The kde@ team presents KDE SC 4.14.3, the last planed release
of the KDE SC 4 series.
In addition to the updates provided by the KDE SC developers, this
update also addresses numerous FreeBSD and PORTS specific
issues, found and solved by the kde@ team and area51 testers,
most notorously Tobias C. Berner <tcberner@gmail.com>
PR: 197751
PR: 197871
PR: 184996
Reviewed by: rakuco (mentor)
Differential: https://reviews.freebsd.org/D1950
- Update to 3.14.10 [1]
- Fix detection of libusb v1.0 and build with it now
- Enable JetDirect and scanning support by default (requested by pkg users)
- hplip modifies etc/sane.d/dll.conf witch belongs to sane-backends port,
and writes to this file in staging area. Add commented entry for it in plist
to pacify staging checks.
print/hplip-plugin:
- Update to 3.14.10
- Add missing entry to plist
- Pass MAKE_ENV for installer to prevent writing to ${HOME}
PR 197245 [1]
Submitted by: chris@bsdjunk.com
Make sure we use openjpeg1 in poppler, while openjpeg2 support
was added there still bugs in openjpeg2 that need to be fixed.
Add patches to inkscape for API changes in poppler 0.29.0 [2].
PR: 196599 [1]
Submitted by: olivierd@ [1]
Exp-run by: antoine@
Obtained from: upstream [2]
1. The port's configure script is auto-detecting if avahi exists
(unless avahi is explicitely disabled):
---
9096 if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
9097 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Avahi" >&5
9098 $as_echo_n "checking for Avahi... " >&6; }
9099 if $PKGCONFIG --exists avahi-client; then
9100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9101 $as_echo "yes" >&6; }
---
So if avahi-lib is installed one get config.log:
---
configure:9097: checking for Avahi
configure:9100: result: yes
[...]
#define HAVE_AVAHI 1
---
And later avahi is used while building:
---
Using LIBS=-lcups -lssl -lcrypto -L/usr/local/lib -lavahi-common -lavahi-client -lz -pthread -lm -lcrypt -lz
---
Then print/cups-client installs libraries which are linked with avahi, ex.:
---
% ldd libcups.so | grep avahi
libavahi-common.so.3 => /usr/local/lib/libavahi-common.so.3 (0x801cda000)
libavahi-client.so.3 => /usr/local/lib/libavahi-client.so.3 (0x801ee6000)
---
Which leads to print/cups-base build failure (even if avahi is unset by options):
---
Linking ippserver...
cc -L../cgi-bin -L../cups -L../filter -L../ppdc -L../scheduler -L/usr/local/lib -Wl,-rpath,/usr/lib:/usr/local/lib -fstack-protector -Wl,-R/usr/local/lib -Wall -Wno-format-y2k -Wunused -fPIC -Os -g -fstack-protector -Wno-tautological-compare -o ippserver ippserver.o ../cups/libcups.a \
-lssl -lcrypto -ldns_sd -pthread -lm -lcrypt -lz -lz
../cups/libcups.a(http-support.o): In function `_httpResolveURI':
---
Let's reflect this fact.
2. Bump PORTREVISION for print/cups-client, it's default options and dependencies
were changed.
PR: ports/195743
Submitted by: O. Hartmann <ohartman@zedat.fu-berlin.de>
Discussed at: ports@
Tested by: O. Hartmann <ohartman@zedat.fu-berlin.de>
Changes:
- src/sexp.c (do_vsexp_sscan): Return error for invalid args.
- cipher/md.c (_gcry_md_info): Fix a segv in case of calling
with wrong parameters.
- cipher/primegen.c (_gcry_generate_elg_prime): Change to return an
error code, possible NULL deref in call to prime generator.
- cipher/dsa.c (generate): Take care of new return code.
- cipher/elgamal.c (generate): Change to return an error code. Take
care of _gcry_generate_elg_prime return code.
- ecc: Support the non-standard 0x40 compression flag for EdDSA.
- mpi: Extend the internal mpi_get_buffer.
- mpi: Fix regression for powerpc-apple-darwin detection.
- Fix bug inhibiting the use of the sentinel attribute in src/gcrypt.h.in
- Fix building for the x32 target without asm modules in
mpi/generic/mpi-asm-defs.h: Use a fixed value for the x32 ABI.
- Fix ARM assembly when building __PIC__
- mpi: Fix a subtle bug setting spurious bits with in mpi_set_bit.
* mpi/mpi-bit.c (_gcry_mpi_set_bit, _gcry_mpi_set_highbit): Clear
allocated but not used bits before resizing.
* tests/t-mpi-bits.c (set_bit_with_resize): New.
- Use internal malloc function in fips.c.
* src/fips.c (check_binary_integrity): s/gcry_malloc/xtrymalloc/.
- pubkey: Re-map all deprecated RSA algo numbers.
- cipher: Fix possible NULL dereference in cipher/md.c for being NULL.
- Fix ARMv6 detection when CFLAGS modify target CPU architecture.
PR: 193264
Approved by: cpm@fbsd.es (maintainer)
This is required for upcoming Perl changes. I just duplicated the FreeBSD
line as a case option rather than add two more patterns -- mainly for
consistency as each platform got their own line in other cases.
Follows: r373971
the 32 ports that still use it. Bump PORTREVISION on their dependent
ports except the ones that depend on these:
audio/libogg
audio/libvorbis
devel/pcre
ftp/curl
graphics/jpeg
graphics/libart_lgpl
graphics/tiff
textproc/expat2
textproc/libxslt
In these cases the same trick as in the recent gettext update is used.
The ports install a symlink with the old library version. When enough
of their dependent ports have had regular updates the remaining ones can
get a PORTREVISION bump and the links can be removed.
Also remove the devel/pcre dependency from USE_GNOME=glib20. It causes
over 2200 packages to depend on devel/pcre while less than 200 actually
link with it. The glib20 package still depends on devel/pcre so this
should not make a difference for ports with USE_GNOME=glib20. Also,
libdata/pkgconfig/glib-2.0.pc lists pcre as a private library so
USE_GNOME=glib20 should not propagate it.
PR: 195724
Exp-run by: antoine
Approved by: portmgr (antoine)
The @sample keyword fixes the config file based error. While here,
clean refactor the port a bit.
PR: 194854
Submitted by: Adrian Waters
Final fix by: Takefu (airport.fm)
Before, we had:
site_perl : lib/perl5/site_perl/5.18
site_perl/perl_arch : lib/perl5/site_perl/5.18/mach
perl_man3 : lib/perl5/5.18/man/man3
Now we have:
site_perl : lib/perl5/site_perl
site_arch : lib/perl5/site_perl/mach/5.18
perl_man3 : lib/perl5/site_perl/man/man3
Modules without any .so will be installed at the same place regardless of the
Perl version, minimizing the upgrade when the major Perl version is changed.
It uses a version dependent directory for modules with compiled bits.
As PERL_ARCH is no longer needed in plists, it has been removed from
PLIST_SUB.
The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now
always removed, as is perllocal.pod.
The old site_perl and site_perl/arch directories have been kept in the
default Perl @INC for all Perl ports, and will be phased out as these old
Perl versions expire.
PR: 194969
Differential Revision: https://reviews.freebsd.org/D1019
Exp-run by: antoine
Reviewed by: perl@
Approved by: portmgr
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
Alias is a new USES tool that allows DragonFly to masquerade as FreeBSD
by setting CFLAGS+= -D__FreeBSD__. For some ports, this fixes the build
without the need for additional patches.
Approved by: portmgr (bapt, blanket)
USE_KDE4=kdehier component has been deprecated, new components added:
baloo - Baloo core libraries
baloo-widgets - Baloo widgets library
kfilemetadata - KDE library for extracting file metadata
New ports:
graphics/kqtquickcharts - QtQuick plugin to render interactive charts
misc/artikulate - Pronunciation trainer for KDE
(not usable currently, links to both
GStreamer 1.x and 0.10.x via dependencies)
sysutils/baloo[-widgets] - KDE framework for searching and
managing user metadata
sysutils/kfilemetadata - Library for extracting file metadata
l10n ports:
- Farsi (Persian) and Indonesian translations has been readded
- Vietnamese didn't pass threshold for inclusion into release
astro/kstars:
- switch dependency from math/eigen2 to math/eigen3
- add PYKDE option for updating supernovae data
deskutils/kdepim4:
- update dependencies: add libkgapi and baloo,
remove now needless clucene, link-grammar, strigi
- add patch to fix build with gcc42
- update COMMENT and description for all KDE PIM ports
devel/ruby-krossruby:
- remove BROKEN, it builds with ruby 2.x now
editors/kate:
- add patch to disable memory-hungry build of the kate tests [1]
graphics/okular:
- add dependency on graphics/libkscreen
math/cantor:
- add optional dependency on lang/luajit for LuaJIT backend
- fix gfortran detection [2]
misc/kdehier4:
- adapt to new pkg world. Now the purpose of kdehier4 only
to link some stuff between KDE4_PREFIX and LOCALBASE.
science/kalzium:
- switch dependency from math/eigen2 to math/eigen3
- add dependence on science/chemical-mime-data
x11-themes/kdeartwork4
- switch dependency from math/eigen2 to math/eigen3
among other changes:
- drop deprecated USE_KDE4=kdehier
- drop @dirrm from plist
- clean up pkg-descr
- convert to options helpers
- other portlint fixes
The area51 repository features commits by alonso, rakuco and myself.
PR: 187150 [1]
Reported by: pe.freethread@live.com
Patch by: Tobias Berner <tcberner@gmail.com>
PR: 180674 [2]
Reported by: torsten.eichstaedt@web.de
PR: 194316
Exp-run: antoine
- remove recently-added run_deps on print/texlive-full and print/tex-dvipsk
- change USE_TEX to the sufficient set of 'latex dvipsk'
Submitted by: mat
Approved by: Matthias Apitz <guru@unixarea.de> (maintainer)
print/rubygem-ttfunk: update to 1.4.0
print/rubygem-pdf-core: update to 0.4.0
Update rubygem-prawn and friends to the latest versions. These are all
committed at the same time to avoid breakage.
PR: 193833
PR: 194012
PR: 194013
Submitted by: Michael Moll <kvedulv@kvedulv.de>
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.
Also the compat NO_INSTALL_MANPAGES shim.
Differential Revision: https://reviews.freebsd.org/D730
Reviewed by: antoine
With hat: portmgr
Sponsored by: Absolight