Commit Graph

436 Commits

Author SHA1 Message Date
Alan Eldridge
851233d7a5 Use the full, right paths for automake, autoconf so the error message if
something goes wrong corresponds correctly to what the build depends output
said it needed.

Approved by:	kris
2002-12-05 22:43:22 +00:00
Kris Kennaway
f9992608f9 Add the INDEXFILE variable, that defaults to INDEX-5 on 5.0 (500036) and
later, and INDEX on earlier systems.  Use this in the 'make index' and
associated targets.  This is necessary to deal with the substantially
different dependencies of ports between 4.x and 5.0 (e.g. ports that
depend on perl).
2002-12-04 17:17:48 +00:00
Alan Eldridge
346fc6d89a Added WANT_AUTO{CONF,MAKE}_VER, which set up all the variables as in USE_*,
but do not cause the program to be executed prior to configure step. This is
done to accomodate a couple of rather odd ports.

Basically, this amounts to redefining USE_*_VER in terms of USE_*, WANT_*_VER.
It's pretty gross, but it works.

Approved by:	implicitly by kris
2002-11-27 16:40:36 +00:00
Alan Eldridge
74b7d34dfd Emergency fix to move PERL_LEVEL to PRE part of bsd.port.mk, and provide
a default value of 0 if it can't be computed. This is necessary in order
to prevent make errors.

Approved by:	kris (sometime in near future)
2002-11-26 20:05:56 +00:00
Alan Eldridge
35aadeabb6 Added support for substituting chickens for goats in ritual sacrifice.
Completely rewrote the automake/autoconf support. The comments at the top of the file have been greatly expanded in order to explain just what you are allowed to do and what will get you a visit from Mr. Hose. Please read this information.

Added DOCSDIR, EXAMPLESDIR to PLIST_SUB.

Added a PERL_LEVEL variable (documented up top) that gives an integer
value that can be used for comparisons to determine whether the user's
perl is new enough or not, or to enable or disable certain dependencies
(AHEM FILE::SPEC) based on the perl version.

Added a SITE_PERL variable, which points to the correct "site-packages"
directory. This is also added to PLIST_SUB.

No gerbils were harmed (seriously, anyway) in the making of this patch,
however some of them may be a bit sore for a few days.

Submitted by:	billg
Reviewed by:	kris
Approved by:	kris
Obtained from:	you really don't want to know this one
2002-11-25 19:43:16 +00:00
Akinori MUSHA
5f192f55f3 Add several new real categories and virtual categories.
[Those marked with an asterisk (*) are virtual categories]

- accessibility* : Ports to help disabled users

  PR:		ports/39103
  Requested by:	trevor

- finance : Monetary, financial and related applications

  PR:		ports/39102
  Requested by:	trevor

- haskell* : Software related to the Haskell language

  PR:		ports/41959
  Requested by:	obraun

- hungarian : Hungarian language support

  PR:		ports/37576
  Requested by:	Janos Mohacsi <janos.mohacsi@bsd.hu>

- multimedia : Multimedia software

  Requested by:	many

- parallel* : pplications dealing with parallelism in computing

  PR:		ports/39094
  Requested by:	trevor

- portuguese : Portuguese language support

  PR:		ports/35991
  Requested by:	trevor
2002-11-18 09:30:52 +00:00
Kris Kennaway
a8090228ca Clean up handling of perl-related variables:
* Add USE_PERL_RUN and USE_PERL_BUILD to add {RUN,BUILD}_DEPENDS on the
  perl5 port if required (i.e. on 5.0 or later) (USE_PERL adds both,
  which is not always appropriate) [1]

* On 5.0 systems without perl, depend on the full path to the perl port
  binaries to not pick up the system perl wrapper

* If PERL_CONFIGURE is defined, move the USE_PERL setting earlier in
  the makefile so it actually adds a dependency. [2]

