Commit graph

61 commits

Author SHA1 Message Date
jperkin
ea861a35ec Check for stdio.h in /usr/include test, as on upgrades the /usr/include
directory may still exist containing legacy application headers.

Noticed by schmonz.  Also add Mavericks to the version table while here.
2013-12-31 11:13:43 +00:00
tron
73293ff6a6 Don't use "${ECHO}" which isn't defined yet, hard code "echo" instead.
As this doesn't have to be portable anyway it won't cause problems.
2013-11-24 10:13:41 +00:00
jperkin
c52ee7c5a3 Handle older versions of xcrun. 2013-11-24 09:36:41 +00:00
jperkin
a1ff659fd1 Use xcrun to determine the full path to the SDK, and use the headers from
that location in the new find-headers infrastructure when they have not
been installed into /usr/include.

This allows us to remove the hardcoded builtins, as they can now be
correctly determined automatically.
2013-11-23 11:42:38 +00:00
jperkin
bdb291bf7d OSX Mavericks and Xcode 5 no longer ship system headers in /usr/include, they
are instead moved to SDK-specific locations.  This breaks many builtin checks
which assume headers are in a fixed place.

Rather than trying to dig around finding where Xcode.app might be installed,
just override IS_BUILTIN for libraries that we know exist.
2013-11-01 12:22:32 +00:00
jperkin
83b6d9d86f Move platform-specific code to the platform file. 2013-11-01 11:58:48 +00:00
jperkin
6c97838c0c Introduce _OPSYS_PREFER.<pkg> variables as a way to set an advisory
per-platform default.  Previously PREFER.<pkg> was used, and as that
has the highest precedence it meant the defaults could not be overridden
with the PREFER_PKGSRC and PREFER_NATIVE user variables.

While here, set the openssl default for SunOS back to pkgsrc, now that
users who wish to use the builtin can do so via PREFER_NATIVE=openssl.
2013-09-04 15:14:45 +00:00
jperkin
816174fe8b Move platform-specific settings to the platform file. 2013-08-16 12:11:17 +00:00
jperkin
02b10daeaf Rename the PKGNAME for the OPSYS-specific user packages to include the OPSYS,
so that they are correctly calculated as independent.

This avoids issues in bulk builds where the package version was taking
precedence and causing the wrong user package to be depended upon.
2013-07-12 10:41:58 +00:00
obache
5024bad0b1 Introduce _OPSYS_LIB_DIRS and _OPSYS_INCLUDE_DIRS varables.
list of system library and header file directories.

