Commit graph

31 commits

Author SHA1 Message Date
rillig
034b8390a8 Reverted the last changes, which factored out some definitions that are
usually the same on the supported platforms.

The reason for having duplicate code in these files is to make it easier
to port pkgsrc to a new platform: You just have to copy one of the
existing platform files and edit the values in it. With some values
factored out, you would have to look at one more file.

Pointed out by agc@.
2007-10-19 13:41:34 +00:00
rillig
f53c1ce2ee Factored out the parts that are common between all the supported
platforms, mainly because it wouldn't have made sense to document the
variables in one of those files, but they need to be documented
somewhere.

Added the file defaults.mk, which now serves as the reference document
which provides useful default values and _explains_ the variables.
2007-10-18 21:52:23 +00:00
jlam
33f30156fb * Add new emulator framework in pkgsrc/mk/emulator that handles all
binary-only packages that require binary "emulation" on the native
  operating system.  Please see pkgsrc/mk/emulator/README for more
  details.

* Teach the plist framework to automatically use any existing
  PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.

* Convert all of the binary-only packages in pkgsrc to use the
  emulator framework.  Most of them have been tested to install and
  deinstall correctly.  This involves the following cleanup actions:

    * Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
      more consistently.

    * Simplify packages by using default INSTALL and DEINSTALL scripts
      instead of custom INSTALL/DEINSTALL code.

    * Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
      Packages only need to state exactly which emulations they support,
      and the framework handles any i386-on-x86_64 or sparc-on-sparc64
      uses.

    * Remove "USE_NATIVE_LINUX" from pkgsrc.  The framework will
      automatically detect when the package is installing on Linux.

  Specific changes to packages include:

    * Bump the PKGREVISIONs for all of the suse100* and suse91* packages
      due to changes in the +INSTALL/+DEINSTALL scripts used in all
      of the packages.

    * Remove pkgsrc/emulators/suse_linux, which is unused by any
      packages.

    * cad/lc -- remove custom code to create the distinfo file for
	all supported platforms; just use "emul-fetch" and "emul-distinfo"
	instead.

    * lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
	instead of ${PREFIX}/lib so that compiled programs will find
	the shared libraries.

    * mail/thunderbird-bin-nightly -- update to latest binary
	distributions for supported platforms.

    * multimedia/ns-flash -- update Linux version to 9.0.48 as the
	older version is no longer available for interactive fetch.

    * security/uvscan -- set LD_LIBRARY_PATH explicitly so that
	it's not necessary to install library symlinks into
	${EMULDIR}/usr/local/lib.

    * www/firefox-bin-flash -- update Linux version to 9.0.48 as the
	older version is no longer available for interactive fetch.
2007-07-29 05:18:36 +00:00
joerg
94be767784 Remove RSH definition. 2007-07-02 14:03:34 +00:00
rillig
f7b79c10f7 Added an empty line to make "make help topic=ABI" work better. 2006-11-18 07:48:06 +00:00
joerg
672d9ead13 Always use LOCALBASE setting from mk/defaults/mk.conf.
Setting it with ?= in the platform files is a nop anyway.
2006-10-06 14:28:46 +00:00
jlam
8f3802b3d9 Remove USE_GNU_GETTEXT from pkgsrc. Packages generally only needed
it for plurals support, but that is already handled correctly (FSVO
"correctly") by the pkgsrc/mk/tools/msgfmt.sh script.