Noticed by:	dougb [1]
Submitted by:	sobomax [2]
Tested on:	bento
2002-11-17 05:16:16 +00:00
Kris Kennaway
76378afefc Revert the previous commit. A version of the previous patch was
extensively tested on the bento cluster, but the committed version
introduces significant new breakage at a very inopportune time.  This
will be revisited later.
2002-11-11 21:14:21 +00:00
Alan Eldridge
eb74687e79 Major change:
totally rewrote the autoconf/automake support section, with
	provisions for autoconf 2.54 and automake 1.7.x when they are
	ready.
Minor change:
	Added DOCSDIR, EXAMPLESDIR, and DATADIR to PLIST_SUB.

PR:		42351
Reviewed by:	kris
Approved by:	kris
2002-11-10 22:54:25 +00:00
Kris Kennaway
ba5da08bbb * Fix a typo in the MLINKS documentation
* If the ${COMMENT} file does not exist, use the value of the
  ${PORTCOMMENT} variable instead.  This will allow us to incrementally
  phase out pkg-comment [1]

* Miscellaneous fixes to the MASTER_SITES_N code [2]

* Correct fmt(1) invocation so it works on older systems [3]

* Improve the security-check target: [4]
	- Look for setuid/setgid binaries, and binaries that include
	  calls to accept()/recvfrom() (which are likely to be network
	  servers or have network server capability)
	- Check these binaries for insecure functions (if PORTS_AUDIT is
	  set in the environment, check for a larger set of functions
	  such as strcat/strcpy/sprintf)
	- Report network servers that are started by default.

Submitted by:	eric [1], lioux [2], fenner [3], kris [4]
PR:	ports/36078 [2], ports/36709 [2]
2002-11-03 05:43:49 +00:00
Kris Kennaway
d89d789ea8 Fix installation of +MTREE_DIRS introduced in r1.424
Submitted by:	sobomax
2002-10-02 07:18:17 +00:00
Kris Kennaway
12c14e0bf7 * Switch back to .tgz packages for 4.x (5.0 still uses .tbz packages) [1]
* Fix some problems in previous revision relating to writability test of
  ${DISTDIR}, by moving the check a) after we have made the directory if
  it doesn't exist, and b) inside the loop that actually fetches files,
  so the check isn't performed with every port make operation that depends
  on the fetch target (this breaks non-fetch targets as a different user)
  [2]

Submitted by:	bmah [1]
Reported by:	ijliao [2]
Tested on:	bento
2002-09-25 17:50:03 +00:00
Kris Kennaway
f772f8743d * Some spelling/grammar fixes in comments
* Replace some bare uses of cat with ${CAT}

* [ports/19112] Ignore RCS files (*,v) when applying patches

* [ports/19270] Check whether ${DISTDIR} is writable and fail with a
  better error message if not (mostly caused by trying to fetch as the
  wrong user)

* [ports/23560] Force patch backup files to be created with .orig suffix

* [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will
  cause problems if used in an already-quoted string.

* [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code

* [misc/38724] Change some uses of the deprecated test -h to test -L

* [1] Registering real dependencies: dependency registration looks at the
  currently-installed version of the dependency and registers that version,
  instead of registering the version in ports which may be newer than
  what is installed.

* [2] Further 100% speed-up of dependency registration process by eliminating
  second call to package-depends (using information from the first call
  stored in +CONTENTS file of package being installed). Very useful
  for developing GNOME or similar packages with zillion dependencies,
  when package-depends target could take few minutes to complete;

* [2] Proper set-up of ${SHELL} variable in build environment, so that user's
  interactive shell isn't picked instead. This has various implications,
  ranging from build process speed-up due to using /bin/sh to invoke
  libtool instead of bash or any other much more bloated user's shell
  (configure scripts often pick it up from the ${SHELL} environment),
  to fixing problems some users have when building random ports.

Submitted by:	sobomax [1] [2],
		Aleksandr A. Babaylov <.@babolo.ru> [ports/19112],
		Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270],
		Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560],
		Christian Weisgerber <naddy@mips.inka.de> [ports/34717],
		knu [ports/34987], april <april@oublinet.net> [ports/38724]