Also add missing _OPSYS_SYSTEM_RPATH for some platforms.
2013-04-28 12:53:56 +00:00
jperkin
05cb950dc2 Default to the native linux-pam implementation. It is available
since at least Leopard (10.5) and the security/PAM package does
not currently build, breaking PREFER_PKGSRC=yes.
2013-04-04 10:24:14 +00:00
wiz
6e3b6b5bea Remove "-no-cpp-precomp" from CPP_PRECOMP_FLAGS.
Obsolete since about Darwin-4.4.
Per Jason Bacon in PR 47531.
2013-02-04 15:53:16 +00:00
ryoon
815857fa38 Make MOTIF_TYPE_DEFAULT as motif (LGPL Motif) instead of openmotif or lesstif.
No objection on tech-pkg@.
2012-11-19 11:34:15 +00:00
joerg
9765e41589 Drop imake-check logic from X11 components' builtin.mk.
Always use xorg-cf-files and imake from pkgsrc, replacing xpkgwedge.
Always install man pages, not cat pages when using imake.
Unify the various imake PLIST variables in preparation for dropping.
Adjust xbattbar for the new expectations.
2012-03-19 12:34:12 +00:00
abs
bf20ddf838 From "What platforms work with X11_TYPE=native" thread on pkgsrc-users.
Based on the responses I'm going to switch the default X11_TYPE to
be modular, and override in platform/*.mk files as required. The
new values will be:

Changed - from native to modular
- FreeBSD
- FreeMiNT
- Linux

Changed - older versions switched from native to modular
- NetBSD - native for NetBSD-4 and later

Native (unchanged)  - should probably be switched to modular
- AIX
- BSDOS
- IRIX
- Interix
- MirBSD
- UnixWare

Native (unchanged)
- Darwin - for Leopard (10.5) and later
- OpenBSD.mk
- SunOS.mk

Modular (unchanged)
- DragonFly
- HPUX
- Haiku
- OSF1

I'd like to encourage anyone using X11 apps on any platforms other
than NetBSD, Darwin, DragonFly, FreeBSD, Linux, FreeMiNT, HPUX,
Haiku or OSF1 to speak up, whether they are happy with native or
having to set modular.
2011-09-10 16:30:02 +00:00
yyamano
79edae70ae Add comment for Mac OS X 10.7.x Lion. 2011-09-09 09:31:56 +00:00
adam
e52787fa21 Removed _INCOMPAT_ICONV.
The problem is Darwin's libiconv does not have symbols for libiconv_<name>
(e.g. libiconv_open), but iconv_<name> (e.g. iconv_open).
BUT when there's pkgsrc/converters/libiconv installed instead, it doesn't
have symbols for iconv_<name>, but libiconv_<name>.
Some packages auto-configure looks for libiconv_open (like glib2), others
look for iconv_open (like proftpd), and there's a conflict.
The solution is to replace libiconv_open with iconv_open with SUBST framework.
2011-01-04 09:53:31 +00:00
abs
6842004891 Why should apps compiled for OS X 10.4 and earlier have to languish with
outdated X libraries? Default to modular x11 for a more modern set of
features, bugfixes (and bugs), and to simplify application support
Does *not* affect 10.5 (Leopard) or later
2010-12-22 20:43:45 +00:00
dholland
4424b4c08b Begin cleanup of setgid game infrastructure.
* Introduce USE_GAMESGROUP, which causes the games user and group to
be made available.

 * Retain SETGIDGAME as an alias for USE_GAMESGROUP. Describe it as
deprecated.

 * Always define GAMES_USER, GAMES_GROUP, GAMEMODE, GAMEDIRMODE, and
GAMEDATAMODE, regardless of whether USE_GAMESGROUP is turned on or not.

 * Define these variables in defaults/mk.conf instead of separately in
every platform/*.mk file. The definitions used to be the same for each
of these platforms anyway, except for some where they were randomly
missing or commented out for no clear reason, leading to broken game
packages.

 * Handle all these variables properly when unprivileged.

 * Update the comments/documentation for these variables.

 * Describe GAMEOWN and GAMEGRP as deprecated. These need to be
retained as aliases for GAMES_USER and GAMES_GROUP respectively for
supporting packages that use bsd.*.mk but should otherwise not be
used.

 * Add GAMEDATA_PERMS and GAMEDIR_PERMS using GAMEDATAMODE and
GAMEDIRMODE respectively.

 * Fix a bug I noticed that was improperly mixing the "games" group
and "games" user.

Things this does *not* do:

 - get rid of GAMES_USER, for which there should ultimately be no need.

 - move the declaration/documentation/default value of USE_GAMESGROUP
to a suitable place. (It is currently where SETGIDGAME was, which is
suboptimal.)

 - touch any of the games, all of which need updating with at least
s/SETGIDGAME/USE_GAMESGROUP/ and probably more.

 - update the guide to explain how to handle games properly.

Also, it would be nice if using GAMES_GROUP without setting
USE_GAMESGROUP=yes caused an error but as far as I know there isn't
any particularly good way to arrange this right now.

Note that these changes may alter the build/install behavior of broken
game packages, e.g. some may silently become setgid when they weren't
before or things like that. If you run into any of this file a PR.

While one might arguably bump the PKGREVISION of all games or other
packages using any of these variables as a precaution, that seems like
a bad idea. Instead, I think I will be bumping each game once it
itself has been fixed up to do everything the right way.
2010-07-08 04:57:36 +00:00
tron
afd7200f80 The 64-Bit version of "libiconv" is not compatible with the GNU version
and therefore rejected by e.g. the "glib2" package. Use the "libiconv"
package to fix this.

Approved by Alistair Crooks.
2009-09-24 06:31:27 +00:00
tron
62efbfa9bf Add comment describing version numbers for Mac OS X Snow Leopard. 2009-09-12 21:41:26 +00:00
agc
d07c430fe5 Get rid of an abstraction violation which has been in the tree since
March 2008. Not vital, but the previous way does not scale well/at all.
2009-07-26 05:32:43 +00:00
tron
05fbe1aaa8 Don't use "/bin/ksh" to run wrappe scripts under Mac OS X before Leopard.
This should fix build problems reported by Christoph Egger.
2009-07-11 10:32:41 +00:00
schwarz
8a2dcb7bd1 /usr/bin/gcc on MacOS X is a wrapper that expects to call the (architecture-
dependent) real gcc binary with the same path as it has been evoked. When
it is called via a symbolic link this fails since the evokation path in that
case is the original one of the symbolic link. For that reason pkgsrc's
buildlink framework must be prevented from using symbolic links to refer to
/usr/bin/gcc.

imac:/tmp schwarz$ ln -s /usr/bin/gcc gcc
imac:/tmp schwarz$ /tmp/gcc
gcc: installation problem, cannot exec '/tmp/powerpc-apple-darwin8-gcc-4.0.1': No such file or directory
2009-06-07 11:34:27 +00:00
tron
76a8021ba5 Allow to set the "bourne" shell used for buildlink3 wrappers per platform.
Set it to "/bin/ksh" under Mac OS X which should reduce package build times
by more than 20%.
2009-05-06 10:28:01 +00:00
tron
bdc83f4e4c Revert last change for the moment as "/bin/ksh" fails to execute
the "configure" script of "pkg_install".
2009-04-27 12:03:36 +00:00
tron
9adc2cce6a Set "SH" to "/bin/ksh" under Mac OS X Leopard:
- "libtool" will use "ksh" if it gets rebuilt after this change.
- Buildlink wrappers will now use "ksh".
- Configure script will be executed using "ksh".
This improves build performance by more than 30%.

Change discussed on "tech-pkg" mailing list.
2009-04-24 11:54:14 +00:00
tron
65c127a1a3 Update Xcode information for Mac OS X Leopard. 2008-12-16 08:11:29 +00:00
ahoka
a8c167b572 Reverting my previous openmotif->lesstif changes. 2008-09-22 17:11:02 +00:00
ahoka
1382d85001 As the openmotif license doesnt allow usage on close source systems,
there is no good reason to be default on those platforms.

Change the default to lesstif on AIX, BSDOS, Darwin, HPUX, Interix, OSF1.
2008-09-14 09:51:30 +00:00
jlam
26a6bb9ac4 + Conditionally add GAMES_USER and GAMES_GROUP to the platform *.mk
files.  These variables are currently usable if ${SETGIDGAME} == yes.
  These variables should be used when describing ownership of files
  and directories to the pkginstall framework, e.g.

	SPECIAL_PERMS=	bin/foogame ${GAMES_USER} ${GAMES_GROUP} 2555

+ Rename SETGID_GAME_PERMS to SETGID_GAMES_PERMS because the default
  group name is "games".

+ Define SETGID_GAMES_PERMS in terms of GAMES_USER and GAMES_GROUP so
  that these names are protected from the normal flow of unprivileged.mk.
  This fixes the +INSTALL scripts in "user-destdir" packages to
  correctly refer to the games:games instead of the user:group of the
  user that built the packages.
2008-03-04 06:45:33 +00:00
yyamano
8ea5fe16d9 Add a list of the codename, os, kernel and xcode version based on
tron's mail on tech-pkg. Thanks gtd for yourusuggestion to add xcode version.
2008-02-17 11:45:14 +00:00
tron
5acb5cbde8 Try to fix PR pkg/26143 with caution:
- Set "CC" to "gcc -isystem /usr/include" during bootstrap.
- Add "-isystem /usr/include" to the Darwin specific "CPPFLAGS".
2008-01-30 22:57:31 +00:00
tron
0efe5a4def Fix cut and paste error in last change. 2007-12-16 12:36:28 +00:00
tron
a9c785eaa1 Mac OS X's Leopard "/bin/sh" doesn't support "echo -n" (apparently by
purpose because if it is invoked as "/bin/bash" it does). Use
"/bin/echo -n" instead.
2007-12-16 12:27:28 +00:00
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
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
tron
6620b33b6b Define "NOLOGIN" to "/usr/bin/false" rather than ${FALSE} (which doesn't
contain the directory name) and don't set "_PKG_USER_SHELL" which should
really be private to "bsd.pkginstall.mk".
2006-09-18 15:11:37 +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
schwarz
6a99fbad5b Modified xmkmf support for Darwin and IRIX:
- on Darwin, pkgsrc no longer tries to set user or group when installing
  as unprivileged user, i.e. with UNPRIVILEGED set to yes.
- on IRIX (5 and 6) the system's xmkmf config files are no longer modified.
  Instead copies (that take priority with pkgsrc's xmkmf) are used for that
  purpose.
2006-04-10 13:38:36 +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
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
05db0b4f12 Turn IMAKE_MAKE into a public variable that may be set via /etc/mk.conf. 2005-06-01 18:14:23 +00:00