Also remove _USE_GNU_GETTEXT definitions from pkgsrc/mk/platform/*.mk
files as that value has been unused by pkgsrc for quite some time
(going back several branches).
2006-07-20 20:02:23 +00:00
joerg
4476e7eb89 Add INSTALL_GAME_DIR to complement INSTALL_GAME_DATA. The directories
are group-writeable by the games user on those platforms, where
GAMEMODE includes setgid. It defaults to PKGDIRMODE otherwise.
2006-04-12 21:01:15 +00:00
jlam
058ac2968b Remove leftover code sections guarded by _USE_PLIST_MODULE which was
mainlined long ago.
2006-03-18 21:40:44 +00:00
jlam
8e0e10d3fa Initial commit of a new module that encapsulates all of the code
for manipulating PLISTs.  This module is not used by default pending
more widespread testing -- currently the variable _USE_PLIST_MODULE
must be defined in /etc/mk.conf to enable its use.

The main features of the new PLIST module are:

    (1) Splits out the PLIST-handling code from bsd.pkg.mk into a
	separate "plist" module.

    (2) Splits out giant, multi-line awk scripts stored in make
	variables into separate awk scripts that may be joined
	together to post-process PLISTs.  Each of these awk scripts
	consolidates the processing for one set of files, e.g.,
	man pages, info pages, etc., and is more easily commented
	than a make variable.

    (3) Splits out the print-PLIST code from the regular PLIST code
	since they have no common pieces (print-plist.mk vs.
	plist.mk).

    (4) Completely re-implements the shared-library handling to be
	more efficient.  Along the way, this also fixes a problem
	for Mac OS X users where the PLISTs incorrectly contained
	absolute paths.

    (5) Completely re-implements the info-file handling so that we
	can migrate from INFO_FILES definitions to just adding
	info/foo.info entries in the static PLISTs.

    (6) Adds commented-out support for automatically compressed or
	decompressed info page entries based on the value of MANZ.
	These changes will be activated after texinfo.mk has been
	replaced by something that is built using the more modern
	primitives now available in pkgsrc.

    (7) Move the file compression logic into a separate script
	"doc-compress" that compresses or decompresses files while
	minding symlinks.  This script is now called by bsd.pkg.mk
	to do the "autmoatic man page handling".  In the future,
	it will also handle the "automatic info page handling" and
	possible others.

In general, the idea is to move stuff out of the Makefiles and into
separate files where we don't need to worry about quoting rules
and where each file can have a separate history of commits.  This
simplifies the makefile logic (especially in terms of readability)
and also simplifies maintenance of the code.
2006-01-12 23:43:56 +00:00
christos
d6f119448c Also set ABI like SGI does; from Benjamin Shi. 2006-01-10 16:58:04 +00:00
christos
764aec25ab set the LIBABISUFFIX to 64 for amd64... 2006-01-06 22:47:24 +00:00
joerg
8ee73fae68 Add IMAKE_GAMEMAN_SUFFIX and IMAKE_GAMEMAN_DIR to allow PLISTs
to pick up the correct locations.

XXX Default values are guessed, x11/xsnow can be used for testing
2005-12-04 01:44:30 +00:00
reed
4b52aacba0 Fix typo. 2005-08-02 03:38:09 +00:00
reed
0ba4386344 Replace references of pkgsrc/mk/bsd.pkg.defaults.mk to
pkgsrc/mk/defaults/mk.conf.

This is from PR 30741 from anonymous AT example.net.
2005-08-02 00:23:31 +00:00
jlam
226567f45c Make IMAKE_TOOLS into a publicly-readable variable so that it can be
used by pkgtools/xpkgwedge.
2005-06-14 07:12:23 +00:00
jlam
05db0b4f12 Turn IMAKE_MAKE into a public variable that may be set via /etc/mk.conf. 2005-06-01 18:14:23 +00:00
jlam
9f94b112f0 Remove the old tools framework and references to _USE_NEW_TOOLS. 2005-05-22 19:11:12 +00:00
jlam
0e37f0df4d First pass at converting pkgsrc to use the new tools framework (still
not on by default).  Separate out the variable defintions that are
now made by the new tools framework.  Some of the trickier platforms
(AIX, IRIX, Interix, OSF1) still need more work.
2005-05-03 18:30:12 +00:00
jlam
8f5d2304a3 Back out part of a change from revision 1.756 of bsd.pkg.mk. It was
a mistake to include "GZIP" as an ${OPSYS}-specific variable as there
is nothing ${OPSYS}-specific there to tune.  Define GZIP in
defaults/mk.conf instead, and remove the definition from each of the
existing platform/${OPSYS}.mk files.
2005-05-03 15:10:59 +00:00
jlam
b26519d8a4 * Push the imake- and xmkmf-handling into the new tools framework.
* Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in
  bsd.pkg.mk to check for whether we need to depend on gmake or not.
  Instead, we now note in Linux.mk that packages that need imake will
  also need to use gmake by setting _IMAKE_TOOLS+=gmake.

* Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where
  it's closer to related code.
2005-05-02 21:10:02 +00:00
tv
b46a7543a3 Fix a gleaming illustration of why using YES/NO variables everywhere
possible, just for the sake of doing so, is not a good thing to do:

The platform files define _STRIPFLAG_* to determine whether to strip things.
But since this is included in bsd.prefs.mk, ".if ..." checks cannot take
things set in the Makefile into account.  So convert INSTALL_UNSTRIPPED=YES
to a defined/undefined variable check in bsd.pkg.mk, and use the :D:U idiom
in the _STRIPFLAG_* variables.

This should fix PR pkg/28772 and PR pkg/29031.
2005-03-18 18:16:34 +00:00
reed
a839411efa If /bin/id exists, then use it for ID else use /usr/bin/id.
Mandrake Linux 10.1 as used by A L Meyers has /bin/id.
This should fix his PR #pkg/29430 and #29431.
2005-02-17 20:03:26 +00:00
jlam
642fa3e0e6 Don't make pkgsrc depend on dc(1) to be present in the system. Since
we already use awk so pervasively in pkgsrc, simply use awk in place
of dc for simple computations.
2005-01-28 21:05:59 +00:00
tv
e2d4e995a8 Relax need to put GNU_CONFIGURE before inclusion of bsd.prefs.mk:
Convert _OPSYS_MAX_CMDLEN to a plain _OPSYS_MAX_CMDLEN_CMD variable, which
is not evaluated by a shell until CONFIGURE_ENV is expanded (and only then
if USE_LIBTOOL+GNU_CONFIGURE are both set).
2005-01-25 18:15:58 +00:00
minskim
dcc78c4962 Use GNU make on Linux when USE_IMAKE=yes, because Makefile generated
by imake on Linux requires GNU make.
2004-12-29 23:19:42 +00:00
tv
4b5d899ef8 Revert previous (re-add common CPP_PRECOMP_FLAGS). For consistency, also
move usage of _USER_DEPENDS and _OPSYS_MAX_CMDLEN to bsd.pkg.mk.
2004-11-16 18:04:00 +00:00
tv
2e3f2421db CPP_PRECOMP_FLAGS is a Darwinism only. Move its frobbing of CPPFLAGS to
platform/Darwin.mk (simplification).
2004-11-16 16:21:40 +00:00
tv
d1383b985f Set some _OPSYS_SHLIB_TYPE to precisely 'ELF' on platforms where a.out is
not being used by pkgsrc at all.  This saves some build time in
show-shlib-type.
2004-11-15 14:48:18 +00:00
tv
53860a0446 Make strip/no-strip choice more consistent:
Move check for INSTALL_UNSTRIPPED to the platform/*.mk files, alongside
existing check for DEBUG_FLAGS.
2004-10-13 15:31:31 +00:00
jlam
dffc19378a Reorganize some of the files under pkgsrc/mk:
(1) defs.${OPSYS}.mk --> platform/${OPSYS}.mk.

The "platform" subdirectory is where all of the ${OPSYS}-specific
infrastructure logic should reside.

    (2) bsd.pkg.defaults.mk --> defaults/mk.conf
        bsd.pkg.obsolete.mk --> defaults/obsolete.mk

Renaming bsd.pkg.defaults.mk to defaults/mk.conf is to mimic the way
that NetBSD has /etc/rc.conf as well as /etc/defaults/rc.conf, where
the latter is a full list of user-settable variables, and the two
files share the same name to reinforce the fact /etc/defaults/rc.conf
can be directly copied in place as /etc/rc.conf.  This is the same
relationship shared by defaults/mk.conf and /etc/mk.conf.
2004-10-06 20:51:47 +00:00
Renamed from mk/defs.Linux.mk (Browse further)