PR:		ports/19112, ports/19270, ports/23560, ports/34717,
		ports/34987, ports/36237, ports/38724
Tested on:	bento 4-exp build
2002-09-19 00:16:39 +00:00
Ying-Chieh Liao
0e9284fdf9 bump open-motif shlib version 2002-09-13 18:47:30 +00:00
Maxim Sobolev
8e28be07ef Fix MLINKS broken since bsd.port.mk speed-up commit.
Submitted & reported by:	many
PR (among others reports):	39646
Approved by:			portmgr
2002-08-19 17:12:59 +00:00
Marc Fonvieille
deef46806d Fix links to the Handbook, the FAQ and the porters-handbook.
Approved by:	portmgr
2002-08-04 09:04:12 +00:00
David E. O'Brien
c13284aa47 Use Bzip2 to compress packages for 5.0-DP#2.
Requested by:	re
Two months silence by:	portmgr
2002-08-04 06:01:48 +00:00
Maxim Sobolev
d722fa71e4 Move USE_REINPLACE detection downward, so that it is possible to set it from
bsd.gnomeng.mk. Also increase OSVERSION `sed -i'check to be 500036 on
-current, as users report that 500034 isn't sufficient to catch new sed(1)
functionality.

Approved by:	portmgr (silently)
2002-07-09 13:37:26 +00:00
Maxim Sobolev
977f850bee Backout changes that erroneously slipped into the last commit to
bsd.gnomeng.mk.

Big pointy hat to:	sobomax
2002-07-05 09:14:53 +00:00
Maxim Sobolev
1c350f1280 Correct typo: gtk12 --> glib12 2002-07-05 09:11:30 +00:00
Maxim Sobolev
0ef3cbe80a Use system sed(1) for doing in-place editing if OSVERSION is greater than
460100.

Submitted by:	obrien
2002-06-28 12:20:03 +00:00
Maxim Sobolev
683ff40aac Change the way REINPLACE_CMD works - instead of using perl(1) on systems
where sed(1) can't do in-place editing add a new USE_REINPLACE knob, which
if turned on defines REINPLACE_CMD and adds textproc/sed_inplace port into
BUILD_DEPENDS if necessary.

Not objected by:	portmgr@
2002-06-19 08:21:27 +00:00
Maxim Sobolev
1c411ca96d Add ${REINPLACE_CMD}, which will be used to get rid of depencency on perl
in current. Use it like the following:

	${REINPLACE_CMD} -e "foo" -e "bar" ${WRKSRC}/somefile

Approved by:	portmgr
2002-06-13 18:20:40 +00:00
Kris Kennaway
700aa0f16e 5.0-CURRENT no longer includes perl in the base system; don't expect
to find it there.  Also remove a redundant comment.

Submitted by:	des, obrien
2002-06-07 21:30:47 +00:00
David E. O'Brien
25f5b84389 Add a new way to specify the GCC version your port needs.
Rather than USE_GCCXY, you now use USE_GCC=X.Y

Approved by:	kris
2002-06-04 21:34:43 +00:00
Kris Kennaway
e262cbd7e6 Switch over to XFree86-4.x for ${OSVERSION}>=450005. If you are tracking
-STABLE, this will take effect after your next cvsup + kernel upgrade.
2002-04-27 11:22:59 +00:00
Maxim Sobolev
ac09919701 Heroic attempt to reduce number of PRs assigned to portmgr@:
1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working.

PR:		36537
Submitted by:	tg

2. Propagate error code from failed `make depends', when one of the ports
   we depend upon is marked BROKEN/FORBIDDEN.

PR:		25522
Submitted by:	alex

3. By default, when bsd.port.mk configurating Makefile.PL only pass
   PREFIX as argument, but some Perl module (eg. Test-Harness) needed
   INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise
   default installation will goes to /usr/lib and not ${PREFIX}/lib,
   in some case, adding these tag to CONFIGURE_ARGS is not bad.

