The GCC mirror site list had gotten stale. A few sites have been down
for months. A few more sites may have rearranged their directory tree
because the distfiles are no longer under "releases" folder (that
folder had been removed and it's part of the MASTER_SITE_SUBDIR so the
fetch fails even though the distfile is actually on the server).
The broken mirrors were removed. The <http://gcc.gnu.org/mirrors.html>
file was checked for new mirrors, all of which are http://-based. These
were put above ftp://-based mirrors in priority. Moreover, the
MASTER_SITE_SOURCEWARE variable was manually expanded excluding the
notoriously slow Austrian mirror (gd.tuwien.ac.at) and distributing
the remaining three sites leaving the first at the top of the list as
it always has been.
Those are respectively appended to CFLAGS and CXXFLAGS on the matching arches
That avoid having to include .pre.mk just for selecting where to add CFLAGS
The conversion is simple:
USE_OPENAL=yes -> USES=openal
USE_OPENAL=soft -> USES=openal:soft
USE_OPENAL=al alut -> USES=openal:al,alut
and so on
Approved by: portmgr (bapt)
silently within the ports (similar to extraction and patching phases).
Recently introduced Mk/Uses/kmod.mk does some grunt work for pkg-plist,
like @[un]exec /usr/sbin/kldxref ... stuff via ${ECHO_CMD}, which makes
build logs less neat. Mute them and MKDIR, remove an extra whitespace,
and wrap one overly long line.
Approved by: rene
pkg has a naive solver but good enough to properly order the dependencies
and not get into a missed dependency
pkg register is also able to figure out by itself lib_depends magically
added during the compilation.
bsd.python.mk
Ports need to use a designated python interpreter, whether this
is the default one chosen by the user (or provided by the system)
and pulled in via USE_PYTHON[_BUILD|_RUN]=yes or an explicit version
or version range pulled in via USE_PYTHON[_BUILD|_RUN]=X.Y does not
matter.
Ports should however not rely on 'python' at build or installation
time, whenever possible to avoid problems with building packages for
different python versions.
This change tries to raise the barrier for misbehaving ports and eases
package builds for different python versions.
Tested with: exp-run (ports/184591)
Reviewed by: wg@, koobs@
Supported by: wg@
With hat on: python@
- Require a new compiler to build Calligra.
- Make GTL really an option in Calligra.
- STAGEify.
- Use OPTIONS helpers.
- Set NO_ARCH for translation ports.
- Add translation port for Intelingua.
Calligra 2.7 release notes:
http://www.calligra.org/news/calligra-2-7-released
PYDISTUTILS_PKGNAME is useless when used with USE_PYDISTUTILS=yes and
PYDISTUTILS_AUTOPLIST as its only function is to determine egg info name.
Approved by: portmgr (bapt)
If the old xorg stack is still needed, it is possible to add WITHOUT_NEW_XORG=
to /etc/make.conf to get the old version.
Update several xorg related ports, including:
x11/libxcb 1.9.1 -> 1.9.3
graphics/libdrm 2.4.46 -> 2.4.50
x11/pixman 0.30.2 -> 0.32.4
x11/xkeyboard-config 2.9 -> 2.10.1
x11-drivers/xf86-input-keyboard 1.7.0 -> 1.8.0
Fix dissapearing cursor in xf86-video-vmware [2]
Stagify all x11@-owned ports
Bump portrevisions for xf86-* ports due to xserver version change.
Fix fallout from updates where needed.
Thanks to: all testersi, bdrewery and the FreeBSD x11@ team
exp-run by: bdrewery [1]
PR: ports/184684 [1], ports/181385 [2]
Submitted by: Douglas Carmichael <dcarmich@dcarmichael.net> [2]
Approved by: portmgr (bdrewery), core (jhb) [0]
Given we do not support for long enough old OPTIONS framework just get
rid of this compat block that doesn't bring anything anymore
Kick by: cperciva [1]
Now that all python packages use setuptools and eggs are undesired for system
wide packages the ports should use USE_PYDISTUTILS=yes instead.
Approved by: portmgr (bapt)
Setuptools is the preferred method to manage Python distributions after
many changes to the packaging ecosystem over the past couple of years.
Only ports using USE_PYDISTUTILS= yes are affected by this commit, ports using
USE_PYDISTUTILS= easy_install remains the same however this usage is now
deprecated and should be converted to USE_PYDISTUTILS= yes.
Some Python distributions do not work with setuptools out of the box because
they extend the install command from distutils and not setuptools, and
so they need to be patched accordingly.
pip (which leverages setuptools) works around the issue by using eggs, however
we want to get rid of those as well, as support for "flat" installation is
unavailable or has other issues associated with it.
This work allows us to unify how python packages are built, ensure that Python
distributions are installed consistently, reduces complexity for Python port
maintainers and paves the way for simplifying the Python ports framework in
the future.
With hat on: python
Reviewed by: koobs, antoine
Exp-run: bdrewery
Approved by: bdrewery (portmgr)
Update to nss 3.15.3.1
Update firefox-esr and thunderbird to 24.2.0
Update firefox to 26.0
Update seamonkey to 2.23
- catch up with directory renames since USES=webplugins was introduced;
fixes plugins not being automatically enabled after install
- linux-firefox and linux-seamonkey can play HTML5 audio [2][3] and
measure about:memory usage, again
- dom.ipc.plugins.enabled->true no longer crash linux-firefox which makes
some flash sites work again; as there's no nspluginwrapper in-between
the infamous "youtube issue" never occurs
- install DEBUG with symbols [3] and describe the option better [4]
- enable dumping about:memory upon kill -65, kill -66 and GC/CC log
upon kill -67 to a file under /tmp directory; linux-firefox uses
kill -34, kill -35 and kill -36 respectively
PR: ports/183861 [1]
PR: ports/184006 [2]
PR: ports/169896 [3]
PR: ports/184285 [3]
PR: ports/184286 [4]
Security: dd116b19-64b3-11e3-868f-0025905a4771
In collaboration with: Jan Beich <jbeich@tormail.org>
The 'BSD' license covered 3+ different licenses some of which were not OSI
approved. Instead we now have 3 separate licenses.
Approved by: portmgr (tabthorpe)
USE_FORTRAN=yes can be replaced with USES=fortran or USES=fortran:gcc.
USE_FORTRAN=ifort can be replaced with USES=fortran:ifort.
USE_FORTRAN=f77 is deprecated and the version of gcc it depends
on (lang/gcc34) is scheduled to be removed.
Note that USE_FORTRAN=yes also makes GCC the C/C++ compiler while
USES=fortran only sets the Fortran compiler and can be used together
with Clang as C/C++ compiler.
Add the BSD-2-Clause, BSD-3-Clause, and BSD-4-Clause licenses. Note that these
are very specific licenses and these identifiers should NOT be used for e.g.,
BSD-2-Clause-FreeBSD.
Approved by: portmgr (tabthorpe)
The license system did not a method to give 'positive' permissions or other
'LEGAL' information without affecting the resulting package in some way
(RESTRICTED, NO_PACKAGE, NO_CDROM, etc.).
Provide a generic mechanism to provide this.
Further, provide a special variable "LEGAL" which can be used to capture any of
NO_PACKAGE, NO_CDROM, RESTRICTED, LEGAL_TEXT in reverse priority order.
PR: ports/178096
Approved by: portmgr (bdrewery)
twisted can be configured with the arguments run or build to replace
the previous USE_TWISTED_RUN and USE_TWISTED_BUILD knobs. The twisted
components can be added as comma-separated arguments. If you previously
wrote
USE_TWISTED= yes
USE_TWISTED= conch names
USE_TWISTED_RUN= yes
you now would write
USES= twisted
USES= twisted:conch,names
USES= twisted:run
Split off gnome-pty-helper from vte to allow both versions of vte to be
installed at the same time.
Update comment to make it clearer which gtk+ version it is for.
Enable introspection bindings in vte.
Obtained from: GNOME dev repo.
USE_LINUX=yes and PREFIX!=LINUXBASE.
This is not needed and creates a bunch of stage orphaned directories.
PR: ports/184477
Approved by: portmgr (bapt)
Tested by: poudriere bulk -t games/dsnake emulators/rtc www/linux-f10-flashplugin11 (no error, no orphans)
Ports does not support relative paths in ${TYPE}_DEPENDS and actually breaks
the dependency registration with pkgng. This occurs in ACTUAL_PACKAGE_DEPENDS
where ${PORTSDIR} is stripped from the dependencies' directory and uses the
rest of the string as the package origin. pkg(8) then fails to detect package
origins with relative paths.
Approved by: portmgr (bapt)
Since this patch converts all affected ports, bsd.cran.mk no longer supports
NO_STAGE and errors out if NO_STAGE is set.
Exp-run: ports/184216
Reviewed by: bdrewery
Approved by: portsmgr, wen
by setting IFS to just LF
- in check-stagedir.sh, properly detect unset environmental variables,
and list them all
- in check-stagedir.sh, also list the full prefix as known, not just
its parents
PR: 184039
Approved by: portmgr (bapt)
Mate is a lite desktop forked from gnome2.
Most of the work is done by Jeremy Messenger (mezz@). The only thing I did
was update a few ports to later 1.6 release and attempting to keep up with
ports infra changes. Resulting bugs are all mine.
Mate is a sort of replacement for Gnome 2. So people wanting to keep a
Gnome 2 like desktop should switch. Gnome 2 will be replaced by Gnome 3
in the near future. This switch will be announce with a transition time
so people have more time to switch if they haven't already.
This release was made possible by everyone that send friendly pokes to
keep mate on my mind.
Approved by: portmgr (bapt)
The .info-X handling was wrong since the beginning of pkgng, the INFO_SUBDIR regression was introduced with stage
PR: ports/184178
Reported by: gerald
Tested by: gerald
but six-and-a-half years after the upstream release of GCC 4.2.0 and
exactly two years after the removal of lang/gcc45 the time has come.
This reduces package name collisions around GCC related ports by 12.5%. [1]
Reported by: bapt [1]
bsd.qt.mk:
- Deprecate QMAKEFLAGS, QMAKE_ARGS should be used instead
- define LRELEASE/LUPDATE commands for general use
Uses/qmake.mk:
- USES=qmake now implies build dependency on qmake
- Deprecate QMAKE_PRO (QMAKE_SOURCE_PATH should be used if required)
- move QMAKE_ARGS definition to bsd.qt.mk
The problem with the old method is that the libtool is configured to look
first in LOCALBASE for libraries to link to. Normaly this wouldn't cause
a problem. However if a port that builds a library with new API also builds
introspection files or say gtk bindings, then libtool will look first into
LOCALBASE and find the old library version for linking the introspection
files or gtk bindings. Due to the missing new API in old library the build
will fail with unresolved symbols.
The new ltverhack will patch the ltmain.sh and/or libtool files that where
bundled with the port. This libtool is correctly configured to first look
in for the just build libraries.
If the port bundled version of ltmain.sh and/or libtool aren't in ${WRKSRC}
then ltverhack_PATCH_FILES can be overwritten with there location in ${WRKSRC}.
As a bonus when using the new ltverhack configure will honor --disable-static
again. So please check your plist after converting.
While here shorten the number of tabs in the lthacks, ltverhack and
ltasneededhack PRE_PATCH components so they are just over 80 chars long.
Exp-run by: bdrewery@
PR: ports/183936
Obtained from: gnome dev repo
It is intended to replace USE_DOS2UNIX
By default it convert all the source files
Use:
DOS2UNIX_FILES= <a list of files>
to convert files relative to ${WRKSRC} (globs allowed)
DOS2UNIX_REGEX= <a regex>
To convert files matching the regex (using find -R -iregex)
DOS2UNIX_GLOB= <a glob pattern>
To convert files matching the glob pattern (using find -name)
The deeply nested expression for .for loop cannot be completely evaluated at
the time of loop expansion because PKGBASE will be assigned much later.
Approved by: bapt
This also adds a new USE_SDL=gfx2 variable to add SDL2_gfx as
LIB_DEPENDS other ports.
The SDL_gfx library evolved out of the SDL_gfxPrimitives code which provided
basic drawing routines such as lines, circles or polygons and SDL_rotozoom
which implemented a interpolating rotozoomer for SDL surfaces.
The current components of the SDL_gfx library are:
- Graphic Primitives (SDL_gfxPrimitves.h)
- Rotozoomer (SDL_rotozoom.h)
- Framerate control (SDL_framerate.h)
- MMX image filters (SDL_imageFilter.h)
WWW: http://www.ferzkopp.net/Software/SDL_gfx-2.0/
Simplify it a lot,
remove all not supported anymore web browsers,
Prepend private varible behind an underscore
Rename the gecko18, gecko19 target into a simple gecko target
If you are writing a plugin port please use this USES, and if this USES does fit your need please report it so we can improve.
Which is nice in case you end up with something like :
X11_USE= xorg=x11 xorg=ice xorg=sm xorg=xext xorg=xineramaproto
xorg=xinerama xorg=xrandr xorg=xrender xorg=xtst
now you can do :
X11_USE= xorg=x11,ice,sm,xext,xineramaproto,xinerama,xrandr,xrender,xtst
PR: ports/183892
Approved by: bapt
This allows stage dir support for python packages using easy_install
method from setuptools module.
easy_install target does not support a --root so we workaround it with
PYTHONUSERBASE and other user flags.
Submitted by: nivit, wg
With hat on: python
Exp-run: bdrewery
This allows upgrading a kernel without breaking any installed kernel ports
because during the upgrade /boot/kernel is renamed to /boot/kernel.old ,
resulting in moved files.
While /boot/modules is the default, it might be overridden by bsd.own.mk to
/boot/kernel before kmod is included, so setting MODULES_WITH_WORLD has no
effect.
This gives 2 new variables to the porters:
ALT_COMPILER_TYPE which can be empty, clang or cc depending on what ${CC} is
ALT_COMPILER_VERSION which will give the porter a 2 digit version of the alternative compiler
Requested by: many
Additionally, support staging in all ports being changed here, replace
USE_GMAKE=yes with USES=gmake and fix a typo in the CMake parameters passed
in kdevelop-kde4 when the OKTETA option is disabled.
Submitted by: Schaich Alonso <alonsoschaich@fastmail.fm>
always use the "@unexec rmdir" form in TMPPLIST. @dirrmtry lines are
substituted with this in bsd.port.mk, but only when generating TMPPLIST.
While here update the description in the header.
Submitted by: QAT for commit r332642 (8.4-QAT/i386)
Due to the RUN_DEPENDS and BUILD_DEPENDS specification of postgresql
components in bsd.database.mk not matching their package names,
net-mgmt/netmagis-database was failing during the RUN_DEPENDS stage
because it couldn't detect that a component was already installed.
Updating the pltcl line allowed that port to successfully built. The
other lines weren't tested but the problem would be the same.
Suggested by: wg
Bugfixes:
* @cmd in pkg-plist is now properly handled.
- It was previously treated the same as though there was a directory
following it, missing the prefix. (ordering matters in case...esac)
- Due to the cwd=${PREFIX} inside the while read line loop, state
tracking was broken and every new line assumed that cwd were the
prefix.
* stage-qa no longer complains about unstripped binaries if debugging is
active (WITH_DEBUG set && WITHOUT_DEBUG unset).
* The compress-man target uses ECHO_MSG, not ECHO_CMD, to print its
build step.
Additions:
* The plist parser now understands @unexec rmdir ... || ... lines,
including those with redirections, so that there are no false
positives for directories stripped with @unexec rmdir (usually
happens on stuff installed outside $PREFIX, as in /var).
* The system's root and var mtrees are now also expanded to avoid
false @dirrm positives if a port installs directories under /var
and has to create parents in the stagedir that are present in a fully
installed system (i. e. in the real $PREFIX).
* Given that pkg_create is deemed beyond repair with respect to deleting
files outside prefix, generate @unexec rmdir statements for such
directories, rather than @dirrmtry, to sidestep the problem.
Speedups:
* the orphan check now generates sorted lists of staged files,
and plisted/mtree files, and compares them with comm(1).
This saves us the overhead of running one grep process per file
and up to two per directory, and defers the actual list
processing to a shell utility. Complexity has not changed,
but overhead per item has.
* the orphan check now uses one file for directories and one file for
files mentioned in pkg-plist, so we need not decorate them with "dir "
and parse them out any longer.
* qa.sh's shebang scanner only looks at the first line of a file,
sed is told to exit from the 2nd line.
Other Changes:
* Split the makeplist/check-orphans logic out of bsd.stage.mk,
it is too unwieldy to maintain in make-escaped shell syntax,
and permits shell tracing with "SH=sh -x" (including quotes!)
* Unify the functions "makeplist" and "check-orphans" in one
script. The only difference is that makeplist assumes an empty
pkg-plist, whereas check-orphans parses it.
* overhaul the mtree extractor, avoiding awk.
Reviewed by: bapt
Approved by: portmgr (bapt)