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)
USES=kmod takes no arguments and:
- adds kld to CATEGORIES
- sets SSP_UNSAFE
- sets IGNORE if the kernel sources are not found
- defines KMODDIR to /boot/modules by default, add it to
PLIST_SUB and MAKE_ENV, and create it upon installation
- handles cross-referencing kernel modules upon installation and
deinstallation
Approved by: bapt
- update firefox-esr to 24.1.0
- update thunderbird to 24.1.0
- update seamonkey to 22.0
- update libxul to 24.1.0
- don't remove/add share/applications directory
- remove checks for older gecko releases from bsd.gecko.mk
- drop support for FreeBSD 9.0
Not staged yet. I started working on it, but didn't finish it in time for
this release. I'll try to make the next one in 6 weeks.
In collaboration with: Jan Beich
post-install process instead of pre-install. in case pkgng is in
use.
Replace it by a new mecanism that allows to append scripts into
what will become pre-install, post-install, pre-deinstall or
post-deinstall
Change the user-group creation to use that mecanism in case the
ports tree is using pkgng.
Reported by: mandree
Reviewed by: bdrewery
${opt}_CONFIGURE_ENABLE and ${opt}_CONFIGURE_WITH now accept multiple arguments
and will be expanded accordingly, e.g.:
OPT_CONFIGURE_ENABLE= feature1 feature2 -- will add to CONFIGURE_ARGS:
OPT enabled: --enable-feature1 --enable-feature2
OPT disabled: --disable-feature1 --disable-feature2
Approved by: portmgr (bapt)
decided to build world with WITHOUT_ICONV set. There's no need for
this check to be based on OSVERSION.
Some users (i.e. me), report subtle application breakages with the
iconv-from-src that disappear when iconv-from-ports is installed.
Allow for a bridge till these issues are sorted out.
Approved by: portmgr (bdrewery)
- Provide support for Pure Programming Language based projects
PR: ports/179401
Submitted by: nemysis (self)
Approved by: pawel (mentor), bapt (portmgr)
The compiler.mk comments and code state that COMPILER_TYPE can only be
of the value "clang" or "gcc". However, the code that determines this
allows for a possible undefined third state (empty string). BMake
will emit a lot of errors about badly formatted conditionals if
COMPILER_TYPE is empty.
Since, by definition, if the COMPILER_TYPE is not clang, it must be
gcc, so skip the conditional gcc check and just set it. The entire
file must be updated if support for additional compilers is desired.
This bug was discovered because the gcc detection code failed to
identify the DragonFly base compiler (GCC 4.7.3) as gcc.
Approved by: portmgr (bapt)
Proudly brought to you by the KDE on FreeBSD team, with commits by makc@,
Schaich Alonso and yours truly.
Besides the tons of upstream fixes, we have mkspecs for GCC 4.9 and clang33
(from ports), staging support in the Makefiles and dependency fixes related
to pkg-config.
Many thanks to the people who helped test the ports using our area51
repository, and also to the people who provided patches and bug reports via
GNATS!
PR: ports/180615
ports/181921
ports/182049
Beware, this version of GCC is _not_ anywhere near ready for production
use. Use at your own risk, and rather don't use it for regular ports.
Submitted by: devzone.my@gmail.com
failure on every port that does not use shared-mime-info or need it.
Must return 0 at end of functions or it considers the last command ran as
the return code.
Reported by: eadler
With hat: portmgr
A couple of Q/A tests are done if the DEVELOPER macros is set in make.conf
Right now the tests are:
- Check if the symlinks are properly created
- Check if the binaries are stripped (just warn)
- Check if the STAGEDIR or the WORKDIR are referenced in the final files
- Check if the ports provide script with bad shebangs.
Supported arguments are:
- c++11-lang: the port needs a c++11 aware compiler what ever standard
library it uses, implies features
- c++11-lib: the port needs a c++11 standard library, implies features
- c11: the ports needs a c11 aware compiler implies features
- features: this will create a COMPILER_FEATURES variable which contains
the list of features ${CC} do support, implies env.
- env: the COMPILER_TYPE will be set to either gcc or clang.
By default the uses will try to use clang33 from ports when nothing in
base is relevant except if the user explicitly defines
FAVORITE_COMPILER=gcc in his make.conf
Please note that testing tinderbox prior to version: 4.0.1_1 is not able to
properly figure out the dependencies implied by this USES.
This is useful to be able to define extra mirrors in PATCH_SITES for
a group, while still depending on the master list of PATCH_SITES
For example:
.if ${PORT_OPTIONS:MX509}
PATCH_SITES= http://mirror1/x509-${X509_VERSION}/:x509
PATCHFILES= ${PORTNAME}-6.3p1+x509-${X509_VERSION}.diff.gz:-p1:x509
.endif
PATCH_SITES+= http://mirror2/${PORTNAME}/:DEFAULT,x509
This will use mirror1 only for the X509 option and mirror2 for X509. All
other patches will use mirror2 but not mirror1.
With hat: portmgr
PR: ports/52706
Submitted by: Alexey Neyman <alex.neyman@auriga.ru>
level to use. This allows multiple patches in 1 port to use different
PATCH_DIST_STRIP values without changing PATCH_DIST_STRIP.
Syntax: PATCHFILES= patch[:-pX][:distgroup]
PR: ports/168222
Submitted by: knu
With hat: portmgr
- Remove duplicate EXTRA_PATCHES comment
- Minor comment rewording: change "add it to" to "add its content to"
just like how we describe ${opt}_CMAKE_*
PR: ports/182626
Submitted by: sunpoet (myself)
Approved by: bapt (portmgr)
-- add PYTHON option to alsa-lib
-- drop unresponsive mirrors and those that rarely catch up
-- drop --disable-aload from alsa-lib, builds fine without
-- drop USE_LDCONFIG from alsa-plugins, useless for dlopen'd plugins
-- convert to new LIB_DEPENDS syntax and Makefile header
-- convert PLIST_SUB to OPTIONS_SUB
-- don't link alsa-utils against librt for clock_gettime(2)
-- pass paths to configure relative to --prefix value
-- install udev config(s) under PREFIX (for reference)
-- cleanup /var/lib as it's not in default MTREE_FILE
-- remove OSVERSION check for EOL releases
- allow staging
PR: ports/182245 [1]
Submitted by: Jan Beich <jbeich@tormail.org> [1]
Approved by: maintainer timeout
new DEFAULT_VERSIONS variable.
PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION and
PYTHON3_DEFAULT_VERSION are deprecated. If you have set them in your
make.conf, you should change them something like
DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3
the package in STAGEDIR and then linking/copying it over to PACKAGES if
possible
With hat: portmgr
Reviewed by: bapt (earlier version)
Tested by: Stefan Bethke <stb@lassitu.de>
Reported by: many
install-package was depended on twice for install target, but it should
only be in SUSEQ
- Add a comment to make sequence code a bit more readable
With hat: portmgr
via USE_PYTHON=2 (for lang/python2) or USE_PYTHON=3 (for lang/python3).
This can be used for ports, which do not care, which specific minor
release version of Python 2.x or Python 3.x is used, as long as there
are proper symlinks to e.g. bin/python2 or bin/python3.