PR:		29681
Submitted by:	Shell Hung <shell@shellhung.org>

4. Update patch-libtool target, so that it doesn't break ports with
   autoconf 2.13-generated configure script. USE_LIBTOOL is still not
   very useful for such cases, but at least it doesn't break them badly
   anymore.

PR:		31142
Submitted by:	wjv

5. Make `make search' working even when /usr/obj/usr/ports exists.

PR:		31862
Submitted by:	gad

6. When configure script fails unexpectedly don't dump thousands lines of
   config.log to the user's screen, because it usually doesn't contain
   information useful for tracking the problem anyway. Instead display a
   message asking a user to report the failure to the proper entity
   (maintainer) and what to include into the problem report.

PR:		34459, 35488
Submitted by:	Thomas Hurst <freaky@aagh.net>
		Alan Eldridge <ports@geeksrus.net>
		sobomax
		other countless hackers whose names are lost in the noise
Text of message suggested by:	asmodai

7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr,
   bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as
   always, however those defaults are not appropriate for /usr, and better
   options are available.

PR:		36030
Submitted by:	DougB

8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to
   avoid clashing with system .mk settings (${ECHO} has a different meaning
   there). Actually the patch is imcomplete, because large portion of those
   ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce
   happy, which shouldn't be underestimated.

PR:		34988
Submitted by:	knu

All of the above tested by:	bento
Special thanks goes to:		kris (for his help with getting this tested)

-------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
Maxim Sobolev
59de89b322 Fix another "last" bug introduced with the speed-up commit. In some conditions
the bug resulted in "sh: Argument list too long" message during dependency
registration process.

Reported by:	*many*
Submitted by:	Joe Marcus Clarke <marcus@marcuscom.com>
2002-04-04 10:06:00 +00:00
Ade Lovett
b13d153e13 Fix missing quotes around one instance of
if [ ! -z "$$select" ]

Submitted by:	lioux
2002-04-03 01:17:57 +00:00
Kris Kennaway
59ac30e126 Fix a fetch bug in MASTER_SITES_NN introduced in rev 1.396.
Submitted by:	lioux
PR:		ports/36078 (part of)
2002-04-02 05:24:33 +00:00
Ernst de Haan
d53122988d Added bsd.java.mk. This adds Java-specific support to ports by
means of a USE_JAVA definition. If a port does not define
USE_JAVA, then this change should not affect that port.

The purpose of this bsd.java.mk file has been extensively
discussed on the freebsd-java mailing list. The current
bsd.java.mk is based on the following specification documents:

http://www.metaverse.nl/~ernst/installing.html
http://www.metaverse.nl/~ernst/writing.html

A proposal that lead to the development of these documents and
finally the current bsd.java.mk file is:

http://www.metaverse.nl/~ernst/freebsd-java-proposal-20011116.html

The bsd.java.mk has been sent to portmgr for review. They had
no objections.

Reviewed by:	portmgr@FreeBSD.org, java@FreeBSD.org
Approved by:	sobomax@FreeBSD.org
2002-03-28 11:24:43 +00:00
Maxim Sobolev
c3fbe51db3 The second, and I hope the last, revision of speedup patch - make USE_SUBMAKE
working as advertised. This should fix mod_phpX and probably some other 30
ports that use USE_SUBMAKE. Default behaviour remains exactly the same.

Prompted by:	dirk
2002-03-28 09:58:08 +00:00
Maxim Sobolev
3c634c1303 Slightly adjust speedup patch, so that it works when user specifies unnatural
targets sequence, i.e. `make clean build'. It doesn't affect default behaviour.

Reported by:	knu
2002-03-27 04:26:44 +00:00
Maxim Sobolev
d6ce894ff6 - Significantly reduce overhead associated with bsd.port.mk by replacing .USE
macro, which was invoking separate make(1) process for each of the main
  targets, with explicit make(1) targets and specifying the dependencies on
  those targets in normal Makefile way. This gives up to 4x speedup. For the
  ports relying on the old functionality (i.e. each main target in a separate
  make(1) process) provide a USE_SUBMAKE knob, which provides old behaviour;

