summaryrefslogtreecommitdiff
path: root/lang/perl5/buildlink3.mk
AgeCommit message (Collapse)AuthorFilesLines
2009-07-17allow dependent modules check build options of perl5sno1-1/+4
2009-03-20Simply and speed up buildlink3.mk files and processing.joerg1-13/+6
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
2008-10-19Add BUILDLINK_API_DEPENDS.perl+= perl<5.12.0 together with a commenthe1-1/+5
explaining that this should prevent a repeat of the current problem where binary perl packages built for 5.8.8 can be installed together with perl 5.10.0 without any warning/error. By the perl numbering scheme, perl 5.12.0 will be the next maintenance version which installs modules in a different path than what's used for 5.10.0. The contents of perl itself doesn't change as a result of this change, so no revision bump, but a revision bump for all packages which depend directly on perl is forthcoming, as a workaround for the 5.8.8 -> 5.10.0 transition.
2008-10-16Adjust PERL5_REQD from 5.8.7 to 5.10.0, so as to prevent attemptshe1-2/+2
at using p5-* packages built with the new perl from being installed together with an older version of perl. The p5-* packages will not work because the new and old perls install modules in different directories. As a consequence, bump package revision.
2007-11-21Properly fix the problem that 1.40 addressed. PERL5_REQD should beminskim1-4/+4
treated as a list.
2007-11-21Back out 1.37 as it breaks PERL5_REQD (e.g. show-depends injoerg1-1/+3
mail/p5-Email-Send).
2007-11-21Need to include vars.mk for ${PERL5_SUB_INSTALLARCHLIB}.obache1-1/+2
2007-11-19When buildlinking perl, set PERL5 to pkgsrc perl, not the one selectedminskim1-1/+5
by the tools framework.
2007-11-18If perl is buildlinked, used perl in ${BUILDLINK_PREFIX.perl} andminskim1-3/+1
do not rely on the tools framework.
2006-12-12Replace mk/bsd.prefs.mk includes with bsd.fast.prefs.mk includes.joerg1-2/+2
The redundant parsing of bsd.prefs.mk is mostly avoided now and parse time e.g. for x11/kdebase3 gets reduced by up to 10%.
2006-07-08Change the format of BUILDLINK_ORDER to contain depth information as well,jlam1-2/+2
and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
2006-07-08Track information in a new variable BUILDLINK_ORDER that informs usjlam1-1/+2
of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
2006-06-15Pluralize INSTALL_TEMPLATE and DEINSTALL_TEMPLATE variable names as perjlam1-2/+2
the pkglint warning: As {INSTALL,DEINSTALL}_TEMPLATE is modified using "+=", its name should indicate plural. This does make the variables a bit more suggestive of the fact that they hold lists of values.
2006-06-09bsd.prefs.mk only needs to be included once.rillig1-3/+2
2006-04-06Over 1200 files touched but no revisions bumped :)reed1-2/+2
RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
2006-03-14Modify the pkginstall framework so that it manages all aspects ofjlam1-2/+2
INSTALL/DEINSTALL script creation within pkgsrc. If an INSTALL or DEINSTALL script is found in the package directory, it is automatically used as a template for the pkginstall-generated scripts. If instead, they should be used simply as the full scripts, then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC explicitly, e.g.: INSTALL_SRC= ${PKGDIR}/INSTALL DEINSTALL_SRC= # emtpy As part of the restructuring of the pkginstall framework internals, we now *always* generate temporary INSTALL or DEINSTALL scripts. By comparing these temporary scripts with minimal INSTALL/DEINSTALL scripts formed from only the base templates, we determine whether or not the INSTALL/DEINSTALL scripts are actually needed by the package (see the generate-install-scripts target in bsd.pkginstall.mk). In addition, more variables in the framework have been made private. The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are more sensible names given the very few exported variables in this framework. The only public variables relating to the templates are: INSTALL_SRC INSTALL_TEMPLATE DEINSTALL_SRC DEINSTALL_TEMPLATE HEADER_TEMPLATE The packages in pkgsrc have been modified to reflect the changes in the pkginstall framework.
2005-12-29Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mkjlam1-2/+1
automatically detects whether we want the pkginstall machinery to be used by the package Makefile.
2005-08-12Restore perllocal.pod-generating behavior of ExtUtils::MakeMakerjlam1-2/+2
because some Perl modules make some (bad) assumptions about the structure of a MakeMaker-generated Makefile. Instead, remove the perllocal.pod file whenever a p5-* module or perl itself is removed. While here, rename some of the install/deinstall templates to more descriptive names. Bump the PKGREVISION to 3.
2005-08-06Update lang/perl5 to 5.8.7. Changes from version 5.8.6 include updatesjlam1-8/+7
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads bugfixes. The major changes are in the pkgsrc infrastructure to handle Perl and Perl modules. All pkgsrc-installed Perl modules are now installed in "vendor" directories, and the perl interpreter has been modifed to search for libraries in the following order: site, vendor, perl. The Perl library is stored in a directory that is named for the Perl ABI version associated with the Perl release, so any updates of Perl to newer versions can be done "in-place" as long as Perl ABI version remains the same. All Perl scripts and man pages are stored in locations that won't conflict between site, vendor, and perl modules, and a new utility perllink(1) now manages symlinks to those scripts and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1. PERL5_SITEPREFIX may be set to the prefix where local, site-specific modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local. Note that modules installed here are completely unmanaged by pkgsrc. Update the buildlink and tool dependencies on perl to require perl>=5.8.7 to reflect the new locations for Perl modules and the Perl shared library.
2005-07-16Get rid of USE_PERL5. The new way to express needing the Perl executablejlam1-5/+1
around at either build-time or at run-time is: USE_TOOLS+= perl # build-time USE_TOOLS+= perl:run # run-time Also remove some places where perl5/buildlink3.mk was being included by a package Makefile, but all that the package wanted was the Perl executable.
2005-07-15Drop support for TOOLS_DEPMETHOD.<tool>. The new way to specify ajlam1-4/+1
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier to the tool name, e.g., USE_TOOLS+= perl:run Tools without modifiers or with an explicit ":build" modifier will cause build dependencies (BUILD_DEPENDS) on those tools to be added. This makes the notation a bit more compact.
2005-06-24Drop the perl-5.6.x package from pkgsrc. Remove lang/perl58 and updatejlam1-2/+2
lang/perl5 to perl-5.8.6nb4. Modify packages that referred to lang/perl58 to point to lang/perl5 instead.
2005-05-22Remove the old tools framework and references to _USE_NEW_TOOLS.jlam1-7/+2
2005-05-19Split the conditional which seems to occasionally be malformed. Thisjlam1-3/+5
probably has something to do with how make deals with short-circuit evaluation of conditionals, but it's a simple matter to split the conditional since USE_PERL5 is eventually going away.
2005-05-19When perl5/buildlink3.mk is included by a package Makefile, the buildlinkjlam1-3/+2
framework will handle adding the correct dependency.
2005-05-18Goal: Remove USE_PERL5 from pkgsrc.jlam1-5/+11
Plan: (1) Change USE_PERL5=build into USE_TOOLS+=perl. (2) Change all other USE_PERL5 into including perl5/buildlink3.mk. Possibly, for packages that don't actually build anything with perl, but merely require it for the perl interpreter, we can instead do: USE_TOOLS+= perl TOOLS_DEPMETHOD.perl= DEPENDS but this is more verbose than simply including the perl5/buildlink3.mk file. Move the PERL5_REQD computation into a lang/perl5/version.mk file, and only do the USE_PERL5 logic in bsd.pkg.use.mk if we're not using the new tools framework. This consolidates all of the perl-handling into two places -- lang/perl5 and mk/tools/perl.mk.
2005-05-12We don't need to check for whether the variables are defined beforejlam1-5/+1
using them, as these values are referenced till later when the variables will definitely have the correct value. This removes the need to include vars.mk here.
2005-02-24* Teach devel/p5-Module-Build to write .packlists just like MakeMaker.pmjlam1-41/+4
does. This allows us to use dynamic PLISTs for Perl modules that are built using Module::Build. Bump the PKGREVISION of p5-Module-Build to 1. * Drop the use of PERL5_USES_MODULE_BUILD and introduce a new variable PERL5_MODULE_TYPE that is either "MakeMaker" or "Module::Build" that names the framework used to build/install the module. * Split out the variables set in perl5/buildlink3.mk that are also used by perl5/module.mk into a new file perl5/vars.mk. Move some PERL5_* variable definitions from pkgsrc/mk/bsd.pkg.use.mk into perl5/vars.mk. This just centralizes the common PERL5_* definitions into a single file location. * Convert the known packages that use Module::Build to set PERL5_MODULE_TYPE and PERL5_PACKLIST: devel/p5-Class-Container devel/p5-Exception-Class devel/p5-Log-Dispatch devel/p5-Array-Compare textproc/p5-Pod-Coverage www/p5-Apache-Session-Wrapper www/p5-MasonX-Request-WithApacheSession
2004-12-20actually bump PKGREVISION of perl58 and BUILDLINK_RECOMMENDED to addressgrant1-2/+2
PR pkg/28619. this should have been part of the PKGREVISION bump of p5-*.
2004-12-20since perl is now built with threads on most platforms, the perl archlibgrant1-1/+2
module directory has changed (eg. "darwin-2level" vs. "darwin-thread-multi-2level"). binary packages of perl modules need to be distinguishable between being built against threaded perl and unthreaded perl, so bump the PKGREVISION of all perl module packages and introduce BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct dependencies are registered and the binary packages are distinct. addresses PR pkg/28619 from H. Todd Fujinaka.
2004-12-19Create a modifier PERL5_OPTIONS that specifies properties of the perljlam1-1/+7
installation needed when including perl5/buildlink3.mk. The only option currently supported is "threads", which implies that a perl that supports threads is required. The requirement is checked at pre-install time using an INSTALL script template by both the package build and the binary package. Add PERL5_OPTIONS+=threads to both devel/p5-SDL and graphics/p5-GD since those modules require a perl that supports threads.
2004-04-26Allow perl-thread to be an acceptable perl when checking dependencies.jlam1-2/+2
2004-03-05Reorder location and setting of BUILDLINK_PACKAGES to match templatejlam1-19/+19
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-02-10Turn PERL5_REQD into a list of values, the highest of which will be usedjlam1-3/+3
to choose the correct Perl dependency.
2004-02-06If we're passing through MAKEFLAGS variables whose values may containjlam1-6/+6
spaces, use the :Q modifier instead of double-quoting the value. This avoids breakage when executing the just-in-time su targets.
2004-01-24Append to BUILDLINK_DEPENDS.<pkg> instead of setting a default value. Injlam1-2/+2
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives a value only once due to the multiple inclusion protection in the bulldlink3.mk files. In the case where a package includes several buildlink3.mk files that each want a slightly different version of another dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the strictest <pkg> dependency to be matched.
2004-01-19If PERL5_REQD is at least 5.8, then set BUILDLINK_PKGSRCDIR.perl properlyjlam1-2/+2
to point to ../../lang/perl58. This fixes PR 23573 and PR 24031.
2004-01-19Back out previous change... it doesn't seem to be needed.jlam1-3/+1
2004-01-16Add a variable "PERL5_PATH" that's the full path to the actual perljlam1-1/+3
binary. This is different from ${PERL5} in that if perl is installed using pkgviews, then PERL5_PATH points within perl's depot directory.
2004-01-13Rearrange order of tests and protect more of the code that depends onjlam1-8/+7
${PERL5} being present from being seen if ${PERL5} is in fact not there.
2004-01-12We need PERL5_INSTALLARCHLIB, so compute its value appropriately.jlam1-11/+8
2004-01-11Use tabs (not spaces) to make indentationcjep1-2/+2
2004-01-05Use S/+$// instead of C/\+$// to save a backslash. Very highlyjlam1-2/+2
recommended by seb :)
2004-01-04Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk.jlam1-4/+4
2004-01-03Initial sprinkling of work-in-progress buildlink3.mk files for using thejlam1-0/+84
buildlink3 framework.