diff options
23 files changed, 1505 insertions, 2 deletions
diff --git a/packages/groff/.mtn2git_empty b/packages/groff/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/groff/.mtn2git_empty diff --git a/packages/groff/groff/.mtn2git_empty b/packages/groff/groff/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/groff/groff/.mtn2git_empty diff --git a/packages/groff/groff/groff.patch b/packages/groff/groff/groff.patch new file mode 100644 index 0000000000..d28c21a2a3 --- /dev/null +++ b/packages/groff/groff/groff.patch @@ -0,0 +1,35 @@ +--- groff/contrib/mom/Makefile.sub~ 2005-01-23 10:48:26.000000000 +0100 ++++ groff/contrib/mom/Makefile.sub 2005-01-23 10:52:49.000000000 +0100 +@@ -18,7 +18,7 @@ + # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # These may be overridden if cross-compiling. +-GROFFBIN=$(top_builddir)/src/roff/groff/groff ++GROFFBIN=echo + GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|$(SH_SEP)|g'` + + groff_bin_dirs=\ +--- groff/doc/Makefile.in~ 2005-01-23 10:58:22.000000000 +0100 ++++ groff/doc/Makefile.in 2005-01-23 10:59:13.000000000 +0100 +@@ -35,8 +35,8 @@ + pnmtops=@pnmtops_nosetpage@ + + # These may be overridden if cross-compiling. +-TROFFBIN=$(top_builddir)/src/roff/troff/troff +-GROFFBIN=$(top_builddir)/src/roff/groff/groff ++TROFFBIN=echo ++GROFFBIN=echo + GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'` + + # Since info files are distributed within the groff package, no +--- groff/doc/Makefile.sub~ 2005-01-23 10:58:30.000000000 +0100 ++++ groff/doc/Makefile.sub 2005-01-23 10:59:35.000000000 +0100 +@@ -18,7 +18,7 @@ + # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # These may be overridden if cross-compiling. +-GROFFBIN=$(top_builddir)/src/roff/groff/groff ++GROFFBIN=echo + GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|$(SH_SEP)|g'` + + # Since info files are distributed within the groff package, no diff --git a/packages/groff/groff_1.19.1.bb b/packages/groff/groff_1.19.1.bb new file mode 100644 index 0000000000..e54950f837 --- /dev/null +++ b/packages/groff/groff_1.19.1.bb @@ -0,0 +1,22 @@ +LICENSE = "GPL" +SECTION = "base" +DESCRIPTION = "GNU roff" +RDEPENDS="libstdc++6" +MAINTAINER = "Inge Arnesen <inge.arnesen@gmail.com>" +SRC_URI = "http://ftp.gnu.org/gnu/groff/groff-${PV}.tar.gz \ + file://groff.patch;patch=1" + +# prefix and exec-prefix are broken and the .in file is broken too +# and can't be autoreconf'ed, so specify every dir +EXTRA_OECONF="--prefix=${D} --exec-prefix=${D} --bindir=${D}/usr/bin --datadir=${D}/usr/share --mandir=${D}/usr/man --infodir=${D}/usr/share/info" + +inherit autotools + +do_configure () { + oe_runconf +} + +#do_install() { +# oe_runmake 'PREFIX=${D}' install +#} + diff --git a/packages/libtool/libtool-native_1.5.10.bb b/packages/libtool/libtool-native_1.5.10.bb index c08b3ae82d..b8adccfe3d 100644 --- a/packages/libtool/libtool-native_1.5.10.bb +++ b/packages/libtool/libtool-native_1.5.10.bb @@ -1,7 +1,7 @@ SECTION = "devel" include libtool_${PV}.bb -PR = "r2" +PR = "r3" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" SRC_URI_append = " file://libdir-la.patch;patch=1 \ file://prefix.patch;patch=1 \ diff --git a/packages/libtool/libtool_1.5.10.bb b/packages/libtool/libtool_1.5.10.bb index f627f762af..1202279524 100644 --- a/packages/libtool/libtool_1.5.10.bb +++ b/packages/libtool/libtool_1.5.10.bb @@ -33,4 +33,3 @@ do_stage () { oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR} install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/ } -} diff --git a/packages/man/man/.mtn2git_empty b/packages/man/man/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/man/man/.mtn2git_empty diff --git a/packages/man/man/man.conf b/packages/man/man/man.conf new file mode 100644 index 0000000000..bb3c69720e --- /dev/null +++ b/packages/man/man/man.conf @@ -0,0 +1,140 @@ +# +# Generated automatically from man.conf.in by the +# configure script. +# +# man.conf from man-1.5p +# +# For more information about this file, see the man pages man(1) +# and man.conf(5). +# +# This file is read by man to configure the default manpath (also used +# when MANPATH contains an empty substring), to find out where the cat +# pages corresponding to given man pages should be stored, +# and to map each PATH element to a manpath element. +# It may also record the pathname of the man binary. [This is unused.] +# The format is: +# +# MANBIN pathname +# MANPATH manpath_element [corresponding_catdir] +# MANPATH_MAP path_element manpath_element +# +# If no catdir is given, it is assumed to be equal to the mandir +# (so that this dir has both man1 etc. and cat1 etc. subdirs). +# This is the traditional Unix setup. +# Certain versions of the FSSTND recommend putting formatted versions +# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x. +# The keyword FSSTND will cause this behaviour. +# Certain versions of the FHS recommend putting formatted versions of +# /usr/.../share/man/[locale/]manx/page.x into +# /var/cache/man/.../[locale/]catx/page.x. +# The keyword FHS will cause this behaviour (and overrides FSSTND). +# Explicitly given catdirs override. +# +# FSSTND +FHS +# +# This file is also read by man in order to find how to call nroff, less, etc., +# and to determine the correspondence between extensions and decompressors. +# +# MANBIN /usr/local/bin/man +# +# Every automatically generated MANPATH includes these fields +# +MANPATH /usr/man +MANPATH /usr/share/man +MANPATH /usr/local/man +MANPATH /usr/local/share/man +MANPATH /usr/X11R6/man +# +# Uncomment if you want to include one of these by default +# +# MANPATH /opt/*/man +# MANPATH /usr/lib/*/man +# MANPATH /usr/share/*/man +# MANPATH /usr/kerberos/man +# +# Set up PATH to MANPATH mapping +# +# If people ask for "man foo" and have "/dir/bin/foo" in their PATH +# and the docs are found in "/dir/man", then no mapping is required. +# +# The below mappings are superfluous when the right hand side is +# in the mandatory manpath already, but will keep man from statting +# lots of other nearby files and directories. +# +MANPATH_MAP /bin /usr/share/man +MANPATH_MAP /sbin /usr/share/man +MANPATH_MAP /usr/bin /usr/share/man +MANPATH_MAP /usr/sbin /usr/share/man +MANPATH_MAP /usr/local/bin /usr/local/share/man +MANPATH_MAP /usr/local/sbin /usr/local/share/man +MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man +MANPATH_MAP /usr/bin/X11 /usr/X11R6/man +MANPATH_MAP /usr/bin/mh /usr/share/man +# +# NOAUTOPATH keeps man from automatically adding directories that look like +# manual page directories to the path. +# +#NOAUTOPATH +# +# NOCACHE keeps man from creating cache pages ("cat pages") +# (generally one enables/disable cat page creation by creating/deleting +# the directory they would live in - man never does mkdir) +# +#NOCACHE +# +# Useful paths - note that COL should not be defined when +# NROFF is defined as "groff -Tascii" or "groff -Tlatin1"; +# not only is it superfluous, but it actually damages the output. +# For use with utf-8, NROFF should be "nroff -mandoc" without -T option. +# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.) +# +# If you have a new troff (version 1.18.1?) and its colored output +# causes problems, add the -c option to TROFF, NROFF, JNROFF. +# +TROFF /usr/bin/groff -Tps -mandoc +NROFF /usr/bin/nroff -Tlatin1 -mandoc +JNROFF /usr/bin/groff -Tnippon -mandocj +EQN /usr/bin/eqn -Tps +NEQN /usr/bin/eqn -Tlatin1 +JNEQN /usr/bin/eqn -Tnippon +TBL /usr/bin/tbl +# COL /usr/bin/col +REFER /usr/bin/refer +PIC /usr/bin/pic +VGRIND +GRAP +PAGER /usr/bin/less -isR +CAT /bin/cat +# +# The command "man -a xyzzy" will show all man pages for xyzzy. +# When CMP is defined man will try to avoid showing the same +# text twice. (But compressed pages compare unequal.) +# +CMP /usr/bin/cmp -s +# +# Compress cat pages +# +COMPRESS /bin/bzip2 +COMPRESS_EXT .bz2 +# +# Default manual sections (and order) to search if -S is not specified +# and the MANSECT environment variable is not set. +# +MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o +# +# Default options to use when man is invoked without options +# This is mainly for the benefit of those that think -a should be the default +# Note that some systems have /usr/man/allman, causing pages to be shown twice. +# +#MANDEFOPTIONS -a +# +# Decompress with given decompressor when input file has given extension +# The command given must act as a filter. +# +.gz /bin/gunzip -c +.bz2 /bin/bzip2 -c -d +.z +.Z /bin/zcat +.F +.Y diff --git a/packages/man/man_1.5p.bb b/packages/man/man_1.5p.bb new file mode 100644 index 0000000000..c666cf6c9c --- /dev/null +++ b/packages/man/man_1.5p.bb @@ -0,0 +1,34 @@ +LICENSE = "GPL" +SECTION = "base" +MAINTAINER = "Inge Arnesen <inge.arnesen@gmail.com>" +DESCRIPTION = "The man page suite, including man, apropos, \ +and whatis consists of programs that are used to read most \ +of the documentation available on a Linux system." +RDEPENDS="less groff" +# Note: The default man.conf uses wrong names for GNU eqn and troff, +# so we install our own +SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/man/man-${PV}.tar.bz2 \ + file://man.conf" + +EXTRA_OEMAKE = "" +GS = "-DGREPSILENT=\"q\"" +DEFS = "-DUSG -DDO_COMPRESS ${GS}" + +do_configure() { + ./configure -d -confdir ${sysconfdir} +} + +do_compile() { + (cd src; ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ + makemsg.c -o makemsg) + oe_runmake 'DEFS=${DEFS}' +} + +do_install() { + oe_runmake 'PREFIX=${D}' install + install -m 644 ${FILESDIR}/man.conf ${D}/etc +} + +FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \ + ${libdir}/*/ ${sysconfdir} ${sharedstatedir} ${localstatedir} \ + /bin /sbin /lib/*/ /lib/*.so*" diff --git a/packages/ncftp/ncftp_3.1.9.bb b/packages/ncftp/ncftp_3.1.9.bb new file mode 100644 index 0000000000..99673d8a97 --- /dev/null +++ b/packages/ncftp/ncftp_3.1.9.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "A sophisticated console ftp client" +SECTION = "console/network" +PRIORITY = "optional" +LICENSE = "ClarifiedArtistic" +SRC_URI = "ftp://ftp.ncftp.com/ncftp/ncftp-${PV}-src.tar.bz2 \ + file://acinclude.m4" + +inherit autotools + +do_configure_prepend () { + install -m 0644 ${WORKDIR}/acinclude.m4 acinclude.m4 +} + +do_install () { + install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir} + oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \ + 'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \ + install +} diff --git a/packages/procps/procps-3.2.5/.mtn2git_empty b/packages/procps/procps-3.2.5/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/procps/procps-3.2.5/.mtn2git_empty diff --git a/packages/procps/procps-3.2.5/install.patch b/packages/procps/procps-3.2.5/install.patch new file mode 100644 index 0000000000..a05eec4ab6 --- /dev/null +++ b/packages/procps/procps-3.2.5/install.patch @@ -0,0 +1,25 @@ +*** procps-3.2.5/Makefile.orig Sun Jul 24 03:29:32 2005 +--- procps-3.2.5/Makefile Sun Jul 24 03:30:14 2005 +*************** +*** 211,220 **** + ###### install + + $(BINFILES) : all +! $(install) --mode a=rx $(notdir $@) $@ + + $(MANFILES) : all +! $(install) --mode a=r $(notdir $@) $@ + + install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL)) + cd $(usr/bin) && $(ln_f) skill snice +--- 211,220 ---- + ###### install + + $(BINFILES) : all +! $(install) -m 555 $(notdir $@) $@ + + $(MANFILES) : all +! $(install) -m 444 $(notdir $@) $@ + + install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL)) + cd $(usr/bin) && $(ln_f) skill snice diff --git a/packages/procps/procps-3.2.5/pagesz-not-constant.patch b/packages/procps/procps-3.2.5/pagesz-not-constant.patch new file mode 100644 index 0000000000..8e9e1ebfe1 --- /dev/null +++ b/packages/procps/procps-3.2.5/pagesz-not-constant.patch @@ -0,0 +1,22 @@ +Index: procps-3.2.1/proc/devname.c +=================================================================== +--- procps-3.2.1.orig/proc/devname.c 2004-03-18 05:43:50.000000000 +1100 ++++ procps-3.2.1/proc/devname.c 2005-04-02 10:40:17.462138000 +1000 +@@ -227,7 +227,7 @@ + + /* number --> name */ + unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) { +- static char buf[PAGE_SIZE]; ++ static char buf[4096]; + char *restrict tmp = buf; + unsigned dev = dev_t_dev; + unsigned i = 0; +@@ -249,7 +249,7 @@ + if((flags&ABBREV_TTY) && !strncmp(tmp,"tty", 3) && tmp[3]) tmp += 3; + if((flags&ABBREV_PTS) && !strncmp(tmp,"pts/", 4) && tmp[4]) tmp += 4; + /* gotta check before we chop or we may chop someone else's memory */ +- if(chop + (unsigned long)(tmp-buf) <= sizeof buf) ++ if(chop + (unsigned long)(tmp-buf) < sizeof buf) + tmp[chop] = '\0'; + /* replace non-ASCII characters with '?' and return the number of chars */ + for(;;){ diff --git a/packages/procps/procps-3.2.5/procmodule.patch b/packages/procps/procps-3.2.5/procmodule.patch new file mode 100644 index 0000000000..fabfabaa59 --- /dev/null +++ b/packages/procps/procps-3.2.5/procmodule.patch @@ -0,0 +1,36 @@ +*** procps-3.2.5/proc/module.mk.orig Sun Jul 24 11:53:49 2005 +--- procps-3.2.5/proc/module.mk Sun Jul 24 11:54:32 2005 +*************** +*** 96,102 **** + #################### install rules ########################### + + $(lib)$(SOFILE) : proc/$(SONAME) +! $(install) --mode a=rx $< $@ + + ifneq ($(SOLINK),$(SOFILE)) + .PHONY: $(lib)$(SOLINK) +--- 96,102 ---- + #################### install rules ########################### + + $(lib)$(SOFILE) : proc/$(SONAME) +! $(install) -m 555 $< $@ + + ifneq ($(SOLINK),$(SOFILE)) + .PHONY: $(lib)$(SOLINK) +*************** +*** 115,121 **** + $(ldconfig) + + $(usr/lib)$(ANAME) : proc/$(ANAME) +! $(install) --mode a=r $< $@ + + # Junk anyway... supposed to go in /usr/include/$(NAME) + #INSTALL += $(addprefix $(include),$(HDRFILES)) +--- 115,121 ---- + $(ldconfig) + + $(usr/lib)$(ANAME) : proc/$(ANAME) +! $(install) -m 444 $< $@ + + # Junk anyway... supposed to go in /usr/include/$(NAME) + #INSTALL += $(addprefix $(include),$(HDRFILES)) diff --git a/packages/procps/procps-3.2.5/psmodule.patch b/packages/procps/procps-3.2.5/psmodule.patch new file mode 100644 index 0000000000..f298c1c1c4 --- /dev/null +++ b/packages/procps/procps-3.2.5/psmodule.patch @@ -0,0 +1,21 @@ +*** procps-3.2.5/ps/module.mk.orig Sun Jul 24 11:54:40 2005 +--- procps-3.2.5/ps/module.mk Sun Jul 24 11:55:02 2005 +*************** +*** 33,40 **** + + + $(bin)ps: ps/ps +! $(install) --mode a=rx $< $@ + + $(man1)ps.1 : ps/ps.1 +! $(install) --mode a=r $< $@ + -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz +--- 33,40 ---- + + + $(bin)ps: ps/ps +! $(install) -m 555 $< $@ + + $(man1)ps.1 : ps/ps.1 +! $(install) -m 444 $< $@ + -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz diff --git a/packages/procps/procps_3.2.5.bb b/packages/procps/procps_3.2.5.bb new file mode 100644 index 0000000000..24def79a50 --- /dev/null +++ b/packages/procps/procps_3.2.5.bb @@ -0,0 +1,25 @@ +LICENSE = "GPL" +DESCRIPTION = "Procps is the package that has a bunch \ +of small useful utilities that give information \ +about processes using the /proc filesystem. The package \ +includes the programs ps, top, vmstat, w, kill, and skill." +SECTION = "base" +PRIORITY = "optional" +MAINTAINER = "Inge Arnesen <inge.arnesen@gmail.com>" +DEPENDS = "ncurses" +PR = "r1" + +SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz \ + file://install.patch;patch=1 \ + file://procmodule.patch;patch=1 \ + file://psmodule.patch;patch=1" + + + +inherit autotools + +EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \ + LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \ + CURSES=-lncurses \ + install='install -D' \ + ldconfig=echo" diff --git a/packages/screen/.mtn2git_empty b/packages/screen/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/screen/.mtn2git_empty diff --git a/packages/screen/screen-4.0.2/.mtn2git_empty b/packages/screen/screen-4.0.2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/screen/screen-4.0.2/.mtn2git_empty diff --git a/packages/screen/screen-4.0.2/configure.patch b/packages/screen/screen-4.0.2/configure.patch new file mode 100644 index 0000000000..2770a7a481 --- /dev/null +++ b/packages/screen/screen-4.0.2/configure.patch @@ -0,0 +1,970 @@ + +# +# Patch by Hannes Reich (hannes@skynet.ie) 22-Jul-2005 +# Resolves _some_ of the cross-compilation issues in screen's configure.in +# + +--- screen-4.0.1/configure.in~configure ++++ screen-4.0.1/configure.in +@@ -37,6 +37,323 @@ + VERSION="$rev.$vers.$pat" + AC_NOTE(this is screen version $VERSION) + AC_SUBST(VERSION) ++ ++AH_TOP([ ++/* Copyright (c) 1993-2000 ++ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) ++ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) ++ * Copyright (c) 1987 Oliver Laumann ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program (see the file COPYING); if not, write to the ++ * Free Software Foundation, Inc., ++ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ++ * ++ */ ++ ++ ++/********************************************************************** ++ * ++ * User Configuration Section ++ */ ++ ++/* ++ * Maximum of simultaneously allowed windows per screen session. ++ */ ++#ifndef MAXWIN ++# define MAXWIN 40 ++#endif ++ ++/* ++ * Define SOCKDIR to be the directory to contain the named sockets ++ * screen creates. This should be in a common subdirectory, such as ++ * /usr/local or /tmp. It makes things a little more secure if you ++ * choose a directory which is not writable by everyone or where the ++ * "sticky" bit is on, but this isn't required. ++ * If SOCKDIR is not defined screen will put the named sockets in ++ * the user's home directory. Notice that this can cause you problems ++ * if some user's HOME directories are AFS- or NFS-mounted. Especially ++ * AFS is unlikely to support named sockets. ++ * ++ * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison). ++ */ ++#undef SOCKDIR ++ ++/* ++ * Define this if the SOCKDIR is not shared between hosts. ++ */ ++#define SOCKDIR_IS_LOCAL_TO_HOST ++ ++/* ++ * Screen sources two startup files. First a global file with a path ++ * specified here, second your local $HOME/.screenrc ++ * Don't define this, if you don't want it. ++ */ ++#ifndef ETCSCREENRC ++# define ETCSCREENRC "/usr/local/etc/screenrc" ++#endif ++ ++/* ++ * Screen can look for the environment variable $SYSSCREENRC and -if it ++ * exists- load the file specified in that variable as global screenrc. ++ * If you want to enable this feature, define ALLOW_SYSSCREENRC to one (1). ++ * Otherwise ETCSCREENRC is always loaded. ++ */ ++#define ALLOW_SYSSCREENRC 1 ++ ++/* ++ * Screen needs encoding files for the translation of utf8 ++ * into some encodings, e.g. JIS, BIG5. ++ * Only needed if FONT, ENCODINGS and UTF8 are defined. ++ */ ++#ifndef SCREENENCODINGS ++# define SCREENENCODINGS "/usr/local/lib/screen/encodings" ++#endif ++/* ++ * Define CHECKLOGIN to force Screen users to enter their Unix password ++ * in addition to the screen password. ++ * ++ * Define NOSYSLOG if yo do not have logging facilities. Currently ++ * syslog() will be used to trace ``su'' commands only. ++ */ ++#define CHECKLOGIN 1 ++#undef NOSYSLOG ++ ++ ++/* ++ * define PTYMODE if you do not like the default of 0622, which allows ++ * public write to your pty. ++ * define PTYGROUP to some numerical group-id if you do not want the ++ * tty to be in "your" group. ++ * Note, screen is unable to change mode or group of the pty if it ++ * is not installed with sufficient privilege. (e.g. set-uid-root) ++ * define PTYROFS if the /dev/pty devices are mounted on a read-only ++ * filesystem so screen should not even attempt to set mode or group ++ * even if running as root (e.g. on TiVo). ++ */ ++#undef PTYMODE ++#undef PTYGROUP ++#undef PTYROFS ++ ++/* ++ * If screen is NOT installed set-uid root, screen can provide tty ++ * security by exclusively locking the ptys. While this keeps other ++ * users from opening your ptys, it also keeps your own subprocesses ++ * from being able to open /dev/tty. Define LOCKPTY to add this ++ * exclusive locking. ++ */ ++#undef LOCKPTY ++ ++/* ++ * If you'd rather see the status line on the first line of your ++ * terminal rather than the last, define TOPSTAT. ++ */ ++#undef TOPSTAT ++ ++/* ++ * define DETACH can detach a session. An absolute 'must'. ++ */ ++#define DETACH ++ ++/* ++ * here come the erlangen extensions to screen: ++ * define LOCK if you want to use a lock program for a screenlock. ++ * define PASSWORD for secure reattach of your screen. ++ * define COPY_PASTE to use the famous hacker's treasure zoo. ++ * define POW_DETACH to have a detach_and_logout key (requires DETACH). ++ * define REMOTE_DETACH (-d option) to move screen between terminals. ++ * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking ++ * define PSEUDOS to allow window input/output filtering ++ * define MULTI to allow multiple attaches. ++ * define MULTIUSER to allow other users attach to your session ++ * (if they are in the acl, of course) ++ * define MAPKEYS to include input keyboard translation. ++ * define FONT to support ISO2022/alternet charset support ++ * define COLOR to include ansi color support. This may expose ++ * a bug in x11r6-color-xterm. ++ * define DW_CHARS to include support for double-width character ++ * sets. ++ * define ENCODINGS to include support for encodings like euc or big5. ++ * Needs FONT to work. ++ * define UTF8 if you want support for UTF-8 encoding. ++ * Needs FONT and ENCODINGS to work. ++ * define COLORS16 if you want 16 colors. ++ * Needs COLOR to work. ++ * define BUILTIN_TELNET to add telnet support to screen. ++ * Syntax: screen //telnet host [port] ++ * define RXVT_OSC if you want support for rxvts special ++ * change fgcolor/bgcolor/bgpicture sequences ++ */ ++#undef SIMPLESCREEN ++#ifndef SIMPLESCREEN ++# define LOCK ++# define PASSWORD ++# define COPY_PASTE ++# define REMOTE_DETACH ++# define POW_DETACH ++# define AUTO_NUKE ++# define PSEUDOS ++# define MULTI ++# define MULTIUSER ++# define MAPKEYS ++# define COLOR ++# define FONT ++# define DW_CHARS ++# define ENCODINGS ++# define UTF8 ++# define COLORS16 ++# define ZMODEM ++# define BLANKER_PRG ++#endif /* SIMPLESCREEN */ ++ ++#undef BUILTIN_TELNET ++#undef RXVT_OSC ++#undef COLORS256 ++ ++ ++/* ++ * If you have a braille display you should define HAVE_BRAILLE. ++ * The code inside #ifdef HAVE_BRAILLE was contributed by Hadi Bargi ++ * Rangin (bargi@dots.physics.orst.edu). ++ * WARNING: this is more or less unsupported code, it may be full of ++ * bugs leading to security holes, enable at your own risk! ++ */ ++#undef HAVE_BRAILLE ++ ++ ++/* ++ * As error messages are mostly meaningless to the user, we ++ * try to throw out phrases that are somewhat more familiar ++ * to ...well, at least familiar to us NetHack players. ++ */ ++#ifndef NONETHACK ++# define NETHACK ++#endif /* NONETHACK */ ++ ++/* ++ * If screen is installed with permissions to update /etc/utmp (such ++ * as if it is installed set-uid root), define UTMPOK. ++ */ ++#define UTMPOK ++ ++/* Set LOGINDEFAULT to one (1) ++ * if you want entries added to /etc/utmp by default, else set it to ++ * zero (0). ++ * LOGINDEFAULT will be one (1) whenever LOGOUTOK is undefined! ++ */ ++#define LOGINDEFAULT 1 ++ ++/* Set LOGOUTOK to one (1) ++ * if you want the user to be able to log her/his windows out. ++ * (Meaning: They are there, but not visible in /etc/utmp). ++ * Disabling this feature only makes sense if you have a secure /etc/utmp ++ * database. ++ * Negative examples: suns usually have a world writable utmp file, ++ * xterm will run perfectly without s-bit. ++ * ++ * If LOGOUTOK is undefined and UTMPOK is defined, all windows are ++ * initially and permanently logged in. ++ * ++ * Set CAREFULUTMP to one (1) if you want that users have at least one ++ * window per screen session logged in. ++ */ ++#define LOGOUTOK 1 ++#undef CAREFULUTMP ++ ++ ++/* ++ * If UTMPOK is defined and your system (incorrectly) counts logins by ++ * counting non-null entries in /etc/utmp (instead of counting non-null ++ * entries with no hostname that are not on a pseudo tty), define USRLIMIT ++ * to have screen put an upper-limit on the number of entries to write ++ * into /etc/utmp. This helps to keep you from exceeding a limited-user ++ * license. ++ */ ++#undef USRLIMIT ++ ++/* ++ * both must be defined if you want to favor tcsendbreak over ++ * other calls to generate a break condition on serial lines. ++ * (Do not bother, if you are not using plain tty windows.) ++ */ ++#define POSIX_HAS_A_GOOD_TCSENDBREAK ++#define SUNOS4_AND_WE_TRUST_TCSENDBREAK ++ ++/* ++ * to lower the interrupt load on the host machine, you may want to ++ * adjust the VMIN and VTIME settings used for plain tty windows. ++ * See the termio(4) manual page (Non-Canonical Mode Input Processing) ++ * for details. ++ * if undefined, VMIN=1, VTIME=0 is used as a default - this gives you ++ * best user responsiveness, but highest interrupt frequency. ++ * (Do not bother, if you are not using plain tty windows.) ++ */ ++#define TTYVMIN 100 ++#define TTYVTIME 2 ++ ++/* ++ * looks like the above values are ignored by setting FNDELAY. ++ * This is default for all pty/ttys, you may disable it for ++ * ttys here. After playing with it for a while, one may find out ++ * that this feature may cause screen to lock up. ++ */ ++#ifdef bsdi ++# define TTY_DISABLE_FNBLOCK /* select barfs without it ... */ ++#endif ++ ++ ++/* ++ * Some terminals, e.g. Wyse 120, use a bitfield to select attributes. ++ * This doesn't work with the standard so/ul/m? terminal entries, ++ * because they will cancel each other out. ++ * On TERMINFO machines, "sa" (sgr) may work. If you want screen ++ * to switch attributes only with sgr, define USE_SGR. ++ * This is *not* recomended, do this only if you must. ++ */ ++#undef USE_SGR ++ ++ ++/* ++ * Define USE_LOCALE if you want screen to use the locale names ++ * for the name of the month and day of the week. ++ */ ++#define USE_LOCALE ++ ++/* ++ * Define USE_PAM if your system supports PAM (Pluggable Authentication ++ * Modules) and you want screen to use it instead of calling crypt(). ++ * (You may also need to add -lpam to LIBS in the Makefile.) ++ */ ++#undef USE_PAM ++ ++/* ++ * Define CHECK_SCREEN_W if you want screen to set TERM to screen-w ++ * if the terminal width is greater than 131 columns. No longer needed ++ * on modern systems which use $COLUMNS or the tty settings instead. ++ */ ++#undef CHECK_SCREEN_W ++ ++/********************************************************************** ++ * ++ * End of User Configuration Section ++ * ++ * Rest of this file is modified by 'configure' ++ * Change at your own risk! ++ * ++ */ ++]) ++# end of AH_TOP ++ + AC_PREFIX_PROGRAM(screen) + AC_PREFIX_PROGRAM(gzip) + +@@ -46,6 +363,7 @@ + AC_PROG_GCC_TRADITIONAL + AC_ISC_POSIX + ++AC_MSG_CHECKING([for compiler sanity]) + AC_TRY_RUN(main(){exit(0);},,[ + if test $CC != cc ; then + AC_NOTE(Your $CC failed - restarting with CC=cc) +@@ -54,22 +372,17 @@ + export CC + exec $0 $configure_args + fi +-]) +- +-AC_TRY_RUN(main(){exit(0);},, +-exec 5>&2 +-eval $ac_link +-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;) +-AC_NOTE($ac_compile) +-AC_MSG_ERROR(Can't run the compiler - sorry)) ++],AC_MSG_WARN([skipping test due to crosscompilation])) + ++AC_MSG_CHECKING([if compiler sets exit status]) + AC_TRY_RUN([ + main() + { + int __something_strange_(); + __something_strange_(0); + } +-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry)) ++],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),, ++AC_MSG_WARN(skipping test due to crosscompilation)) + + AC_PROG_AWK + +@@ -103,6 +416,7 @@ + dnl + dnl **** special unix variants **** + dnl ++AH_TEMPLATE(ISC,[]) + if test -n "$ISC"; then + AC_DEFINE(ISC) LIBS="$LIBS -linet" + fi +@@ -114,11 +428,13 @@ + dnl fi + dnl fi + ++AH_TEMPLATE([sysV68],[]) + if test -f /sysV68 ; then + AC_DEFINE(sysV68) + fi + + AC_CHECKING(for MIPS) ++AH_TEMPLATE([MIPS],[]) + if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then + oldlibs="$LIBS" + test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha. +@@ -132,6 +448,8 @@ + AC_CHECKING(wait3) + AC_TRY_LINK(,[wait3();], , + AC_CHECKING(wait2) ++AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com]) ++dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT + AC_TRY_LINK(,[wait2();], + dnl John Rouillard (rouilj@sni-usa.com): + dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no +@@ -154,9 +472,11 @@ + oldlibs="$LIBS" + LIBS="$LIBS -lpyr" + AC_CHECKING(Pyramid OSX) ++AH_TEMPLATE([OSX], [Pyramid OSX]) + AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs") + fi + ++AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).]) + dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi): + dnl BBN butterfly is not POSIX, but a MACH BSD system. + dnl Do not define POSIX and TERMIO. +@@ -183,6 +503,7 @@ + fi + + AC_CHECKING(for System V) ++AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)]) + AC_TRY_COMPILE( + [#include <sys/types.h> + #include <signal.h> +@@ -198,6 +519,11 @@ + oldlibs="$LIBS" + LIBS="$LIBS -lelf" + AC_CHECKING(SVR4) ++AH_TEMPLATE([SVR4],[]) ++AH_TEMPLATE([BUGGYGETLOGIN], ++[If ttyslot() breaks getlogin() by returning indexes to utmp entries ++ of type DEAD_PROCESS, then our getlogin() replacement should be ++ selected by defining BUGGYGETLOGIN.]) + AC_TRY_LINK([#include <utmpx.h> + ],, + [AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), +@@ -235,6 +561,9 @@ + dnl + + AC_CHECKING(BSD job jontrol) ++AH_TEMPLATE([BSDJOBS], ++[Define BSDJOBS if you have BSD-style job control (both process ++ groups and a tty that deals correctly with them)]) + AC_TRY_LINK( + [#include <sys/types.h> + #include <sys/ioctl.h> +@@ -255,6 +584,10 @@ + dnl **** setreuid(), seteuid() **** + dnl + AC_CHECKING(setreuid) ++AH_TEMPLATE([HAVE_SETREUID], ++[If your system has the calls setreuid() and setregid(), ++ define HAVE_SETREUID. Otherwise screen will use a forked process to ++ safely create output files without retaining any special privileges.]) + AC_TRY_LINK(,[ + #ifdef __hpux + setresuid(0, 0, 0); +@@ -269,6 +602,9 @@ + dnl Solaris seteuid doesn't change the saved uid, bad for + dnl multiuser screen sessions + AC_CHECKING(seteuid) ++AH_TEMPLATE([HAVE_SETEUID], ++[If your system supports BSD4.4's seteuid() and setegid(), define ++ HAVE_SETEUID.]) + AC_TRY_LINK(,[ + #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news) + seteuid_is_broken(0); +@@ -292,7 +628,8 @@ + dnl **** FIFO tests **** + dnl + +-AC_CHECKING(fifos) ++AC_CACHE_CHECK([usable fifos], ++ [screen_cv_sys_fifo_usable], + AC_TRY_RUN([ + #include <sys/types.h> + #include <sys/stat.h> +@@ -357,12 +694,14 @@ + exit(1); + exit(0); + } +-], AC_NOTE(- your fifos are usable) fifo=1, +-AC_NOTE(- your fifos are not usable)) +-rm -f /tmp/conftest* ++], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no)) + +-if test -n "$fifo"; then +-AC_CHECKING(for broken fifo implementation) ++if test X"$screen_cv_sys_fifo_usable" = Xyes; then ++AH_TEMPLATE([BROKEN_PIPE], ++[Define this if your system exits select() immediatly if a pipe is ++ opened read-only and no writer has opened it.]) ++AC_CACHE_CHECK([broken fifo implementation], ++ [screen_cv_sys_fifo_broken_impl], + AC_TRY_RUN([ + #include <sys/types.h> + #include <fcntl.h> +@@ -407,9 +746,11 @@ + exit(1); + exit(0); + } +-], AC_NOTE(- your implementation is ok), +-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1) +-rm -f /tmp/conftest* ++], screen_cv_sys_fifo_broken_impl=no, ++screen_cv_sys_fifo_broken_impl=yes)) ++if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then ++ AC_DEFINE(BROKEN_PIPE) ++fi + fi + + dnl +@@ -418,7 +759,8 @@ + dnl may need LIBS="$LIBS -lsocket" here + dnl + +-AC_CHECKING(sockets) ++AC_CACHE_CHECK([sockets are usable], ++ [screen_cv_sys_sockets_usable], + AC_TRY_RUN([ + #include <sys/types.h> + #include <sys/socket.h> +@@ -469,12 +811,16 @@ + exit(1); + exit(0); + } +-], AC_NOTE(- your sockets are usable) sock=1, +-AC_NOTE(- your sockets are not usable)) +-rm -f /tmp/conftest* ++], screen_cv_sys_sockets_usable=yes, ++screen_cv_sys_sockets_usable=no)) + +-if test -n "$sock"; then ++if test X"$screen_cv_sys_sockets_usable" = Xyes; then + AC_CHECKING(socket implementation) ++AH_TEMPLATE([SOCK_NOT_IN_FS], ++[Define this if the unix-domain socket implementation doesn't ++ create a socket in the filesystem.]) ++AC_CACHE_CHECK([if sockets are not stored in the filesystem], ++ [screen_cv_sys_sockets_nofs], + AC_TRY_RUN([ + #include <sys/types.h> + #include <sys/stat.h> +@@ -500,22 +846,25 @@ + close(s); + exit(0); + } +-],AC_NOTE(- you are normal), +-AC_NOTE(- unix domain sockets are not kept in the filesystem) +-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1) +-rm -f /tmp/conftest* ++], screen_cv_sys_sockets_nofs=no, ++screen_cv_sys_sockets_nofs=yes)) ++ ++if test X"$screen_cv_sys_sockets_nofs" = Xyes; then ++ AC_DEFINE(SOCK_NOT_IN_FS) ++fi + fi + + + dnl + dnl **** choose sockets or fifos **** + dnl +-if test -n "$fifo"; then +- if test -n "$sock"; then +- if test -n "$nore"; then ++AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.]) ++if test X"$screen_cv_sys_fifo_usable" = Xyes; then ++ if test X"$screen_cv_sys_sockets_usable" = Xyes; then ++ if test X"$screen_cv_sys_sockets_nofs" = Xyes; then + AC_NOTE(- hmmm... better take the fifos) + AC_DEFINE(NAMEDPIPE) +- elif test -n "$fifobr"; then ++ elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then + AC_NOTE(- as your fifos are broken lets use the sockets.) + else + AC_NOTE(- both sockets and fifos usable. let's take fifos.) +@@ -525,7 +874,7 @@ + AC_NOTE(- using named pipes, of course) + AC_DEFINE(NAMEDPIPE) + fi +-elif test -n "$sock"; then ++elif test X"$screen_cv_sys_sockets_usable" = Xyes; then + AC_NOTE(- using unix-domain sockets, of course) + else + AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen) +@@ -535,7 +884,11 @@ + dnl **** check the select implementation **** + dnl + +-AC_CHECKING(select return value) ++AH_TEMPLATE([SELECT_BROKEN], ++[If the select return value doesn't treat a descriptor that is ++ usable for reading and writing as two hits, define SELECT_BROKEN.]) ++AC_CACHE_CHECK([for broken select return value], ++ [screen_cv_sys_select_broken_retval], + AC_TRY_RUN([ + #include <sys/types.h> + #include <sys/stat.h> +@@ -634,19 +987,26 @@ + exit(1); + exit(0); + } +-],AC_NOTE(- select is ok), +-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN)) ++], screen_cv_sys_select_broken_retval=no, ++screen_cv_sys_select_broken_retval=yes)) ++if test X"$screen_cv_sys_select_broken_retval" = Xyes; then ++ AC_DEFINE(SELECT_BROKEN) ++fi + + dnl + dnl **** termcap or terminfo **** + dnl ++AH_TEMPLATE([TERMINFO], ++[Define TERMINFO if your machine emulates the termcap routines ++ with the terminfo database. ++ Thus the .screenrc file is parsed for ++ the command 'terminfo' and not 'termcap']) ++ + AC_CHECKING(for tgetent) + AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, + olibs="$LIBS" +-if test -f /usr/lib/libncursesw.so ; then +- LIBS="-lncursesw $olibs" +-fi + AC_CHECKING(libncursesw) ++AC_CHECK_LIB(ncursesw,tgetent) + AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, + LIBS="-lcurses $olibs" + AC_CHECKING(libcurses) +@@ -668,24 +1028,39 @@ + AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, + AC_MSG_ERROR(!!! no tgetent - no screen))))))) + +-AC_TRY_RUN([ ++AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used], ++ AC_TRY_RUN([ + main() + { + exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); +-}], AC_NOTE(- you use the termcap database), +-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)) ++} ++ ], screen_cv_sys_terminfo_used=no, ++ screen_cv_sys_terminfo_used=yes) ++) ++ ++if test X"$screen_cv_sys_terminfo_used" = Xyes; then ++ AC_DEFINE(TERMINFO) ++fi ++ + AC_CHECKING(ospeed) ++AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.]) + AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) + + dnl + dnl **** PTY specific things **** + dnl ++AH_TEMPLATE([HAVE_DEV_PTC], ++[define HAVE_DEV_PTC if you have a /dev/ptc character special ++ device.]) + AC_CHECKING(for /dev/ptc) + if test -r /dev/ptc; then + AC_DEFINE(HAVE_DEV_PTC) + fi + + AC_CHECKING(for SVR4 ptys) ++AH_TEMPLATE([HAVE_SVR4_PTYS], ++[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special ++ device and support the ptsname(), grantpt(), unlockpt() functions.]) + sysvr4ptys= + if test -c /dev/ptmx ; then + AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS) +@@ -701,6 +1076,13 @@ + fi + + AC_CHECKING(for ptyranges) ++AH_TEMPLATE([PTYRANGE0], ++[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen ++ to unusual environments. E.g. For SunOs the defaults are "qpr" and ++ "0123456789abcdef". For SunOs 4.1.2 ++ #define PTYRANGE0 "pqrstuvwxyzPQRST" ++ is recommended by Dan Jacobson.]) ++AH_TEMPLATE([PTYRANGE1],[]) + if test -d /dev/ptym ; then + pdir='/dev/ptym' + else +@@ -817,6 +1199,9 @@ + dnl **** utmp handling **** + dnl + AC_CHECKING(getutent) ++AH_TEMPLATE([GETUTENT], ++[If your system has getutent(), pututline(), etc. to write to the ++ utmp file, define GETUTENT.]) + AC_TRY_LINK([ + #include <time.h> /* to get time_t on SCO */ + #include <sys/types.h> +@@ -850,6 +1235,7 @@ + [int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), LIBS="$olibs") + ) + AC_CHECKING(ut_host) ++AH_TEMPLATE([UTHOST],[Define UTHOST if the utmp file has a host field.]) + AC_TRY_COMPILE([ + #include <time.h> + #include <sys/types.h> +@@ -860,8 +1246,9 @@ + #include <utmp.h> + #endif + ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST)) ++AH_TEMPLATE([HAVE_UTEMPTER],[Define if you have the utempter utmp helper program]) + AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no) +-if test "$have_utempter" = yes; then ++if test X"$have_utempter" = Xyes; then + AC_DEFINE(HAVE_UTEMPTER) + LIBS="$LIBS -lutempter" + fi +@@ -869,20 +1256,39 @@ + dnl + dnl **** loadav **** + dnl ++ ++AH_TEMPLATE([LOADAV], ++[If you want the "time" command to display the current load average ++ define LOADAV. Maybe you must install screen with the needed ++ privileges to read /dev/kmem. ++ Note that NLIST_ stuff is only checked, when getloadavg() is not available. ++]) ++AH_TEMPLATE([LOADAV_NUM]) ++AH_TEMPLATE([LOADAV_TYPE]) ++AH_TEMPLATE([LOADAV_SCALE]) ++AH_TEMPLATE([LOADAV_GETLOADAVG]) ++AH_TEMPLATE([LOADAV_UNIX]) ++AH_TEMPLATE([LOADAV_AVENRUN]) ++AH_TEMPLATE([LOADAV_USE_NLIST64]) ++ ++AH_TEMPLATE([NLIST_DECLARED]) ++AH_TEMPLATE([NLIST_STRUCT]) ++AH_TEMPLATE([NLIST_NAME_UNION]) ++ + AC_CHECKING(for libutil(s)) +-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" +-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" ++dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes ++AC_CHECK_LIB(utils,login) ++AC_CHECK_LIB(util,login) + + AC_CHECKING(getloadavg) + AC_TRY_LINK(,[getloadavg((double *)0, 0);], + AC_DEFINE(LOADAV_GETLOADAVG) load=1, +-if test -f /usr/lib/libkvm.a ; then + olibs="$LIBS" +-LIBS="$LIBS -lkvm" ++AC_CHECK_LIB(kvm,kvm_open, + AC_CHECKING(getloadavg with -lkvm) + AC_TRY_LINK(,[getloadavg((double *)0, 0);], + AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs") +-fi ++) + ) + + if test -z "$load" ; then +@@ -1024,6 +1430,11 @@ + dnl + dnl **** signal handling **** + dnl ++ ++AH_TEMPLATE([SIGVOID], ++[Define SIGVOID if your signal handlers return void. On older ++ systems, signal returns int, but on newer ones, it returns void.]) ++ + if test -n "$posix" ; then + + dnl POSIX has reliable signals with void return type. +@@ -1041,6 +1452,7 @@ + #endif + extern void (*signal ()) ();], [int i;], AC_DEFINE(SIGVOID)) + AC_CHECKING(sigset) ++AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.]) + AC_TRY_LINK([ + #include <sys/types.h> + #include <signal.h> +@@ -1052,6 +1464,9 @@ + #endif + ], AC_DEFINE(USESIGSET)) + AC_CHECKING(signal implementation) ++AH_TEMPLATE([SYSVSIGS], ++[Define SYSVSIGS if signal handlers must be reinstalled after ++ they have been called.]) + AC_TRY_RUN([ + #include <sys/types.h> + #include <signal.h> +@@ -1094,13 +1509,14 @@ + dnl + + AC_CHECKING(for crypt and sec libraries) +-test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d" ++dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes ++AC_CHECK_LIB(crypt_d,crypt) + oldlibs="$LIBS" +-LIBS="$LIBS -lcrypt" + AC_CHECKING(crypt) + AC_TRY_LINK(,,,LIBS="$oldlibs") +-test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec" +-test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow" ++AC_CHECK_LIB(crypt,crypt) ++AC_CHECK_LIB(sec,crypt) ++AC_CHECK_LIB(shadow,getspnam) + oldlibs="$LIBS" + LIBS="$LIBS -lsun" + AC_CHECKING(IRIX sun library) +@@ -1123,6 +1539,13 @@ + dnl **** misc things **** + dnl + AC_CHECKING(wait union) ++AH_TEMPLATE([BSDWAIT], ++[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> ++ ++ Only allow BSDWAIT i.e. wait3 on nonposix systems, since ++ posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl ++ TODO(Hannes) shipped config.h.in does that with a #ifdef ++]) + AC_TRY_COMPILE([#include <sys/types.h> + #include <sys/wait.h> + ],[ +@@ -1133,6 +1556,12 @@ + #endif + ],AC_DEFINE(BSDWAIT)) + ++AH_TEMPLATE([TERMIO], ++[Define TERMIO if you have struct termio instead of struct sgttyb. ++ This is usually the case for SVID systems, where BSD uses sgttyb. ++ POSIX systems should define this anyway, even though they use ++ struct termios.]) ++ + if test -z "$butterfly"; then + AC_CHECKING(for termio or termios) + AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO), +@@ -1142,17 +1571,35 @@ + ) + fi + ++AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.]) ++ + dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW)) + AC_CHECKING(getspnam) ++AH_TEMPLATE([SHADOWPW], ++[If the passwords are stored in a shadow file and you want the ++ builtin lock to work properly, define SHADOWPW.]) + AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW)) + + AC_CHECKING(getttyent) ++AH_TEMPLATE([GETTTYENT], ++[If your system has the new format /etc/ttys (like 4.3 BSD) and the ++ getttyent(3) library functions, define GETTTYENT.]) + AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) + + AC_CHECKING(fdwalk) ++AH_TEMPLATE([HAVE_FDWALK], ++[Newer versions of Solaris include fdwalk, which can greatly improve ++ the startup time of screen; otherwise screen spends a lot of time ++ closing file descriptors.]) + AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) + +-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) ++AH_TEMPLATE([USEBCOPY], ++[Define USEBCOPY if the bcopy/memcpy from your system's C library ++ supports the overlapping of source and destination blocks. When ++ undefined, screen uses its own (probably slower) version of bcopy().]) ++ ++AC_CACHE_CHECK([if bcopy handles overlap], ++ [screen_cv_sys_bcopy_overlap], + AC_TRY_RUN([ + main() { + char buf[10]; +@@ -1165,8 +1612,21 @@ + if (strncmp(buf, "cdedef", 6)) + exit(1); + exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEBCOPY)) ++}], screen_cv_sys_bcopy_overlap=yes, ++screen_cv_sys_bcopy_overlap=no)) ++if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then ++ AC_DEFINE(USEBCOPY) ++fi + ++AH_TEMPLATE([USEMEMMOVE], ++[SYSV machines may have a working memcpy() -- Oh, this is ++ quite unlikely. Tell me if you see one. ++ "But then, memmove() should work, if at all available" he thought... ++ Boing, never say "works everywhere" unless you checked SCO UNIX. ++ Their memove fails the test in the configure script. Sigh. (Juergen) ++]) ++AC_CACHE_CHECK([if memmove handles overlap], ++ [screen_cv_sys_memmove_overlap], + AC_TRY_RUN([ + #define bcopy(s,d,l) memmove(d,s,l) + main() { +@@ -1180,9 +1640,15 @@ + if (strncmp(buf, "cdedef", 6)) + exit(1); + exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEMEMMOVE)) +- ++}], screen_cv_sys_memmove_overlap=yes, ++screen_cv_sys_memmove_overlap=no)) ++if test X"$screen_cv_sys_memmove_overlap" = Xyes; then ++ AC_DEFINE(USEMEMMOVE) ++fi + ++AH_TEMPLATE([USEMEMCPY],[]) ++AC_CACHE_CHECK([if memcpy handles overlap], ++ [screen_cv_sys_memcpy_overlap], + AC_TRY_RUN([ + #define bcopy(s,d,l) memcpy(d,s,l) + main() { +@@ -1196,9 +1662,19 @@ + if (strncmp(buf, "cdedef", 6)) + exit(1); + exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEMEMCPY)) ++}], screen_cv_sys_memcpy_overlap=yes, ++screen_cv_sys_memcpy_overlap=no)) ++if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then ++ AC_DEFINE(USEMEMCPY) ++fi + + AC_MSG_CHECKING(long file names) ++AH_TEMPLATE([NAME_MAX], ++[If you are on a SYS V machine that restricts filename length to 14 ++ characters, you may need to enforce that by setting NAME_MAX to 14]) ++dnl TODO(Hannes) shipped config.h.in has ++dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */ ++dnl ahead of this + (echo 1 > /tmp/conftest9012345) 2>/dev/null + (echo 2 > /tmp/conftest9012346) 2>/dev/null + val=`cat /tmp/conftest9012345 2>/dev/null` +@@ -1211,17 +1687,28 @@ + rm -f /tmp/conftest* + + AC_MSG_CHECKING(for vsprintf) ++AH_TEMPLATE([USEVARARGS], ++[If your system has vsprintf() and requires the use of the macros in ++ "varargs.h" to use functions with variable arguments, ++ define USEVARARGS.]) + AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) + + AC_HEADER_DIRENT + + AC_MSG_CHECKING(for setenv) ++AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV]) + AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV), + AC_MSG_RESULT(no) + AC_MSG_CHECKING(for putenv) ++AH_TEMPLATE([NEEDPUTENV], ++[If your system does not come with a setenv()/putenv()/getenv() ++ functions, you may bring in our own code by defining NEEDPUTENV.]) + AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV) + )) + AC_MSG_CHECKING([for nl_langinfo(CODESET)]) ++AH_TEMPLATE([HAVE_NL_LANGINFO], ++[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call ++ and <langinfo.h> defines CODESET.]) + AC_TRY_LINK([ + #include <langinfo.h> + ],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no)) +@@ -1271,7 +1758,8 @@ + dnl Ptx bug workaround -- insert -lc after -ltermcap + test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq" + +-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.)) ++AC_MSG_CHECKING(compiler sanity) ++AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation)) + + ETCSCREENRC="\"/usr/local/etc/screenrc\"" + if test -n "$prefix"; then diff --git a/packages/screen/screen_4.0.2.bb b/packages/screen/screen_4.0.2.bb new file mode 100644 index 0000000000..b915a5f72b --- /dev/null +++ b/packages/screen/screen_4.0.2.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Screen is a full-screen window manager \ +that multiplexes a physical terminal between several \ +processes, typically interactive shells." +LICENSE = "GPL" +SECTION = "console/utils" +DEPENDS = "ncurses" +PR = "r1" + +SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ + ${DEBIAN_MIRROR}/main/s/screen/screen_4.0.2-4.1.diff.gz;patch=1 \ + file://configure.patch;patch=1" + +inherit autotools + +EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5" diff --git a/packages/streamripper/streamripper_1.61.10.bb b/packages/streamripper/streamripper_1.61.10.bb new file mode 100644 index 0000000000..465e3d457d --- /dev/null +++ b/packages/streamripper/streamripper_1.61.10.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "StreamRipper lets you record streaming mp3 to your hard drive." +SECTION = "console/multimedia" +LICENSE = "GPL" +STREAMRIPPER_MAINTAINER= "Inge Arnesen <inge.arnesen@gmail.com>" +DEPENDS= "libogg libvorbis" +RDEPENDS= "libogg libvorbis" + +SRC_URI = "${SOURCEFORGE_MIRROR}/streamripper/streamripper-${PV}.tar.gz" + +EXTRA_OECONF="--disable-oggtest \ + --disable-vorbistest \ + --with-ogg=${STAGING_LIBDIR} \ + --with-vorbis=${STAGING_LIBDIR}" + +inherit autotools + diff --git a/packages/sylpheed/files/sylpheed-gnutls_2.0.0rc.patch b/packages/sylpheed/files/sylpheed-gnutls_2.0.0rc.patch new file mode 100644 index 0000000000..b0a03c6a32 --- /dev/null +++ b/packages/sylpheed/files/sylpheed-gnutls_2.0.0rc.patch @@ -0,0 +1,92 @@ +--- sylpheed-2.0.0beta6/config.h.in.old 2005-07-18 11:57:23.000000000 +0200 ++++ sylpheed-2.0.0beta6/config.h.in 2005-07-18 11:59:57.000000000 +0200 +@@ -263,6 +263,9 @@ + /* Define to 1 if your <sys/time.h> declares `struct tm'. */ + #undef TM_IN_SYS_TIME + ++/* Define if you use GnuTLS to support SSL. */ ++#undef USE_GNUTLS ++ + /* Define if you use GPGME to support OpenPGP. */ + #undef USE_GPGME + +@@ -273,6 +276,9 @@ + #undef USE_LDAP + + /* Define if you use OpenSSL to support SSL. */ ++#undef USE_OPENSSL ++ ++/* Define if SSL is supported. */ + #undef USE_SSL + + /* Whether to use multithread or not */ +--- sylpheed-2.0.0beta6/configure.in.old 2005-07-18 12:00:24.000000000 +0200 ++++ sylpheed-2.0.0beta6/configure.in 2005-07-18 12:04:33.000000000 +0200 +@@ -202,7 +202,8 @@ + #include <openssl/opensslv.h> + ], [ return OPENSSL_VERSION_NUMBER; ], + [ AC_MSG_RESULT(yes) +- AC_DEFINE(USE_SSL, 1, Define if you use OpenSSL to support SSL.) ], ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_OPENSSL, 1, Define if you use OpenSSL to support SSL.) ], + [ AC_MSG_RESULT(no) + LIBS="$ac_save_LIBS" + ac_cv_enable_ssl=no ]) +@@ -211,6 +212,27 @@ + AC_MSG_RESULT(no) + fi + ++AC_ARG_ENABLE(gnutls, ++ [ --enable-gnutls Enable SSL support using GnuTLS [default=no]], ++ [ac_cv_enable_gnutls=$enableval], [ac_cv_enable_gnutls=no]) ++AC_MSG_CHECKING([whether to use GnuTLS]) ++if test $ac_cv_enable_gnutls = yes; then ++ AC_MSG_RESULT(yes) ++ AC_MSG_CHECKING([if GnuTLS is available]) ++ LIBS="$LIBS -lgnutls-openssl" ++ AC_TRY_LINK([ ++#include <gnutls/openssl.h> ++], [ return OPENSSL_VERSION_NUMBER; ], ++ [ AC_MSG_RESULT(yes) ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_GNUTLS, 1, Define if you use GnuTLS to support SSL.) ], ++ [ AC_MSG_RESULT(no) ++ LIBS="$ac_save_LIBS" ++ ac_cv_enable_gnutls=no ]) ++else ++ AC_MSG_RESULT(no) ++fi ++ + dnl Check for X-Face support + AC_ARG_ENABLE(compface, + [ --disable-compface Do not use compface (X-Face)], +@@ -350,6 +372,7 @@ + echo "JPilot : $ac_cv_enable_jpilot" + echo "LDAP : $ac_cv_enable_ldap" + echo "OpenSSL : $ac_cv_enable_ssl" ++echo "GnuTLS : $ac_cv_enable_gnutls" + echo "iconv : $am_cv_func_iconv" + echo "compface : $ac_cv_enable_compface" + echo "IPv6 : $ac_cv_enable_ipv6" +--- sylpheed-2.0.0beta6/src/ssl.h.old 2005-07-18 12:09:35.000000000 +0200 ++++ sylpheed-2.0.0beta6/src/ssl.h 2005-07-18 12:11:15.000000000 +0200 +@@ -27,11 +27,19 @@ + #if USE_SSL + + #include <glib.h> ++#if USE_OPENSSL + #include <openssl/crypto.h> + #include <openssl/x509.h> + #include <openssl/pem.h> + #include <openssl/ssl.h> + #include <openssl/err.h> ++#else ++#if USE_GNUTLS ++#include <gnutls/openssl.h> ++#else ++#error Must select either GnuTLS or OpenSSL ++#endif ++#endif + + #include "socket.h" + diff --git a/packages/sylpheed/sylpheed_2.0.0rc.bb b/packages/sylpheed/sylpheed_2.0.0rc.bb new file mode 100644 index 0000000000..531d694f98 --- /dev/null +++ b/packages/sylpheed/sylpheed_2.0.0rc.bb @@ -0,0 +1,32 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent" +DEPENDS = "gtk+ gpgme gnutls" +MAINTAINER = "Patrick Steiner <patrick.steiner@a1.net>" +LICENSE = "GPL" +PR = "r3" +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "http://sylpheed.good-day.net/sylpheed/v2.0beta/sylpheed-2.0.0rc.tar.bz2 \ + file://sylpheed-gnutls_2.0.0rc.patch;patch=1 \ + file://sylpheed-gnutls-extra.patch;patch=1 " + +FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications" +FILES_${PN}-doc += "${datadir}" + +EXTRA_OECONF = "--enable-gnutls" + +CFLAGS += "-D_GNU_SOURCE" + +do_configure_prepend() { + mkdir -p m4 +} + +inherit autotools + +do_install_append() { + install -d ${D}${datadir}/applications + install -m 0644 sylpheed.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps + install -m 0644 sylpheed.png ${D}${datadir}/pixmaps/ +} + |