- speed-up dependency registration process by the factor of two, which
  could be a great win especially for things like GNOME and KDE with very long
  dependency chains;

- clean-up internal structure of the file, so that it is easier to understand
  and extend it when necessary.

Inspired by:	NetBSD
Reviewed by:	freebsd-ports@
Tested by:	bento
2002-03-25 08:48:47 +00:00
Will Andrews
089c1bb234 XFree86 4.2.0 Stage 1: bsd.port.mk
[1] Handle HTML-ified manpages in plists.
	[2] Add --x-[libraries,includes]=${X11BASE}/[lib,include] if we are
	    using GNU_CONFIGURE in this port.  This is required if the port
	    adds a bunch of other libraries by default to CPPFLAGS and
	    configure gets a false positive.

Submitted by:	[1] sf
		[2] many people
2002-03-16 23:37:02 +00:00
Mark Murray
05e08061c2 Take Perl 5.6.1 into account. Allow for slow updaters who prefer to
stay with an older CURRENT and perl 5.6.0.
2002-03-16 22:47:00 +00:00
Andrey A. Chernov
a35cebf9cf Add -D_THREAD_SAFE for -current too
Approved by:	portmgr & ports silence
2002-02-24 16:54:34 +00:00
David E. O'Brien
b5e6b050c5 Fix a typo in the CD_MOUNTPTS bits.
Submitted by:	Alexander Zagrebin <alexz@visp.ru>
2002-02-22 18:53:28 +00:00
David E. O'Brien
2dba26a1c7 Fix the default CONFIGURE_TARGET to one that is a proper GNU tuple.
Approved by:	several portmgr members
2002-02-21 18:24:20 +00:00
Steve Price
ecaa30aadc Add a default value for _PATCH_SITES_DEFAULT so the MASTER_SITE_N
patch is functional.
2002-01-24 01:15:03 +00:00
Will Andrews
78be64afad Bring in changes tested on bento's new 4-exp tree, specially fitted for the
4.5 release.

 1) Add support for MASTER_SITE_N.  This is by far the largest part of
    this patch; many thanks to Mario for his hard work on this!
    Submitted by:	lioux

 2) Allow multiple CD mountpoints to be specified.
    PR:			8063
    Submitted by:	MOROHOSHI Akihiko <moro@race.u-tokyo.ac.jp>
    Rewritten by:	will (with suggestions from steve)

 3) Fix MLINKS description.
    PR:			29876
    Submitted by:	dirk

 4) Add imake dependency for XFree86 3.x when USE_IMAKE is defined
    because it's possible the port may not need X itself, but just imake.
    Submitted by:	max

 5) Fix installing as non-root with ${INSTALL*} macros.
    PR:			25531
    Submitted by:	Martin Kammerhofer <mkamm@gmx.net>

Thanks to Kris Kennaway <kris> and Steve Price <steve> for helping make the
experimental tree on bento a reality.
2002-01-23 03:48:44 +00:00
Will Andrews
fa8f93bcfc Add AUTOMAKE_ARGS+=-i by default if AUTOMAKE_VER != 1.5. This generates
Makefiles more useful for non-GNU make(1).

Requested by:	obrien
Reviewed by:	steve, bento 4-exp
2001-12-22 17:13:38 +00:00
Mario Sergio Fujikawa Ferreira
0273a8420e Add USE_AUTO{CONF,MAKE}_VER following original idea from bsd.kde.mk
by will

1) Make selection of AUTO{CONF,MAKE} flexible depending on *_VER
   variables.
2) This is backward compatible with previous behavior. For example,
   {ACLOCAL,AUTO{CONF,HEADER,MAKE,RECONF,SCAN,UPDATE,IFNAMES}} are
   set with default values even if USE_AUTO* are not set.
3) Have the defaults be devel/autoconf213 and devel/automake14 ports
   (just set the USE_*VER?= to the latest values, or a bogus value).
   If the user sets a bogus value, we use the default values.
4) Furthermore, add variables in the same sense of the
   PTHREAD_* vars. We must be able to automagically patch the ports
   based on the correct
   {ACLOCAL,AUTO{CONF,HEADER,MAKE,RECONF,SCAN,UPDATE,IFNAMES}}
   values.
5) Moreover, add {ACLOCAL,AUTO{MAKE,CONF}}_DIR variables pointing
   to the right locations based on the *_VER variables, this is
   useful if a port needs to grab files from those. This might seem
   too much but if we want automagical, we should go this extra
   mile.

Requested by:	too many
Reviewed by:	portmgr, ports
Approved by:	portmgr (will), ports (silence)
2001-11-28 05:00:36 +00:00
Akinori MUSHA
919909471b Fix a wrong comment. PATCHDIR is now ${MASTERDIR}/files by default,
not ${MASTERDIR}/patches.

PR:		ports/30328
Submitted by;	Hye-Shik Chang <perky@python.or.kr>
2001-11-17 21:35:39 +00:00
Akinori MUSHA
5493715c67 Add bzip2 support for distribution patches. The bzip2 dependency is
automatically added if there is a .bz2 patch in PATCHFILES.

PR:	ports/16252 and ports/30862
Seven months have passed since the PR was assigned to:	portmgr
2001-11-17 21:23:09 +00:00
Akinori MUSHA
e00f292763 Add a bunch of generally used command macros:
BZCAT, BZIP2_CMD, CHGRP, CUT, DC, ECHO_CMD, EGREP, FILE, FIND,
    HEAD, ID, IDENT, STRIP_CMD, SU, TAIL, TEST, XARGS

And use shell (ash or ksh) builtins where available for efficiency:

    ECHO_CMD, FALSE, TEST, TRUE

Grepping the ports tree, a few dozen ports already have FIND,
STRIP_CMD and XARGS variables on their own and numerous ports use
these commands without using macros.  Some ports use FILE as a .for
loop variable, but it doesn't matter anyway.

Obtained from:	NetBSD

Remove the definition of ECHO because it is already defined in
/usr/share/mk/sys.mk and leaving the useless definition may mislead
developers.  Add the following comment that would help:

    # ECHO is defined in /usr/share/mk/sys.mk and its value can either be
    # "echo", or "true" if the make flag -s is given.  Use ECHO_CMD where
    # you mean the echo command.

No response yet from:	portmgr
Clued by:	Cyrille Lefevre <clefevre@citeweb.net> (on ${ECHO})
2001-11-17 21:05:50 +00:00
Akinori MUSHA
2f28d718b7 Define EXAMPLESDIR as well as DOCSDIR and DATADIR. Of course this
does not clobber the existing definitions because of the `?='
assignment.

Grepping the whole ports tree, a few dozen ports already define this
variable on their own and most of them have the same value as this
(${PREFIX}/share/examples/${PORTNAME}).

Approved but not committed by:	portmgr
2001-11-17 20:08:05 +00:00
Akinori MUSHA
38d33ba583 Fix PKG_IGNORE_DEPENDS so it matches the latest XFree86 3.x port.
As I didn't see why the full package name is needed there, I changed
it to a simple regexp that matches any later version of the XFree86
3.x port.

No response from:	portmgr
2001-11-17 19:56:29 +00:00
Thomas Gellekum
5a08ef716f Add variables $ACLOCAL and $AUTOHEADER, now that the program names
contain version numbers.

Approved by:	portmgr (sobomax)
2001-11-13 13:12:11 +00:00
Akinori MUSHA
345bbe4bfd Fix a quoting bug in `make describe'.
- Do not shrink series of spaces.
  - Do not expand shell wildcards in pkg-comment.

I made the code cleaner and (3-4%) faster while I was at it.

Tested by:	diff(1) and its option -b

(Maintainer timeout)
2001-11-09 15:48:40 +00:00